SIP Statuses to Q.850 Reasons (2024)

This section explains the Oracle® Enterprise Session Border Controller’s ability to map Q.850 cause values with SIP responses, a feature used in SIP calls and calls that require IWF.

RFC 3326 defines a header that might be included in any in-dialogue request. This reason header includes cause values that are defined as either a SIP response code or ITU-T Q.850 cause values. You can configure the Oracle® Enterprise Session Border Controller to support sending and receiving RFC 3326 in SIP messages for:

  • Mapping H.323 Q.850 cause values to SIP responses with reason header and cause value
  • Mapping SIP response messages and RFC 3326 reason header and cause
  • Locally generated SIP response with RFC 3326 reason header and cause

As specified in RFC 3326, the Oracle® Enterprise Session Border Controller sends SIP responses to the softswitch that contain the received Q.850 cause code and the reason.

Though the Oracle® Enterprise Session Border Controller can generate RFC 3326 headers, the default behavior for this feature is disabled. Furthermore, the Oracle® Enterprise Session Border Controller can receive and pass SIP error messages (4xx, 5xx, and 6xx) that contain the SIP reason header with a Q.850 cause code and reason (as specified in RFC 3326). If the system receives an error message without the Reason header, then the Oracle® Enterprise Session Border Controller is not required to insert one.

In calls that require IWF, the Q.850 cause generated in the SIP response are the same as the cause received in the following H.225 messages: Disconnect, Progress, Release, Release Complete, Resume Reject, Status, and Suspend Reject. In addition, the Q.850 cause codes that the Oracle® Enterprise Session Border Controller receives in RFC 3326 headers are passed to the H.323 part of the call unmodified; the H.323 call leg uses this cause code for releasing the call.

SIP-SIP Calls

The SIP Reason header might appear in any request within a dialog, in a CANCEL request, and in any response where the status code explicitly allows the presence of this header field. The syntax of the header follows the standard SIP parameter:

Reason: SIP;cause=200;text=”completed elsewhere”Reason: Q.850;cause=16;text=”Terminated”

This feature attends to the following possible SIP call scenarios:

  • When the Oracle® Enterprise Session Border Controller receives a SIP request or SIP response that contains the Reason header, the Oracle® Enterprise Session Border Controller passes it without modification.
  • When it generates a SIP response, the Oracle® Enterprise Session Border Controller includes the RFC 3326 Reason header containing a Q.850 cause code and reason. This is the case for all local conditions and for all internally generated error responses (4xx, 5xx, and 6xx) to an initial SIP INVITE.

    Possible local error scenarios are:

    • invalid-message
    • cpu-overloaded
    • media-released
    • media-not-allocated

Configure Reason and Cause Mapping for SIP-SIP Calls

To configure reason-cause mapping for SIP-SIP calls, you must set up the ACLI local-response-map configuration with appropriate entries to generate the SIP response and the Q.850 cause code value used for particular error scenarios. If you want to add a Reason header, you must enable that capability in the global SIP configuration.

In the following procedure use the method parameter and the register-response-expires parameter to enable a SIP registration response mapping feature that allows you to configure the system to remap a SIP failure response to a 200 OK. The failure response can come from another network device or the system can generate the response locally. You might want the system to perform such mapping when a non-malicious endpoint continually attempts registration, but stops when the system sends a 200 OK. The failure response mapping does not register the client with the system, which leaves neither a registration cache entry nor a CAM ACL for the entry.

For the 200 OK it generates, the system removes any Reason or Retry-After header in the 200 OK and sets the expires time. By default, the expires time is the Retry-After time (if there is one in the response) or the expires value in the Register request (if there is no Retry-After expires time). You can also set this value using the register-response-expires parameter, but the value you set should never exceed the Register request’s expires time.

  1. Access the entries configuration element.
    ORACLE# configure terminalORACLE(configure)# session-routerORACLE(session-router)# local-response-mapORACLE(local-response-map)# local-response-map-entriesORACLE(local-response-map-entries)#
  2. (Optional) Type ? to see the entire menu for the local response map entries configuration.
  3. local-error—Set the local error that triggers the use of this local response map. No default.

    Note:

    The Enterpriseand Service Provider systems both display the full list, but some items do notapply to both systems. Such items are noted.

  4. Type local-error? to see the entire list of local errors that you can configure.
  5. sip-status—Set the SIP response code to use. No default value. Range: 100-699.
  6. sip-reason—Set the SIP reason string you want to use for this mapping. No default value. If the value contains spaces between the characters, you must surround the entry with quotation marks.
  7. q850-cause—Set the Q.850 cause. No default value.
  8. q850-reason—Set the Q.850 reason string that you want to use for this mapping. No default value. If your value has spaces between characters, then your entry must be surrounded by quotation marks.
  9. method—Enter the name of the received SIP failure response message you want to map to a 200 OK.

    No default. Leave the parameter empty to turn off the SIP registration response mapping feature.

  10. register-response-expires—Enter the time you want to use for the expires time you identified in the method parameter.

    The maximum is 999999999. By default, the expires time is the Retry-After time (if there is one in the response) or the expires value in the Register request (if there is no Retry-After expires time). Any value you configure in this parameter (when not using the defaults) should never exceed the Register request’s expires time.

  11. (Optional) Repeat this process to create the number of local response map entries that you need.
  12. Save and activate the configuration for changes to take effect.

Calls Requiring IWF

For interworking calls between SIP and H.323, you can configure:

  • Mappings for SIP status codes to Q.850 values
  • Mappings for particular Q.850 cause codes to SIP status codes

