Sie sind auf Seite 1von 95

e

Kn
enc

ow
llig

le d
In te

ge
Information

SIP – Session Initiation


Protocol

Ramakrishnan

1
e

Kn
enc

ow
llig

le d
In te

ge
Contents Information

• Introduction • SIP: Protocol Operation


– Circuit switched Telephone – Client/Server Transactions
Networks – Types of Proxy Servers
– Packet switched data networks – Format of SIP Messages
– Evolution of VoIP – Transport Layer
– SIP & VoIP – Detailed Example
– SIP History • Extending SIP
• SIP Basics – Event Framework
– Functionality Provided by SIP – Real life examples
– Session Establishment, – Exercises
Modification, and Termination
– User Mobility
– SIP Entities
– User Agents
– Redirect Servers
– Proxy Servers
– Registrars

Ramakrishnan

2
e

Kn
enc

ow
llig

le d
In te

ge
Information

Introduction

Ramakrishnan

3
e

Kn
enc

ow
llig

le d
In te

ge
Objectives Information

• Discuss the differences between Circuit


switched Telephone Networks & Packet
switched data networks
• Evolution of VoIP
• Relationship between SIP & VoIP

Ramakrishnan

4
e

Kn
enc

ow
llig

le d
In te

ge
Telephone networks Information

• In existence for long time


• Presumably the largest network across the world
• Connects most of the population
• It is an identity proof in US
• Quality of Service is taken for granted –
indicated the maturity of the network
• Emergency services
• Being replaced by Mobile services & internet

Ramakrishnan

Emergency services
Phone is powered from the Central office
Needs connectivity to every home – Exapandability, Cabling Cost

5
e

Kn
enc

ow
llig

le d
In te

ge
Telephone network evolution Information

• Switching time is very less


• Delays are minimal & constant
• Inefficient use of resources
• Central Battery system

Ramakrishnan

6
e

Kn
enc

ow
llig

le d
In te

ge
Path establishment delay Information

Terminal Terminal

Path establishment request

Delay
Path established

Transmission of user data

Ramakrishnan

7
e

Kn
enc

ow
llig

le d
In te

ge
User plane & Signalling plane Information

• Signalling & User Signalling plane

plane
• Analog User plane (voice)

– From user terminal to


switch
– 300 Hz to 3400 Hz
• Digital
– Trunks
– G.711 codec, PCM 01101110001010

– 64 kbps

Ramakrishnan

8
e

Kn
enc

ow
llig

le d
In te

ge
Trunks Information

• Channel Associated Signalling


• Common Channel Signalling – SS7
• More reliable Signalling network
• Allows creation of Service Creation
– Intelligent Network (IN)
• Multiplexing
– FDM – Frequency Division Multiplexing
– TDM – Time Division Multiplexing
Ramakrishnan

9
e

Kn
enc

ow
llig

le d
In te

ge
Advanced Services Information

• User calls a Toll Free number


• The toll free number gets translated to a normal
number by the signalling network
Ramakrishnan

10
e

Kn
enc

ow
llig

le d
In te

ge
Packet switching Information

• Data traffic
– Bursty & non-uniform
• Datagrams
• Virtual circuits
• Routing
• Buffering
• Efficient use of
resources
• Data rate not assured
• Unicast, Broadcast &
Multicast
Ramakrishnan

11
e

Kn
enc

ow
llig

le d
In te

ge
Voice & IP Information

• Needs assured bandwidth


• Packets have to arrive in order
• The delay should be minimized
• None of these are guaranteed in IP

01101110001010

Ramakrishnan

12
e

Kn
enc

ow
llig

le d
In te

ge
Quality of Service Information

• Integrated Services
– RFC 1633
– IP & port number
– 3 grades of service
• Differentiated Services
– RFC 2475
– Tagged service levels
– Scales better than InServ
• RSVP
– Admission control
protocol

Ramakrishnan

13
e

Kn
enc

ow
llig

le d
In te

ge
RSVP Message flow Information

Sender Router1 Router2 Receiver

PATH: PATH:
Sender Sender PATH:
Router1 Sender
Router1
Router2 The information received in
the PATH message is used to
route the RESV message
RESV: towards the sender
Sender
RESV: Router1
Sender Router2
RESV: Router1
Sender

Voice Packets
Voice Packets
Voice Packets

Ramakrishnan

14
e

Kn
enc

ow
llig

le d
In te

ge
Session Announcement Protocol Information

Evening news
Today, 8-9 pm
192.168.1.33

Session Description SAP distributes the


Elaborated by the sender Session Description

Ramakrishnan

15
e

Kn
enc

ow
llig

le d
In te

ge
Session Description Protocol Information

• Describes the session


• Text based
– <Type> = <value>
• Session level section
– Always starts of with v=0
– End when the media section starts
• Media level section
– Starts with m=<value>
– m=<media type> <port number> <transport
protocol> <media formats>
– Terminated by next media section or <eof>

Ramakrishnan

Extending SDP The media attribute lines, the a lines, provide a means
to extend SDP. When an application needs a feature missing in SDP, it can
add an a line containing it. For example, if the creator of a multicast session
wanted the receivers to play the audio at a certain volume, he or she
could define a new media attribute and add it at the end of the media-level
section.
m=audio 49170 RTP/AVP 0
a=volume:8
Applications that understand this new a line will play the audio at volume
8. When an application finds an a line that it doesn’t understand, it
simply ignores the line and proceeds as if no line had been encountered.The
application that failed to understand our new avolume line could still
receive media properly, although it would not be able to play back at the
proper volume.

16
e

Kn
enc

ow
llig

le d
In te

ge
SDP example Information

v=0
o = Ashok 2890844526 2890842807 IN IP4
192.168.1.112
s = SIP seminar
i = A Seminar on the Session Initiation
Protocol
u = http://www.cs.columbia.edu/sip
e = Ashok@university.edu
c = IN IP4 224.2.17.12/127
Ramakrishnan

t = 2873397496 2873404696
v Protocol version
b Bandwidth information
o Owner of the session and session identifier
z Time zone adjustments
s Name of the session
k Encryption key
I Information about the session
a Attribute lines
u URL containing a description of the session
t Time when the session is active
e E-mail address to obtain information about the session
r Times when the session will be repeated
p Phone number to obtain information about the session
m Media line
c Connection information
I Information about a media line

17
e

Kn
enc

ow
llig

le d
In te

ge
SDP parameters Information

• v Protocol version
• b Bandwidth information
• o Owner of the session and session identifier
• z Time zone adjustments
• s Name of the session
• k Encryption key
• i Information about the session
• a Attribute lines
• u URL containing a description of the session
• t Time when the session is active
• e E-mail address to obtain information about the session
• r Times when the session will be repeated
• p Phone number to obtain information about the session
• m Media line
• c Connection information
• I Information about a media line

