Skip Links

What is SIP?

An InteropNet Labs white paper.

By nobody, Network World
May 11, 2004 10:19 AM ET

Network World -

SIP is the Session Initiation Protocol.  In IP and traditional telephony, network engineers have always made a clear distinction between two different phases of a voice call.  The first phase is "call setup," and includes all of the details needed to get two telephones talking.  Once the call has been setup, the phones enter a "data transfer" phase of the call using an entirely different family of protocols to actually move the voice packets between the two phones.  In the world of VoIP, SIP is a call setup protocol that operates at the application layer.  You may have also heard of H.323, an ITU protocol with similar function.

SIP is a very flexible protocol that has great depth.  It was designed to be a general-purpose way to set up real-time multimedia sessions between groups of participants.   For example, in addition to simple telephone calls, SIP can also be used to set up video and audio multicast meetings, or instant messaging conferences.  In this document, we'll focus on SIP's capabilities for VoIP, and how it sets up calls that then use RTP (the Real-time Transport Protocol) to actually send the voice data between phones.

SIP also has great breadth as it does more than just handle call setup.  The table below shows the five major functions within SIP from a VoIP point of view.

Function

Description

User location and registration

End points (telephones) notify SIP proxies of their location; SIP determines which end points will participate in a call.

User availability

SIP is used by end points to determine whether they will “answer” a call.

User capabilities

SIP is used by end points to negotiate media capabilities, such as agreeing on a mutually supported voice codec.

Session setup

SIP tells the end point that its phone should be “ringing;” SIP is used to agree on session attributes used by the calling and called party.

Session management

SIP is used to transfer calls, terminate calls, and change call parameters in mid-session (such as adding a 3-way conference).

Click to see:

 

One of the wonderful things about SIP is that it is a text-based protocol modeled on the request/response model used in HTTP.  This makes it easy to debug because the messages are easy to construct (if you're a developer) and easy to see (if you're a network manager).  Contrasted with H.323, SIP is an exceedingly simple protocol.  Nevertheless, it has enough powerful features to model the behavior of a very complex traditional telephone PBX. 

SIP can run over IPv4 and IPv6 and it can use either TCP or UDP.  The most common implementations, though, use IPv4 and UDP.  This minimizes overhead, thereby speeding performance.

Although two SIP devices can talk directly to each other, they generally will use an intermediary system that acts as a SIP proxy.  Note the SIP proxy only participates in the SIP messages---once the call is set up, the phones send their voice traffic directly to each other without involving the proxy.  SIP proxies are very helpful in offloading tasks and simplifying implementation of end station telephones.  As an example, a SIP phone might want to make a call to another phone at extension 4094.  Although the phone could have some magical way of translating that 4094 into an IP address or location, it typically will simply send its call request to its own SIP proxy.  The job of the SIP proxy is to know what "4094" really means: Is that a phone?  An auto-attendant system?  Perhaps several phones, all to be rung at once? 

Our Commenting Policies
Latest News
rssRss Feed
View more Latest News