This framework uses the "group" and "mid" SDP attributes, both of which are defined in this specification. Additionally, we specify how to use the framework for two different purposes: for lip synchronization and for receiving a media flow consisting of several media streams on different transport addresses. This document obsoletes RFC It represents the consensus of the IETF community. All rights reserved. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.
|Published (Last):||1 April 2007|
|PDF File Size:||13.83 Mb|
|ePub File Size:||20.2 Mb|
|Price:||Free* [*Free Regsitration Required]|
Please refer to the current edition of the "Internet Official Protocol Standards" STD 1 for the standardization state and status of this protocol. Distribution of this memo is unlimited. SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation.
Table of Contents 1. Glossary of Terms Examples of SDP Usage Session Initiation Streaming Media Email and the World Wide Web Multicast Session Announcement Requirements and Recommendations Media and Transport Information Timing Information Private Sessions Obtaining Further Information about a Session SDP Specification SDP Attributes Security Considerations IANA Considerations Registration of Parameters Media Types "media" Transport Protocols "proto" Media Formats "fmt" Attribute Names "att-field" Bandwidth Specifiers "bwtype" Network Types "nettype" Address Types "addrtype" Registration Procedure Encryption Key Access Methods SDP Grammar Summary of Changes from RFC Normative References Informative References Introduction When initiating multimedia teleconferences, voice-over-IP calls, streaming video, or other sessions, there is a requirement to convey media details, transport addresses, and other session description metadata to the participants.
SDP provides a standard representation for such information, irrespective of how that information is transported.
SDP is purely a format for session description -- it does not incorporate a transport protocol, and it is intended to use different transport protocols as appropriate, including the Session Announcement Protocol [ 14 ], Session Initiation Protocol [ 15 ], Real Time Streaming Protocol [ 16 ], electronic mail using the MIME extensions, and the Hypertext Transport Protocol.
SDP is intended to be general purpose so that it can be used in a wide range of network environments and applications. However, it is not intended to support negotiation of session content or media encodings: this is viewed as outside the scope of session description.
Section 10 outlines the changes introduced in this memo. Glossary of Terms The following terms are used in this document and have specific meaning within the context of this document. Conference: A multimedia conference is a set of two or more communicating users along with the software they are using to communicate.
Session: A multimedia session is a set of multimedia senders and receivers and the data streams flowing from senders to receivers. A multimedia conference is an example of a multimedia session. Session Description: A well-defined format for conveying sufficient information to discover and participate in a multimedia session. Handley, et al. Examples of SDP Usage 3. Session Initiation The Session Initiation Protocol SIP [ 15 ] is an application-layer control protocol for creating, modifying, and terminating sessions such as Internet multimedia conferences, Internet telephone calls, and multimedia distribution.
The SIP messages used to create sessions carry session descriptions that allow participants to agree on a set of compatible media types. These session descriptions are commonly formatted using SDP. RTSP provides an extensible framework to enable controlled, on-demand delivery of real-time data, such as audio and video.
An RTSP client and server negotiate an appropriate set of parameters for media delivery, partially using SDP syntax to describe those parameters. This enables the automatic launching of applications for participation in the session from the WWW client or mail reader in a standard manner. Note that announcements of multicast sessions made only via email or the WWW do not have the property that the receiver of a session announcement can necessarily receive the session because the multicast sessions may be restricted in scope, and access to the WWW server or reception of email is possible outside this scope.
Multicast Session Announcement In order to assist the advertisement of multicast multimedia conferences and other multicast sessions, and to communicate the relevant session setup information to prospective participants, a distributed session directory may be used. An instance of such a session directory periodically sends packets containing a description of the session to a well-known multicast group. These advertisements are received by other session directories such that potential remote participants can use the session description to start the tools required to participate in the session.
SDP provides the recommended session description format for such session announcements. Requirements and Recommendations The purpose of SDP is to convey information about media streams in multimedia sessions to allow the recipients of a session description to participate in the session.
SDP is primarily intended for use in an internetwork, although it is sufficiently general that it can describe conferences in other network environments. Media streams can be many-to-many. Sessions need not be continually active. Thus far, multicast-based sessions on the Internet have differed from many other forms of conferencing in that anyone receiving the traffic can join the session unless the session traffic is encrypted. In such an environment, SDP serves two primary purposes. It is a means to communicate the existence of a session, and it is a means to convey sufficient information to enable joining and participating in the session.
In a unicast environment, only the latter purpose is likely to be relevant. An SDP session description includes the following: o Session name and purpose o Time s the session is active o The media comprising the session o Information needed to receive those media addresses, ports, formats, etc.
As resources necessary to participate in a session may be limited, some additional information may also be desirable: o Information about the bandwidth to be used by the session o Contact information for the person responsible for the session In general, SDP must convey sufficient information to enable applications to join a session with the possible exception of encryption keys and to announce the resources to be used to any non-participants that may need to know.
This latter feature is primarily useful when SDP is used with a multicast session announcement protocol. Media and Transport Information An SDP session description includes the following media information: o The type of media video, audio, etc.
In addition to media format and transport protocol, SDP conveys address and port details. For an IP multicast session, these comprise: o The multicast group address for media o The transport port for media This address and port are the destination address and destination port of the multicast stream, whether being sent, received, or both.
For unicast IP sessions, the following are conveyed: o The remote address for media o The remote transport port for media The semantics of this address and port depend on the media and transport protocol defined. Timing Information Sessions may be either bounded or unbounded in time. Whether or not they are bounded, they may be only active at specific times. SDP can convey: o An arbitrary list of start and stop times bounding the session o For each bound, repeat times such as "every Wednesday at 10am for one hour" This timing information is globally consistent, irrespective of local time zone or daylight saving time see Section 5.
Private Sessions It is possible to create both public sessions and private sessions. SDP itself does not distinguish between these; private sessions are typically conveyed by encrypting the session description during distribution. The details of how encryption is performed are dependent on the mechanism used to convey SDP; mechanisms are currently defined for SDP transported using SAP [ 14 ] and SIP [ 15 ], and others may be defined in the future.
If a session announcement is private, it is possible to use that private announcement to convey encryption keys necessary to decode each of the media in a conference, including enough information to know which encryption scheme is used for each media.
Obtaining Further Information about a Session A session description should convey enough information to decide whether or not to participate in a session.
Categorisation When many session descriptions are being distributed by SAP, or any other advertisement mechanism, it may be desirable to filter session announcements that are of interest from those that are not. However, to assist in compact representations, SDP also allows other character sets such as ISO to be used when desired. Internationalisation only applies to free-text fields session name and background information , and not to SDP as a whole.
Field and Handley, et al. The textual form, as opposed to a binary encoding such as ASN. However, since SDP may be used in environments where the maximum permissible size of a session description is limited, the encoding is deliberately compact. Also, since announcements may be transported via very unreliable means or damaged by an intermediate caching server, the encoding was designed with strict order and formatting rules so that most errors would result in malformed session announcements that could be detected easily and discarded.
This also allows rapid discarding of encrypted session announcements for which a receiver does not have the correct key. An SDP session description consists of a session-level section followed by zero or more media-level sections. In general, session-level values are the default for all media unless overridden by an equivalent media-level value.
Some attributes the ones listed in Section 6 of this memo have a defined meaning, but others may be added on an application-, media-, or session-specific basis. These URIs may be dereferenced in some cases, making the session description non-self- contained.
For instance, in the example below, each media behaves as if it were given a "recvonly" attribute. This memo defines version 0. There is no minor version number. For an address type of IP4, this is either the fully qualified domain name of the machine or the dotted- decimal representation of the IP version 4 address of the machine.
For an address type of IP6, this is either the fully qualified domain name of the machine or the compressed textual representation of the IP version 6 address of the machine. For privacy reasons, it is sometimes desirable to obfuscate the username and IP address of the session originator.
As such, they are most likely to be useful when a single session has more than one distinct media stream of the same media type.
Please refer to the current edition of the "Internet Official Protocol Standards" STD 1 for the standardization state and status of this protocol. Distribution of this memo is unlimited. SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation. Table of Contents 1.
Google Network Working Group J. Rosenberg Request for Comments: dynamicsoft Obsoletes: H. Please refer to the current edition of the "Internet Official Protocol Standards" STD 1 for the standardization state and status of this protocol. Distribution of this memo is unlimited. All Rights Reserved.
Google Network Working Group A. Please refer to the current edition of the "Internet Official Protocol Standards" STD 1 for the standardization state and status of this protocol. Distribution of this memo is unlimited. All Rights Reserved. The purpose of this extension is to provide an extensible framework by which SIP nodes can request notification from remote nodes indicating that certain events have occurred.