Session Initiation Protocol(SIP)
What is SIP? 
An application-layer protocolA control (signaling) protocol
SIP runs on top of severaldifferent transport protocols.
SIP is used for:
creating,
modifying, and
terminating
 
sessions with one or moreparticipants.
These sessions include:
Internet telephone calls,
multimedia distribution, and
multimedia conferences.
SIP works independently ofunderlying transport protocols.
SIP does not depend on thetype of session that is beingestablished.
SIP invitations are used tocreate sessions.
These SIP invitations carrysession descriptions thatallow participants to agree on aset of compatible media types.
What is a session?
"An exchange of databetween an association ofparticipants."
Sessions can be hard toestablish!
Users may move between endpoints.
They may be addressable by multiplenames.
They may communicate in severaldifferent media - sometimessimultaneously.
Session Initiation Protocol(SIP) enables Internetendpoints (called user agents)to discover one another and toagree on a characterization ofa session they would like toshare.
SIP can be used with otherIETF protocols to build acomplete multimediaarchitecture.
These other protocols include:
RTP
RTSP
MGCP/MEGACO
SDP
Real-time Transport Protocol (RTP)RFC 1889, used for
Transporting real-time data and
Providing QoS feedback
Real-Time Streaming Protocol (RTSP)RFC 2326, used for:
Controlling delivery ofstreaming media.
Media Gateway Control Protocol (MGCP)Also known as MEGACORFC 3525, used for:
Controlling gateways to the PublicSwitched Telephone Network (PSTN)
Session Description Protocol (SDP)RFC 2327, used for:
Describing multimedia sessions.
SIP is used in conjunction withthese other protocols in orderto provide complete services tothe users. However, the basicfunctionality and operation ofSIP does not depend on any ofthese protocols.
Other features
SIP can also invite participants toalready existing sessions, suchas multicast conferences.
Other features, (cont.)
Media can be added to (andremoved from) an existingsession.
Other features, (cont.)
SIP transparently supports name mappingand redirection services, which supportspersonal mobility - users can maintain asingle externally visible identifierregardless of their network location.
SIP supports five facets of establishingand terminating multimediacommunications:
1)User location
2)User availability
3)User capabilities
4)Session setup
5)Session management
(1) User location:
Determination of the end system to beused for communication.
(2) User availability:
Determination of the willingness of thecalled party to engage incommunications.
(3) User capabilities:
Determination of the media and mediaparameters to be used.
(4) Session setup:
"Ringing", establishment of sessionparameters at both called and callingparty.
(5) Session management:
Including transfer and termination ofsessions, modifying sessionparameters, and invoking services.
SIP works with both IPv4 andIPv6.
SIP cannot, and does not,provide any kind of networkresource reservationcapabilities.
SIP makes use of elementscalled proxy servers.
What does a proxy server do?
SIP Proxy servers
help route requests to the user's currentlocation,
authenticate and authorize users forservices,
implement provider call-routing policies,and
provide features to users.
SIP identity
A SIP identity is a type ofUniform Resource Identifier(URI).Example:sip:bob@biloxi.com
SIP also provides a secureURI (SIPS URI). Example:sips:bob@biloxi.com
When using SIPS, all SIPmessages are encrypted andsent via Transport LayerSecurity (TLS).
RegistrationSIP provides a registrationfunction that allows users toupload their current locationsfor use by proxy servers.
Registration(cont.)
The user registers with the registrarserver.
The registrar is often co-located with theproxy server.
It is an important concept that thedistinction between types of SIP serversis logical, not physical.
Registration, (cont.)
Upon initialization, and atperiodic intervals, the SIPphone sends REGISTERmessages to the SIP registrar.
Registration, (cont.)
The REGISTER messagesassociate the SIP or SIPS URI(sip:bob@biloxi.com) with themachine into which the user iscurrently logged.
Registration, (cont.)
The registrar writes thisassociation, also called abinding, to a database, calledthe location service, where itcan be used by the proxy.
Registration, (cont.)
The user is not limited toregistering from a single device.
Registration, (cont.)
Similarly, more than one user canbe registered on a single deviceat the same time.
Let's look at the call process...
The INVITE (message F1 in Figure 1) might look like this: INVITE sip:bob@biloxi.com SIP/2.0Via: SIP/2.0/UDPpc33.atlanta.com;branch=z9hG4bK776asdhdsMax-Forwards: 70To: Bob <sip:bob@biloxi.com>From: Alice <sip:alice@atlanta.com>;tag=1928301774Call-ID: a84b4c76e66710@pc33.atlanta.comCSeq: 314159 INVITEContact: <sip:alice@pc33.atlanta.com>Content-Type: application/sdpContent-Length: 142 (Alice's SDP not shown)
The 200 (OK) (message F9 in Figure 1) might look like this as Bob sends it out: SIP/2.0 200 OKVia: SIP/2.0/UDP server10.biloxi.com;branch=z9hG4bKnashds8;received=192.0.2.3Via: SIP/2.0/UDP bigbox3.site3.atlanta.com;branch=z9hG4bK77ef4c2312983.1;received=192.0.2.2Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds ;received=192.0.2.1To: Bob <sip:bob@biloxi.com>;tag=a6c85cfFrom: Alice <sip:alice@atlanta.com>;tag=1928301774Call-ID: a84b4c76e66710@pc33.atlanta.comCSeq: 314159 INVITEContact: <sip:bob@192.0.2.4>Content-Type: application/sdpContent-Length: 131 (Bob's SDP not shown)
Okay, let's review the SIPnetwork elements...
Session Initiation Protocol
The protocol works on a client-server model consisting of useragents, proxy server, registrars,location server and redirectserver as network elements.
User Agent
User agent functions as theinitiator of a SIP request (useragent client) or returns theresponses (user agent server)on behalf of the end user.
Registrar
Registrars, typically co-locatedwith proxy or redirect server,accept the registration requestsfrom the users.
Registrars
C:\My Documents\Bob\Training\VoIP\sip.gif
Proxy Server
Proxy server is an intermediate entityreceiving requests from the client (actingas a Server) and forwards or re-initiatesthe request (acting as a Client) to theother servers. A proxy server can eitherbe stateful or stateless. When stateful, itremembers the incoming requests andthe associated outgoing requests andco-ordinates the responses accordingly.
SIP Proxy Servers
C:\My Documents\Bob\Training\VoIP\sippx_da.jpg
Redirect Server
Redirect server returns thedestination addresses to thereceiving client to route themdirectly.
Location Server
Location server is used by the SIPredirect or proxy server to obtaininformation about the called party'spossible locations. This may come fromthe SIP server or other protocols (non-SIP) when externally located.
The End
Source: RFC 3261
This presentation was prepared by Bob Young