Termination cause codes

From TBwiki
(Difference between revisions)
Jump to: navigation, search
(Added 603 decline comment and new "Edit Reason Code Mapping")
(Added the process to create reason cause codes following our standard way of working)
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
DRAFT VERSION
 
  
This page needs to be cleaned up. For now, please use your browser's 'Find' function to locate the code you are looking for.
+
==General Configuration==
  
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>
 
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_NORMAL_CALL_CLEARING                = 16,
+
|-
    TBCMC_CALL_REASON_CODE_USER_BUSY                    = 17,
+
| 23 || 21 || 410 || 23 || 302
    TBCMC_CALL_REASON_CODE_NO_USER_RESPONDING                = 18,
+
|-
    TBCMC_CALL_REASON_CODE_NO_ANSWER_FROM_USER                = 19,
+
| 300 || 21 || 603 || 23 || 300
    TBCMC_CALL_REASON_CODE_SUBSCRIBER_ABSENT                = 20,
+
|-
    TBCMC_CALL_REASON_CODE_CALL_REJECTED                    = 21,
+
| 301 || 21 || 410 || 22 || 301
    TBCMC_CALL_REASON_CODE_NUMBER_CHANGED                    = 22,
+
|-
    TBCMC_CALL_REASON_CODE_REDIRECTION                    = 23,
+
| 302 || 21 || 410 || 23 || 302
    TBCMC_CALL_REASON_CODE_EXCHANGE_ROUTING_ERROR                = 25,
+
|-
    TBCMC_CALL_REASON_CODE_NON_SELECTED_USER_CLEARING            = 26,
+
| 305 || 21 || 603 || 23 || 305
    TBCMC_CALL_REASON_CODE_DESTINATION_OUT_OF_ORDER                = 27,
+
|-
    TBCMC_CALL_REASON_CODE_ADDRESS_INCOMPLETE                = 28,
+
| 380 || 21 || 603 || 23 || 380
    TBCMC_CALL_REASON_CODE_FACILITY_REJECTED                = 29,
+
|}
    TBCMC_CALL_REASON_CODE_RESPONSE_TO_STATUS_ENQUIRY            = 30,
+
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_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_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>
 
  
== SIP &lt;-&gt; ISDN/SS7 &lt;-&gt; Toolpack Mapping ==
+
'''To Modify a reason cause code:'''
 +
 
 +
 
 +
1- Click '''Profiles''' in the navigation panel.
 +
 
 +
[[Image:Configure_ReasonCause_0.png]]
 +
 
 +
 
 +
2- Select a profile:
 +
 
 +
[[Image:Configure_ReasonCause_1.png]]
 +
 
 +
 
 +
3- Click '''Edit Reason Cause Mapping''':
 +
 
 +
[[Image:Configure_ReasonCause_2.png]]
 +
 
 +
 
 +
4- Select the reason cause that you wish to create:
 +
 
 +
[[Image:Configure_ReasonCause_3.png]]
 +
 
 +
 
 +
5- Configure the reason cause values
 +
*Click '''Create'''
 +
 
 +
[[Image:Configure_ReasonCause_4.png]]
 +
 
 +
<br>
  
            switch( in_pCallContext-&gt;Cmn.DropCause )