Ramakrishnan

18
e

Kn
enc

ow
llig

le d
In te

ge
Mobile networks Information

• 1st Generation
• 2nd Generation – 2G
– Still Circuit switched
– Usage of radio resources is inefficient
– Supports data transmission for name sake
• 3rd Generation – 3G
– Efficient utilization of Radio resources
– Completely packet switched
Ramakrishnan

19
e

Kn
enc

ow
llig

le d
Internet Multimedia conferencing

In te

ge
Information

Architecture
Conference Management Media Agents

Audio and Shared


Conference Course Control
Video Applications
Conference Setup and discovery

Distributed RTP and Reliable


RSVP
Control RTCP multicast
SAP SIP HTTP SMTP RTSP

UDP TCP UDP UDP

IP and IP multicast

Integrated and Differentiated Services Forwarding

Ramakrishnan

RTCP - In a videoconference, the timestamps of the video stream ensure that the video is not played faster or slower than
the original, while the audio timestamps do precisely the same with the audio stream. However, a mechanism is needed to
synchronize streams, and that’s where the Real-time Transport Control Protocol (RTCP) [RFC 1889] comes in. Its function is
to associate timestamps and a real-time clock. Every RTP session has a parallel RTCP session. Besides media
synchronization, RTCP provides information about the members of the session and the quality of the communication. RTCP
reports how many packets the network dropped during the session so the sender knows what quality of reception the
receiver is experiencing.

ReSerVation Protocol (RSVP) ReSerVation Protocol (RSVP) [RFC 2205] is the protocol used for resource reservation in the
network. RSVP installs the necessary state in the routers and refreshes it periodically. Reservations for a particular flow are
initiated by its receiver; the messages that store state from the receiver to the sender are called RESV messages.

Diffserv - We have seen that RSVP and the integrated services architecture provide different treatment for different flows in
the routers. Routers filter packets based on the information received in RSVP messages. For instance, as long as flows are
defined by the destination address and destination port number of the packets, routers have to examine the destination
address and port number of every datagram and map it to state information. The differentiated services (DiffServ)
architecture [RFC 2475] simplifies the task by defining several traffic classes with different priority levels. Packets are tagged
at the edge of the network with the required priority level. Routers in the network take their cue from these tags; each tag is
associated with a particular way of handling packets (referred to as Per-Hop Behavior [PHB]), and the router only has to read
the tag and look up its PHB. Examples of standard PHBs include expedited forwarding [RFC 2598] and assured forwarding
[RFC 2597]. The former imitates the behavior of a circuit-switched network and the latter provides drop precedence. DiffServ
scales better than integrated services because it releases routers from the requirement to maintain per-flow state. Even with
DiffServ, however, networks still need admission control mechanisms. Otherwise nothing would prevent end systems from
tagging all traffic as high priority and swamping the network. RSVP can be used for admission control, so expect to see
RSVP and DiffServ used together for maximum scalability

SAP - The Session Announcement Protocol (SAP) [RFC 2974] comes into play to distribute information about multicast
sessions among potential receivers. SAP undertakes the task of multicasting session descriptions on a well known multicast
address and port (Figure 3-23). Because multicast technology does not provide reliability, SAP announcements are
unreliable and must be retransmitted periodically.

Session Description Protocol (SDP) - Session Description Protocol (SDP) [RFC 2327] specifies how the information
necessary to describe a session should be encoded. SDP does not include any transport mechanism or any kind of
parameter negotiation. An SDP description is simply a chunk of information that a system can use to join a multimedia
session. It includes, for instance, IP addresses, port numbers, and times and dates when the session is active.

Real-Time Streaming Protocol


(RTSP)
The Real-Time Streaming Protocol (RTSP) [RFC 2326] is used to control
multimedia servers, typically for streaming applications. The use of RTSP
20
between an end user and a multimedia server can be compared to the use
e

Kn
enc

ow
llig

le d
In te

ge
Review questions Information

• Compare Circuit switched & packet


switched networks
• Relate RTP, RTCP & RTSP
• Relate SAP & SDP
• Why is QoS important in packet
switched networks?
• What protocols are used to ensure
QOS?
Ramakrishnan

21
e

Kn
enc

ow
llig

le d
In te

ge
Information

SIP Basic Concepts

Ramakrishnan

22
e

Kn
enc

ow
llig

le d
In te

ge
Objectives Information

• Learn about Session management


– Session Establishment, Modification, and
Termination
– User Mobility
• Able to discuss SIP Entities
– User Agents
– Redirect Servers
– Proxy Servers
– Registrars

Ramakrishnan

23
e

Kn
enc

ow
llig

le d
In te

ge
What is a Session? Information

• Exchange of information between two or more parties


– Location of an end point
– Contacting an end point to determine willingness to establish a
session
– Exchange of media information to allow session to be established
– Modification of existing media sessions
– Tear-down of existing media sessions
• Examples of sessions
– Audio call
– Video Call
– Multicast video (TV)
– Video conference
– Gaming Session
– Push to talk
– Chat
– Messaging

Ramakrishnan

24
e

Kn
enc

ow
llig

le d
In te

ge
Typical SIP Session Information

Ashok Aruna
Let me
call
Aruna.. Would you like to have a conversation? Ashok Aruna
INVITE
180 Ringing
200 OK
Aruna is being alerted
Her phone is ringing ACK

Media session
Aruna is willing to have a conversation
She has picked up the phone BYE

200 OK

Conversation

Nice Talking to you.. Bye

Ramakrishnan

25
e

Kn
enc

ow
llig

le d
In te

ge
SIP Entities Information

• User Agents
– Interacts with the user (In general)
– Delivers the session to proper media tools
– Connects the Signalling & Media
– Makes the SIP versatile control protocol
• Redirect Servers
• Proxy Servers
• Registrars
• Location Servers
Ramakrishnan

26
e

Kn
enc

ow
llig

le d
In te
Registration:

ge
Information

Inform where you are


SIP server at
company.com

I am “Ashok. Singh.”
Today I will be reachable at:
Sip:Ashok@123.160.1.112

192.168.1.112

• SIP URL
– SIP: Ashok.Singh@company.com
• Registration
– SIP:Ashok@192.168.1.112

Ramakrishnan

27
e

Kn
enc

ow
llig

le d
In te

ge
Redirect Server Information

SIP server at
company.com

(1) Invitation to a session for


sip:Ashok,Singh@company.com
(2) You better try to reach him at
Ashok@192.168.1.112

