UAC-Side PRACK Interworking

The Oracle® Enterprise Session Border Controller applies PRACK interworking on the UAC side when:

  • A SIP INVITE does not contain a 100rel tag in a Require or Supported header
  • The ingress SIP interface is enabled with the 100rel-interworking option
  • The UAS fails to send reliable provisional responses

When it is to forward a non-reliable response to a UAC that requires RFC 3262 support, the Oracle® Enterprise Session Border Controller converts the non-reliable response to a reliable one by adding the 100rel tag to the Require header and adding an Rseq header to the response. Further, the Oracle® Enterprise Session Border Controller adds a Require header (complete with the100rel tag) if there is not one already in the response, and then also adds Rseq header.

Note that the Oracle® Enterprise Session Border Controller sets the value of the Rseq header as 1 for the first provisional response, and then increments it by 1 for each subsequent provisional response. It also adds the PRACK method to the Allow header when that header appears.

The Oracle® Enterprise Session Border Controller retransmits the converted reliable provisional response in accordance with RFC 3262, until it receives a PRACK request. For the initial timeout for retransmission, the Oracle® Enterprise Session Border Controller uses the value you set in the init-timer parameter in the global SIP configuration. It stops retransmitting when either it receives a transmission, or when the ingress SIP interface’s trans-expire timer elapses.

If it never receives a PRACK, the Oracle® Enterprise Session Border Controller does not generate an error response to the INVITE, relying instead on the downstream UAS to produce a final response.

The call flow for this application looks like this: