Session Description Protocol

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Internet Protocol Suite
Application Layer

BGP · DHCP · DNS · FTP · HTTP · IMAP · IRC · LDAP · MGCP · NNTP · NTP · POP · RIP · RPC · RTP · SIP · SMTP · SNMP · SSH · Telnet · TLS/SSL · XMPP ·

(more)
Transport Layer

TCP · UDP · DCCP · SCTP · RSVP · ECN ·

(more)
Internet Layer

IP (IPv4, IPv6) · ICMP · ICMPv6 · IGMP · IPsec ·

(more)
Link Layer
ARP/InARP · NDP · OSPF · Tunnels (L2TP) · PPP · Media Access Control (Ethernet, DSL, ISDN, FDDI) · (more)

The Session Description Protocol (SDP) is a format for describing streaming media initialization parameters. 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 parameter negotiation. SDP does not deliver media itself but is used for negotiation between end points of media type, format, and all associated properties. The set of properties and parameters are often called a session profile. SDP is designed to be extensible to support new media types and formats.

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

Contents

[edit] Terms related to SDP

[edit] Session description

A session is described by a series of fields, one per line. With each line separated from the next by a carriage return/line feed sequence (implementations are allowed to relax this to a newline character). The form of each field is a single character name, followed by an unpadded '=', and then a value. The value is structured text whose format depends upon attribute type. Values are typically a UTF8 encoding. However, 'session information' and 'session name' values are subject to the encoding specified in any 'charset' attribute of the section.

Within an SDP message there are three main sections, detailing the Session, Timing, and Media descriptions. Each message may contain more than one Timing and Media description. Names are only unique within the associated syntactic construct, i.e. within the Session, Time, or Media. [3]

Optional values are specified with '=*' and each field must appear in the order shown below.

     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] Attributes

SDP uses attributes to extend the core protocol. Attributes can appear within the Session or Media sections and are scoped accordingly as 'session-level' or 'media-level'. New attributes are added to the standard occasionally through registration with IANA[4]. Attributes take two forms:

[edit] Time Formats

Absolute times are represented as Network Time Protocol (the number of seconds since 1900). Intervals can be represented with Network Time Protocol times or in typed time: a value and time units (days ('d'), hours ('h'), minutes ('m') and seconds ('s')) sequence.

Thus an hour meeting from 10am on 1st August 2010, with a single repeat time a week later at the same time can be represented as:

        t=3487140000 3487143600
        r=604800 3600 0

Or using typed time:

        t=3487140000 3487143600
        r=7d 3600 0

[edit] References

  1. ^ Handley, Mark; Van Jacobson (1998-04). "SDP: Session Description Protocol (RFC 2327)". IETF. http://tools.ietf.org/html/rfc2327. Retrieved 2008-04-19. 
  2. ^ Handley, Mark; Van Jacobson, Colin Perkins (2006-07). "SDP: Session Description Protocol (RFC 4566)". IETF. http://tools.ietf.org/html/rfc4566. Retrieved 2008-04-19. 
  3. ^ An In-Depth Overview of SDP
  4. ^ Internet Assigned Numbers Authority SDP site

[edit] External links

Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages