Session Initiation Protocol (SIP) is a protocol developed by IETF to assist in providing advanced telephony services across the Internet. Basically is a signalling protocol used for establishing sessions in an IP network. A session could be a simple two-way telephone call or it could be a collaborative multi-media conference session. The ability to establish these sessions means that a host of innovative services become possible, such as voice-enriched e-commerce, web page click-to-dial, Instant Messaging with buddy lists, and IP Centrex services.
SIP is modeled upon other Internet protocols such as SMTP (Simple Mail Transfer Protocol) and HTTP (Hypertext Transfer Protocol.) It is used to establish, change and tear down (end) calls between one or more users in an IP-based network. In order to provide telephony services there is a need for a number of different standards and protocols to come together - specifically to ensure transport (RTP), signaling inter-working with today’s telephony network, to be able to guarantee voice quality (RSVP, YESSIR), to be able to provide directories (LDAP), to authenticate users (RADIUS, DIAMETER), and to scale to meet the anticipated growth curves.
SIP can be regarded as the enabler protocol for telephony and voice over IP (VoIP) services. The following features of SIP play a major role in the enablement of IP telephony and VoIP:
Name Translation and User Location - Ensuring that the call reaches the called party wherever they are located. Carrying out any mapping of descriptive information to location information. Ensuring that details of the nature of the call (Session) are supported.
Feature Negotiation - This allows the group involved in a call (this may be a multi-party call) to agree on the features supported – recognizing that not all the parties can support the same level of features. For example video may or may not be supported; as any form of MIME type is supported by SIP, there is plenty of scope for negotiation. Call Participant Management - During a call a participant can bring other users onto the call or cancel connections to other users. In addition, users could be transferred or placed on hold.
Call feature changes - A user should be able to change the call characteristics during the course of the call. For example, a call may have been set up as ‘voice-only’, but in the course of the call, the users may need to enable a video function. A third party joining a call may require different features to be enabled in order to participate in the call
Media negotiation – The inherent SIP mechanisms that enable negotiation of the media used in a call, enable selection of the appropriate codex for establishing a call between the various devices. This way, less advanced devices can participate in the call, provided the appropriate codex is selected.
Below is are some of other SIP features that distinguish it among new signaling protocols
SIP messages are text based and hence are easy to read and debug. Programming new services is easier and more intuitive for designers.
SIP re-uses MIME type description in the same way that email clients do, so applications associated with sessions can be launched automatically.
SIP re-uses several existing and mature internet services and protocols such as DNS, RTP, RSVP etc. No new services have to be introduced to support the SIP infrastructure, as much of it is already in place or available off the shelf.
SIP extensions are easily defined, enabling service providers to add them for new applications without damaging their networks. Older SIP-based equipment in the network will not impede newer SIP-based services. For example, an older SIP implementation that does not support method/ header utilized by a newer SIP application would simply ignore it.• SIP is transport layer independent. Therefore, the underlying transport could be IP over ATM. SIP uses the User Datagram Protocol, (UDP) as well as the Transmission Control Protocol (TCP) protocol, flexibly connecting users independent of the underlying infrastructure.
SIP supports multi-device feature levelling and negotiation. If a service or session initiates video and voice, voice can still be transmitted to non-video enabled devices, or other device features can be used such as one way video streaming.
SIP sessions utilize up to
four major components: SIP User Agents, SIP Registrar Servers, SIP
Proxy Servers and SIP Redirect Servers. Together, these systems deliver
messages embedded with the SDP protocol defining their content
and characteristics to complete a SIP session.
Below is a high-level description of each SIP component and the role it plays in this process.
SIP User Agents (UAs) are the end-user devices, such as cell phones, multimedia handsets, PCs, PDAs, etc. used to create and manage a SIP session. The User Agent Client initiates the message. The User Agent Server responds to it.
SIP Registrar Servers are databases that contain the location of all User Agents within a domain. In SIP messaging, these servers retrieve and send participants’ IP addresses and other pertinent information to the SIP Proxy Server.
SIP Proxy Servers accept session requests made by a SIP UA and query the SIP Registrar Server to obtain the recipient UA’s addressing information. It then forwards the session invitation directly to the recipient UA if it is located in the same domain or to a Proxy Server if the UA resides in another domain.
Redirect Servers allow SIP Proxy Servers to direct SIP
session invitations to external domains. SIP Redirect
Servers may reside in the same hardware as SIP Registrar Severs and SIP Proxy Servers.