192.168.1.112

(3) Invitation to a session for


sip:Ashok@192.168.1.112

Ramakrishnan

28
e

Kn
enc

ow
llig

le d
In te

ge
Proxy Server Information

• Provides the convenient


SIP server at
company.com mechanism to reach a
user
(2) Invitation to a session for
• Enables mobility &
(1) Invitation to a session for
Ashok@192.168.1.112
sip:Ashok.Singh@company.com Presence
• Enables many features to
be implemented
192.168.1.112

• Provides billing &


accounting information

Ramakrishnan

29
e

Kn
enc

ow
llig

le d
In te

ge
User Agent Examples Information

Ramakrishnan

30
e

Kn
enc

ow
llig

le d
In te

ge
Two redirect Servers Information

SIP server at
company.com

(2) You better try to reach him at (1) Invitation to a session for
SIP:Ashok@university.com sip:Ashok,Singh@company.com

5 2 1
ws1234.university.com (5) Invitation to a session for
sip:Ashok@ws1234.university.com

(3) Invitation to a session for


sip:Ashok@uniersity.com
3

(2) You better try to reach him at


SIP server at 4 sip:Ashok@ws1234.university.com
univesity.com
Ramakrishnan

Group Addresses Redirect servers can also be used to implement group


addresses. To see how this works, assume that the public address for Company
A’s support department is SIP:support@company.com. Because this
department has to give support around the clock, several people are always
at work. Ashok works from 8:00 A.M. until 4:00 P.M., Peter works from 4:00 P.M.
until midnight, and Mary works from midnight until 8:00 A.M.. The redirect
server at company.com is able to return different addresses depending on
the time of the day so that if it receives a call for SIP:support@company.com
at noon, it automatically returns SIP:Ashok.Singh@company.com.

31
e

Kn
enc

ow
llig

le d
In te

ge
Two proxy Servers Information

SIP server at
company.com

(1) Invitation to a session for


sip:Ashok,Singh@company.com

2 1
ws1234.university.com

3
Invitation to a session for
Invitation to a session for sip:Ashok@uniersity.com
sip:Ashok@ws1234.university.com

SIP server at
univesity.com

Ramakrishnan

32
e

Kn
enc

ow
llig

le d
In te

ge
Forking Proxy Information

Invitation to a session for


sip:sales-person-1@company.com

2
Invitation to a session for I am Busy
1 sip:sales@company.com
3
ws1234.university.com SIP server at
6 OK, I am available
company.com

4 Invitation to a session for


sip:sales-person-2@company.com
5
OK, I am available

Ramakrishnan

33
e

Kn
enc

ow
llig

le d
In te

ge
Salient Features Information

• Separation of session establishment & Session


description
• Intelligence at the end points
• Interoperability
• Scalability
• SIP as a Service Creation Platform
– Based on HTTP
– Text based, Request/Response
– SIP URLs – calls can be redirected to HTTP, email, etc.
– Can be extended easily for new services
– Code reuse

Ramakrishnan

34
e

Kn
enc

ow
llig

le d
In te

ge
Review questions Information

• What are the differences between Redirect


Server & Proxy Server?
• What are the functionalities of the User
Agents?
• Why is the registrar needed?
• How does a Location Server help?

Ramakrishnan

35
e

Kn
enc

ow
llig

le d
In te

ge
Information

SIP: Protocol Operation

Ramakrishnan

36
e

Kn
enc

ow
llig

le d
In te

ge
Objectives Information

• Client/Server Transactions
• Types of Proxy Servers
• Format of SIP Messages
• Transport Layer
• Detailed Example

Ramakrishnan

37
e

Kn
enc

ow
llig

le d
In te

ge
INVITE – 3-way handshake Information

Ashok Aruna
Let me
call
Aruna.. INVITE

180 Ringing

200 OK

ACK

Conversation

Ramakrishnan

38
e

Kn
enc

ow
llig

le d
In te

ge
Why 3-way handshake? Information

Ashok Aruna
(1) INVITE
(2) INVITE
(3) INVITE
(4) INVITE
Ashok
Gives up
Hello…hello…
Anybody there?

(5) 200 OK

• Only INVITE uses 3-way handshake


• The called party may take a long time to respond
• In forking scenario multiple final responses may come to the client.
Each of those servers have to be acknowledged
• Provides flexibility in sending the SDP as part of ACK
– Useful while inter-working with certain signalling protocols

Ramakrishnan

39
e

Kn
enc

ow
llig

le d
In te

ge
CANCEL Information

Ashok Aruna

INVITE

180 Ringing

CANCEL

200 OK

487 Transaction Cancelled

ACK

Ramakrishnan

40
e

Kn
enc

ow
llig

le d
In te

ge
CANCEL – Forking proxy Information

Forking
Aruna Proxy Company.com 192.168.1.33 University.com
1. INVITE
2. INVITE
3. INVITE
4. INVITE
5. 200 OK
6. 200 OK
7. ACK
Conversation
8. CANCEL
9. 200 OK
10. 487 Cancelled
11. ACK
12. CANCEL
13. 200 OK
14. 487 Cancelled
15. ACK

Ramakrishnan

41
e

Kn
enc

ow
llig

le d
In te

ge
BYE Information

• Terminates the session in two-party


scenario
• In multi-party conference scenario, just
one user leaves the conference

Ramakrishnan

42
e

Kn
enc

ow
llig

le d
In te

ge
Complete call Information

Ashok Aruna
Let me
call
Aruna.. INVITE

180 Ringing

200 OK

ACK

Conversation

BYE

200OK

Ramakrishnan

43
e

Kn
enc

ow
llig

le d
In te

ge
Client Server Transactions Information

• Requests • Responses
– INVITE – 100 – 199 Informational
– ACK – 200 – 209 Success
– OPTIONS – 300 – 399 Redirection
– CANCEL – 400 – 499 Client Error
– BYE – 500 – 599 Server Error
– REGISTER – 600 – 699 Global Failure
– Much more….

Ramakrishnan

44
e

Kn
enc

ow
llig

le d
In te

ge
SIP Responses Information

Class Description Action


1xx Informations Indicates status of the call prior to completion.
Informational or professional response
2xx Success Request has succeeded. Transaction completed.
INVITE is a special case; ACK should be sent

3xx Redirection Server has returned possible locations. The client


should retry request at another server
4xx Client error The request has failed due to an error by the client.
The client may retry the request with modifications

5xx Server failure The request has failed due to an error at the
server. The request may be retries at another time
OR another server
6xx Global failiure The request has failed. The request should not be
tried at this server or any other server
Ramakrishnan

45
e

Kn
enc

