Background and Overview
By default, SIP responses received are passed through from one SIP peer to another by the SBC Edge Portfolio (SBC). The default Q.850 to SIP and SIP to Q.850 mapping tables fully conform with RFC4497. With the help of these two override tables, you can change the default mapping for any SIP response to and from any Q.850 cause.
For example, in the default Q.850 to SIP override table, QSIG Cause Codes 34, 38, 41, 42, 47, 58, and 88 map to 503 Service Unavailable. A problem occurs when the SBC receives Cause Code 34 from the PSTN. The SBC maps it to 503 Service Unavailable, which causes Skype to declare the SBC gateway unavailable with Event ID 46046. In this case, the SBC administrator may want to override the default mapping in order to prevent Skype from flagging the whole gateway as unavailable. Consider the following illustration.
This article expands more on this practice, and describes how to configure the SBC to perform custom SIP response mapping for SIP to SIP calls.
Default Q.850 to SIP Override Table
SBC Configuration
General Overview of the Configuration
In this example we use the SIP to Q850 and Q850 to SIP Override Tables. Upon receiving a SIP response, the SBC uses the SIP to Q850 Override Table to map the SIP response to a Q850 Cause Code. Once the Q850 Cause Code is found, the SBC uses the Q850 Cause Code, via the Q850 to SIP mapping table, to map it to a SIP response. This behavior is achieved when the default Pass-through SIP Response Code feature is disabled.
SIP to Q.850 and Q.850 to SIP Override Tables
Default Q.850 to SIP and SIP to Q.850 Mapping Tables in SBC
Q.850 to SIP and SIP to Q.850 Mapping Tables
SIP response | Q.850 Cause value |
---|
400 Bad Request | 41 Temporary Failure |
401 Unauthorized | 21 Call rejected |
402 Payment required | 21 Call rejected |
403 Forbidden | 21 Call rejected |
404 Not found | 1 Unallocated number |
405 Method not allowed | 63 Service or option unavailable |
406 Not acceptable | 79 Service/option not implemented |
407 Proxy authentication required | 21 Call rejected |
408 Request timeout | 102 Recovery on timer expiry |
410 Gone | 22 Number changed (w/o diagnostic) |
413 Request Entity too long | 127 Interworking |
414 Request-URI too long | 127 Interworking |
415 Unsupported media type | 79 Service/option not implemented |
416 Unsupported URI Scheme | 127 Interworking |
420 Bad extension | 127 Interworking |
421 Extension Required | 127 Interworking |
423 Interval Too Brief | 127 Interworking |
480 Temporarily unavailable | 18 No user responding |
481 Call/Transaction Does not Exist | 41 Temporary Failure |
482 Loop Detected | 25 Exchange - routing error |
483 Too many hops | 25 Exchange - routing error |
484 Address incomplete | 28 Invalid Number Format |
485 Ambiguous | 1 Unallocated number |
486 Busy here | 17 User busy |
487 Request Terminated | 127 Interworking |
488 Not Acceptable Here | 65 Bearer capability not implemented |
500 Server internal error | 41 Temporary failure |
501 Not implemented | 79 Not implemented, unspecified |
502 Bad gateway | 38 Network out of order |
503 Service unavailable | 41 Temporary failure |
504 Server time-out | 102 Recovery on timer expiry |
505 Version Not Supported | 127 Interworking |
513 Message Too Large | 127 Interworking |
600 Busy everywhere | 17 User busy |
603 Decline | 21 Call rejected |
604 Does not exist anywhere | 1 Unallocated number |
606 Not acceptable | 31 Normal, unspecified |
Q.850 Cause value | SIP response |
---|
1 Unallocated number | 404 Not Found |
2 No route to network | 404 Not found |
3 No route to destination | 404 Not found |
16 Normal call clearing | result in a BYE or CANCEL |
17 User busy | 486 Busy here |
18 No user responding | 408 Request Timeout |
19 No answer from the user | 480 Temporarily unavailable |
20 Subscriber absent | 480 Temporarily unavailable |
21 Call rejected (location - user) | 603 Forbidden |
21 Call rejected (location - nonuser) | 403 Forbidden |
22 Number changed (w/o diagnostic) | 410 Gone |
22 Number changed (w/ diagnostic) | 301 Moved Permanently |
23 Redirection to new destination | 410 Gone |
26 Non-selected user clearing | 404 Not Found |
27 Destination out of order | 502 Bad Gateway |
28 Address incomplete | 484 Address incomplete |
29 Facility rejected | 501 Not implemented |
31 Normal unspecified | 480 Temporarily unavailable |
34 No circuit available | 503 Service unavailable |
38 Network out of order | 503 Service unavailable |
41 Temporary failure | 503 Service unavailable |
42 Switching equipment congestion | 503 Service unavailable |
46 Precedence call blocked | 480 Temporarily unavailable |
47 Resource unavailable | 503 Service unavailable |
55 Incoming calls barred within CUG | 403 Forbidden |
57 Bearer capability not authorized | 403 Forbidden |
58 Bearer capability not presently | 503 Service unavailable available |
65 Bearer capability not implemented | 488 Not Acceptable Here |
69 Requested facility not implemented | 501 Not implemented |
70 Only restricted digital avail | 488 Not Acceptable Here |
79 Service or option not implemented | 501 Not implemented |
87 User not member of CUG | 403 Forbidden |
88 Incompatible destination | 503 Service unavailable |
102 Recovery of timer expiry | 504 Gateway timeout |
111 Protocol error | 500 Server internal error |
127 Interworking unspecified | 500 Server internal error |
SBC Configuration
- Create a SIP to Q.850 mapping table, which will be used to match the SIP Response to a Q.850 Cause Code for inbound calls.
- Create a Q.850 to SIP mapping table, which will be used to match the Q.850 Cause Code to SIP Response for outbound calls.
- Disable Pass-through Peer SIP Response Code and select the two mapping tables.