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
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
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.