ow
llig

le d
In te
SIP Response Codes

ge
Information

100 Trying 411 Length Required


180 Ringing 413 Request Entity too large
181 Call is being forwarded 414 Request URI too large
182 Queued 415 Unsupported media type
183 Session in progress 420 Bad extension
480 Temporarily not available
200 OK 481 Call log does not exist
202 Accepted 482 Loop detected
483 Too many hops
300 Multiple choices 484 Address incomplete
301 Moved permanently 485 Ambiguous
302 Moved Temporarily 486 Busy here
305 Use Proxy 487 Request Cancelled
380 Alternative Service 488 Not acceptable here

400 Bad Request 500 Internal server error


401 Unauthorized 501 Not implemented
402 Payment Required 502 Bad Gateway
403 Forbidden 503 Service Unavailable
404 Not found 504 Gateway timed out
405 Method not allowed 505 SIP version not supported
406 Not acceptable
407 Proxy auth required 600 Busy everywhere
408 Request time-out 603 Decline
409 Conflict 604 Does not exist anywhere
410 Gone 606 Not acceptable
Ramakrishnan

46
e

Kn
enc

ow
llig

le d
In te

ge
REGISTER Information

Ashok Registrar at company.com

REGISTER

200 OK

Ramakrishnan

47
e

Kn
enc

ow
llig

le d
In te

ge
OPTIONS Information

• Enables the client to know the extension


supported by the Server
• Very useful in advanced scenarios

Ashok SIP server

OPTIONS

200 OK

Ramakrishnan

48
e

Kn
enc

ow
llig

le d
In te

ge
Proxies - Examples Information

Aruna SIP Proxy Ashok


1. INVITE
2. INVITE

3. 200 OK
4. 200 OK
5. ACK
6. ACK

Conversation

7. BYE
8. BYE

9. 200 OK
10. 200 OK

E-Mail
Call details:
Start time: 23rd Aug 2010, 10:03:34
End Time: 23rd Aug 2010, 10:07:28
Duration: 3 minutes 54 seconds

Ramakrishnan

49
e

Kn
enc

ow
llig

le d
In te

ge
Stateful Forking Proxy Information

Stateful
Aruna Proxy Company.com 192.168.1.33 Workstation
1. INVITE
2. INVITE
3. 404 Not found
4. ACK
5. INVITE
6. 404 Not found
7. ACK
8. INVITE
9. 200 OK
10. 200 OK
11. ACK

Conversation

12. ACK

13. 200 OK

Ramakrishnan

50
e

Kn
enc

ow
llig

le d
In te
Is SIP Message Delivery

ge
Information

Guaranteed?
Ashok Aruna
(1) INVITE

(2) 180 Ringing

(3) 200 OK

(4) ACK

Conversation

Ramakrishnan

51
e

Kn
enc

ow
llig

le d
In te

ge
B2BUA Information

B2BUA

• Back-to-Back User Agent


• Another characteristic of the stateful Proxy
• Two user agents back-to-back
• Two dialogs on either side
• Implements specific functionality
• Can forward, block & rewrite messages
• E.g. – IMS application servers, Firewalls, PSTN signalling gateway,
etc.

Ramakrishnan

52
e

Kn
enc

ow
llig

le d
Session, Dialog &

In te

ge
Information

Transaction
• Typical call contains one
Transaction
session & one dialog
Dialog #1
Transaction • A conference call has
multiple Dialogs. Each
call leg is a dialog
Session
• Each Request /
Transaction Response pair is a
Dialog #2 transaction

Ramakrishnan

53
e

Kn
enc

ow
llig

le d
In te

ge
Information

SIP Message formats

Ramakrishnan

54
e

Kn
enc

ow
llig

le d
INVITE sip:Ashok@192.168.1.112 SIP/2.0

In te

ge
Via: SIP/2.0/UDP 192.168.1.110
SIP Request Format Via: SIP/2.0/UDP workstation1000.university.com:5060
From: Aruna Sai <sip:Aruna.Sai@university.com>
To: Ashok Singh <sip:Ashok.Singh@company.com>
Information

Call-ID: 12345678@workstation1000.university.com
• Request-line CSeq: 1 INVITE
Contact: Aruna Sai
– Method, Request URL, Protocol version <sip:Aruna@workstation1000.university.com>
Content-Type: application/sdp
– INVITE sip:Ashok.Singh@company.com SIP/2.0 Content-Length: 154

• Several headers v=0


o=Aruna 2891234526 2891234526 IN IP4
• Empty line workstation1000.university.com
s=Let us talk for a while
• Message Body c=IN IP4 138.85.27.10
t=0 0
m=audio 20002 RTP/AVP 0
Aruna Company.com University.com
192.168.1.33
1. INVITE SIP:
Ashok.Singh@company.com SIP/2.0
1. INVITE SIP:
Ashok@192.168.1.33 SIP/2.0

1. INVITE SIP:
Ashok@university.com.com SIP/2.0

Ramakrishnan

55
e

Kn
enc

ow
llig

le d
In te

ge
SIP Response format Information

• Response line
– Protocol version, Status code, Reason Phrase
– SIP/2.0 180 Ringing
• Several headersSIP/2.0 200 OK
• Empty line Via: SIP/2.0/UDP 192.168.1.110
• Message Body Via: SIP/2.0/UDP workstation1000.university.com:5060
From: Aruna Sai <sip:Aruna.Sai@university.com>
To: Ashok Singh <sip:Ashok.Singh@company.com>;tag=314159
Call-ID: 12345678@workstation1000.university.com
CSeq: 1 INVITE
Contact: Ashok Singh <sip:Ashok@192.168.1.112>
Content-Type: application/sdp
Content-Length: 154

v=0
o=Ashok 2891234321 2891234321 IN IP4 192.168.1.112
s=Let us talk for a while
c=IN IP4 192.168.1.112
t=0 0
Ramakrishnan
m=audio 41000 RTP/AVP 0

56
e

Kn
enc

ow
llig

le d
In te

ge
Information

SIP Headers

Ramakrishnan

57
e

Kn
enc

ow
llig

le d
In te

ge
Core Headers Information

Accept Content-encoding Max-forwards Route


Accept-encoding Content-language MIME-version server
Accept-language Content-length Organization Subject
Alert-info Content-type Priority Supported
Allow Cseq Proxy-authenticate Timestamp
Also Date Proxy-authorization To
Authorization Encryption Proxy-require Unsupported
Call-ID Error-info Record-route User-agent
Call-info Expires Require Via
Contact From Response-key Warning
Content-disposition In-reply-to Retry-after WWW-authenticate

Ramakrishnan

