An SDP session description consists of a number of lines of text of the form:
<type>=<value>
<type> is always exactly one character and is case-significant. <value> is a structured text string whose format depends on <type>. In general <value> is either a number of fields delimited by a single space character or a free format string.
A session description consists of a session-level description (details that apply to the whole session and all media streams) and optionally several media-level descriptions (details that apply only to a single media stream). The session-level part starts with a `v=' line and continues to the first media-level section. The media description starts with an `m=' line and continues to the next media description or to the end of the whole session description. In general, session-level values are the default for all media unless overridden by an equivalent media-level value.
The individual fields have the following meanings, and must be in this order, with ``*'' indicating an optional field:
. . v= Protocol Version o= The Owner/Creator and Session Identifier s= Session Name i=* Session Information u=* URI of description e=* Email Address p=* Phone Number c=* Connection Information b=* Bandwidth Information One or more time descriptions z=* Time Zone Adjustments k=* Encryption Key a=* zero or more Session Attributes Zero or more media descriptionsEach time description consists of a ``t='' field, optionally followed by one or more ``r='' fields.
. . t= Time the Session is Active r=* zero or more Repeat TimesEach media description consists of a ``m'' field, with other optional fields providing additional information:
. . m= Media Name and Transport Address i=* Media Title c=* Connection Information b=* Bandwidth Information k=* Encryption Key a=* zero or more Media AttributesThe connection (`c=') and attribute (`a=') information in the session-level section applies to all the media of that session unless overridden by connection information or an attribute of the same name in the media description. For instance, in figure 6.1, all the media inherited the multicast address 224.2.17.12.
The main way to extend SDP, other than by registering new codecs through the MIME registry, is by using attributes. Adding new SDP fields to the list above is not possible without revising the SDP protocol specification.
Next: SDP: Summary
Up: Session Description Protocol (SDP)
Previous: Media Descriptions
Jon CROWCROFT
1998-12-03