RFC 3326 Support

This section explains the Oracle® Enterprise Session Border Controller’s ability to map Q.850 cause values with SIP responses for 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 Oracle® Enterprise Session Border Controller 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.

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 Oracle® Enterprise Session Border Controller 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 system 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.