20 Header Fields ....................................... 159


20.1 Accept .............................................. 161
20.2 Accept-Encoding ..................................... 163
20.3 Accept-Language ..................................... 164
20.4 Alert-Info .......................................... 164
20.5 Allow ............................................... 165
20.6 Authentication-Info ................................. 165
20.7 Authorization ....................................... 165
20.8 Call-ID ............................................. 166
20.9 Call-Info ........................................... 166
20.10 Contact ............................................. 167
20.11 Content-Disposition ................................. 168
20.12 Content-Encoding .................................... 169
20.13 Content-Language .................................... 169
20.14 Content-Length ...................................... 169
20.15 Content-Type ........................................ 170
20.16 CSeq ................................................ 170
20.17 Date ................................................ 170
20.18 Error-Info .......................................... 171
20.19 Expires ............................................. 171
20.20 From ................................................ 172
20.21 In-Reply-To ......................................... 172
20.22 Max-Forwards ........................................ 173
20.23 Min-Expires ......................................... 173
20.24 MIME-Version ........................................ 173
20.25 Organization ........................................ 174
20.26 Priority ............................................ 174
20.27 Proxy-Authenticate .................................. 174
20.28 Proxy-Authorization ................................. 175
20.29 Proxy-Require ....................................... 175
20.30 Record-Route ........................................ 175
20.31 Reply-To ............................................ 176
20.32 Require ............................................. 176
20.33 Retry-After ......................................... 176
20.34 Route ............................................... 177

58
e

Kn
enc

ow
llig

le d
In te

ge
Ashok
Call-ID Aruna
Information

(1) INVITE
Call-ID: 1234@192.168.1.112

(2) 200 OK
Call-ID: 1234@192.168.1.112

(3) ACK
Call-ID: 1234@192.168.1.112

(4) INVITE
Call-ID: 5678@192.168.1.112

(5) 200 OK
Call-ID: 5678@192.168.1.112

(6) ACK
Call-ID: 5678@192.168.1.112

Conversation

(7) BYE
Call-ID: 5678@192.168.1.112

(8) 200 OK
Call-ID: 5678@192.168.1.112

Ramakrishnan

59
e

Kn
enc

ow
llig

le d
In te

ge
Contact-id Information

Aruna SIP Proxy Ashok


1. INVITE SIP
Ashok.Singh@company.com SIP/2.0 2. INVITE SIP:
Ashok.Singh@192.168.1.112 SIP/2.0

3, 200 OK
4. 200 OK Contact: SIP: Ashok.Singh@192.168.1.112
Contact: SIP: Ashok.Singh@192.168.1.112

5. ACK SIP: Ashok.Singh@192.168.1.112

Conversation

6. BYE SIP: Ashok.Singh@192.168.1.112

7. 200 OK

Ramakrishnan

60
e

Kn
enc

ow
llig

le d
In te

ge
Cseq – Command Sequence
Ashok Aruna
Information

(1) INVITE

• Initial INVITE has Cseq: 1 INVITE

Cseq set to 1 (2) 200 OK


Cseq: 1 INVITE
• All subsequent
commands increase (3) ACK
Cseq: 1 ACK
it by 1
(4) INVITE
• ACK & CANCEL use Cseq: 2 INVITE
the Cseq of the (5) 200 OK
INVITE they refer to Cseq: 2 INVITE

(6) ACK
Cseq: 2 ACK

Conversation

(7) BYE
Cseq: 3 BYE

(8) 200 OK
Cseq: 3 BYE

Ramakrishnan

61
e

Kn
enc

ow
llig

le d
In te

ge
Cseq Contd.. Information

The method name in the


Cseq permits
Ashok Aruna differentiating
responses for
INVITE INVITEs and
Cseq: 1 INVITE
CANCELs
CANEL
Cseq: 1 CANCEL

200 OK
Cseq: 1 CANCEL

487 Transaction Cancelled


Cseq: 1 INVITE

ACK
Cseq: 1 ACK
Ramakrishnan

62
e

Kn
enc

ow
llig

le d
In te
Record-Route and Route

ge
Information

Aruna SIP Proxy Ashok


(1) INVITE SIP:
(2) INVITE SIP:Ashok@192.168.1.112 SIP/2.0
Ashok.Singh@company.com SIP/2.0
Record-Route:<SIP:Ashok.Singh@company.com>
maddr=192.168.1.112
(3) 200 OK
(4) 200 OK Contact: <SIP:Ashok@192.168.1.112>
Contact: <SIP:Ashok@192.168.1.112> Record-Route:<SIP:Ashok.Singh@company.com>
Record-Route:<SIP:Ashok.Singh@company.com> maddr=192.168.1.112
maddr=192.168.1.112

(5) ACK SIP:Ashok.Singh@company.com SIP/2.0


Route:<SIP:Ashok@192.168.1.112>
(6) ACK SIP:Ashok@192.168.1.112 SIP/2.0

Conversation

(7) BYE SIP:Ashok.Singh@company.com SIP/2.0


Route:<SIP:Ashok@192.168.1.112>
(8) BYE SIP:Ashok@192.168.1.112 SIP/2.0

(9) 200 OK
(10) 200 OK

Used by proxies (security, Billing, etc.) that want to be in the signalling


path for the entire session
Ramakrishnan

63
e

Kn
enc

ow
llig

le d
In te

ge
Several Proxies Information

Aruna P1 P2 P3 Ashok
1. INVITE
2. INVITE Record-Route: P3
Record-Route: P1 3. INVITE Record-Route: P1
Record-Route: P1 4. INVITE

5. 200 OK
Contact: Ashok
Contact: Ashok
6. 200 OK
Contact: Ashok Record-Route: P3
Record-Route: P3 Record-Route: P3 Record-Route: P1
Record-Route: P1 7. 200 OK
Contact: Ashok Record-Route: P1
8. 200 OK Record-Route: P3
Record-Route: P1
9. ACK
Route: P3 10. ACK
Route: Ashok Route: Ashok 11. ACK

Conversation
12. BYE
Route: P3 13. ACK
Route: Ashok Route: Ashok 14 ACK
15. 200 OK
16. 200 OK
17. 200 OK

Proxy P2 does not want to be in the signalling path


Ramakrishnan

64
e

Kn
enc

ow
llig

le d
In te

ge
To Information

• Meant for the destination UA


• Cannot be altered by Proxies
• What is the difference with Request URI
Aruna P2 192.168.1.33 University.com
INVITE SIP: Ashok.Singh@company.com SIP/2.0
To: Ashok Singh <sip:Ashok.Singh@company.com
INVITE SIP: Ashok@192.168.1.33 SIP/2.0
To: Ashok Singh <sip:Ashok.Singh@company.com

