Customized System Error Messages
Cisco Unified Border Element (SP Edition) supports customized system error messages.
Feature History for Implementing SNMP
|
|
Cisco IOS XE Release 3.1S |
Customized System Error Messages feature was introduced. |
Information About Customized System Error Messages
SBC provides the ability to map internal system error-codes to SIP status-codes, and gives system administrators the ability to add a customer configured Reason: header into the response.
System administrators can map and customize error messages in user-defined error profiles. The following types of existing SIP error codes can be mapped and customized in user-defined error profiles:
- Call Admission Control (CAC)
- Number Analysis (NA)
- Routing Errors (RTG)
A default error profile is automatically created and attached to SIP adjacencies during SBE configuration. The default error profile can be modified, but cannot be deleted.
User-defined error-profiles are added to the existing SIP profiles and can be attached to adjacencies.
Errors are identified by a cause and an optional a sub-cause. If no sub-cause is entered, all possible sub-causes are mapped to that cause.
Each cause/sub-cause combination can be mapped by the user to any SIP status-code in the range between 400 and 699.
When an internal error is generated, the system checks for a configured cause/sub-cause mapped to that error. The system first checks the adjacency for specific error-profile, then it checks the default profile for an equivalent error mapping. If no match is found, the existing internal error message is returned. If a configured error profile is found, it overwrites the internal error message.
A user-defined error-profile contains the following elements:
Cause
In an error profile, the cause of an internal error is specified, using the cause command to select one of the following available CLI causes:
Note To see a list of the available causes, use the question mark (?) online help function after you have selected the cause.
- cac-in-call-msg-rate —cac: The rate of mid-call messages has exceeded a maximum configured limit
- cac-max-bandwidth —cac: The bandwidth used has exceeded a maximum configured limit
- cac-max-call-rate —cac: Call setup rate exceeded a maximum configured limit
- cac-max-channels —cac: The number of media channels used has exceeded a maximum limit
- cac-max-num-calls —cac: The number of calls has exceeded a maximum limit
- cac-max-reg —cac: The number of registrations has exceeded a maximum configured limit
- cac-max-reg-rate —cac: The rate of registrations has exceeded a maximum configured limit
- cac-max-updates —cac: The number of call updates has exceeded the configured limit
- cac-out-call-msg-rate —cac: The rate of out of dialogue messages has exceeded a maximum configured limit
- cac-rtp-disallowed —cac: Disallowing rtp caused the call to fail
- cac-srtp-disallowed —cac: Disallowing srtp caused the call to fail
- cac-srtp-rtp-interwork —cac: call failed due to srtp to rtp interworking disallowed
- enum-failure —ENUM processing encountered an error
- max-media-streams —An offer cannot be reduced to meet the maximum number of media streams
- mg-srtp-unsupported —No MG was found which can support srtp
- na-invalid-address —na: Number validation failure
- no-acceptable-codec —No acceptable codec can be found for an offer
- rtg-max-routes-tried —rtg: The maximum number of routing attempts exceeded
- rtg-no-route-found —rtg: Routing failed to find a route
- rtg-route-unavailable —rtg: The route selected by call-policy is unavailable
- srtp-general-error —srtp general error
- sub-media-bearer-chan-fail —subscriber media bearer channel has failed mid-call
- sub-media-bearer-chan-rej —subscriber media bearer channel has rejected during setup or renegotiation
- sub-sig-bearer-chan-fail —subscriber signaling bearer channel is unavailable
Sub-cause
After the cause is selected, the sub-cause can then be selected optionally.
To see a list of the available sub-causes for each cause, use the question mark (?) online help function after you have selected the cause. The following list shows all available sub-causes:
- na-dst-number —Destination number based analysis
- na-src-adjacency —Source adjacency based analysis
- na-src-account —Source account based analysis
- na-sub-category —Subscriber category based analysis
- na-carrier-id —Carrier identification code based analysis
- na-src-number —Source number based analysis
- na-no-src-number —No source number present for source number based analysis
- rtg-src-address —Source address based routing
- rtg-dst-address —Destination address based routing
- rtg-src-adjacency —Source adjacency based routing
- rtg-src-account —Source account based routing
- rtg-category —Category based routing
- rtg-sub-category —Subscriber category based routing
- rtg-src-domain —Source domain based routing
- rtg-dst-domain —Destination domain based routing
- rtg-time —Time based routing
- rtg-dst-tgid —Destination trunk group Identifier based routing
- rtg-src-tgid —Source trunk group identifier based routing
- rtg-carrier-id —Carrier identification code based routing
- rtg-round-robin —Round robin based routing
- rtg-least-cost —Least cost based routing
- cac-unknown —Unknown call admission control error
- cac-per-call-scope —Call admission control call scope error
- cac-src-number-scope —Call admission control source number scope error
- cac-downstream-scope —Call admission control downstream scope attribute error
- cac-upstream-scope —Call admission control upstream scope attribute error
- sub-rx-reg-bearer-loss —Failed to route to a subscriber because the Rx session for the subscriber registration suffered loss of bearer
- sub-rx-reg-bearer-rel —Failed to route to a subscriber because the rx session for the subscriber registration suffered release of bearer
- sub-rx-reg-bearer-term —Failed to route to a subscriber because the rx session for the subscriber registration was terminated
- sub-rx-media-policy-rej —Rx session for a call was rejected for policy reasons (for example, unsupported media)
- sub-rx-media-error —Rx session for a call was rejected for non-policy reasons (for example, service unavailable)
- sub-rx-reg-bearer-loss —Rx session for a call suffered loss of bearer
- sub-rx-reg-bearer-rel —Rx session for a call suffered release of bearer
- sub-rx-reg-bearer-term —Rx session for a call was terminated
- enum-resource —enum - encountered a resource shortage
- enum-dst-not-number —enum - destination address which was not a telephone number
- enum-unknown-number —enum - unable to resolve a telephone number
- enum-interface-failure —enum - failed in the enum interface
- enum-regex-error —enum - failed because a regex in a NAPTR record was invalid
Status-code
The SIP status-code numbers range from 400 to 699. A SIP status code can be mapped to a selected cause/sub-cause, using the cause command.
Reason
The reason field allows system administrators to optionally configure a SIP "Reason:" header, which is inserted into the error response and displayed when an error occurs. The configured reason header must conform to the syntax rules defined in RFC 3326.
Configuring Customized System Error Messages
Use the following procedure to configure custom error messages.
SUMMARY STEPS
1. configure terminal
2. sbc sbc-name
3. sbe
4. sip error-profile error-profile-name
5. description description
6. cause cause [ sub-cause sub-cause ] status-code status-code [ reason reason ]
7. exit
8. adjacency sip adjacency-name
9. error-profile outbound profile-name
10. end
11. show sbc sbc-name sbe sip error-profile
DETAILED STEPS
|
|
|
Step 1 |
configure terminal
Router# configure terminal |
Enters global configuration mode. |
Step 2 |
sbc sbc-name
Router(config)# sbc SBC1 |
Creates the SBC service on Cisco Unified Border Element (SP Edition) and enters into SBC configuration mode. |
Step 3 |
sbe
Router(config-sbc)# sbe |
Enters the mode of the signaling border element (SBE) function of the SBC. |
Step 4 |
sip error-profile error-profile-name
Router(config-sbc-sbe)# sip error-profile IN_Err_Profile_1
|
Creates an error profile and enters error profile configuration mode. |
Step 5 |
description description
Router(config-sbc-sbe-sip-err)# description call rate error |
Adds a description to an error profile. |
Step 6 |
cause cause [ sub-cause sub-cause ] status-code status-code [ reason reason ]
Router(config-sbc-sbe-sip-err)# cause cac-max-reg status-code 553 reason "SIP ;cause=503 ;text=\" Exceed the max reg num\"" |
Configures the cause, sub-cause, status-code, and reason of an internal error for an error profile. |
Step 7 |
Router(config-sbc-sbe-err)# exit
|
Exits to the previous mode. |
Step 8 |
adjacency sip
adjacency-name
Router(config-sbc-sbe)# adjacency sip Adj_1
|
Enters the mode of an SBE SIP adjacency. |
Step 9 |
error-profile outbound profile-name
Router(config-sbc-sbe-adj-sip)# error-profile outbound OUT_Err_Profile_1
|
Configures an existing error profile as the outbound SIP error profile. |
Step 10 |
end
Router(config-sbc-sbe-enum-entry)# end |
Exits configuration mode and returns to privileged EXEC mode. |
Step 11 |
show sbc sbc-name sbe sip error-profile
Router# show sbc SBC1 sbe sip error-profile
|
Displays the configuration information for all error profiles. |
Configuration Example of Implementing Customized System Error Message
The following example shows how to configure custom error messages:
Router# configure terminal
Router(config-sbc-sbe)# sip error-profile Error_Profile_1
Router(config-sbc-sbe-sip-err)# description call rate error
Router(config-sbc-sbe-sip-err)# cause cac-max-reg status-code 553 reason "SIP ;cause=503 ;text=\" Exceed the max reg num\""
Router(config-sbc-sbe-err)# adjacency sip Adj_1
Router(config-sbc-sbe-adj-sip)# error-profile outbound OUT_Err_Profile_1
Router(config-sbc-sbe-enum-entry)# end
Router# show sbc SBC1 sbe sip error-profile