450 likes | 869 Views
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.
E N D
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