INVITE SIP: Ashok@university.com.com SIP/2.0


To: Ashok Singh <sip:Ashok.Singh@company.com

Ramakrishnan

65
e

Kn
enc

ow
llig

le d
In te

ge
Via Information

Aruna SIP Proxy Ashok


1. INVITE SIP
INVITE SIP: Ashok.Singh@company.com SIP/2.0 2. INVITE SIP:
Via: SIP/2.0/UDP workstation1000.university.com:5060
INVITE SIP:Ashok@192.168.1.112 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.100:5060
Via: SIP/2.0/UDP workstation1000.university.com:5060

3. 200 OK
Via: SIP/2.0/UDP 192.168.1.100:5060
4. 200 OK Via: SIP/2.0/UDP workstation1000.university.com:5060
Via: SIP/2.0/UDP workstation1000.university.com:5060

5. ACK SIP: Ashok.Singh@192.168.1.112


Via: SIP/2.0/UDP workstation1000.university.com:5060

Conversation

6. BYE SIP: Ashok.Singh@192.168.1.112


Via: SIP/2.0/UDP workstation1000.university.com:5060

7. 200 OK
Via: SIP/2.0/UDP workstation1000.university.com:5060

Ramakrishnan

66
e

Kn
enc

ow
Via header processing

llig

le d
In te

ge
Response received by Server Information

Does the first Via


• Records all the proxies that header match
server address?
the message passes thru
• Response comes thru the
same path as the Request Remove the first via
header
• Helps locating loops in the
message path
Second Via Response is for this
header? server process

maddr Forward response to


parameter multicast address in
present maddr

Received
Forward response to
parameter
address in received
present

Forward response to
address in Via header

Ramakrishnan

67
e

Kn
enc

ow
llig

le d
In te

ge
Complete Example Information

Aruna SIP Proxy Ashok


1. INVITE
2. INVITE

3. 180 Ringing
4. 180 Ringing
5. 200 OK
6. 200 OK
INVITE
5. ACKsip:Ashok.Singh@company.com
INVITE sip:Ashok@192.168.1.112
SIP/2.0 SIP/2.0
Via: SIP/2.0/UDPVia:workstation1000.university.com:5060
SIP/2.0/UDP 192.168.1.110
From: Aruna Sai
Conversation Via:
<sip:Aruna.Sai@university.com>
SIP/2.0/UDP workstation1000.university.com:5060
To: Ashok Singh From:
<sip:Ashok.Singh@company.com>
Aruna Sai <sip:Aruna.Sai@university.com>
Call-ID: 12345678@workstation1000.university.com
To: Ashok Singh <sip:Ashok.Singh@company.com>
CSeq: 1 INVITE Call-ID: 12345678@workstation1000.university.com
8. BYE ArunaCSeq:
Contact: Sai 1 INVITE
<sip:Aruna@workstation1000.university.com>
Contact: Aruna Sai
9. 200 OK
Content-Type: <sip:Aruna@workstation1000.university.com>
application/sdp
Content-Length: Content-Type:
154 application/sdp
Content-Length: 154
Workstation1000.university.com 192.168.1.110
v=0 192.168.1.112
o=Aruna 2891234526
v=0 2891234526 IN IP4
workstation1000.university.com
o=Aruna 2891234526 2891234526 IN IP4
s=Let us talk for
workstation1000.university.com
a while
c=IN IP4 138.85.27.10
s=Let us talk for a while
t=0 0 c=IN IP4 138.85.27.10
Ramakrishnan
m=audio 20002t=0RTP/AVP
0 0
m=audio 20002 RTP/AVP 0

68
e

Kn
enc

ow
llig

le d
In te

ge
Complete Example Information

Aruna SIP Proxy Ashok


1. INVITE
2. INVITE

3. 180 Ringing
4. 180 Ringing
5. 200 OK
6. 200 OK

5. ACK
SIP/2.0 180 Ringing
SIP/2.0 180 Ringing
Via: SIP/2.0/UDPVia:
workstation1000.university.com:5060
SIP/2.0/UDP 192.168.1.110
Conversation
From: Aruna Sai Via:
<sip:Aruna.Sai@university.com>
SIP/2.0/UDP workstation1000.university.com:5060
To: Ashok Singh From: Aruna Sai <sip:Aruna.Sai@university.com>
<sip:Ashok.Singh@company.com>;tag=314159
To: Ashok Singh
Call-ID:
8. BYE 12345678@workstation1000.university.com
<sip:Ashok.Singh@company.com>;tag=314159
CSeq: 1 INVITE Call-ID: 12345678@workstation1000.university.com
Contact:
9. 200 OKAshok Singh
CSeq:<sip:Ashok@192.168.1.112>
1 INVITE
Contact: Ashok Singh <sip:Ashok@192.168.1.112>

Workstation1000.university.com 192.168.1.110 192.168.1.112

Ramakrishnan

69
e

Kn
enc

ow
llig

le d
In te

ge
Complete Example Information

Aruna SIP Proxy Ashok


1. INVITE
2. INVITE

3. 180 Ringing
4. 180 Ringing
5. 200 OK
6. 200 OK

5. ACK
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDPVia:workstation1000.university.com:5060
SIP/2.0/UDP 192.168.1.110
Conversation
From: Aruna Sai Via:
<sip:Aruna.Sai@university.com>
SIP/2.0/UDP workstation1000.university.com:5060
To: Ashok Singh From: Aruna Sai <sip:Aruna.Sai@university.com>
<sip:Ashok.Singh@company.com>;tag=314159
To: Ashok Singh
Call-ID:
8. BYE 12345678@workstation1000.university.com
<sip:Ashok.Singh@company.com>;tag=314159
CSeq: 1 INVITE Call-ID: 12345678@workstation1000.university.com
Contact:
9. 200 OKAshok Singh
CSeq:<sip:Ashok@192.168.1.112>
1 INVITE
Content-Type: application/sdp
Contact: Ashok Singh <sip:Ashok@192.168.1.112>
Content-Length: 154Content-Type: application/sdp
Workstation1000.university.com 192.168.1.110 Content-Length: 154
192.168.1.112
v=0
o=Ashok 2891234321 v=0 2891234321 IN IP4 192.168.1.112
s=Let us talk for ao=Ashok
while 2891234321 2891234321 IN IP4 192.168.1.112
c=IN IP4 192.168.1.112
s=Let us talk for a while
t=0 0 c=IN IP4 192.168.1.112
Ramakrishnan
m=audio 41000 RTP/AVP
t=0 0 0
m=audio 41000 RTP/AVP 0

