830 likes | 1.25k Views
2. Introduction. A powerful alternative to H.323More flexible, simplerEasier to implementAdvanced featuresBetter suited to the support of intelligent user devicesA part of IETF multimedia data and control architectureSDP, RTSP (Real-Time Streaming Protocol), SAP (Session Announcement Protocol)
E N D
1. Session Initiation Protocol (SIP) Chapter 5
2. 2 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)
3. 3 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
4. 4 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
5. 5 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
6. 6 Four types of servers
Proxy servers
Handle requests or forward requests to other servers
Can be used for call forwarding
7. 7 Redirect servers
Map the destination address to zero or more new addresses
Do not initiate any SIP requests
8. 8 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
9. 9 SIP Call Establishment It is simple
A number of interim responses
10. 10 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
11. 11 Call Completion to Busy Subscriber service
12. 12 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
13. 13 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
14. 14 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
15. 15 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
16. 16 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
17. 17 “One number” service
18. 18 SIP Addressing SIP URLs (Uniform Resource Locators)
user@host
E.g.,
sip:collins@home.net
sip:3344556789@telco.net
Supplement the URL
sip:3344556789@telco.net;user=phone
19. 19 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
20. 20 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
21. 21 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
22. 22 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
23. 23 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:
*
24. 24 Invitation A two-party call
Subject:
optional
Content-Type:
application/sdp
25. 25
26. 26 Termination of a Call Cseq:
Has changed
27. 27 Redirect Servers An alternative address
302, Moved temporarily
Another INVITE
Same Call-ID
Cseq ++
28. 28 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
29. 29
30. 30 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
31. 31 Forking Proxy “fork” requests
A user is registered at several locations
;branch=xxx
32. 32
33. 33 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
34. 34 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=)
35. 35 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
36. 36 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
37. 37 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
38. 38 k=(encryption key)
An encryption key or a mechanism to obtain it
At session or media level
a=(attributes)
Describe additional attributes
39. 39 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)
40. 40 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
41. 41 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
42. 42 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
43. 43 Usage of SDP with SIP SIP for the establishment of multimedia sessions
SDP – a structured language for describing the sessions
The entity header
44. 44 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
45. 45
46. 46 Options Method
Determine the capabilities of a potential called party
47. 47 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
48. 48 Call Forwarding On busy
486, busy here
49. 49 Consultation Hold C=0
An address
50. 50
51. 51 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
52. 52 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
53. 53 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
54. 54 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
55. 55
56. 56 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
57. 57 RSeq
Response seq
+1, when retxm
Rack
Response ACK
PRACK
Prov Resp ACK
Should not
Apply to 100
58. 58
59. 59 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
60. 60 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
61. 61
62. 62 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
63. 63
64. 64 Interworking with H.323 An Internet draft
SIP-H.323 interworking gateway
65. 65
66. 66
67. 67
68. 68
69. 69 Summary The future for signaling in VoIP networks
Simple, yet flexible
Easier to implement
Fit well with the media gateway control protocols
70. 70 Reference Architecture of R00
71. 71 Support of Roaming Subscribers via the service platform in the Home Network
via an external service platform
72. 72 UE Accessing IM Subsystem Services In the visited network
73. 73 Public and Private Identities One private user identity
IMSI within a NAI
One or more public user identities
74. 74 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
75. 75 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
76. 76 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
77. 77 Registration Information Flow
78. 78 Registration
79. 79 Call flow
80. 80
81. 81 Different Kinds of CSCFs
82. 82 Interwork with PSTN
83. 83