Session Initiation Protocol (SIP)
Chapter 5
2Internet Telephony
Introduction
A powerful alternative to H.323 More flexible, simpler Easier to implement
Advanced features Better suited to the support of intelligent
user devices A part of IETF multimedia data and
control architecture SDP, RTSP (Real-Time Streaming
Protocol), SAP (Session Announcement Protocol)
3Internet Telephony
The Popularity of SIP
Originally Developed in the MMUSIC A separate SIP working group RFC 2543 Many developers
SIP + MGCP/MEGACO The VoIP signaling in the future
“back-off” Test products against each other Will be hosted by ETSI
4Internet Telephony
SIP Architecture
A signaling protocol The setup, modification, and tear-down of
multimedia sessions SIP + SDP
Describe the session characteristics Separate signaling and media streams
5Internet Telephony
SIP Network Entities
Clients User agent clients Application programs sending SIP requests
Servers Responds to clients’ requests
Clients and servers may be in the same platform
Proxy Acts as both clients and servers
6Internet Telephony
Four types of servers Proxy servers
Handle requests or forward requests to other servers
Can be used for call forwarding
7Internet Telephony
Redirect servers Map the destination address to zero or more new
addresses Do not initiate any SIP requests
8Internet Telephony
A user agent server Accept SIP requests and contacts the user The user responds → an SIP response A SIP device E.g., an SIP-enabled telephone
A registrar Accepts SIP REGISTER requests
Indicating the user is at a particular address Typically combined with a proxy or redirect server
9Internet Telephony
SIP Call Establishment
It is simple A number of interim responses
10Internet Telephony
SIP Advantages
Attempt to keep the signaling as simple as possible
Various pieces of information can be included within the messages
Including non-standard information Enable the users to make intelligent decisions
The user has control of call handling No need to subscribe call features
11Internet Telephony
Call Completion to Busy Subscriber service
12Internet Telephony
Overview of SIP Messaging Syntax
Text-based Similar to HTTP
SIP messages message = start-line
*message-header CRLF
[message-body] start-line = request-line | status-line
Request-line specifies the type of request The response line
The success or failure of a given request
13Internet Telephony
Message headers Additional information of the request or
response E.g.,
The originator and recipient Retry-after header Subject header
Message body Describe the type of session
The media format SDP, Session Description Protocol
Could include an ISDN User Part message Examined only at the two ends
14Internet Telephony
SIP Requests
method SP request-URI SP SIP-version CRLF request-URI
The address of the destination Methods
INVITE, ACK, OPTIONS, BYE, CANCLE, REGISTER INVITE
Initiate a session Information of the calling and called parties The type of media ~ IAM (initial address message) of ISUP ACK only the final response
15Internet Telephony
BYE Terminate a session Can be issued by either the calling or called party
Options Query a server as to its capabilities
A particular type of media The response if sent an INVITE
CANCEL Terminate a pending request E.g., an INVITE did not receive a final response
REGISTER Log in and register the address with a SIP server “all SIP servers” – multicast address (224.0.1.1750) Can register with multiple servers Can have several registrations with one server
16Internet Telephony
SIP Responses
SIP version SP status code SP reason-phrase CRLF reason-phrase
A textual description of the outcome Could be presented to the user
status code, RFC 2543 A three-digit number 1XX Informational 2XX Success (only code 200 is defined) 3XX Redirection 4XX Request Failure 5XX Server Failure 6XX Global Failure All responses, except for 1XX, are considered final
Should be ACKed
17Internet Telephony
“One number” service
18Internet Telephony
SIP Addressing
SIP URLs (Uniform Resource Locators) user@host E.g.,
sip:[email protected] sip:[email protected]
Supplement the URL sip:[email protected];user=phone
19Internet Telephony
Message Headers
Provide further information about the message ~ information elements
E.g., To:header in an INVITE
The called party From:header
The caling party
Four main categories General, request, response, and entity headers A list in Table 5-2 Mapping in Table 5-3
20Internet Telephony
General Headers
Used in both requests and responses Basic information
E.g., To:, From:, Call-ID:, … Contact:
A URL for future communication May be different from the From: header
Requests passed through proxies
21Internet Telephony
Request Headers Apply only to SIP requests Addition information about the request or the
client E.g.,
Subject: Priority:, urgency of the request Authorization:, authentication of the request originator
Response Headers Further information about the response E.g.,
Unsupported:, features Retry-After
22Internet Telephony
Entity Header Session information presented to the user Session description, SDP
The RTP payload type, an address and port Content-Length, the length of the message
body Content-Type, the media type of the message Content-Encoding, for message compression Content Disposition, Content-Language, Allow, used in a Request to indicate the set
of methods supported Expires, the date and time
23Internet Telephony
Example of SIP Message Sequences
Registration Via: Call-ID:
host-specific Content-Length:
Zero, no msg body Cseg:
Avoid ambiguity Expires:
TTL 0, unreg
Contact: *
24Internet Telephony
Invitation
A two-party call Subject:
optional Content-Type:
application/sdp
25Internet Telephony
26Internet Telephony
Termination of a Call
Cseq: Has changed
27Internet Telephony
Redirect Servers
An alternative address
302, Moved temporarily
Another INVITE Same Call-ID Cseq ++
28Internet Telephony
Proxy Servers
Entity headers are omitted
Changes the Req-URI Via:
The path Loop detected, 482 For a response
The 1st Via: header Checked removed
29Internet Telephony
30Internet Telephony
Proxy state
Can be either stateless or stateful Record-Route:
The messages and responses may not pass through the same proxy
Use Contact: A Proxy might require that it remains in the signaling
path In particular, for a stateful proxy
Insert its address into the Record-Route: header The response includes the Record-Route: header The Record-Route: header is used in the subsequent
requests The Route: header = the Record-Route: header in
reverse order, excluding the first proxy Each proxy remove the next from the Route: header
31Internet Telephony
Forking Proxy
“fork” requests A user is registered at
several locations ;branch=xxx
32Internet Telephony
33Internet Telephony
The Session Description Protocol
The message body SDP, RFC 2327
The Structure of SDP Session Level Info
Name The originator The time
Media Level Info Media type Port number Transport protocol Media format
34Internet Telephony
SDP Syntax
A number of lines of text In each line
field=value Session-level fields first Media-level fields
Begin with media description field (m=)
35Internet Telephony
Mandatory Fields
v=(protocol version) o=(session origin or creator and session id) s=(session name), a text string t=(time of the session), the start time and
stop time m=(media)
Media type The transport port The transport protocol The media format, an RTP payload format
36Internet Telephony
Optional Fileds
i=(session information) A text description At both session and media levels
u=(URI of description) Where further session information can be obtained Only at session level
e=(e-mail address) Who is responsible for the session Only at the session level
p=(phone number) Only at the session level
37Internet Telephony
c=(connection information) Connection type, network type, and connection
address At session or media level
b=(bandwidth information) In kilobits per second At session or media level
r=(repeat times) For regularly scheduled session How often and how many times
z=(timezone adjustments) For regularly scheduled seesion Standard time and Daylight Savings Time
38Internet Telephony
k=(encryption key) An encryption key or a mechanism to obtain it At session or media level
a=(attributes) Describe additional attributes
39Internet Telephony
Ordering of Fields
Session Level Protocol version (v) Origin (o) Session name (s) Session information (i) URI (u) E-mail address (e) Phone number (p) Connection info (c) Bandwidth info (b) Time description (t) Repeat info (r) Time zone adjustments
(z) Encryption key (k) Attributes (a)
Media level Media description (m) Media info (i) Connection info (c)
Optional if specified at the session level
Bandwidth info (b) Encryption key (k) Attributes (a)
40Internet Telephony
Subfields
Field = <value of subfield1> <value of subfield2> <value of subfield3>.
Origin (o) Username, the originator’s login id or “-” session ID
A unique ID Make use of NTP timestamp
version, a version number for this particular session network type
A text string IN refers to Internet
address type IP4, IP6
Address, a fully-qualified domain name or the IP address
41Internet Telephony
Connection Data The network and address at which media data are
to be received Network type Address type Connection address
Media Information Media type
Audio, video, application, data, or control Port, 1024-65535 Format
List the various types of media RTP/AVP payload types
m= audio 45678 RTP/AVP 15 3 0 G.728, GSM, G.711
42Internet Telephony
Attributes Property attribute
a=sendonly a=recvonly
value attribute a=orient:landscape
rtpmap attribute The use of dynamic payload type a=rtpmap:<payload type> <encoding name>/<clock
rate> [/<encoding parameters>]. m=video 54678 RTP/AVP 98 a=rtpmap 98 L16/16000/2
43Internet Telephony
Usage of SDP with SIP
SIP for the establishment of multimedia sessions
SDP – a structured language for describing the sessions The entity header
44Internet Telephony
Negotiation of Media
Fig 5-15 G.728 is selected
If a mismatch 488 or 606 Not Acceptable A Warning header
INVITE with multiple media streams
Unsupported should also be returned
With a port number of zero
45Internet Telephony
46Internet Telephony
Options Method Determine the
capabilities of a potential called party
47Internet Telephony
Usage of SIP for Features/Services
Personal mobility by registration Can carry MIME (Multi-Purpose Internet
Mail Extension) content Text, HTML documents, an image, etc.
SIP address is a URL Click-to-call applications
Supplementary Custom Local Area Signaling Service (CLASS) services Call waiting, call forwarding, multi-party
calling, call screening Proxy-controlled: QoS, IN SCP, INAP
48Internet Telephony
Call Forwarding
On busy 486, busy here
49Internet Telephony
Consultation Hold
C=0 An address
50Internet Telephony
51Internet Telephony
SIP Extensions and Enhancements
RFC 2543, March 1999 Proposed standard, March 2002 SIP-T
Include various extensions Will be enhanced considerably before it
becomes an Internet standard
52Internet Telephony
183 Session-Progress Message
The addition of a new response Status code 183 To open a one-way media path
From the called party to calling party Enable in-band call progress information to be
transmitted Tones or announcements
ACM (address complete message) of SS7 For SIP – PSTN – SIP connections
When a temporary media stream is needed Note that alerting signal can be
Status code 180 (ringing) The temporary media stream will be terminated
As soon as the called user answers
53Internet Telephony
SIP INFO Method
A new SIP method The transfer of information in the middle of a
call DTMF digits, account-balance information,
mid-call signaling information (from PSTN) A powerful, flexible tool to support new
services
54Internet Telephony
The SIP Supported Header
The Require header a client indicates to a server that the server
must support certain features In responses 421, extension required
The Supported header For server to know a client’s capabilities Included in both requests and responses
BYE, CANCEL, INVITE, OPTIONS and REGISTER Should not be included in the ACK
55Internet Telephony
56Internet Telephony
Reliability of Provisional Responses
Provisional Responses 100 (trying), 180 (ringing), 183 (session in
progress) Are not answered with an ACK
If the messages is sent over UDP Unreliable
Lost provisional response may cause problems when interoperating with other network 180, 183 → Q931 alerting or ISUP ACM To drive a state machine E.g., a call to an unassigned number
ACM to create a one-way path
57Internet Telephony
RSeq Response seq +1, when retxm
Rack Response ACK
PRACK Prov Resp ACK
Should not Apply to 100
58Internet Telephony
59Internet Telephony
Integration of SIP an Resource Mang
The signaling might take a different path from the media
Assume resource-reservation mechanisms available (Chapter 8)
A new SIP header in the INVITE Resources reservation is needed The user should not yet be alerted But unrecognized header is ignored
60Internet Telephony
Integration of Resource Management and SIP for IP Telephony A new method, PRECONDITION-MET The far-end phone will not ring until Also specifies extensions to SDP Can define any number of preconditions in
SDP without revise SIP every time Being sent end-to-end “a=qos:” strength-tag SP direction-tag [SP
confirmation-tag] “a=secure:” strength-tag SP direction-tag [SP
confirmation-tag] If failed, could select a lower-bandwidth codec
61Internet Telephony
62Internet Telephony
Interworking
PSTN Interworking A SIP URL A network gateway Fig. 5-23
SIP to PSTN call Fig. 5-24
PSTN to SIP call
PSTN – SIP – PSTN MIME media types For ISUP and QSIG
63Internet Telephony
64Internet Telephony
Interworking with H.323
An Internet draft SIP-H.323 interworking gateway
65Internet Telephony
66Internet Telephony
67Internet Telephony
68Internet Telephony
69Internet Telephony
Summary
The future for signaling in VoIP networks Simple, yet flexible Easier to implement Fit well with the media gateway control
protocols
70Internet Telephony
Reference Architecture of R00
GfGi
Iu
GiMr
Gi
Ms
Gi
R UuMGW
Gn
Gc
Signalling and Data TransferInterface
SignallingInterface
TE MT UTRAN
Gr
SGSN GGSN
EIR
MGCF
R-SGW *)
MRF
MultimediaIP Networks
PSTN/Legacy/External
Applications &Services *)
Mm
Mw
Legacy mobilesignallingNetw ork
Mc
Cx
AlternativeAccess
Network
Mh
CSCF
CSCF
Mg
T-SGW *)
T-SGW *)
HSS *)
HSS *)
Applications& Services *)
MSC server GMSC server
McMc
D C
SCP
CAP
MGWNb
Nc
Iu
Iu
R-SGW *)Mh
CAPCAP
R UmTE MT
BSS/GERAN
Gb
A
*) those elements are duplicated for figurelayout purpose only, they belong to the samelogical element in the reference model
Iu
71Internet Telephony
Support of Roaming Subscribers
via the service platform in the Home Network
via an external service platform
UE
P-CSCF
ServingCSCF
HomeNetwork
VisitedNetwork
ExternalServicePlatform
Gm
Mw
72Internet Telephony
UE Accessing IM Subsystem Services
In the visited network
Home NetworkIM Subsystem
Visited NetworkIM Subsystem
Inter-NetworkIM Backbone
Internet
Intranets
UE
GGSN
BG
BG
SGSN
PDP Context
Visited Network
Gi
Virtual presence of UEin visited network IM subsystem(UE’s IP-address is here)
73Internet Telephony
Public and Private Identities
One private user identity IMSI within a NAI
One or more public user identities
DOCUMENTTYPE
TypeUnitOrDepartmentHereTypeYourNameHere TypeDateHere
Private user identityIM subscription
Public user identity 1 (e.g. SIP URL)
Public user identity 2 (e.g. E.164)
Public user identity 3. . .
74Internet Telephony
Roles of CSCF
Call State Control Function SIP proxy servers
Proxy CSCF The first contact point within the IM
subsystem Forward the SIP register requests from the UE
to an I-CSCF Forward the SIP messages from the UE to the
S-CSCF CDR FFS
Authorization, QoS management, security
75Internet Telephony
Interrogating CSCF The contact point within an operator’s
network Assign an S-CSCF to a user performing SIP
Reg Obtain from HSS the address of the S-CSCF Forward SIP messages to the S-CSCF Forward SIP messages to the MGCF CDR FFS
Inter-operator security
76Internet Telephony
Serving CSCF Perform the session control services A registrar Interaction with Services Platforms On behalf of an originating endpoint On behalf of an destination endpoint CDR FFS
Security issues
77Internet Telephony
Registration Information Flow
P-CSCF HSS
1. REGISTER
UE
Visited Network Home Network
7. Continuation of registration
I-CSCF
5. Cx-Select-Pull
6. Cx-Select-Pull- Resp
3. Cx-Query
4. Cx-Query-Resp
2 REGISTER
78Internet Telephony
Registration
P-CSCF HSSI-CSCF
5. Cx-Pull
6. Cx-Pull Resp
2. Register
S-CSCFUE
Visited Network Home Network
7. 200 OK
8. 200 OK9. 200 OK
1. S-CSCF selection
3. Cx-put
4. Cx-put Resp
79Internet Telephony
Call flow
3. INVITE
21. Ringing
S-CSCF#1 S-CSCF#2
10. SDP
16. Success
27. 200 OK
13. Final SDP
31. ACK
I-CSCF HSS
4. Location Query5. Response
6. INVITE
11. SDP
1. INVITE
12. SDP
8. INVITE
9. SDP
19. Ringing
24. Ringing
25. 200 OK
30. 200 OK
Home NetworkOriginating Network Terminating Network
22. Ringing
28. 200 OK
2. Service Control
7. Service Control
20. Service Control
23. Service Control
26. Service Control
29. Service Control
17. Resource Reservation Successful18. Success
14. Final SDP15. Final SDP
32. ACK33. ACK
80Internet Telephony
3. INVITE
21. Ringing
S-CSCF#1 S-CSCF#2
10. SDP
16. Success
27. 200 OK
13. Final SDP
31. ACK
I-CSCF HSS
4. Location Query5. Response
6. INVITE
11. SDP
1. INVITE
12. SDP
8. INVITE
9. SDP
19. Ringing
24. Ringing
25. 200 OK
30. 200 OK
Home NetworkOriginating Network Terminating Network
22. Ringing
28. 200 OK
2. Service Control
7. Service Control
20. Service Control
23. Service Control
26. Service Control
29. Service Control
17. Resource Reservation Successful18. Success
14. Final SDP15. Final SDP
32. ACK33. ACK
81Internet Telephony
Different Kinds of CSCFs
P-SCSFP-SCSFVisited B
S-CSCFS-CSCF
Home A
1
2
7
10
11 12
13
15
17
P-CSCFP-CSCFVisited A
18
AB
GGSNGGSNSGSNSGSN
Radio Access NetworkRadio Access Network
GGSNGGSNSGSNSGSN
Radio Access NetworkRadio Access Network
S-CSCFS-CSCF
Home B
8
I-CSCFI-CSCF
HSSHSS
9
14
6
34
I-CSCFI-CSCF
HSSHSS
5
16
82Internet Telephony
Interwork with PSTN
1. IAM
11. IP-ACM
2. IP-IAM
PSTN T-SGW MGW
6. Final SDP
10. Ringing
14. IP-ANM15. ANM
9. Success
17. ACK
MGCF
4. INVITE
5. SDP
13. 200 OK
12. ACM
Home Network
16. H.248 interaction tomodify connectionto start media flow
3. H.248 interaction tocreate connection
7. H.248 interaction tomodify connection
to reserve resources
8. ResourceReservation
83Internet Telephony
1. IAM
11. IP-ACM
2. IP-IAM
PSTN T-SGW MGW
6. Final SDP
10. Ringing
14. IP-ANM15. ANM
9. Success
17. ACK
MGCF
4. INVITE
5. SDP
13. 200 OK
12. ACM
Home Network
16. H.248 interaction tomodify connectionto start media flow
3. H.248 interaction tocreate connection
7. H.248 interaction tomodify connection
to reserve resources
8. ResourceReservation