Versions Compared

Key

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

Image Removed  







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.