SIP CANCEL Message for Unsuccessful No Answer Call Sent to Wrong IP Port (Doc ID 1534635.1)

Last updated on APRIL 23, 2013

Applies to:

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

Symptoms

An outgoing SIP call (INVITE) is unsuccessful as it is not answered by the B-party. The A-party terminates the call (CANCEL) but the end call message is not received by the B-party as the SIP message is sent to the wrong IP port.  The following example SIP "Unsuccessful No Answer" basic call flow diagrams show the expected and unexpected scenario.

1. Expected call flow                                                         2. Unexpected call flow - CANCEL sent to wrong IP port
            Alice            Proxy             Bob                                         Alice            Proxy             Bob  
              |                |                |                                            |                |                |
              |     INVITE     |                |                                            |     INVITE     |                |
              |--------------->|                |                                            |--------------->|                |
              |                |     INVITE     |                                            |                |     INVITE     |
              |   100 TRYING   |--------------->|                                            |   100 TRYING   |--------------->|
              |<---------------|   180 RINGING  |                                            |<---------------|   180 RINGING  |
              |                |<---------------|                                            |                |<---------------|
              |   180 RINGING  |                |                                            |   180 RINGING  |                |
              |<---------------|                |                                            |<---------------|                |
              |                |                | // no answer                               |                |                | // no answer
   // timeout |     CANCEL     |                |                                 // timeout |     CANCEL     |                |
              |--------------->|                |                                            |--------------->| // wrong IP port  
              |    200 OK      |                |
              |<---------------|                |
              |                |     CANCEL     |
              |                |--------------->|
              |                |    200 OK      |
              |                |<---------------|
              |                |       487      | // Request Terminated
              |                |<---------------|
              |                |       ACK      |
              |                |--------------->|
              |       487      |                |
              |<---------------|                |
              |       ACK      |                |
              |--------------->|                |

Both sequence diagrams show an INVITE message on the outgoing leg with their corresponding 100 trying and 180 ringing message.  At this stage the application sets a timer to cancel the call if the call is not answered in a certain amount of time.  In this example scenario there is no answer, the timer fires and the application issues a CANCEL message for the INVITE (another likely scenario is the A-party gives up waiting and ends call).  In the expected call flow a 487 request terminated response ends the call.  In the unexpected call flow, the CANCEL is sent to a different IP port than the INVITE was sent to and the CANCEL message is lost and not responded to.

The following example output shows how this can been seen in the sip-message.log file:

This is an outgoing INVITE sent to port 5070:

 

Cause

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