Termination cause codes

From TBwiki
(Difference between revisions)
Jump to: navigation, search
(New reason code)
(Added the process to create reason cause codes following our standard way of working)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Starting from release 2.5.55 these cause codes can be modified with the Web portal in
 
<pre>Profiles -&gt; Edit -&gt; Reason Cause Mapping </pre>
 
[[Image:Reason cause list 1.png]]
 
  
<br>
+
==General Configuration==
  
The source of this list is tbcmc_call.h<br>
 
  
    TBCMC_CALL_REASON_CODE_UNSPECIFIED                        = 0,   /*!&lt; Unspecified */
+
When configuring [[Termination_cause_codes|termination cause codes]], use the following table as a guide. The ''Drop'' column represents codes to use when redirection contents should be dropped and the call should be terminated with the specified code. The ''Forward'' column represents codes to use when redirection contents should be forwarded to the incoming leg with the specified code. If the redirection requests must be processed, the codes are not used.
    TBCMC_CALL_REASON_CODE_UNALLOCATED_NUMBER                  = 1,
+
{| class="wikitable"
    TBCMC_CALL_REASON_CODE_NO_ROUTE_TO_NETWORK                = 2,
+
|-
    TBCMC_CALL_REASON_CODE_NO_ROUTE_TO_DESTINATION            = 3,
+
! rowspan="2" | Code !! colspan="2" | Drop !! colspan="2" | Forward
    TBCMC_CALL_REASON_CODE_SEND_SPECIAL_TONE                  = 4,
+
|-
    TBCMC_CALL_REASON_CODE_MISDIALLED_TRUNK_PREFIX            = 5,
+
! SS7 !! SIP !! SS7 !! SIP
    TBCMC_CALL_REASON_CODE_CHANNEL_UNACCEPTABLE                = 6,
+
|-
    TBCMC_CALL_REASON_CODE_CALL_AWARDED_IN_ESTABLISHED_CHANNEL = 7,
+
| 14 || 21 || 603 || 14 || 300
    TBCMC_CALL_REASON_CODE_PREEMPTION                          = 8,
+
|-
    TBCMC_CALL_REASON_CODE_REATTEMPT                          = 9,
+
| 22 || 21 || 410 || 22 || 301
    TBCMC_CALL_REASON_CODE_QOR_PORTED_NUMBER                  = 14,
+
|-
    TBCMC_CALL_REASON_CODE_NORMAL_CALL_CLEARING                = 16,
+
| 23 || 21 || 410 || 23 || 302
    TBCMC_CALL_REASON_CODE_USER_BUSY                          = 17,
+
|-
    TBCMC_CALL_REASON_CODE_NO_USER_RESPONDING                  = 18,
+
| 300 || 21 || 603 || 23 || 300
    TBCMC_CALL_REASON_CODE_NO_ANSWER_FROM_USER                = 19,
+
|-
    TBCMC_CALL_REASON_CODE_SUBSCRIBER_ABSENT                  = 20,
+
| 301 || 21 || 410 || 22 || 301
    TBCMC_CALL_REASON_CODE_CALL_REJECTED                      = 21,
+
|-
    TBCMC_CALL_REASON_CODE_NUMBER_CHANGED                      = 22,
+
| 302 || 21 || 410 || 23 || 302
    TBCMC_CALL_REASON_CODE_REDIRECTION                        = 23,
+
|-
    TBCMC_CALL_REASON_CODE_EXCHANGE_ROUTING_ERROR              = 25,
+
| 305 || 21 || 603 || 23 || 305
    TBCMC_CALL_REASON_CODE_NON_SELECTED_USER_CLEARING          = 26,
+
|-
    TBCMC_CALL_REASON_CODE_DESTINATION_OUT_OF_ORDER            = 27,
+
| 380 || 21 || 603 || 23 || 380
    TBCMC_CALL_REASON_CODE_ADDRESS_INCOMPLETE                  = 28,
+
|}
    TBCMC_CALL_REASON_CODE_FACILITY_REJECTED                  = 29,
+
For each redirection cause code, choose '''Process''' to let the routing scripts process the redirection. Choose '''Stop''' to drop calls when receiving a redirection and use the above table to specify if the redirection contents should be dropped.
    TBCMC_CALL_REASON_CODE_RESPONSE_TO_STATUS_ENQUIRY          = 30,
+
 
    TBCMC_CALL_REASON_CODE_NORMAL_UNSPECIFIED                  = 31,
+
 
    TBCMC_CALL_REASON_CODE_NO_CIRCUIT_AVAILABLE                = 34,
