Termination cause codes
From TBwiki
Starting from release 2.5.55 these cause codes can be modified with the Web portal in
Profiles -> Edit -> Reason Cause Mapping
The source of this list is tbcmc_call.h
TBCMC_CALL_REASON_CODE_UNSPECIFIED = 0, /*!< Unspecified */ TBCMC_CALL_REASON_CODE_UNALLOCATED_NUMBER = 1, TBCMC_CALL_REASON_CODE_NO_ROUTE_TO_NETWORK = 2, TBCMC_CALL_REASON_CODE_NO_ROUTE_TO_DESTINATION = 3, TBCMC_CALL_REASON_CODE_SEND_SPECIAL_TONE = 4, TBCMC_CALL_REASON_CODE_MISDIALLED_TRUNK_PREFIX = 5, TBCMC_CALL_REASON_CODE_CHANNEL_UNACCEPTABLE = 6, TBCMC_CALL_REASON_CODE_CALL_AWARDED_IN_ESTABLISHED_CHANNEL = 7, TBCMC_CALL_REASON_CODE_PREEMPTION = 8, TBCMC_CALL_REASON_CODE_REATTEMPT = 9, TBCMC_CALL_REASON_CODE_QOR_PORTED_NUMBER = 14, TBCMC_CALL_REASON_CODE_NORMAL_CALL_CLEARING = 16, TBCMC_CALL_REASON_CODE_USER_BUSY = 17, TBCMC_CALL_REASON_CODE_NO_USER_RESPONDING = 18, TBCMC_CALL_REASON_CODE_NO_ANSWER_FROM_USER = 19, TBCMC_CALL_REASON_CODE_SUBSCRIBER_ABSENT = 20, TBCMC_CALL_REASON_CODE_CALL_REJECTED = 21, TBCMC_CALL_REASON_CODE_NUMBER_CHANGED = 22, TBCMC_CALL_REASON_CODE_REDIRECTION = 23, TBCMC_CALL_REASON_CODE_EXCHANGE_ROUTING_ERROR = 25, TBCMC_CALL_REASON_CODE_NON_SELECTED_USER_CLEARING = 26, TBCMC_CALL_REASON_CODE_DESTINATION_OUT_OF_ORDER = 27, TBCMC_CALL_REASON_CODE_ADDRESS_INCOMPLETE = 28, TBCMC_CALL_REASON_CODE_FACILITY_REJECTED = 29, TBCMC_CALL_REASON_CODE_RESPONSE_TO_STATUS_ENQUIRY = 30, TBCMC_CALL_REASON_CODE_NORMAL_UNSPECIFIED = 31, TBCMC_CALL_REASON_CODE_NO_CIRCUIT_AVAILABLE = 34, TBCMC_CALL_REASON_CODE_NETWORK_OUT_OF_ORDER = 38, TBCMC_CALL_REASON_CODE_FRAME_MODE_OUT_OF_SERVICE = 39, TBCMC_CALL_REASON_CODE_FRAME_MODE_CONN_OPERATIONAL = 40, TBCMC_CALL_REASON_CODE_TEMPORARY_FAILURE = 41, TBCMC_CALL_REASON_CODE_SWITCHING_EQUIP_CONGESTION = 42, TBCMC_CALL_REASON_CODE_ACCESS_INFO_DISCARDED = 43, TBCMC_CALL_REASON_CODE_REQUESTED_CIRCUIT_NOT_AVAILABLE = 44, TBCMC_CALL_REASON_CODE_PRECEDENCE_CALL_BLOCKED = 46, TBCMC_CALL_REASON_CODE_RESOURCE_UNAVAILABLE = 47, TBCMC_CALL_REASON_CODE_QOS_NOT_AVAILABLE = 49, TBCMC_CALL_REASON_CODE_REQUESTED_FACILITY_NOT_SUBSCRIBED = 50, TBCMC_CALL_REASON_CODE_OUTGOING_CALLS_BARRED_WITHIN_CUG = 53, TBCMC_CALL_REASON_CODE_INCOMING_CALLS_BARRED_WITHIN_CUG = 55, TBCMC_CALL_REASON_CODE_BEARER_CAP_NOT_AUTHORIZED = 57, TBCMC_CALL_REASON_CODE_BEARER_CAP_NOT_AVAILABLE = 58, TBCMC_CALL_REASON_CODE_INCONSISTENCY_ACCESS_INFO = 62, TBCMC_CALL_REASON_CODE_SERVICE_NOT_AVAILABLE = 63, TBCMC_CALL_REASON_CODE_BEARER_CAP_NOT_IMPLEMENTED = 65, TBCMC_CALL_REASON_CODE_CHANNEL_TYPE_NOT_IMPLEMENTED = 66, TBCMC_CALL_REASON_CODE_REQUESTED_FACILITY_NOT_IMPLEMENTED = 69, TBCMC_CALL_REASON_CODE_ONLY_RESTRICTED_DIGITAL_INFO = 70, TBCMC_CALL_REASON_CODE_SERVICE_NOT_IMPLEMENTED = 79, TBCMC_CALL_REASON_CODE_INVALID_CALL_REFERENCE = 81, TBCMC_CALL_REASON_CODE_CHANNEL_DOES_NOT_EXIST = 82, TBCMC_CALL_REASON_CODE_CALL_IDENTITY_DOES_NOT_EXIST = 83, TBCMC_CALL_REASON_CODE_CALL_IDENTITY_IN_USE = 84, TBCMC_CALL_REASON_CODE_NO_CALL_SUSPENDED = 85, TBCMC_CALL_REASON_CODE_CALL_HAS_BEEN_CLEARED = 86, TBCMC_CALL_REASON_CODE_USER_NOT_MEMBER_OF_CUG = 87, TBCMC_CALL_REASON_CODE_INCOMPATIBLE_DESTINATION = 88, TBCMC_CALL_REASON_CODE_NON_EXISTANT_CUG = 90, TBCMC_CALL_REASON_CODE_INVALID_TRANSIT_NETWORK = 91, TBCMC_CALL_REASON_CODE_INVALID_MESSAGE_UNSPECIFIED = 95, TBCMC_CALL_REASON_CODE_MANDATORY_IE_MISSING = 96, TBCMC_CALL_REASON_CODE_MESSAGE_TYPE_NON_EXISTENT = 97, TBCMC_CALL_REASON_CODE_MESSAGE_NOT_COMPATIBLE_WITH_CALL_STATE = 98, TBCMC_CALL_REASON_CODE_IE_NON_EXISTENT = 99, TBCMC_CALL_REASON_CODE_INVALID_IE_CONTENT = 100, TBCMC_CALL_REASON_CODE_MSG_NOT_COMPATIBLE_WITH_CALL_STATE = 101, TBCMC_CALL_REASON_CODE_RECOVERY_ON_TIMER_EXPIRY = 102, TBCMC_CALL_REASON_CODE_PARAMETER_NON_EXISTENT_PASSED_ON = 103, TBCMC_CALL_REASON_CODE_MESSAGE_WITH_NON_RECOGNIZED_PARAMETERS_DISCARDED = 110, TBCMC_CALL_REASON_CODE_PROTOCOL_ERROR = 111, TBCMC_CALL_REASON_CODE_INTERWORKING_UNSPECIFIED = 127, TBCMC_CALL_REASON_CODE_TOOLPACK_NORMAL = 200, TBCMC_CALL_REASON_CODE_TOOLPACK_RESOURCE_ERROR = 201, TBCMC_CALL_REASON_CODE_TOOLPACK_TIMEOUT = 202, TBCMC_CALL_REASON_CODE_TOOLPACK_NO_ROUTE = 203, /* Failed to find route to bridge with */ TBCMC_CALL_REASON_CODE_TOOLPACK_CALL_COLLISION = 204, /* Failed because a call collision occured */ TBCMC_CALL_REASON_CODE_TOOLPACK_SYNC_DROP = 205, /* Re-sync, but call was incomplete and had to be dropped */ TBCMC_CALL_REASON_CODE_TOOLPACK_SIGNALING_ERROR = 206, /* Error reported by signaling protocol */ TBCMC_CALL_REASON_CODE_TOOLPACK_LOCALLY_REJECTED = 207, /* Rejected by Toolpack Engine application */ TBCMC_CALL_REASON_CODE_TOOLPACK_INTERFACE_NOT_AVAILABLE = 208, /* Failed because the signaling interface is unavailable */ TBCMC_CALL_REASON_CODE_TOOLPACK_RESET_IN_PROGRESS = 209, TBCMC_CALL_REASON_CODE_TOOLPACK_ADAPTER_REJECT = 210, TBCMC_CALL_REASON_CODE_TOOLPACK_MISSING_INVALID_IE = 211, TBCMC_CALL_REASON_CODE_TOOLPACK_INCOMING_ONLY = 212, TBCMC_CALL_REASON_CODE_TOOLPACK_SYSTEM_CONFIGURATION_CHANGED = 213, TBCMC_CALL_REASON_CODE_TOOLPACK_RESOURCE_NO_MORE_AVAILABLE = 214, /* Resource is down (adapter no more ready) */ TBCMC_CALL_REASON_CODE_TOOLPACK_INCOMPATIBLE_MEDIA = 215, /* Failed because of media incompatibility */ TBCMC_CALL_REASON_CODE_TOOLPACK_RES_ALLOC_FAILED = 216, /* Failed to allocate data path resources for the call */ TBCMC_CALL_REASON_CODE_TOOLPACK_DATA_PATH_NOT_AVAILABLE = 217, /* Data path failure (could be because of unreacheable TDM path or some HW failure) */ TBCMC_CALL_REASON_CODE_TOOLPACK_LOCAL_CONGESTION = 218, /* Congestion in the Toolpack system */ TBCMC_CALL_REASON_CODE_TOOLPACK_AUTHORIZATION_REQUIRED = 219, /* Authorization required on call - this is used internally and should never reach signaling */ TBCMC_CALL_REASON_CODE_TOOLPACK_DIVERT_NOT_ALLOWED = 220, /* Call divert is not allowed */ TBCMC_CALL_REASON_CODE_400_BAD_REQUEST = 400, TBCMC_CALL_REASON_CODE_401_UNAUTHORIZED = 401, TBCMC_CALL_REASON_CODE_402_PAYMENT_REQD = 402, TBCMC_CALL_REASON_CODE_403_FORBIDDEN = 403, TBCMC_CALL_REASON_CODE_404_NOT_FOUND = 404, TBCMC_CALL_REASON_CODE_405_METHOD_NOT_ALLOWED = 405, TBCMC_CALL_REASON_CODE_406_NOT_ACCEPTABLE = 406, TBCMC_CALL_REASON_CODE_407_PROXY_AUTH_REQD = 407, TBCMC_CALL_REASON_CODE_408_REQ_TIMEOUT = 408, TBCMC_CALL_REASON_CODE_409_CONFLICT = 409, TBCMC_CALL_REASON_CODE_410_GONE = 410, TBCMC_CALL_REASON_CODE_413_REQ_ENTITY_TOO_LARGE = 413, TBCMC_CALL_REASON_CODE_414_REQ_URI_TOO_LONG = 414, TBCMC_CALL_REASON_CODE_415_UNSPRTD_MEDIA = 415, TBCMC_CALL_REASON_CODE_416_UNSPRTD_URI_SCHEME = 416, TBCMC_CALL_REASON_CODE_420_BAD_EXTENSION = 420, TBCMC_CALL_REASON_CODE_421_EXTENSION_REQUIRED = 421, TBCMC_CALL_REASON_CODE_422_SESSTIMER_TOO_SMALL = 422, TBCMC_CALL_REASON_CODE_423_INTERVAL_TOO_BRIEF = 423, TBCMC_CALL_REASON_CODE_429_REFERRER_IDENTITY_ERROR = 429, TBCMC_CALL_REASON_CODE_480_TEMP_UNAVAIL = 480, TBCMC_CALL_REASON_CODE_481_CLEG_TRAN_NOT_EXIST = 481, TBCMC_CALL_REASON_CODE_482_LOOP_DETECTED = 482, TBCMC_CALL_REASON_CODE_483_TOO_MANY_HOPS = 483, TBCMC_CALL_REASON_CODE_484_ADDR_INCOMPLETE = 484, TBCMC_CALL_REASON_CODE_485_AMBIGUOUS = 485, TBCMC_CALL_REASON_CODE_486_BUSY_HERE = 486, TBCMC_CALL_REASON_CODE_487_REQ_TERMINATED = 487, TBCMC_CALL_REASON_CODE_488_NOT_ACCEPTBLE_HERE = 488, TBCMC_CALL_REASON_CODE_489_BAD_EVENT = 489, TBCMC_CALL_REASON_CODE_491_RETRY_AFTER = 491, TBCMC_CALL_REASON_CODE_500_SRV_INT_ERROR = 500, TBCMC_CALL_REASON_CODE_501_NOT_IMPLEMENTED = 501, TBCMC_CALL_REASON_CODE_502_BAD_GATEWAY = 502, TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL = 503, TBCMC_CALL_REASON_CODE_504_SERVER_TIMEOUT = 504, TBCMC_CALL_REASON_CODE_505_VERSION_UNSUPPORTED = 505, TBCMC_CALL_REASON_CODE_513_MESSAGE_TOO_LARGE = 513, TBCMC_CALL_REASON_CODE_600_BUSY_EVERYWHERE = 600, TBCMC_CALL_REASON_CODE_603_DECLINE = 603, TBCMC_CALL_REASON_CODE_604_NOT_EXIST_ANYWHERE = 604, TBCMC_CALL_REASON_CODE_606_NOT_ACCEPTABLE = 606
Case for the 603 DECLINE and 200 TOOLPACK NORMAL
The TOOLPACK_NORMAL reason code is mapped to the 603_DECLINE reason code. The reason is the following:
A SIP BYE does not include a cause code, so on normal call terminations, So TMedia will send a BYE on SIP, and internally, a 200 TOOLPACK_NORMAL (in the logs and the CDRs). But when the call terminates unexpectedly, for example after a ACM, but before a ANM, Tmedia will still send a BYE on SIP, but internally, it will log a 603 Decline (REASON_CODE_603_DECLINE).