After Receiving An Out of Order Sequence (CSeq) Request Can SIP Server Add a "Retry-After" Header in Its 500 (Server Internal Error) Response (Doc ID 1580419.1)

Last updated on SEPTEMBER 12, 2016

Applies to:

Oracle Communications Converged Application Server - Version 2.1.0 and later
Information in this document applies to any platform.

Goal

When the SIP Container receives an out of order sequence request (CSeq number is too low) then it MUST respond with a 500 (Server Internal Error).  A typical out of order call flow scenario may occur when a UA (User Agent) sends two messages at nearly the same time (less than 1 millisecond apart).  If the second message (higher CSeq number) reaches, or is processed, by the other UA first, for whatever reason, then the first message (lower CSeq number) must be rejected and the SIP session ended.

Sent:

   ----> MESSAGE (CSeq=10)
   <---- 200 OK  (CSeq=10)
   ----> MESSAGE (CSeq=11)
   ----> MESSAGE (CSeq=12)

Received (out of order):

   ----> MESSAGE (CSeq=10)
   <---- 200 OK  (CSeq=10)
   ----> MESSAGE (CSeq=12)
   ----> MESSAGE (CSeq=11)
   <---- 500 (Internal Server Error)

In these type of cases, is it possible to configure SIP Container to add a Retry-After Header in its 500 error response so the UA may re-initiate the session?

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms