The Cause map profiles provide customized tables on the SBC to map cause codes between internal, SIP and Q850 cause codes. The custom mappings can be selected on a per-route basis, on egress trunks, as well as on a per call basis, on ingress trunks, through the IP Signaling Profile.
Five preconfigured base profiles are available to either use as-is, or to build upon for SIP to CPC mapping:
defaultSipCpc
– Recommended to achieve backwards compatibility. Index is 1.defaultQ1912SipCpc
– Based on Q1912.5. Index is 2.defaultRFC3398SipCpc
– Based on RFC 3398. Index is 3.defaultTS29163SipCpc
– Based on 3GPP TS 29.163. Index is 4.defaultTsgspec17SipCpc
– Based on TSG/SPEC/017. Index is 5. For information on relevant SIP Cause Code Mapping, refer to Support for SIP Cause Code Mapping as per TSG-SPEC-017.
The five corresponding preconfigured profiles for CPC to SIP mapping are:
defaultCpcSip
– Recommended to achieve backwards compatibility. Index is 1.defaultQ1912CpcSip
– Based on Q1912.5. Index is 2.defaultRFC3398CpcSip
– Based on RFC 3398. Index is 3.defaultTS29163CpcSip
– Based on 3GPP TS 29.163. Index is 4.defaultTsgspec17CpcSip
– Based on TSG/SPEC/017. Index is 5. For information on relevant SIP Cause Code Mapping, refer to Support for SIP Cause Code Mapping as per TSG-SPEC-017.
In the case of both SIP to CPC and CPC to SIP there is an additional mapping corresponding to index = 0. Each corresponds to a fixed mapping implemented directly in the SBC software. Profiles corresponding to indices 0 – 4 may not be altered under any circumstances. However, when you create a new profile, it is populated using a preconfigured profile that you specify and thereafter you may add, delete, and modify entries. Each profile has a unique index (an integer in the range 6 -16) associated with it. The base profiles take indices 1-5. The index of the desired profile is configured on the SBC on the ingress and egress IP Signaling profiles. After creating a new profile:
- Use set to change the mapping of an existing cause code and to add a cause code that does not exist.
- Use delete to remove a cause code mapping. (This might be necessary to invoke the special case handling that is described below.)
The SBC Core supports up to 64 SIP-to-CPC and 64 CPC-to-SIP cause code mapping profiles.
The following special case handling is performed for cause codes that are not present in the active Causemap profiles:
- Cause code 22 ("number changed") – If this code is received, then if there are diagnostics in the REL with the new called party number, the REL will be mapped to a 301 and the new called party number will go in the contact header, otherwise it will be mapped into a 410. This is the default behavior for profiles based upon
DefaultRFC3398SipCpc
because cause code 22 is absent from that profile. - Cause code 21 ("call rejected") – If this code is received, and location is set to "user", then 603 is sent, otherwise 403 is sent. This is the default behavior for profiles based upon DefaultRFC3398SipCpc because cause code 21 is absent from that profile.
- Cause code 34 ("no circuit available") – If this code is received, then if there are diagnostics in the REL that indicate CCBS possible, 486 is sent, otherwise 480 is sent. This is the default behavior for profiles based upon
DefaultQ1912SipCpc
because cause code 34 is absent from that profile.
This behavior is achieved by deleting the relevant cause code from the new profile.