If it cannot find the appropriate mapping, then the Oracle® Enterprise Session Border Controller uses default mappings defined in the Default Mappings table below.

The following describes how the Oracle® Enterprise Session Border Controller handles different IWF call scenarios:

  • SIP request containing a Reason header—When it receives a request containing a Reason header, the Oracle® Enterprise Session Border Controller determines if the request is a SIP BYE or SIP CANCEL message. RFC 3326 states that the Reason header is mainly used for these types of requests. If there is a Reason header and it contains the Q.850 cause value, then the Oracle® Enterprise Session Border Controller releases the call on the H.323 side using the specified cause value.
  • SIP response—When it receives the error response to an initial SIP INVITE, the Oracle® Enterprise Session Border Controller uses its SIP-Q.850 map to determine the Q.850 that it will use to release the call. If there is not a map entry, then the Oracle® Enterprise Session Border Controller uses the default mappings shown in the Default Mappings table.
  • Active call released from the H.323 side—If an active call is released from the H.323 side, the Oracle® Enterprise Session Border Controller checks the outgoing realm (the SIP side) to see if the addition of the Reason header is enabled. If it is, then the Oracle® Enterprise Session Border Controller adds the Reason header in the SIP BYE request with the Q.850 value it received from the H.323 side.
  • Error during setup of the call on the H.323 side—In the event of an error during setup on the H.323 side of the call, the system needs to send:
    • An error response, if this is a SIP to H.323 call
    • A SIP CANCEL, if this is a H.323 to SIP call and the H.323 side hangs up before the call is answered on the SIP side

      In this case, the Oracle® Enterprise Session Border Controller checks to see if adding the Reason header is enabled in the IWF configuration. If it is, then the Oracle® Enterprise Session Border Controller adds the Reason header with the Q.850 cause value it received from the H.323 side.

  • Call released due to a Oracle® Enterprise Session Border Controller error—If the call is released due a Oracle® Enterprise Session Border Controller error and adding the Reason header is enabled in the IWF configuration, the error response to the initial INVITE contains the Reason header. The Oracle® Enterprise Session Border Controller checks the SIP to Q.850 map configurations to determine whether or not the SIP error response code it is generating is configured. If it is, then the Oracle® Enterprise Session Border Controller maps according to the configuration. If if it not, the Oracle® Enterprise Session Border Controller derives cause mapping from the default table.

Like the configuration for SIP-only calls that enable this feature, you can set a parameter in the IWF configuration that enables adding the Reason header in the SIP requests or responses.

Default Mappings

This table defines the default mappings the Oracle® Enterprise Session Border Controller uses when it cannot locate an appropriate entry thatyou have configured.

Q.850 Cause Value NumberQ.850 Cause Value NumberSIP Status NumberSIP Status TextComments
1 Unallocated number 404 Not found N/A
2 No route to specified transit network 404 Not found N/A
3 No route destination 404 Not found N/A
16 Normal calling clearing N/ABYE message A call clearing BYE message containing cause value 16 normally results in the sending of a SIP BYE or CANCEL request. However, if a SIP response is to be sent to the INVITE request, the default response code should be used.
17 User busy 486 Busy here N/A
18 No user responding 408 Request timeout N/A
19 No answer from the user 480 Temporarily unavailable N/A
20 Subscriber absent 480 Temporarily unavailable N/A
21 Call rejected 603 Decline (if location filed in Cause information element indicates user; otherwise 403 Forbidden is used) N/A
22 Number changed 301 Moved permanently (if information in diagnostic field of Cause information element is suitable for generating SIP Contact header; otherwise 410 Gone is used) N/A
23 Redirection to new destination 410 Gone N/A
25 Exchange routing error 483 Too many hops N/A
27 Destination out of order 502 Bad gateway N/A
28 Address incomplete 484 Address incomplete N/A
29 Facility rejected 501 Not implemented N/A
31 Normal, unspecified 480 Temporarily unavailable N/A
34 No circuit, channel unavailable 503 Service unavailable N/A
38 Network out of order 503 Service unavailable N/A
41 Temporary failure 503 Service unavailable N/A
42 Switching equipment congestion 503 Service unavailable N/A
47 Resource unavailable unspecified 503 Service unavailable N/A
55 Incoming calls barred with CUG 403 Forbidden N/A
57 Bearer capability not authorized 403 Forbidden N/A
58 Bearer capability not presently available 503 Service unavailable N/A
65 Bearer capability not implemented 488 Not acceptable here N/A
69 Requested facility not implemented 501 Not implemented N/A
70 Only restricted digital information available 488 Not acceptable here N/A
79 Service or option not implemented, unspecified 501 Not implemented N/A
87 User not member of CUG 403 Forbidden N/A
88 Incompatible destination 503 Service unavailable N/A
102 Recovery on timer expiry 504 Server time-out N/A
SIP Statuses to Q.850 Reasons (2024)
Top Articles
Latest Posts
Article information

Author: Dean Jakubowski Ret

Last Updated:

Views: 5939

Rating: 5 / 5 (70 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Dean Jakubowski Ret

Birthday: 1996-05-10

Address: Apt. 425 4346 Santiago Islands, Shariside, AK 38830-1874

Phone: +96313309894162

Job: Legacy Sales Designer

Hobby: Baseball, Wood carving, Candle making, Jigsaw puzzles, Lacemaking, Parkour, Drawing

Introduction: My name is Dean Jakubowski Ret, I am a enthusiastic, friendly, homely, handsome, zealous, brainy, elegant person who loves writing and wants to share my knowledge and understanding with you.