Session Description Protocol

From Wikipedia, the free encyclopedia

Jump to: navigation, search

Session Description Protocol (SDP) is a format for describing streaming media initialization parameters in an ASCII string. The IETF published the original specification as an IETF Proposed Standard in April 1998[1], and subsequently published a revised specification as an IETF Proposed Standard as RFC 4566 in July 2006.[2]

SDP is intended for describing multimedia communication sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation. SDP does not provide the content of the media form itself but simply provides a negotiation between two end points to allow them to agree on a media type and format. This allows SDP to support upcoming media types and formats, enabling systems based on this technology to be forward compatible.

SDP started off as a component of the Session Announcement Protocol (SAP), but found other uses in conjunction with RTP, RTSP, SIP and just as a standalone format for describing multicast sessions.

There are five terms related to SDP:

  1. Conference: It is a set of two or more communicating users along with the software they are using.
  2. Session : Session is the multimedia sender and receiver and the flowing stream of data.
  3. Session Announcement: A session announcement is a mechanism by which a session description is conveyed to users in a proactive fashion, i.e., the session description was not explicitly requested by the user.
  4. Session Advertisement : same as session announcement
  5. Session Description : A well defined format for conveying sufficient information to discover and participate in a multimedia session.

A session is described by a series of attribute/value pairs, one per line. The attribute names are single characters, followed by '=', and a value. Optional values are specified with '=*'. Values are either an ASCII string, or a sequence of specific types separated by spaces. Not that attribute names are only unique within the associated syntactic construct, i.e. within the Session, Time, or Media only. Below is an overview of the syntax of SDP, please note that these attributes may not be exhaustive and new attributes are added to the RFC regularly[1]

     Session description
        v=  (protocol version)
        o=  (originator and session identifier)
        s=  (session name)
        i=* (session information)
        u=* (URI of description)
        e=* (email address)
        p=* (phone number)
        c=* (connection information -- not required if included in
             all media)
        b=* (zero or more bandwidth information lines)
        One or more time descriptions ("t=" and "r=" lines; see below)
        z=* (time zone adjustments)
        k=* (encryption key)
        a=* (zero or more session attribute lines)
        Zero or more media descriptions
     Time description
        t=  (time the session is active)
        r=* (zero or more repeat times)
     Media description, if present
        m=  (media name and transport address)
        i=* (media title)
        c=* (connection information -- optional if included at
             session level)
        b=* (zero or more bandwidth information lines)
        k=* (encryption key)
        a=* (zero or more media attribute lines)

[edit] References

  1. ^ Handley, Mark; Van Jacobson (1998-04). "SDP: Session Description Protocol (RFC 2327)". IETF. Retrieved on 2008-04-19.
  2. ^ Handley, Mark; Van Jacobson, Colin Perkins (2006-07). "SDP: Session Description Protocol (RFC 4566)". IETF. Retrieved on 2008-04-19.


Personal tools