A Basic SIP Call Flow

There are many different SIP scenarios and call flows in a VoIP environment. This post describes a very basic SIP call flow case where A is the caller and B is the recipient. Users A and B probably have a SIP proxy server each handling the signaling on behalf of them.

When A wants to initiate a new call, it sends an initial INVITE to B. This INVITE contains various headers with signaling information such as A’s and B’s addresses/phone numbers, SIP path information, etc. The INVITE also carriers a Session Description Protocol (SDP) body with information regarding the media settings that A supports/prefers e.g. codecs and media addresses. When B’s SIP proxy receives the INVITE, it sends back an “100 Trying” SIP response which means that it has accepted the INVITE and it processes it. When B’s phone starts ringing, a “180 Ringing” is sent back to notify A.

When B answers the phone, a “200 OK” SIP message is sent back to A. This message usually contains a SDP body with the media settings that B supports/prefers. The point here is that A and B -via SDP- are negotiating the media parameters that will be used during the call.  Finally A replies with an ACK in order to confirm that the “200 OK” has been received. From that moment, the two parties can start speaking with each other using the negotiated media parameters. When one of the parties releases the call, a BYE message is sent to the other party who in turn sends back a “200 OK” to confirm the call release.

SIP Call Flow

Note that it is possible that other SIP messages contain a SDP body as well, for example the “180 Trying” (taking into consideration the RFCs). Note also that there could be other intermediary SIP devices in the path between A and B, e.g. a SIP proxy or B2BUA.

This example is a very basic scenario of how a successful SIP call can be established and terminated. Later posts will describe more in detail the various SIP call flows as well as signaling and media parameters and messages.

Related articles

Advertisements

About TelcoNotes

IP & VoIP networking

Posted on February 27, 2013, in VoIP and tagged , , , . Bookmark the permalink. 7 Comments.

  1. good information

  2. An attentiongrabbing dialogue is worth comment. I believe that you must write extra on this subject, it won’t be a taboo topic but typically persons are not enough to speak on such topics. To the next. Cheers cdfgbkebgdaf

  3. Brian Burnett

    I’m seeing a “401 Unauthorized” after the first initial SDP invite. From what I read this is normal behavior but I don’t see it on every trace that I run. Do you have any idea why I see this and can you confirm if it is normal behavior? Thanks in advance.

  4. How to deal with the situation when I must send BYE after receiving 200 OK? PJSUA does not deal this this scenario? I see BYE is sent but also pjsua continues with further processing of the 200 OK and ultimately ends up also sending ACK. What I am doing wrong here?

Leave a Comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: