Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


SIP Description/Call Flow
SIP, session initiation protocol, is the protocol used to facilitate the transfer of Non-Audio VoIP call data. It is used to initiate and maintain a call from start to end.

Common SIP Methods:

  • ACK - Used as an acknowledgement of receipt and/or acceptance of a SIP message

  • BYE - Used to end a session in progress (i.e. after a 200 OK)

  • CANCEL - Used to cancel a session before it begins (i.e. before a 200 OK)

  • INVITE - Used to initiate a new session

  • RE-INVITE - This is a second invite sent with the same Call-ID. This is done to change aspects of the dialog.


Uncommon SIP Methods:

  • OPTIONS - Used to ask a SIP server what methods are supported

  • MESSAGE - Single message transmission used in instant messaging (RFC3428)

  • UPDATE - Essentially like a re-invite, but it can be sent at any time during the dialog (i.e. both before and after the 200 OK or any other non-provisional response code)

Image Removed  
Typical Call Flow (Successful, no Re-invite)
I - Initiator
R - Recipient

I --------

...

INVITE-------

...

> R

...

I <------

...

100 Trying------

...

R

...

I <---

...

180/183 Ringing-----

...

 

R

I <-------

...

200 OK --------

...

R

...

I -----------

...

ACK--------

...

> R

...

I -----------

...

BYE--------

...

> R (Direction Interchangeable)

...

I <--------

...

200 OK---------

...

R (Direction is opposite the path of the BYE)

...


Notes
-A dialog may have a 180 Ringing, which is a standard ringing response; a 183 ringing, which is typically early media (i.e. ringing in the actual RTP stream or in some cases, an IVR or operator message); or go directly to a 200 OK, which is typically in cases of IVRs.
-The BYE message is initiated by the end that hangs up the call first. If this is done before a 200 OK is sent, this will be a CANCEL instead of a BYE message.
-Error and Redirect Responses (3xx, 4xx, 5xx, 6xx) will typically come before the 180/183 ringing portion of a call.
-Re-invites can be initiated by either side at any time between the initial 200 OK and the BYE closing the dialog.
-Dialogs with re-invites that are rejected will continue until one of the 2 sides end the call. A error code (4xx, 5xx, 6xx level responses) should not end the session outright.

...