You are on page 1of 29

SDP

 Session Description Protocol (SDP)


 an application-layer protocol intended to describe
multimedia sessions
 a text-based protocol
 when describing a session the caller and callee
indicate their respective "receive" capabilities,
media formats and receive address/port
 capability exchange can be performed
 during session set-up or
 during the session itself (while the session is in
progress)
9.1 SDP message contents
9.2 SDP message format
9.3 Selected SDP lines
9.1 SDP message contents
 An SDP message contains three levels of information
 Session-level description
 includes the session identifier and other session
level parameters, such as the IP address, subject,
contact info about the session and/or creator
 Timing description
 start and stop times, repeat times, one or more
media-level descriptions
 Media type and format
 transport protocol and port number, other media-
level parameters
 The three levels of information must appear in the
order described above
 The SDP message is a collection of SDP lines
9.1.1 Session description
9.1.2 Time description
9.1.3 Media description
9.1.1 Session description
 Table 9.1 lists all the session-level description lines
and indicates their mandate and the letter used as the
line name
9.1.2 Time description
 Table 9.2 lists all the time-level description lines and
indicates their mandate and the letter used as the line
name
9.1.3 Media description
 Table 9.3 lists all the media-level description lines and
indicates their mandate and the letter used as the line
name
9.2 SDP message format
 The SDP syntax is very strict and all lines follow the
same format
 Every SDP line has the format
<character>=<value>
value=parameter1 parameter2 . . . parameterN
 Each SDP line ends with a carriage return line feed
(CRLF) and each line has a defined number of
parameters
9.3 Selected SDP lines
9.3.1 Protocol version line
9.3.2 Connection information line
9.3.3 Media line
9.3.4 Attribute line
9.3.5 The rtpmap attribute
9.3.1 Protocol version line
 The SDP protocol version is 0 and, therefore, the v-line
in an SDP message must always be set to 0
v=0
9.3.2 Connection information line
 The c-line must be either present at the session level or
media level
 It must be present at the media level if it is not present
at the session level
 If it is present at both levels, then media-level
connection information overrides session-level
information
c=<network type> <address type> <network address>
 The c-line has three parameters
 network type
 the only currently defined network type is the
Internet
 the value appears as "IN"
 address type
 there are two address types, IP4 or IP6
 network address
 this parameter identifies the IP address or domain
name where media are received
9.3.3 Media line
 The m-line carries information about the media,
including transport information
 The syntax is as follows
m=<media> <port> <transport> <format-list>
 The m-line has four parameters
 Media
 the type of media (e.g., audio, video, game)
 Port
 contains the port number where these media can
be received
 Transport
 the transport protocol to use, either the User
Datagram Protocol (UDP) or Real-time
Transport Protocol Audio and Video Profile
(RTP/AVP)
 Format-list
 contains more information about the media,
usually payload types defined in RTP/AVPs
 If the transport is RTP/AVP, then the port number for
the RTP Control Protocol (RTCP) = RTP port + 1
 RTCP is assumed to be sent whenever RTP is carrying
the media
 The RTP port number must always be an even number
and, therefore, the RTCP port is an odd number
9.3.4 Attribute line
 The a-line defines the attributes of the media
 Attributes can be session-level attributes, media-level
attributes or both
 Attribute interpretation depends on the media tool
being invoked
 Syntax
a=<attribute field> [" : "<attribute value>]
 attribute field
 contains the name of the attribute.
 attribute value
 optional, if present is separated from the attribute
field by a colon
 Table 9.4 shows a list of the most commonly used
attributes
9.3.5 The rtpmap attribute
 For RTP-transported media, SDP can be used to bind a
media-encoding codec to the media's RTP payload type
 this is done using a payload-type number
 Payload types
 static payload types
 the payload-type number is sufficient for the
binding
 the payload-type number is carried in the format-
list parameter of the media line
 dynamic payload types
 the payload-type number is not sufficient and
additional encoding information is needed
 this is achieved using the rtpmap attribute
 Syntax of the rtpmap attribute

a=rtpmap: <payload type> <encoding name>/<clock rate>[/<encoding parameters>]

 payload type
 carries the payload-type number as indicated in
the m-line
 encoding name
 the codec name
 clock rate
 bits per second
 encoding parameters
 media-specific parameters, including the number
of channels, but not codec-specific parameters

You might also like