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.
-
SIP
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.
SIP References:
SIP
Forum
IETF SIP Working Group
An Introduction to SIP
SIP News and Events
IBM: A Sip of SIP (White paper)(pdf)
Understanding SIP (Tutorial by Ubiquity)
(pdf)
Open Source IP Communications (pdf)
All
about SIP
RADVISION: What is SIP
Recent comments