1 Internet Telephony
The Session Description Protocol
The Most Common Message Body
Be session information describing the media to be exchanged between the parties
SDP, RFC 2327 (initial publication)
SIP uses SDP in an answer/offer mode.
An agreement between the two parties as to the types of media they are willing to share
RFC 3264 (An Offer/Answer Model with SDP)
To describe how SDP and SIP should be used together
2 Internet Telephony
The Structure of SDP
SDP simply provides a format for describing session information to potential session
participants.
Text-based Protocol
The Structure of SDP
Session Level Info
Name of the session
Originator of the session
Time that the session is to be active
Media Level Info
Media type
Port number
Transport protocol
Media format
3 Internet Telephony
SDP Syntax
A number of lines of text
In each line
field=value
field is exactly one character (case-significant)
Session-level fields
Media-level fields
Begin with media description field (m=)
4 Internet Telephony
Mandatory Fields
v=(protocol version)
o=(session origin or creator)
s=(session name), a text string
For multicast conference
t=(time of the session), the start time and stop time
For pre-arranged multicast conference
m=(media)
Media type
The transport port
The transport protocol
The media format, an RTP payload format
5 Internet Telephony
Optional Fields [1/3]
Some optional fields can be applied at both session and media levels.
The value applied at the media level overrides that at the session level
i=(session information)
A text description
At both session and media levels
It would be somewhat superfluous, since SIP already supports the Subject header.
u=(URI of description)
Where further session information can be obtained
Only at session level
6 Internet Telephony
Optional Fields [2/3]
e=(e-mail address)
Who is responsible for the session
Only at the session level
p=(phone number)
Only at the session level
c=(connection information)
Network type, address type and connection address
At session or media level
b=(bandwidth information)
In kilobits per second
At session or media level
7 Internet Telephony
Optional Fields [3/3]
r=(repeat times)
For regularly scheduled session a session is to be repeated
How often and how many times
z=(timezone adjustments)
For regularly scheduled session
Standard time and daylight savings time
k=(encryption key)
An encryption key or a mechanism to obtain it for the purposes of encrypting and decrypting the media
At session or media level
a=(attributes)
Describe additional attributes
8 Internet 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)
9 Internet Telephony
Subfields [1/3]
Field = <value of subfield1> <value of subfield2>
<value of subfield3>.
Origin
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
10 Internet Telephony
Subfields [2/3]
Connection Data
The network and address at which media data will be received
Network type
Address type
Connection address
Media Information
Media type
Audio, video, data, or control
Port
Format
List the various types of media format that can be supported
According to the RTP audio/video profile
m= audio 45678 RTP/AVP 15 3 0
G.728, GSM, G.711
11 Internet Telephony
Subfields [3/3]
Attributes
To enable additional information to be included
Property attribute
a=sendonly
a=recvonly
value attribute
a=orient:landscape used in a shared whiteboard session
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
16-bit linear encoded stereo (2 channels) audio sampled at 16kHz
12 Internet Telephony
Usage of SDP with SIP
SIP and SDP make a wonderful partnership for the transmission of session information.
SIP provides the messaging mechanism for the establishment of multimedia sessions.
SDP provides a structured language for describing the sessions.
The entity headers identifies the message body.
13 Internet Telephony
SIP Inclusion in SIP Messages
Fig 5-15
G.728 is selected
INVITE with multiple media streams
Unsupported should also be returned with a port number of zero
An alternative
INVITE
m=audio 4444 RTP/AVP 2 4 15 a=rtpmap 2 G726-32/8000 a=rtpmap 4 G723/8000 a=rtpmap 15 G728/8000
CONNECT
m=audio 6666 RTP/AVP 15 a=rtpmap 15 G728/8000
16 Internet Telephony
SIP and SDP Offer/Answer Model
Re-INVITE is issued when the server replies with more than one codec.
With the same dialog identifier (To and From headers, including tag values), Call-ID and Request-URI
The session version is increased by 1 in o= line of message body.
A mismatch
488 or 606
Not Acceptable
A Warning header with warning code 304 (media type not available) or 305 (incompatible media type)
Then the caller issues a new INVITE request.
19 Internet Telephony
Determine the capabilities of a potential called party
Accept Header
Indicate the type of information that the sender hopes to receive
Allow Header
Indicate the SIP methods that Boss can handle
Supported Header
Indicate the SIP extensions that can be supported
OPTIONS Method
21 Internet Telephony
SIP Extensions and Enhancements
RFC 2543, March 1999
SIP has attracted enormous interest.
Traditional telecommunications companies, cable TV providers and ISP
A large number of extensions to SIP have been proposed.
SIP will be enhanced considerably before it
becomes an Internet standard.
22 Internet Telephony
183 Session Progress
It has been included within the revised SIP spec.
To open one-way audio path from called end to calling end
From the called party to calling party
Enable in-band call progress information to be transmitted
Tones or announcements
Interworking with SS7 network
ACM (Address Complete Message)
For SIP-PSTN-SIP connections
23 Internet Telephony
The Supported Header
The Require Header
In request
A client indicates that a server must support certain extension.
In response
421, extension required
The Supported header
RFC 2543 – Require: header (client -> server)
420 (bad extension) – server -> client
Can be included in both requests and responses
24 Internet Telephony
SIP INFO Method
Be specified in RFC 2976
For transferring information during an ongoing session
DTMF digits, account-balance information, mid-call signaling information (from PSTN)
Application-layer information could be transferred in the middle of a call.
A powerful, flexible tool to support new
services
25 Internet Telephony
SIP Event Notification
Several SIP-based
applications have been
devised based on the concept of a user being informed of some event.
E.g., Instant messaging
RFC 3265 has addressed the issue of event notification.
SUBSCRIBE and NOTIFY
The Event header
26 Internet Telephony
SIP for Instant Messaging
The IETF working group – SIP for Instant
Messaging and Presence Leveraging Extensions (SIMPLE)
A new SIP method – MESSAGE
This request carries the actual message in a message body.
A MESSAGE request does not establish a SIP dialog.
29 Internet Telephony
SIP REFER Method
To enable the sender of the request to instruct the receiver to contact a third party
With the contact details for the third party included within the REFER request
For Call Transfer applications
The Refer-to: and Refer-by: Headers
The dialog between Mary and Joe remains established.
Joe could return to the dialog after consultation with Susan.
32 Internet 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 to relay an announcement such as
“The number you have called has been changed”
If the provisional response is lost, the called might left in the dark and not understand why the call did not connect.
RFC 3262
Reliability of Provisional Responses in SIP
Supported: 100rel
RSeq Header
Response Seq
+1, when retxm
RAck Header
Response ACK
In PRACK
RSeq+CSeq
PRACK
Prov. Resp. ACK
Should not
Apply to 100
Default timer value = 0.5 s
35 Internet Telephony
The SIP UPDATE Method
To enable the modification of session
information before a final response to an INVITE is received
E.g., to change the codec
One important usage is when reserving
network resources as part of a SIP session
establishment
36 Internet Telephony
Integration of SIP Signaling and Resource Management [1/2]
Ensuring that sufficient resources are available to handle a media stream is a very important.
To provide a high-quality service for a carrier-grade network
The signaling might take a different path from the media.
The successful transfer of signaling messages does not imply to a successful transfer of media.
Assume resource-reservation mechanisms are available (Chapter 8)
On a per-session basis
End-to-end network resources are reserved as part of session establishment.
On an aggregate basis
A certain amount of network resources are reserved in advance for a certain type of usage.
Policing functions at the edge of the network
Integration of SIP Signaling and Resource Management [2/2]
Reserving network
resources in advance of altering the called user
A new draft –
“Integration of Resource Management and SIP”
By using the provisional responses and UPDATE method
By involving extensions to SDP
38 Internet Telephony
Example of e2e Resource Reservation [1/2]
SDP for initial INVITE
v=0o=userA 45678 001 IN IP4 stationA.network.com s=c=IN IP4 stationA.nework.com
t=0 0
m=audio 4444 RTP/AVP 0 a=curr: qos e2e none
a=des: qos mandatory e2e sendrecv
SDP for 183 response
v=0o=userB 12345 001 IN IP4 stationB.network.com s=c=IN IP4 stationB.nework.com
t=0 0
m=audio 6666 RTP/AVP 0 a=curr: qos e2e none
a=des: qos mandatory e2e sendrecv a=conf: qos e2e recv
39 Internet Telephony
Example of e2e Resource Reservation [2/2]
SDP for UPDATE
v=0o=userA 45678 001 IN IP4 stationA.network.com s=c=IN IP4 stationA.nework.com
t=0 0
m=audio 4444 RTP/AVP 0 a=curr: qos e2e send
a=des: qos mandatory e2e sendrecv
SDP for 200 response
v=0o=userB 12345 001 IN IP4 stationB.network.com s=c=IN IP4 stationB.nework.com
t=0 0
m=audio 6666 RTP/AVP 0 a=curr: qos e2e sendrecv
a=des: qos mandatory e2e sendrecv
Example of Aggregate- based Reservation
Each participant deals with network access permission at its own end.
41 Internet Telephony
Usage of SIP for Features/Services
Call-transfer application (with REFER method)
Personal Mobility through the use of registration
One number service through forking proxy
Call-completion services by using Retry-After: header
To carry MIME content as well as an SDP description
SIP address is a URL
Click-to-call applications
The existing supplementary services in traditional telephony
Call waiting, call forwarding, multi-party calling, call screening
Proxy invokes various types of advanced feature logic.
Policy server (call-routing, QoS)
Authentication server
Use the services of an IN SCP over INAP
Call Forwarding
On busy
486, busy here
With the same To, User 3 can recognize that this call is a forwarded call,
originally sent to User 2.
Contact: header in 200 response
Call-forwarding-on-no- answer
Timeout
CANCEL method
Consultation Hold
A SIP UPDATE
User A asks User B a question, and User B
need to check with User C for the correct answer.
User B could use the REFER method to
transfer the call to User
C.
PSTN Interworking
PSTN Interworking
A SIP URL to a telephone number
A network gateway
PSTN – SIP – PSTN
MIME media types
For ISUP
SIP for Telephony (SIP-T)
The whole issue of
interworking with SS7 is
fundamental to the success of VoIP in the real world.
45 Internet Telephony
Interworking with H.323
SIP-H.323 interworking gateway
49 Internet Telephony
Summary
The future for signaling in VoIP networks
Simple, yet flexible
Easier to implement
Fit well with the media gateway control protocols
SIP is the protocol of choice for the evolution of third-generation wireless networks.
SIP-based mobile devices will become available