70
e

Kn
enc

ow
llig

le d
In te

ge
Complete Example
BYE sip:Ashok@192.168.1.112 SIP/2.0
Via: SIP/2.0/UDP workstation1000.university.com:5060
Information

From: Aruna Sai <sip:Aruna.Sai@university.com>


To: Ashok Singh
<sip:Ashok.Singh@company.com>;tag=314159
Aruna
Call-ID: 12345678@workstation1000.university.com
SIP Proxy Ashok
CSeq: 2 BYE
Contact: Aruna Sai 1. INVITE
2. INVITE
<sip:Aruna@workstation1000.university.com>
3. 180 Ringing
4. 180 Ringing
5. 200 OK
6. 200 OK

5. ACK

Conversation

8. BYE

9. 200 OK
ACK sip:Ashok@192.168.1.112 SIP/2.0
SIP/2.0 200 OK Via: SIP/2.0/UDP workstation1000.university.com:5060
Workstation1000.university.com 192.168.1.110 From: Aruna Sai <sip:Aruna.Sai@university.com>
192.168.1.112
Via: SIP/2.0/UDP workstation1000.university.com:5060
From: Aruna Sai <sip:Aruna.Sai@university.com> To: Ashok Singh
To: Ashok Singh <sip:Ashok.Singh@company.com>;tag=314159
<sip:Ashok.Singh@company.com>;tag=314159 Call-ID: 12345678@workstation1000.university.com
Call-ID: 12345678@workstation1000.university.com CSeq: 1 ACK
Contact: Aruna Sai
CSeq: 2 BYE Ramakrishnan
Contact: Ashok Singh <sip:Ashok@192.168.1.112> <sip:Aruna@workstation1000.university.com>

71
e

Kn
enc

ow
llig

le d
INVITE from Aruna’s UA to SIP

In te

ge
Information

Proxy
INVITE
sip:Ashok.Singh@company.com
SIP/2.0
Via: SIP/2.0/UDP
workstation1000.university.com:
5060
From: Aruna Sai
<sip:Aruna.Sai@university.com>
To: Ashok Singh
Ramakrishnan
<sip:Ashok.Singh@company.com>

72
e

Kn
enc

ow
llig

le d
INVITE from SIP Proxy to

In te

ge
Information

Ashok
INVITE sip:Ashok@192.168.1.112
SIP/2.0
Via: SIP/2.0/UDP 192.168.1.110
Via: SIP/2.0/UDP
workstation1000.university.com:
5060
From: Aruna Sai
<sip:Aruna.Sai@university.com>
To: Ashok Singh
Ramakrishnan
<sip:Ashok.Singh@company.com>

73
e

Kn
enc

ow
llig

le d
Provisional Response from

In te

ge
Information

Ashok to Proxy
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.1.110
Via: SIP/2.0/UDP workstation1000.university.com:5060
From: Aruna Sai <sip:Aruna.Sai@university.com>
To: Ashok Singh
<sip:Ashok.Singh@company.com>;tag=314159
Call-ID: 12345678@workstation1000.university.com
CSeq: 1 INVITE
Contact: Ashok Singh <sip:Ashok@192.168.1.112>

Ramakrishnan

74
e

Kn
enc

ow
llig

le d
Provisional Response from

In te

ge
Information

Proxy to Aruna
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP workstation1000.university.com:5060
From: Aruna Sai <sip:Aruna.Sai@university.com>
To: Ashok Singh
<sip:Ashok.Singh@company.com>;tag=314159
Call-ID: 12345678@workstation1000.university.com
CSeq: 1 INVITE
Contact: Ashok Singh <sip:Ashok@192.168.1.112>

Ramakrishnan

75
e

Kn
enc

ow
llig

le d
Final Response from Ashok to

In te

ge
Information

Proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.110
Via: SIP/2.0/UDP
workstation1000.university.com:
5060
From: Aruna Sai
<sip:Aruna.Sai@university.com>
To: Ashok Singh
<sip:Ashok.Singh@company.com>;t
Ramakrishnan
ag=314159

76
e

Kn
enc

ow
llig

le d
Final Response from Proxy to

In te

ge
Information

Aruna
SIP/2.0 200 OK
Via: SIP/2.0/UDP workstation1000.university.com:5060
From: Aruna Sai <sip:Aruna.Sai@university.com>
To: Ashok Singh <sip:Ashok.Singh@company.com>;tag=314159
Call-ID: 12345678@workstation1000.university.com
CSeq: 1 INVITE
Contact: Ashok Singh <sip:Ashok@192.168.1.112>
Content-Type: application/sdp
Content-Length: 154

v=0
o=Ashok 2891234321 2891234321 IN IP4 192.168.1.112
s=Let us talk for a while
c=IN IP4 192.168.1.112
t=0 0
m=audio 41000 RTP/AVP 0

Ramakrishnan

77
e

Kn
enc

ow
llig

le d
In te

ge
ACK from Aruna to Ashok Information

ACK sip:Ashok@192.168.1.112 SIP/2.0


Via: SIP/2.0/UDP workstation1000.university.com:5060
From: Aruna Sai <sip:Aruna.Sai@university.com>
To: Ashok Singh <sip:Ashok.Singh@company.com>;tag=314159
Call-ID: 12345678@workstation1000.university.com
CSeq: 1 ACK
Contact: Aruna Sai <sip:Aruna@workstation1000.university.com>

Ramakrishnan

78
e

Kn
enc

ow
llig

le d
In te

ge
BYE from Aruna to Ashok Information

BYE sip:Ashok@192.168.1.112 SIP/2.0


Via: SIP/2.0/UDP workstation1000.university.com:5060
From: Aruna Sai <sip:Aruna.Sai@university.com>
To: Ashok Singh
<sip:Ashok.Singh@company.com>;tag=314159
Call-ID: 12345678@workstation1000.university.com
CSeq: 2 BYE
Contact: Aruna Sai
<sip:Aruna@workstation1000.university.com>

Ramakrishnan

79
e

Kn
enc

ow
llig

le d
Final Response from Ashok to

In te

ge
Information

Aruna
SIP/2.0 200 OK
Via: SIP/2.0/UDP workstation1000.university.com:5060
From: Aruna Sai <sip:Aruna.Sai@university.com>
To: Ashok Singh
<sip:Ashok.Singh@company.com>;tag=314159
Call-ID: 12345678@workstation1000.university.com
CSeq: 2 BYE
Contact: Ashok Singh <sip:Ashok@192.168.1.112>

Ramakrishnan

80
e

Kn
enc

ow
llig

le d
In te

ge
Review questions Information

• What is the difference between CANCEL &