+
'''To Modify a reason cause code:'''
    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,
+
1- Click '''Profiles''' in the navigation panel.
    TBCMC_CALL_REASON_CODE_TEMPORARY_FAILURE                  = 41,
+
 
    TBCMC_CALL_REASON_CODE_SWITCHING_EQUIP_CONGESTION          = 42,
+
[[Image:Configure_ReasonCause_0.png]]
    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,
+
2- Select a profile:
    TBCMC_CALL_REASON_CODE_RESOURCE_UNAVAILABLE                = 47,
+
 
    TBCMC_CALL_REASON_CODE_QOS_NOT_AVAILABLE                  = 49,
+
[[Image:Configure_ReasonCause_1.png]]
    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,
+
3- Click '''Edit Reason Cause Mapping''':
    TBCMC_CALL_REASON_CODE_BEARER_CAP_NOT_AUTHORIZED          = 57,
+
 
    TBCMC_CALL_REASON_CODE_BEARER_CAP_NOT_AVAILABLE            = 58,
+
[[Image:Configure_ReasonCause_2.png]]
    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,
+
4- Select the reason cause that you wish to create:
    TBCMC_CALL_REASON_CODE_CHANNEL_TYPE_NOT_IMPLEMENTED        = 66,
+
 
    TBCMC_CALL_REASON_CODE_REQUESTED_FACILITY_NOT_IMPLEMENTED  = 69,
+
[[Image:Configure_ReasonCause_3.png]]
    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,
+
5- Configure the reason cause values
    TBCMC_CALL_REASON_CODE_CHANNEL_DOES_NOT_EXIST              = 82,
+
*Click '''Create'''
    TBCMC_CALL_REASON_CODE_CALL_IDENTITY_DOES_NOT_EXIST        = 83,
+
 
    TBCMC_CALL_REASON_CODE_CALL_IDENTITY_IN_USE                = 84,
+
[[Image:Configure_ReasonCause_4.png]]
    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
+
  
 
<br>  
 
<br>  
  
== Case for the 603 DECLINE and 200 TOOLPACK NORMAL  ==
+
== Complete list of Reason Cause mapping between the protocols: ==
 +
 
 +
[[Media:Reason_Cause.xlsx|Reason Cause list in csv]]
 +
<br />
  
The TOOLPACK_NORMAL reason code is mapped to the 603_DECLINE reason code. The reason is the following:
+
=== Case for the 603 DECLINE and 200 TOOLPACK NORMAL  ===
  
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).
+
The TOOLPACK_NORMAL reason code is mapped to the 603_DECLINE reason code. The reason for this is the following:
  
[[Category:Needs_revising]]
+
A SIP BYE does not include a cause code, so on a normal call terminations, TMedia will send a BYE on SIP, and internally, a 200 TOOLPACK_NORMAL (in the logs and the CDRs). 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).

Latest revision as of 08:57, 10 October 2018

General Configuration

When configuring termination cause codes, use the following table as a guide. The Drop column represents codes to use when redirection contents should be dropped and the call should be terminated with the specified code. The Forward column represents codes to use when redirection contents should be forwarded to the incoming leg with the specified code. If the redirection requests must be processed, the codes are not used.

Code Drop Forward
SS7 SIP SS7 SIP
14 21 603 14 300
22 21 410 22 301
23 21 410 23 302
300 21 603 23 300
301 21 410 22 301
302 21 410 23 302
305 21 603 23 305
380 21 603 23 380

For each redirection cause code, choose Process to let the routing scripts process the redirection. Choose Stop to drop calls when receiving a redirection and use the above table to specify if the redirection contents should be dropped.


To Modify a reason cause code:


1- Click Profiles in the navigation panel.

Configure ReasonCause 0.png


2- Select a profile:

Configure ReasonCause 1.png


3- Click Edit Reason Cause Mapping:

Configure ReasonCause 2.png


4- Select the reason cause that you wish to create:

Configure ReasonCause 3.png


5- Configure the reason cause values

  • Click Create

Configure ReasonCause 4.png


Complete list of Reason Cause mapping between the protocols:

Reason Cause list in csv

Case for the 603 DECLINE and 200 TOOLPACK NORMAL

The TOOLPACK_NORMAL reason code is mapped to the 603_DECLINE reason code. The reason for this is the following:

A SIP BYE does not include a cause code, so on a normal call terminations, TMedia will send a BYE on SIP, and internally, a 200 TOOLPACK_NORMAL (in the logs and the CDRs). 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).

Personal tools