SDP o Session Description Protocol SDP n an

  • Slides: 29
Download presentation
SDP

SDP

o Session Description Protocol (SDP) n an application-layer protocol intended to describe multimedia sessions

o Session Description Protocol (SDP) n an application-layer protocol intended to describe multimedia sessions n a text-based protocol n when describing a session the caller and callee indicate their respective "receive" capabilities, media formats and receive address/port

n capability exchange can be performed o during session set-up or o during the

n capability exchange can be performed o during session set-up or o during the session itself (while the session is in progress)

9. 1 SDP message contents 9. 2 SDP message format 9. 3 Selected SDP

9. 1 SDP message contents 9. 2 SDP message format 9. 3 Selected SDP lines

9. 1 SDP message contents o An SDP message contains three levels of information

9. 1 SDP message contents o An SDP message contains three levels of information n Session-level description o includes the session identifier and other session level parameters, such as the IP address, subject, contact info about the session and/or creator n Timing description o start and stop times, repeat times, one or more media-level descriptions

n Media type and format o transport protocol and port number, other medialevel parameters

n Media type and format o transport protocol and port number, other medialevel parameters o The three levels of information must appear in the order described above o The SDP message is a collection of SDP lines

9. 1. 1 Session description 9. 1. 2 Time description 9. 1. 3 Media

9. 1. 1 Session description 9. 1. 2 Time description 9. 1. 3 Media description

9. 1. 1 Session description o Table 9. 1 lists all the session-level description

9. 1. 1 Session description o 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 o Table 9. 2 lists all the time-level description

9. 1. 2 Time description o 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 o Table 9. 3 lists all the media-level description

9. 1. 3 Media description o 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 o The SDP syntax is very strict and all

9. 2 SDP message format o The SDP syntax is very strict and all lines follow the same format o Every SDP line has the format <character>=<value> value=parameter 1 parameter 2. . . parameter. N o 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

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 o The SDP protocol version is 0 and,

9. 3. 1 Protocol version line o 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 o The c-line must be either present at

9. 3. 2 Connection information line o The c-line must be either present at the session level or media level o It must be present at the media level if it is not present at the session level o If it is present at both levels, then media-level connection information overrides session-level information c=<network type> <address type> <network address>

o The c-line has three parameters n network type o the only currently defined

o The c-line has three parameters n network type o the only currently defined network type is the Internet o the value appears as "IN" n address type o there are two address types, IP 4 or IP 6 n network address o this parameter identifies the IP address or domain name where media are received

9. 3. 3 Media line o The m-line carries information about the media, including

9. 3. 3 Media line o The m-line carries information about the media, including transport information o The syntax is as follows m=<media> <port> <transport> <format-list> o The m-line has four parameters n Media o the type of media (e. g. , audio, video, game) n Port o contains the port number where these media can be received

n Transport o the transport protocol to use, either the User Datagram Protocol (UDP)

n Transport o the transport protocol to use, either the User Datagram Protocol (UDP) or Real-time Transport Protocol Audio and Video Profile (RTP/AVP) n Format-list o contains more information about the media, usually payload types defined in RTP/AVPs

o If the transport is RTP/AVP, then the port number for the RTP Control

o If the transport is RTP/AVP, then the port number for the RTP Control Protocol (RTCP) = RTP port + 1 o RTCP is assumed to be sent whenever RTP is carrying the media o The RTP port number must always be an even number and, therefore, the RTCP port is an odd number

9. 3. 4 Attribute line o The a-line defines the attributes of the media

9. 3. 4 Attribute line o The a-line defines the attributes of the media o Attributes can be session-level attributes, media-level attributes or both o Attribute interpretation depends on the media tool being invoked

o Syntax a=<attribute field> [" : "<attribute value>] n attribute field o contains the

o Syntax a=<attribute field> [" : "<attribute value>] n attribute field o contains the name of the attribute. n attribute value o optional, if present is separated from the attribute field by a colon o Table 9. 4 shows a list of the most commonly used attributes

9. 3. 5 The rtpmap attribute o For RTP-transported media, SDP can be used

9. 3. 5 The rtpmap attribute o For RTP-transported media, SDP can be used to bind a media-encoding codec to the media's RTP payload type n this is done using a payload-type number o Payload types n static payload types o the payload-type number is sufficient for the binding o the payload-type number is carried in the formatlist parameter of the media line

n dynamic payload types o the payload-type number is not sufficient and additional encoding

n dynamic payload types o the payload-type number is not sufficient and additional encoding information is needed o this is achieved using the rtpmap attribute

o Syntax of the rtpmap attribute a=rtpmap: <payload type> <encoding name>/<clock rate>[/<encoding parameters>] n

o Syntax of the rtpmap attribute a=rtpmap: <payload type> <encoding name>/<clock rate>[/<encoding parameters>] n payload type o carries the payload-type number as indicated in the m-line n encoding name o the codec name

n clock rate o bits per second n encoding parameters o media-specific parameters, including

n clock rate o bits per second n encoding parameters o media-specific parameters, including the number of channels, but not codec-specific parameters