The Session Initiation Protocol (SIP) Primer
In the wide world of Voice over IP (VoIP) technologies there are a number of call signaling protocol options available. One popular option is the Session Initiation Protocol (SIP). Its popularity is due in large part because SIP was designed with the Internet in mind, and it uses a relatively simple ASCII encoded language similar to the Hypertext Transfer Protocol (HTTP) used for websites. It also uses an identifying format that many may find familiar, including a SIP Uniform Resource Identifier (URI) that looks similar to an e-mail address in formatting (e.g., sip:[email protected]). Here we’ll give you a brief overview of the purpose of SIP and its network elements.
It’s important to recognize that SIP itself is not a protocol that transports anything but is used solely to set up multimedia sessions. It can also be used in conjunction with other protocols to support voice and video and other functionalities.
So, what is involved in the establishing and termination of a session? We can break it down into five steps.
- First, you must be able to locate the destination end system.
- Once an end system has been located, it must then be determined whether the end system is available for a new session.
- If it is available, you then need to determine what types of media and media parameters are supported by the end system
- The session setup will then commence, which includes a negotiation for a common set of session parameters. If this is indeed possible, then the “ringing” part of the session can commence.
- The last part of the session involves the alteration of session parameters and the transfer and/or termination of the session.
SIP Network Elements
There are a number of defined network elements that exist within SIP. Let’s take a stroll through some of these elements.
A SIP User Agent refers to an end system and can be split into two roles: User Agent Client (UAC) and User Agent Server (UAS). The UAC is responsible for generating a SIP request (e.g., a user pressing a button on a phone). The UAS is responsible for receiving the request and responding to it.
A SIP proxy server is used to route requests to the UAC’s current location. It also may be used to authorize users for services, administer provider call-routing policies, and provide features to potential users.
Redirection servers are used to take some of the load off of a proxy server by redirecting a UAC to another SIP URI.
Registration Server (Registrar)
To locate the different UACs on a network, both proxy and redirection servers query a SIP registrar, which contains the current location mappings for the active SIP clients on the network. The information that is contained with the registrar is kept current by the UAC when it comes online or when it moves.
SIP is an interesting protocol that has become popular because of its use of many familiar formatting styles and protocols. While it is very flexible, keep in mind that it is only one of the available call signaling options available on most vendor’s equipment. It’s wise to consider all of the options before selecting a specific protocol.