+
== Complete list of Reason Cause mapping between the protocols: ==
            {
+
                  case TBCMC_CALL_REASON_CODE_TOOLPACK_NORMAL:                            DropCause = TBCMC_CALL_REASON_CODE_603_DECLINE; break;
+
                  case TBCMC_CALL_REASON_CODE_TOOLPACK_RESOURCE_ERROR:              DropCause = TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_TOOLPACK_TIMEOUT:                           DropCause = TBCMC_CALL_REASON_CODE_500_SRV_INT_ERROR; break;
+
                  case TBCMC_CALL_REASON_CODE_TOOLPACK_NO_ROUTE:                          DropCause = TBCMC_CALL_REASON_CODE_404_NOT_FOUND; break;
+
                  case TBCMC_CALL_REASON_CODE_TOOLPACK_CALL_COLLISION:              DropCause = TBCMC_CALL_REASON_CODE_491_RETRY_AFTER; break;
+
                  case TBCMC_CALL_REASON_CODE_TOOLPACK_SYNC_DROP:                        DropCause = TBCMC_CALL_REASON_CODE_603_DECLINE; break;
+
                  case TBCMC_CALL_REASON_CODE_TOOLPACK_SIGNALING_ERROR:            DropCause = TBCMC_CALL_REASON_CODE_500_SRV_INT_ERROR; break;
+
                  case TBCMC_CALL_REASON_CODE_TOOLPACK_LOCALLY_REJECTED:                  DropCause = TBCMC_CALL_REASON_CODE_404_NOT_FOUND; break;
+
                  case TBCMC_CALL_REASON_CODE_TOOLPACK_INTERFACE_NOT_AVAILABLE:    DropCause = TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_TOOLPACK_RESET_IN_PROGRESS:                DropCause = TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_TOOLPACK_ADAPTER_REJECT:              DropCause = TBCMC_CALL_REASON_CODE_403_FORBIDDEN; break;
+
                  case TBCMC_CALL_REASON_CODE_TOOLPACK_MISSING_INVALID_IE:          DropCause = TBCMC_CALL_REASON_CODE_500_SRV_INT_ERROR; break;
+
                  case TBCMC_CALL_REASON_CODE_TOOLPACK_INCOMING_ONLY:                    DropCause = TBCMC_CALL_REASON_CODE_480_TEMP_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_TOOLPACK_SYSTEM_CONFIGURATION_CHANGED:      DropCause = TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_TOOLPACK_RESOURCE_NO_MORE_AVAILABLE:  DropCause = TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_TOOLPACK_INCOMPATIBLE_MEDIA:          DropCause = TBCMC_CALL_REASON_CODE_415_UNSPRTD_MEDIA; break;
+
                  case TBCMC_CALL_REASON_CODE_TOOLPACK_RES_ALLOC_FAILED:                  DropCause = TBCMC_CALL_REASON_CODE_480_TEMP_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_TOOLPACK_DATA_PATH_NOT_AVAILABLE:    DropCause = TBCMC_CALL_REASON_CODE_480_TEMP_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_UNALLOCATED_NUMBER:                        DropCause = TBCMC_CALL_REASON_CODE_404_NOT_FOUND; break;
+
                  case TBCMC_CALL_REASON_CODE_NO_ROUTE_TO_NETWORK:                        DropCause = TBCMC_CALL_REASON_CODE_404_NOT_FOUND; break;
+
                  case TBCMC_CALL_REASON_CODE_NO_ROUTE_TO_DESTINATION:              DropCause = TBCMC_CALL_REASON_CODE_404_NOT_FOUND; break;
+
                  case TBCMC_CALL_REASON_CODE_SEND_SPECIAL_TONE:                          DropCause = TBCMC_CALL_REASON_CODE_404_NOT_FOUND; break;
+
                  case TBCMC_CALL_REASON_CODE_MISDIALLED_TRUNK_PREFIX:              DropCause = TBCMC_CALL_REASON_CODE_404_NOT_FOUND; break;
+
                  case TBCMC_CALL_REASON_CODE_CHANNEL_UNACCEPTABLE:                      DropCause = TBCMC_CALL_REASON_CODE_404_NOT_FOUND; break;
+
                  case TBCMC_CALL_REASON_CODE_CALL_AWARDED_IN_ESTABLISHED_CHANNEL:  DropCause = TBCMC_CALL_REASON_CODE_404_NOT_FOUND; break;
+
                  case TBCMC_CALL_REASON_CODE_PREEMPTION:                                      DropCause = TBCMC_CALL_REASON_CODE_404_NOT_FOUND; break;
+
                  case TBCMC_CALL_REASON_CODE_REATTEMPT:                                        DropCause = TBCMC_CALL_REASON_CODE_491_RETRY_AFTER; break;
+
                  case TBCMC_CALL_REASON_CODE_NORMAL_CALL_CLEARING:                      DropCause = TBCMC_CALL_REASON_CODE_603_DECLINE; break;
+
                  case TBCMC_CALL_REASON_CODE_USER_BUSY:                                        DropCause = TBCMC_CALL_REASON_CODE_486_BUSY_HERE; break;
+
                  case TBCMC_CALL_REASON_CODE_NO_USER_RESPONDING:                        DropCause = TBCMC_CALL_REASON_CODE_408_REQ_TIMEOUT; break;
+
                  case TBCMC_CALL_REASON_CODE_NO_ANSWER_FROM_USER:                        DropCause = TBCMC_CALL_REASON_CODE_480_TEMP_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_SUBSCRIBER_ABSENT:                          DropCause = TBCMC_CALL_REASON_CODE_480_TEMP_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_CALL_REJECTED:                                    DropCause = TBCMC_CALL_REASON_CODE_403_FORBIDDEN; break;
+
                  case TBCMC_CALL_REASON_CODE_NUMBER_CHANGED:                                  DropCause = TBCMC_CALL_REASON_CODE_410_GONE; break;
+
                  case TBCMC_CALL_REASON_CODE_REDIRECTION:                                DropCause = TBCMC_CALL_REASON_CODE_410_GONE; break;
+
                  case TBCMC_CALL_REASON_CODE_EXCHANGE_ROUTING_ERROR:                    DropCause = TBCMC_CALL_REASON_CODE_483_TOO_MANY_HOPS; break;
+
                  case TBCMC_CALL_REASON_CODE_NON_SELECTED_USER_CLEARING:                DropCause = TBCMC_CALL_REASON_CODE_404_NOT_FOUND; break;
+
                  case TBCMC_CALL_REASON_CODE_DESTINATION_OUT_OF_ORDER:            DropCause = TBCMC_CALL_REASON_CODE_502_BAD_GATEWAY; break;
+
                  case TBCMC_CALL_REASON_CODE_ADDRESS_INCOMPLETE:                        DropCause = TBCMC_CALL_REASON_CODE_484_ADDR_INCOMPLETE; break;
+
                  case TBCMC_CALL_REASON_CODE_FACILITY_REJECTED:                          DropCause = TBCMC_CALL_REASON_CODE_501_NOT_IMPLEMENTED; break;
+
                  case TBCMC_CALL_REASON_CODE_RESPONSE_TO_STATUS_ENQUIRY:                DropCause = TBCMC_CALL_REASON_CODE_500_SRV_INT_ERROR; break;
+
                  case TBCMC_CALL_REASON_CODE_NORMAL_UNSPECIFIED:                        DropCause = TBCMC_CALL_REASON_CODE_480_TEMP_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_NO_CIRCUIT_AVAILABLE:                      DropCause = TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_NETWORK_OUT_OF_ORDER:                      DropCause = TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_FRAME_MODE_OUT_OF_SERVICE:                  DropCause = TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_FRAME_MODE_CONN_OPERATIONAL:          DropCause = TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_TEMPORARY_FAILURE:                          DropCause = TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_SWITCHING_EQUIP_CONGESTION:                DropCause = TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_ACCESS_INFO_DISCARDED:                      DropCause = TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_REQUESTED_CIRCUIT_NOT_AVAILABLE:      DropCause = TBCMC_CALL_REASON_CODE_491_RETRY_AFTER; break;
+
                  case TBCMC_CALL_REASON_CODE_PRECEDENCE_CALL_BLOCKED:              DropCause = TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_RESOURCE_UNAVAILABLE:                      DropCause = TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_QOS_NOT_AVAILABLE:                          DropCause = TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_REQUESTED_FACILITY_NOT_SUBSCRIBED:    DropCause = TBCMC_CALL_REASON_CODE_403_FORBIDDEN; break;
+
                  case TBCMC_CALL_REASON_CODE_OUTGOING_CALLS_BARRED_WITHIN_CUG:    DropCause = TBCMC_CALL_REASON_CODE_403_FORBIDDEN; break;
+
                  case TBCMC_CALL_REASON_CODE_INCOMING_CALLS_BARRED_WITHIN_CUG:    DropCause = TBCMC_CALL_REASON_CODE_403_FORBIDDEN; break;
+
                  case TBCMC_CALL_REASON_CODE_BEARER_CAP_NOT_AUTHORIZED:                  DropCause = TBCMC_CALL_REASON_CODE_403_FORBIDDEN; break;
+
                  case TBCMC_CALL_REASON_CODE_BEARER_CAP_NOT_AVAILABLE:            DropCause = TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_INCONSISTENCY_ACCESS_INFO:                  DropCause = TBCMC_CALL_REASON_CODE_404_NOT_FOUND; break;
+
                  case TBCMC_CALL_REASON_CODE_SERVICE_NOT_AVAILABLE:                      DropCause = TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_BEARER_CAP_NOT_IMPLEMENTED:                DropCause = TBCMC_CALL_REASON_CODE_488_NOT_ACCEPTBLE_HERE; break;
+
                  case TBCMC_CALL_REASON_CODE_CHANNEL_TYPE_NOT_IMPLEMENTED:        DropCause = TBCMC_CALL_REASON_CODE_501_NOT_IMPLEMENTED; break;
+
                  case TBCMC_CALL_REASON_CODE_REQUESTED_FACILITY_NOT_IMPLEMENTED:  DropCause = TBCMC_CALL_REASON_CODE_501_NOT_IMPLEMENTED; break;
+
                  case TBCMC_CALL_REASON_CODE_ONLY_RESTRICTED_DIGITAL_INFO:        DropCause = TBCMC_CALL_REASON_CODE_488_NOT_ACCEPTBLE_HERE; break;
+
                  case TBCMC_CALL_REASON_CODE_SERVICE_NOT_IMPLEMENTED:              DropCause = TBCMC_CALL_REASON_CODE_501_NOT_IMPLEMENTED; break;
+
                  case TBCMC_CALL_REASON_CODE_INVALID_CALL_REFERENCE:                    DropCause = TBCMC_CALL_REASON_CODE_404_NOT_FOUND; break;
+
                  case TBCMC_CALL_REASON_CODE_CHANNEL_DOES_NOT_EXIST:                    DropCause = TBCMC_CALL_REASON_CODE_404_NOT_FOUND; break;
+
                  case TBCMC_CALL_REASON_CODE_CALL_IDENTITY_DOES_NOT_EXIST:        DropCause = TBCMC_CALL_REASON_CODE_404_NOT_FOUND; break;
+
                  case TBCMC_CALL_REASON_CODE_CALL_IDENTITY_IN_USE:                      DropCause = TBCMC_CALL_REASON_CODE_409_CONFLICT; break;
+
                  case TBCMC_CALL_REASON_CODE_NO_CALL_SUSPENDED:                          DropCause = TBCMC_CALL_REASON_CODE_404_NOT_FOUND; break;
+
                  case TBCMC_CALL_REASON_CODE_CALL_HAS_BEEN_CLEARED:                      DropCause = TBCMC_CALL_REASON_CODE_410_GONE; break;
+
                  case TBCMC_CALL_REASON_CODE_USER_NOT_MEMBER_OF_CUG:                    DropCause = TBCMC_CALL_REASON_CODE_403_FORBIDDEN; break;
+
                  case TBCMC_CALL_REASON_CODE_INCOMPATIBLE_DESTINATION:            DropCause = TBCMC_CALL_REASON_CODE_503_SERVICE_UNAVAIL; break;
+
                  case TBCMC_CALL_REASON_CODE_NON_EXISTANT_CUG:                          DropCause = TBCMC_CALL_REASON_CODE_404_NOT_FOUND; break;
+
                  case TBCMC_CALL_REASON_CODE_INVALID_TRANSIT_NETWORK:              DropCause = TBCMC_CALL_REASON_CODE_500_SRV_INT_ERROR; break;
+
                  case TBCMC_CALL_REASON_CODE_INVALID_MESSAGE_UNSPECIFIED:          DropCause = TBCMC_CALL_REASON_CODE_403_FORBIDDEN; break;
+
                  case TBCMC_CALL_REASON_CODE_MANDATORY_IE_MISSING:                      DropCause = TBCMC_CALL_REASON_CODE_403_FORBIDDEN; break;
+
                  case TBCMC_CALL_REASON_CODE_MESSAGE_TYPE_NON_EXISTENT:                  DropCause = TBCMC_CALL_REASON_CODE_403_FORBIDDEN; break;
+
                  case TBCMC_CALL_REASON_CODE_MESSAGE_NOT_COMPATIBLE_WITH_CALL_STATE:      DropCause = TBCMC_CALL_REASON_CODE_403_FORBIDDEN; break;
+
                  case TBCMC_CALL_REASON_CODE_IE_NON_EXISTENT:                            DropCause = TBCMC_CALL_REASON_CODE_403_FORBIDDEN; break;
+
                  case TBCMC_CALL_REASON_CODE_INVALID_IE_CONTENT:                        DropCause = TBCMC_CALL_REASON_CODE_403_FORBIDDEN; break;
+
                  case TBCMC_CALL_REASON_CODE_MSG_NOT_COMPATIBLE_WITH_CALL_STATE:  DropCause = TBCMC_CALL_REASON_CODE_403_FORBIDDEN; break;
+
                  case TBCMC_CALL_REASON_CODE_RECOVERY_ON_TIMER_EXPIRY:            DropCause = TBCMC_CALL_REASON_CODE_504_SERVER_TIMEOUT; break;
+
                  case TBCMC_CALL_REASON_CODE_PARAMETER_NON_EXISTENT_PASSED_ON:    DropCause = TBCMC_CALL_REASON_CODE_500_SRV_INT_ERROR; break;
+
                  case TBCMC_CALL_REASON_CODE_MESSAGE_WITH_NON_RECOGNIZED_PARAMETERS_DISCARDED: DropCause = TBCMC_CALL_REASON_CODE_403_FORBIDDEN; break;
+
                  case TBCMC_CALL_REASON_CODE_PROTOCOL_ERROR:                                  DropCause = TBCMC_CALL_REASON_CODE_500_SRV_INT_ERROR; break;
+
                  case TBCMC_CALL_REASON_CODE_INTERWORKING_UNSPECIFIED:            DropCause = TBCMC_CALL_REASON_CODE_500_SRV_INT_ERROR; break;
+
  
== Case for the 603 DECLINE and 200 TOOLPACK NORMAL  ==
+
[[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