BYE?
• What is the difference between ‘To:’ and
‘Contact:’ headers?
• To alert a missed call what information will
be displayed to the user? Which SIP header
will contain this information
• How will a proxy know about the termination
of call?
• As a developer what advantages &
disadvantages you see with SIP?

Ramakrishnan

81
e

Kn
enc

ow
llig

le d
In te

ge
Information

Extending SIP

Ramakrishnan

82
e

Kn
enc

ow
llig

le d
In te

ge
Information

SIP Event Notification


Framework
SUBSCRIBE, NOTIFY

Ramakrishnan

83
e

Kn
enc

ow
llig
Ashok is notified when Aruna

le d
In te

ge
Information

hangs up
Ashok Aruna
(1) INVITE

(2) 484 Busy here

(3) ACK

(4) SUBSCRIBE
Aruna’s status
(5) 200 OK

(6) NOTIFY
Aruna is busy
(7) 200 OK

(8) NOTIFY
Aruna is available
(9) 200 OK

(10) INVITE

Ramakrishnan

84
e

Kn
enc

ow
llig

le d
In te

ge
Conference Call Notification Information

Ashok Aruna Conference unit


1. INVITE

2. 200 OK

3. ACK

4. SUBSCRIBE
Number of participants
5. 200 OK

6. NOTIFY
There are currently 6 participants
7. 200 OK

8. INVITE

9. 200 OK

10. ACK

11. NOTIFYThere are currently 7 participants

12. 200 OK

Ramakrishnan

85
e

Kn
enc

ow
llig

le d
In te

ge
Session transfer (REFER) Please hold
Information

Aruna Ashok’s Secretary while I transfer Ashok


you call

1. INVITE
2. 200 OK
3. ACK

Conversation
4. INVITE (hold)
5. 200 OK
6. ACK
Refer-To: SIP:Ashok.Singh@company.com
7. REFER Referred-By: Secretary@company.com
8. 202 ACCEPTED
Referred-By: Secretary@company.com
9. INVITE
10. 200 OK
11. ACK
12. NOTIFY
13. 200 OK

14. BYE
15. 200 OK

Conversation
Ramakrishnan

86
e

Kn
enc

ow
llig

le d
In te

ge
SIP Security Information

• Borrows heavily from • Proxies can still alter the


IETF message content
• Encrypted SIP messages, – S/MIME Authentication and
RTP packets Message Integrity
– S/MIME Confidentiality
• Authentication – End-to-End and Hop-by-
– User-id, password Hop Security
– Digest • Proxies need to see
• Server sends nonce value
• Client sends the
some headers
checksum of Request- – Hop-by-Hop Security
URI, SIP method, user-id – Provided by lower layers –
& password IPSec, TLS
– This is complementary to
end-end security

Ramakrishnan

The digest authentication scheme is based on user IDs and passwords, with the
difference that they are never sent through the network. The server challenges the
client sending a nonce value. Then the client calculates a checksum of the nonce
value, the Request-URI, the SIP method, the user, ID and the password and sends
it to the server. The server can thereby confirm that the client knows the user ID
and password without ever exposing them

87
e

Kn
enc

ow
llig

le d
In te

ge
SIP Security headers Information

Ashok Aruna
• WWW-Authenticate (1) INVITE

– Used by server for end to


(2) 401 Unauthorized
end authentication WWW-authenticate: (challenge)

• Authorization (3) ACK

– Used by client to send


authorization credentials to
the server (4) INVITE
Authorization: (Credentials)
• Proxy-Authenticate (5) 200 OK
– Used by Proxy for hop-by-
(6) ACK
hop authentication
• Proxy-Authorization
– Used by client to send Conversation
authorization credentials to
the Proxy

Ramakrishnan

88
e

Kn
enc

ow
llig

le d
In te

ge
Registration in 3G-IMS Information

Aruna P-CSCF I-CSCF S-CSCF HSS


(1) REGISTER

(2) REGISTER

(3) Query

(4) Response

(5) REGISTER

(6) Query

(7) Response

(8) 200 OK

(9) 200 OK

(10) 200 OK

Ramakrishnan

89
e

Kn
enc

ow
llig

le d
Registration in IMS from visited

In te

ge
Information

domain
Visited Domain Home Domain

Aruna P-CSCF I-CSCF S-CSCF HSS


(1) REGISTER

(2) REGISTER

(3) Query

(4) Response

(5) REGISTER

(6) Query

(7) Response

(8) 200 OK

(9) 200 OK

(10) 200 OK

Ramakrishnan

90
e

Kn
enc

ow
llig

le d
In te

ge
Session between roaming users in IMS Information

network
Aruna’s Visited Aruna’s Home Ashok’s home Ashok’s Visited
Domain Domain Domain Domain
Aruna P-CSCF I-CSCF S-CSCF I-CSCF S-CSCF P-CSCF Ashok
(1) INVITE
(2) INVITE
(3) INVITE
(4) INVITE
(5) INVITE
(6) INVITE
(7) INVITE
(8) 200 OK
(9) 200 OK
(10) 200 OK
(11) 200 OK
(12) 200 OK
(13) 200 OK
(14) 200 OK

Ramakrishnan

91
e

Kn
enc

ow
llig

le d
In te

ge
Common URI schemes Information

Scheme Meaning Use


sip SIP URI Most common in To, from, Contact, Request-URIs

sips Same as SIP, provides end-to-end encryption using


Secure SIP URI
TLS

tel Represents a telephone number (e.164), usually in To


Telephone URI
or From
pres Presence URI Used to represent the URI of a present agent
im Instant Message URI Instant Message Client
Can be included in the Contact in registration or
mailto E-mail URI
redirection response
Can be used in headers like Alert-Info, Error-Info and so
http Web URL
forth

Ramakrishnan

92
e

Kn
enc

ow
llig

le d
In te

ge
Some real life Applications Information

• Get a feel of real life applications


– Customer Support
• Look at the forking proxy and extend it
– Alert missed calls
– Follow-me
• Sequential Ringing
• Simultaneous ringing
– Call forward on busy
– Call forward on no-answer
– Bandwidth on demand
• Switch from voice to video to chat
– Conference call
• Add a new participant to the call
• Make a two way call into a conference call

Ramakrishnan

93
e

Kn
enc

ow
llig

le d
In te

ge
Material for Further Reading Information

• Hitchhiker's Guide to the Session Initiation


Protocol (SIP)
• SIP Forum
• Session Initiation Protocol (SIP)
– Columbia University
• 3GPP

Ramakrishnan

94
e

Kn
enc

ow
llig

le d
In te

ge
Information

Thank you

Ramakrishnan

95