draft-ietf-mmusic-rfc4566bis-30.txt   draft-ietf-mmusic-rfc4566bis-31.txt 
Network Working Group A. Begen Network Working Group A. Begen
Internet-Draft Networked Media Internet-Draft Networked Media
Obsoletes: 4566 (if approved) P. Kyzivat Obsoletes: 4566 (if approved) P. Kyzivat
Intended status: Standards Track Intended status: Standards Track
Expires: January 2, 2019 C. Perkins Expires: June 20, 2019 C. Perkins
University of Glasgow University of Glasgow
M. Handley M. Handley
UCL UCL
July 1, 2018 December 17, 2018
SDP: Session Description Protocol SDP: Session Description Protocol
draft-ietf-mmusic-rfc4566bis-30 draft-ietf-mmusic-rfc4566bis-31
Abstract Abstract
This memo defines the Session Description Protocol (SDP). SDP is This memo defines the Session Description Protocol (SDP). SDP is
intended for describing multimedia sessions for the purposes of intended for describing multimedia sessions for the purposes of
session announcement, session invitation, and other forms of session announcement, session invitation, and other forms of
multimedia session initiation. This document obsoletes RFC 4566. multimedia session initiation. This document obsoletes RFC 4566.
Status of This Memo Status of This Memo
skipping to change at page 1, line 38 skipping to change at page 1, line 38
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 2, 2019. This Internet-Draft will expire on June 20, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 37 skipping to change at page 2, line 37
3.2. Streaming Media . . . . . . . . . . . . . . . . . . . . . 5 3.2. Streaming Media . . . . . . . . . . . . . . . . . . . . . 5
3.3. Email and the World Wide Web . . . . . . . . . . . . . . 5 3.3. Email and the World Wide Web . . . . . . . . . . . . . . 5
3.4. Multicast Session Announcement . . . . . . . . . . . . . 5 3.4. Multicast Session Announcement . . . . . . . . . . . . . 5
4. Requirements and Recommendations . . . . . . . . . . . . . . 6 4. Requirements and Recommendations . . . . . . . . . . . . . . 6
4.1. Media and Transport Information . . . . . . . . . . . . . 7 4.1. Media and Transport Information . . . . . . . . . . . . . 7
4.2. Timing Information . . . . . . . . . . . . . . . . . . . 7 4.2. Timing Information . . . . . . . . . . . . . . . . . . . 7
4.3. Obtaining Further Information about a Session . . . . . . 8 4.3. Obtaining Further Information about a Session . . . . . . 8
4.4. Categorization . . . . . . . . . . . . . . . . . . . . . 8 4.4. Categorization . . . . . . . . . . . . . . . . . . . . . 8
4.5. Internationalization . . . . . . . . . . . . . . . . . . 8 4.5. Internationalization . . . . . . . . . . . . . . . . . . 8
5. SDP Specification . . . . . . . . . . . . . . . . . . . . . . 8 5. SDP Specification . . . . . . . . . . . . . . . . . . . . . . 8
5.1. Protocol Version ("v=") . . . . . . . . . . . . . . . . . 11 5.1. Protocol Version ("v=") . . . . . . . . . . . . . . . . . 12
5.2. Origin ("o=") . . . . . . . . . . . . . . . . . . . . . . 12 5.2. Origin ("o=") . . . . . . . . . . . . . . . . . . . . . . 12
5.3. Session Name ("s=") . . . . . . . . . . . . . . . . . . . 13 5.3. Session Name ("s=") . . . . . . . . . . . . . . . . . . . 13
5.4. Session Information ("i=") . . . . . . . . . . . . . . . 13 5.4. Session Information ("i=") . . . . . . . . . . . . . . . 13
5.5. URI ("u=") . . . . . . . . . . . . . . . . . . . . . . . 14 5.5. URI ("u=") . . . . . . . . . . . . . . . . . . . . . . . 14
5.6. Email Address and Phone Number ("e=" and "p=") . . . . . 14 5.6. Email Address and Phone Number ("e=" and "p=") . . . . . 14
5.7. Connection Information ("c=") . . . . . . . . . . . . . . 15 5.7. Connection Information ("c=") . . . . . . . . . . . . . . 15
5.8. Bandwidth Information ("b=") . . . . . . . . . . . . . . 17 5.8. Bandwidth Information ("b=") . . . . . . . . . . . . . . 17
5.9. Time Active ("t=") . . . . . . . . . . . . . . . . . . . 18 5.9. Time Active ("t=") . . . . . . . . . . . . . . . . . . . 18
5.10. Repeat Times ("r=") . . . . . . . . . . . . . . . . . . . 19 5.10. Repeat Times ("r=") . . . . . . . . . . . . . . . . . . . 19
5.11. Time Zone Adjustment ("z=") . . . . . . . . . . . . . . . 20 5.11. Time Zone Adjustment ("z=") . . . . . . . . . . . . . . . 20
5.12. Encryption Keys ("k=") . . . . . . . . . . . . . . . . . 21 5.12. Encryption Keys ("k=") . . . . . . . . . . . . . . . . . 21
5.13. Attributes ("a=") . . . . . . . . . . . . . . . . . . . . 21 5.13. Attributes ("a=") . . . . . . . . . . . . . . . . . . . . 21
5.14. Media Descriptions ("m=") . . . . . . . . . . . . . . . . 22 5.14. Media Descriptions ("m=") . . . . . . . . . . . . . . . . 22
6. SDP Attributes . . . . . . . . . . . . . . . . . . . . . . . 25 6. SDP Attributes . . . . . . . . . . . . . . . . . . . . . . . 25
6.1. cat (category) . . . . . . . . . . . . . . . . . . . . . 25 6.1. cat (category) . . . . . . . . . . . . . . . . . . . . . 25
6.2. keywds (keywords) . . . . . . . . . . . . . . . . . . . . 25 6.2. keywds (keywords) . . . . . . . . . . . . . . . . . . . . 26
6.3. tool . . . . . . . . . . . . . . . . . . . . . . . . . . 26 6.3. tool . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.4. ptime (packet time) . . . . . . . . . . . . . . . . . . . 26 6.4. ptime (packet time) . . . . . . . . . . . . . . . . . . . 27
6.5. maxptime (maximum packet time) . . . . . . . . . . . . . 27 6.5. maxptime (maximum packet time) . . . . . . . . . . . . . 27
6.6. rtpmap . . . . . . . . . . . . . . . . . . . . . . . . . 27 6.6. rtpmap . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.7. Media Direction Attributes . . . . . . . . . . . . . . . 29 6.7. Media Direction Attributes . . . . . . . . . . . . . . . 29
6.7.1. recvonly (receive-only) . . . . . . . . . . . . . . . 30 6.7.1. recvonly (receive-only) . . . . . . . . . . . . . . . 30
6.7.2. sendrecv (send-receive) . . . . . . . . . . . . . . . 30 6.7.2. sendrecv (send-receive) . . . . . . . . . . . . . . . 30
6.7.3. sendonly (send-only) . . . . . . . . . . . . . . . . 31 6.7.3. sendonly (send-only) . . . . . . . . . . . . . . . . 31
6.7.4. inactive . . . . . . . . . . . . . . . . . . . . . . 31 6.7.4. inactive . . . . . . . . . . . . . . . . . . . . . . 31
6.8. orient (orientation) . . . . . . . . . . . . . . . . . . 32 6.8. orient (orientation) . . . . . . . . . . . . . . . . . . 32
6.9. type (conference type) . . . . . . . . . . . . . . . . . 32 6.9. type (conference type) . . . . . . . . . . . . . . . . . 32
6.10. charset (character set) . . . . . . . . . . . . . . . . . 33 6.10. charset (character set) . . . . . . . . . . . . . . . . . 33
6.11. sdplang (SDP language) . . . . . . . . . . . . . . . . . 34 6.11. sdplang (SDP language) . . . . . . . . . . . . . . . . . 34
6.12. lang (language) . . . . . . . . . . . . . . . . . . . . . 35 6.12. lang (language) . . . . . . . . . . . . . . . . . . . . . 35
6.13. framerate (frame rate) . . . . . . . . . . . . . . . . . 36 6.13. framerate (frame rate) . . . . . . . . . . . . . . . . . 36
6.14. quality . . . . . . . . . . . . . . . . . . . . . . . . . 36 6.14. quality . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.15. fmtp (format parameters) . . . . . . . . . . . . . . . . 37 6.15. fmtp (format parameters) . . . . . . . . . . . . . . . . 37
7. Security Considerations . . . . . . . . . . . . . . . . . . . 38 7. Security Considerations . . . . . . . . . . . . . . . . . . . 38
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 39 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 40
8.1. The "application/sdp" Media Type . . . . . . . . . . . . 39 8.1. The "application/sdp" Media Type . . . . . . . . . . . . 40
8.2. Registration of Parameters . . . . . . . . . . . . . . . 41 8.2. Registration of Parameters . . . . . . . . . . . . . . . 41
8.2.1. Media Types ("media") . . . . . . . . . . . . . . . . 41 8.2.1. Media Types ("media") . . . . . . . . . . . . . . . . 41
8.2.2. Transport Protocols ("proto") . . . . . . . . . . . . 41 8.2.2. Transport Protocols ("proto") . . . . . . . . . . . . 42
8.2.3. Media Formats ("fmt") . . . . . . . . . . . . . . . . 42 8.2.3. Media Formats ("fmt") . . . . . . . . . . . . . . . . 42
8.2.4. Attribute Names ("att-field") . . . . . . . . . . . . 42 8.2.4. Attribute Names ("att-field") . . . . . . . . . . . . 43
8.2.5. Bandwidth Specifiers ("bwtype") . . . . . . . . . . . 45 8.2.5. Bandwidth Specifiers ("bwtype") . . . . . . . . . . . 45
8.2.6. Network Types ("nettype") . . . . . . . . . . . . . . 45 8.2.6. Network Types ("nettype") . . . . . . . . . . . . . . 46
8.2.7. Address Types ("addrtype") . . . . . . . . . . . . . 46 8.2.7. Address Types ("addrtype") . . . . . . . . . . . . . 46
8.2.8. Registration Procedure . . . . . . . . . . . . . . . 46 8.2.8. Registration Procedure . . . . . . . . . . . . . . . 46
8.3. Encryption Key Access Methods . . . . . . . . . . . . . . 47 8.3. Encryption Key Access Methods . . . . . . . . . . . . . . 47
8.4. Reorganization of the nettype Registry . . . . . . . . . 47 8.4. Reorganization of the nettype Registry . . . . . . . . . 47
8.5. Reorganization of the att-field Registries . . . . . . . 47 8.5. Reorganization of the att-field Registries . . . . . . . 48
9. SDP Grammar . . . . . . . . . . . . . . . . . . . . . . . . . 48 9. SDP Grammar . . . . . . . . . . . . . . . . . . . . . . . . . 48
10. Summary of Changes from RFC 4566 . . . . . . . . . . . . . . 54 10. Summary of Changes from RFC 4566 . . . . . . . . . . . . . . 54
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 54 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 54
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 54 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 54
12.1. Normative References . . . . . . . . . . . . . . . . . . 54 12.1. Normative References . . . . . . . . . . . . . . . . . . 54
12.2. Informative References . . . . . . . . . . . . . . . . . 56 12.2. Informative References . . . . . . . . . . . . . . . . . 56
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 59 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 59
1. Introduction 1. Introduction
skipping to change at page 4, line 12 skipping to change at page 4, line 12
media details, transport addresses, and other session description media details, transport addresses, and other session description
metadata to the participants. metadata to the participants.
SDP provides a standard representation for such information, SDP provides a standard representation for such information,
irrespective of how that information is transported. SDP is purely a irrespective of how that information is transported. SDP is purely a
format for session description -- it does not incorporate a transport format for session description -- it does not incorporate a transport
protocol, and it is intended to use different transport protocols as protocol, and it is intended to use different transport protocols as
appropriate, including the Session Announcement Protocol (SAP) appropriate, including the Session Announcement Protocol (SAP)
[RFC2974], Session Initiation Protocol (SIP) [RFC3261], Real Time [RFC2974], Session Initiation Protocol (SIP) [RFC3261], Real Time
Streaming Protocol (RTSP) [RFC7826], electronic mail using the MIME Streaming Protocol (RTSP) [RFC7826], electronic mail using the MIME
extensions, and the Hypertext Transport Protocol (HTTP). extensions [RFC5322], and the Hypertext Transport Protocol (HTTP)
[RFC7230].
SDP is intended to be general purpose so that it can be used in a 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 wide range of network environments and applications. However, it is
not intended to support negotiation of session content or media not intended to support negotiation of session content or media
encodings: this is viewed as outside the scope of session encodings: this is viewed as outside the scope of session
description. description.
This memo obsoletes [RFC4566]. The changes relative to [RFC4566] are This memo obsoletes [RFC4566]. The changes relative to [RFC4566] are
limited to essential corrections, and are outlined in Section 10 of limited to essential corrections, and are outlined in Section 10 of
this memo. this memo.
skipping to change at page 9, line 34 skipping to change at page 9, line 34
zero or more media descriptions. The session-level section starts zero or more media descriptions. The session-level section starts
with a "v=" line and continues to the first media description (or the with a "v=" line and continues to the first media description (or the
end of the whole description, whichever comes first). Each media end of the whole description, whichever comes first). Each media
description starts with an "m=" line and continues to the next media description starts with an "m=" line and continues to the next media
description or the end of the whole session description - whichever description or the end of the whole session description - whichever
comes first. In general, session-level values are the default for comes first. In general, session-level values are the default for
all media unless overridden by an equivalent media-level value. all media unless overridden by an equivalent media-level value.
Some lines in each description are REQUIRED and some are OPTIONAL, Some lines in each description are REQUIRED and some are OPTIONAL,
but all MUST appear in exactly the order given here (the fixed order but all MUST appear in exactly the order given here (the fixed order
greatly enhances error detection and allows for a simple parser). greatly enhances error detection and allows for a simple parser). In
OPTIONAL items are marked with a "*". the following overview OPTIONAL items are marked with a "*". (For
details, see the formal grammar in Section 9.)
Session description Session description
v= (protocol version) v= (protocol version)
o= (originator and session identifier) o= (originator and session identifier)
s= (session name) s= (session name)
i=* (session information) i=* (session information)
u=* (URI of description) u=* (URI of description)
e=* (email address) e=* (email address)
p=* (phone number) p=* (phone number)
c=* (connection information -- not required if included in c=* (connection information -- not required if included in
all media descriptions) all media descriptions)
b=* (zero or more bandwidth information lines) b=* (zero or more bandwidth information lines)
One or more time descriptions: One or more time descriptions:
("t=", "r=" and "z=" lines; see below) ("t=", "r=" and "z=" lines; see below)
k=* (encryption key) k=* (encryption key)
a=* (zero or more session attribute lines) a=* (zero or more session attribute lines)
Zero or more media descriptions Zero or more media descriptions
Time description Time description
t= (time the session is active) t= (time the session is active)
r=* (zero or more repeat times) r=* (zero or more repeat times)
z= (optional time zone offset line) z=* (optional time zone offset line)
Media description, if present Media description, if present
m= (media name and transport address) m= (media name and transport address)
i=* (media title) i=* (media title)
c=* (connection information -- optional if included at c=* (connection information -- optional if included at
session level) session level)
b=* (zero or more bandwidth information lines) b=* (zero or more bandwidth information lines)
k=* (encryption key) k=* (encryption key)
a=* (zero or more media attribute lines) a=* (zero or more media attribute lines)
The set of type letters is deliberately small and not intended to be The set of type letters is deliberately small and not intended to be
extensible -- an SDP parser MUST completely ignore any session extensible -- an SDP parser MUST completely ignore any session
description that contains a type letter that it does not understand. description that contains a type letter that it does not understand.
The attribute mechanism ("a=" described below) is the primary means The attribute mechanism ("a=" described below) is the primary means
for extending SDP and tailoring it to particular applications or for extending SDP and tailoring it to particular applications or
media. Some attributes (the ones listed in Section 6 of this memo) media. Some attributes (the ones listed in Section 6 of this memo)
have a defined meaning, but others may be added on an application-, have a defined meaning, but others may be added on a media-, or
media-, or session-specific basis. An SDP parser MUST ignore any session-specific basis. (Attribute scopes in addition to media- and
attribute it doesn't understand. session- specific may also be defined in extensions to this document.
E.g., [RFC5576], [I-D.ietf-mmusic-data-channel-sdpneg].) An SDP
parser MUST ignore any attribute it doesn't understand.
An SDP description may contain URIs that reference external content An SDP description may contain URIs that reference external content
in the "u=", "k=", and "a=" lines. These URIs may be dereferenced in in the "u=", "k=", and "a=" lines. These URIs may be dereferenced in
some cases, making the session description non-self-contained. some cases, making the session description non-self-contained.
The connection ("c=") information in the session-level section The connection ("c=") information in the session-level section
applies to all the media descriptions of that session unless applies to all the media descriptions of that session unless
overridden by connection information in the media description. For overridden by connection information in the media description. For
instance, in the example below, each audio media description behaves instance, in the example below, each audio media description behaves
as if it were given a "c=IN IP4 233.252.0.2". as if it were given a "c=IN IP4 233.252.0.2".
skipping to change at page 12, line 48 skipping to change at page 13, line 7
<unicast-address> is an address of the machine from which the <unicast-address> is an address of the machine from which the
session was created. For an address type of IP4, this is either a session was created. For an address type of IP4, this is either a
fully qualified domain name of the machine or the dotted-decimal fully qualified domain name of the machine or the dotted-decimal
representation of an IP version 4 address of the machine. For an representation of an IP version 4 address of the machine. For an
address type of IP6, this is either a fully qualified domain name address type of IP6, this is either a fully qualified domain name
of the machine or the compressed textual representation of an IP of the machine or the compressed textual representation of an IP
version 6 address of the machine. For both IP4 and IP6, the fully version 6 address of the machine. For both IP4 and IP6, the fully
qualified domain name is the form that SHOULD be given unless this qualified domain name is the form that SHOULD be given unless this
is unavailable, in which case a globally unique address MAY be is unavailable, in which case a globally unique address MAY be
substituted. Unless an SDP extension for NAT traversal is used substituted. Unless an SDP extension for NAT traversal is used
(e.g., ICE [RFC5245], ICE TCP [RFC6544]), a local IP address MUST (e.g., ICE [RFC8445], ICE TCP [RFC6544]), a local IP address MUST
NOT be used in any context where the SDP description might leave NOT be used in any context where the SDP description might leave
the scope in which the address is meaningful (for example, a local the scope in which the address is meaningful (for example, a local
address MUST NOT be included in an application-level referral that address MUST NOT be included in an application-level referral that
might leave the scope). might leave the scope).
In general, the "o=" line serves as a globally unique identifier for In general, the "o=" line serves as a globally unique identifier for
this version of the session description, and the sub-fields excepting this version of the session description, and the sub-fields excepting
the version, taken together identify the session irrespective of any the version, taken together identify the session irrespective of any
modifications. modifications.
skipping to change at page 17, line 28 skipping to change at page 17, line 34
bandwidth to be used by the session or media description. The bandwidth to be used by the session or media description. The
<bwtype> is an alphanumeric modifier giving the meaning of the <bwtype> is an alphanumeric modifier giving the meaning of the
<bandwidth> figure. Two values are defined in this specification, <bandwidth> figure. Two values are defined in this specification,
but other values MAY be registered in the future (see Section 8 and but other values MAY be registered in the future (see Section 8 and
[RFC3556], [RFC3890]): [RFC3556], [RFC3890]):
CT If the bandwidth of a session is different from the bandwidth CT If the bandwidth of a session is different from the bandwidth
implicit from the scope, a "b=CT:..." line SHOULD be supplied for implicit from the scope, a "b=CT:..." line SHOULD be supplied for
the session giving the proposed upper limit to the bandwidth used the session giving the proposed upper limit to the bandwidth used
(the "conference total" bandwidth). Similarly, if the bandwidth (the "conference total" bandwidth). Similarly, if the bandwidth
of bundled media streams in an m line is different from the of bundled media streams in an "m=" line is different from the
implicit value from the scope, a "b=CT:..." line SHOULD be implicit value from the scope, a "b=CT:..." line SHOULD be
supplied in the media level. The primary purpose of this is to supplied in the media level. The primary purpose of this is to
give an approximate idea as to whether two or more sessions (or give an approximate idea as to whether two or more sessions (or
bundled media streams) can coexist simultaneously. Note that CT bundled media streams) can coexist simultaneously. Note that CT
gives a total bandwidth figure for all the media at all endpoints. gives a total bandwidth figure for all the media at all endpoints.
AS The bandwidth is interpreted to be application specific (it will AS The bandwidth is interpreted to be application specific (it will
be the application's concept of maximum bandwidth). Normally, be the application's concept of maximum bandwidth). Normally,
this will coincide with what is set on the application's "maximum this will coincide with what is set on the application's "maximum
bandwidth" control if applicable. For RTP-based applications, AS bandwidth" control if applicable. For RTP-based applications, AS
skipping to change at page 21, line 21 skipping to change at page 21, line 29
included in this document for legacy reasons. One MUST NOT include a included in this document for legacy reasons. One MUST NOT include a
"k=" line in an SDP, and MUST discard it if it is received in an SDP. "k=" line in an SDP, and MUST discard it if it is received in an SDP.
5.13. Attributes ("a=") 5.13. Attributes ("a=")
a=<attribute> a=<attribute>
a=<attribute>:<value> a=<attribute>:<value>
Attributes are the primary means for extending SDP. Attributes may Attributes are the primary means for extending SDP. Attributes may
be defined to be used as "session-level" attributes, "media-level" be defined to be used as "session-level" attributes, "media-level"
attributes, or both. attributes, or both. (Attribute scopes in addition to media- and
session- specific may also be defined in extensions to this document.
E.g., [RFC5576], [I-D.ietf-mmusic-data-channel-sdpneg].)
A media description may contain any number of "a=" lines (attribute- A media description may contain any number of "a=" lines (attribute-
fields) that are media description specific. These are referred to fields) that are media description specific. These are referred to
as "media-level" attributes and add information about the media as "media-level" attributes and add information about the media
description. Attribute-fields can also be added before the first description. Attribute-fields can also be added before the first
media description; these "session-level" attributes convey additional media description; these "session-level" attributes convey additional
information that applies to the session as a whole rather than to information that applies to the session as a whole rather than to
individual media descriptions. individual media descriptions.
Attribute-fields may be of two forms: Attribute-fields may be of two forms:
skipping to change at page 28, line 22 skipping to change at page 28, line 32
payload-type = zero-based-integer payload-type = zero-based-integer
encoding-name = token encoding-name = token
clock-rate = integer clock-rate = integer
encoding-params = channels encoding-params = channels
channels = integer channels = integer
This attribute maps from an RTP payload type number (as used in an This attribute maps from an RTP payload type number (as used in an
"m=" line) to an encoding name denoting the payload format to be "m=" line) to an encoding name denoting the payload format to be
used. It also provides information on the clock rate and encoding used. It also provides information on the clock rate and encoding
parameters. Note that the payload type number is indicated in a parameters. Note that the payload type number is indicated in a
7-bit field, limiting the values to incusively between 0 and 127. 7-bit field, limiting the values to inclusively between 0 and 127.
Although an RTP profile can make static assignments of payload type Although an RTP profile can make static assignments of payload type
numbers to payload formats, it is more common for that assignment to numbers to payload formats, it is more common for that assignment to
be done dynamically using "a=rtpmap:" attributes. As an example of a be done dynamically using "a=rtpmap:" attributes. As an example of a
static payload type, consider u-law PCM coded single-channel audio static payload type, consider u-law PCM coded single-channel audio
sampled at 8 kHz. This is completely defined in the RTP Audio/Video sampled at 8 kHz. This is completely defined in the RTP Audio/Video
profile as payload type 0, so there is no need for an "a=rtpmap:" profile as payload type 0, so there is no need for an "a=rtpmap:"
attribute, and the media for such a stream sent to UDP port 49232 can attribute, and the media for such a stream sent to UDP port 49232 can
be specified as: be specified as:
skipping to change at page 37, line 33 skipping to change at page 37, line 51
Usage Level: media Usage Level: media
Charset Dependent: no Charset Dependent: no
Syntax: Syntax:
fmtp-value = fmt SP format-specific-params fmtp-value = fmt SP format-specific-params
format-specific-params = byte-string format-specific-params = byte-string
; Notes: ; Notes:
; - The format parameters are media type parameters and ; - The format parameters are media type parameters and
need to reflect their syntax. ; need to reflect their syntax.
Example: Example:
a=fmtp:96 profile-level-id=42e016;max-mbps=108000;max-fs=3600 a=fmtp:96 profile-level-id=42e016;max-mbps=108000;max-fs=3600
This attribute allows parameters that are specific to a particular This attribute allows parameters that are specific to a particular
format to be conveyed in a way that SDP does not have to understand format to be conveyed in a way that SDP does not have to understand
them. The format must be one of the formats specified for the media. them. The format must be one of the formats specified for the media.
Format-specific parameters, semicolon separated, may be any set of Format-specific parameters, semicolon separated, may be any set of
parameters required to be conveyed by SDP and given unchanged to the parameters required to be conveyed by SDP and given unchanged to the
skipping to change at page 39, line 25 skipping to change at page 39, line 40
selectively. In some cases, such intermediary systems may modify the selectively. In some cases, such intermediary systems may modify the
session description, for example, to have the contents of the session session description, for example, to have the contents of the session
description match NAT bindings dynamically created. These behaviors description match NAT bindings dynamically created. These behaviors
are NOT RECOMMENDED unless the session description is conveyed in are NOT RECOMMENDED unless the session description is conveyed in
such a manner that allows the intermediary system to conduct proper such a manner that allows the intermediary system to conduct proper
checks to establish the authenticity of the session description, and checks to establish the authenticity of the session description, and
the authority of its source to establish such communication sessions. the authority of its source to establish such communication sessions.
SDP by itself does not include sufficient information to enable these SDP by itself does not include sufficient information to enable these
checks: they depend on the encapsulating protocol (e.g., SIP or checks: they depend on the encapsulating protocol (e.g., SIP or
RTSP). Use of some procedures and SDP extensions (e.g., ICE RTSP). Use of some procedures and SDP extensions (e.g., ICE
[RFC5245] and ICE-SIP-SDP [I-D.ietf-mmusic-ice-sip-sdp]) may avoid [RFC8445] and ICE-SIP-SDP [I-D.ietf-mmusic-ice-sip-sdp]) may avoid
the need for intermediaries to modify SDP. the need for intermediaries to modify SDP.
Use of the "k=" line poses a significant security risk, since it Use of the "k=" line poses a significant security risk, since it
conveys session encryption keys in the clear. SDP MUST NOT be used conveys session encryption keys in the clear. SDP MUST NOT be used
to convey keying material, unless it can be guaranteed that the to convey keying material, unless it can be guaranteed that the
channel over which the SDP is delivered is both private and channel over which the SDP is delivered is both private and
authenticated. Moreover, the "k=" line provides no way to indicate authenticated. Moreover, the "k=" line provides no way to indicate
or negotiate cryptographic key algorithms. As it provides for only a or negotiate cryptographic key algorithms. As it provides for only a
single symmetric key, rather than separate keys for confidentiality single symmetric key, rather than separate keys for confidentiality
and integrity, its utility is severely limited. The "k=" line MUST and integrity, its utility is severely limited. The "k=" line MUST
skipping to change at page 48, line 19 skipping to change at page 48, line 30
The "Mux Category" column MUST indicate one of the following The "Mux Category" column MUST indicate one of the following
categories: NORMAL, NOT RECOMMENDED, IDENTICAL, SUM, TRANSPORT, categories: NORMAL, NOT RECOMMENDED, IDENTICAL, SUM, TRANSPORT,
INHERIT, IDENTICAL-PER-PT, SPECIAL or TBD as defined by INHERIT, IDENTICAL-PER-PT, SPECIAL or TBD as defined by
[I-D.ietf-mmusic-sdp-mux-attributes]. Finally, the "Reference" [I-D.ietf-mmusic-sdp-mux-attributes]. Finally, the "Reference"
column indicates the specification(s) where the attribute is defined. column indicates the specification(s) where the attribute is defined.
For example, the attribute "setup" which is defined for both session For example, the attribute "setup" which is defined for both session
and media level, will be listed in the new registry as follows: and media level, will be listed in the new registry as follows:
Name | Usage Level | Dependent on Charset?|Mux Category| Reference | Name | Usage Level | Dependent on Charset?|Mux Category| Reference |
------|----------------|----------------------|------------|-----------|
setup | session,media, | No |IDENTICAL | [RFC4145] | setup | session,media, | No |IDENTICAL | [RFC4145] |
| dcsa,dcsa(msrp)| | | [RFC6135] | | dcsa,dcsa(msrp)| | | [RFC6135] |
| | | | [I-D.mmusic | | | | [I-D.mmusic
| | | |-msrp-usage- | | | |-msrp-usage-
| | | |data-channel | | | |data-channel
| | | |] | | | | |] |
9. SDP Grammar 9. SDP Grammar
This section provides an Augmented BNF grammar for SDP. ABNF is This section provides an Augmented BNF grammar for SDP. ABNF is
skipping to change at page 54, line 43 skipping to change at page 55, line 8
12.1. Normative References 12.1. Normative References
[E164] International Telecommunication Union, "E.164 : The [E164] International Telecommunication Union, "E.164 : The
international public telecommunication numbering plan", international public telecommunication numbering plan",
ITU Recommendation E.164, November 2010. ITU Recommendation E.164, November 2010.
[I-D.ietf-mmusic-data-channel-sdpneg] [I-D.ietf-mmusic-data-channel-sdpneg]
Drage, K., Makaraju, M., Stoetzer-Bradler, J., Ejzak, R., Drage, K., Makaraju, M., Stoetzer-Bradler, J., Ejzak, R.,
Marcon, J., and R. Even, "SDP-based Data Channel Marcon, J., and R. Even, "SDP-based Data Channel
Negotiation", draft-ietf-mmusic-data-channel-sdpneg-20 Negotiation", draft-ietf-mmusic-data-channel-sdpneg-22
(work in progress), June 2018. (work in progress), November 2018.
[I-D.ietf-mmusic-ice-sip-sdp]
Petit-Huguenin, M., Nandakumar, S., and A. Keranen,
"Session Description Protocol (SDP) Offer/Answer
procedures for Interactive Connectivity Establishment
(ICE)", draft-ietf-mmusic-ice-sip-sdp-21 (work in
progress), June 2018.
[I-D.ietf-mmusic-sdp-mux-attributes] [I-D.ietf-mmusic-sdp-mux-attributes]
Nandakumar, S., "A Framework for SDP Attributes when Nandakumar, S., "A Framework for SDP Attributes when
Multiplexing", draft-ietf-mmusic-sdp-mux-attributes-17 Multiplexing", draft-ietf-mmusic-sdp-mux-attributes-17
(work in progress), February 2018. (work in progress), February 2018.
[RFC1034] Mockapetris, P., "Domain names - concepts and facilities", [RFC1034] Mockapetris, P., "Domain names - concepts and facilities",
STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987, STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987,
<https://www.rfc-editor.org/info/rfc1034>. <https://www.rfc-editor.org/info/rfc1034>.
skipping to change at page 56, line 21 skipping to change at page 56, line 30
Writing an IANA Considerations Section in RFCs", BCP 26, Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017, RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>. <https://www.rfc-editor.org/info/rfc8126>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
12.2. Informative References 12.2. Informative References
[I-D.ietf-mmusic-ice-sip-sdp]
Petit-Huguenin, M., Nandakumar, S., and A. Keranen,
"Session Description Protocol (SDP) Offer/Answer
procedures for Interactive Connectivity Establishment
(ICE)", draft-ietf-mmusic-ice-sip-sdp-24 (work in
progress), November 2018.
[I-D.ietf-mmusic-sdp-bundle-negotiation] [I-D.ietf-mmusic-sdp-bundle-negotiation]
Holmberg, C., Alvestrand, H., and C. Jennings, Holmberg, C., Alvestrand, H., and C. Jennings,
"Negotiating Media Multiplexing Using the Session "Negotiating Media Multiplexing Using the Session
Description Protocol (SDP)", draft-ietf-mmusic-sdp-bundle- Description Protocol (SDP)", draft-ietf-mmusic-sdp-bundle-
negotiation-52 (work in progress), May 2018. negotiation-54 (work in progress), December 2018.
[ITU.H332.1998] [ITU.H332.1998]
International Telecommunication Union, "H.323 extended for International Telecommunication Union, "H.323 extended for
loosely coupled conferences", ITU Recommendation H.332, loosely coupled conferences", ITU Recommendation H.332,
September 1998. September 1998.
[RFC2327] Handley, M. and V. Jacobson, "SDP: Session Description [RFC2327] Handley, M. and V. Jacobson, "SDP: Session Description
Protocol", RFC 2327, DOI 10.17487/RFC2327, April 1998, Protocol", RFC 2327, DOI 10.17487/RFC2327, April 1998,
<https://www.rfc-editor.org/info/rfc2327>. <https://www.rfc-editor.org/info/rfc2327>.
skipping to change at page 57, line 45 skipping to change at page 58, line 14
[RFC3890] Westerlund, M., "A Transport Independent Bandwidth [RFC3890] Westerlund, M., "A Transport Independent Bandwidth
Modifier for the Session Description Protocol (SDP)", Modifier for the Session Description Protocol (SDP)",
RFC 3890, DOI 10.17487/RFC3890, September 2004, RFC 3890, DOI 10.17487/RFC3890, September 2004,
<https://www.rfc-editor.org/info/rfc3890>. <https://www.rfc-editor.org/info/rfc3890>.
[RFC4855] Casner, S., "Media Type Registration of RTP Payload [RFC4855] Casner, S., "Media Type Registration of RTP Payload
Formats", RFC 4855, DOI 10.17487/RFC4855, February 2007, Formats", RFC 4855, DOI 10.17487/RFC4855, February 2007,
<https://www.rfc-editor.org/info/rfc4855>. <https://www.rfc-editor.org/info/rfc4855>.
[RFC5245] Rosenberg, J., "Interactive Connectivity Establishment
(ICE): A Protocol for Network Address Translator (NAT)
Traversal for Offer/Answer Protocols", RFC 5245,
DOI 10.17487/RFC5245, April 2010,
<https://www.rfc-editor.org/info/rfc5245>.
[RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322,
DOI 10.17487/RFC5322, October 2008, DOI 10.17487/RFC5322, October 2008,
<https://www.rfc-editor.org/info/rfc5322>. <https://www.rfc-editor.org/info/rfc5322>.
[RFC5888] Camarillo, G. and H. Schulzrinne, "The Session Description [RFC5888] Camarillo, G. and H. Schulzrinne, "The Session Description
Protocol (SDP) Grouping Framework", RFC 5888, Protocol (SDP) Grouping Framework", RFC 5888,
DOI 10.17487/RFC5888, June 2010, DOI 10.17487/RFC5888, June 2010,
<https://www.rfc-editor.org/info/rfc5888>. <https://www.rfc-editor.org/info/rfc5888>.
[RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, [RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch,
skipping to change at page 58, line 34 skipping to change at page 58, line 43
[RFC6544] Rosenberg, J., Keranen, A., Lowekamp, B., and A. Roach, [RFC6544] Rosenberg, J., Keranen, A., Lowekamp, B., and A. Roach,
"TCP Candidates with Interactive Connectivity "TCP Candidates with Interactive Connectivity
Establishment (ICE)", RFC 6544, DOI 10.17487/RFC6544, Establishment (ICE)", RFC 6544, DOI 10.17487/RFC6544,
March 2012, <https://www.rfc-editor.org/info/rfc6544>. March 2012, <https://www.rfc-editor.org/info/rfc6544>.
[RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type [RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type
Specifications and Registration Procedures", BCP 13, Specifications and Registration Procedures", BCP 13,
RFC 6838, DOI 10.17487/RFC6838, January 2013, RFC 6838, DOI 10.17487/RFC6838, January 2013,
<https://www.rfc-editor.org/info/rfc6838>. <https://www.rfc-editor.org/info/rfc6838>.
[RFC7230] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer
Protocol (HTTP/1.1): Message Syntax and Routing",
RFC 7230, DOI 10.17487/RFC7230, June 2014,
<https://www.rfc-editor.org/info/rfc7230>.
[RFC7405] Kyzivat, P., "Case-Sensitive String Support in ABNF", [RFC7405] Kyzivat, P., "Case-Sensitive String Support in ABNF",
RFC 7405, DOI 10.17487/RFC7405, December 2014, RFC 7405, DOI 10.17487/RFC7405, December 2014,
<https://www.rfc-editor.org/info/rfc7405>. <https://www.rfc-editor.org/info/rfc7405>.
[RFC7656] Lennox, J., Gross, K., Nandakumar, S., Salgueiro, G., and [RFC7656] Lennox, J., Gross, K., Nandakumar, S., Salgueiro, G., and
B. Burman, Ed., "A Taxonomy of Semantics and Mechanisms B. Burman, Ed., "A Taxonomy of Semantics and Mechanisms
for Real-Time Transport Protocol (RTP) Sources", RFC 7656, for Real-Time Transport Protocol (RTP) Sources", RFC 7656,
DOI 10.17487/RFC7656, November 2015, DOI 10.17487/RFC7656, November 2015,
<https://www.rfc-editor.org/info/rfc7656>. <https://www.rfc-editor.org/info/rfc7656>.
[RFC7826] Schulzrinne, H., Rao, A., Lanphier, R., Westerlund, M., [RFC7826] Schulzrinne, H., Rao, A., Lanphier, R., Westerlund, M.,
and M. Stiemerling, Ed., "Real-Time Streaming Protocol and M. Stiemerling, Ed., "Real-Time Streaming Protocol
Version 2.0", RFC 7826, DOI 10.17487/RFC7826, December Version 2.0", RFC 7826, DOI 10.17487/RFC7826, December
2016, <https://www.rfc-editor.org/info/rfc7826>. 2016, <https://www.rfc-editor.org/info/rfc7826>.
[RFC8445] Keranen, A., Holmberg, C., and J. Rosenberg, "Interactive
Connectivity Establishment (ICE): A Protocol for Network
Address Translator (NAT) Traversal", RFC 8445,
DOI 10.17487/RFC8445, July 2018,
<https://www.rfc-editor.org/info/rfc8445>.
Authors' Addresses Authors' Addresses
Ali Begen Ali Begen
Networked Media Networked Media
Konya Konya
Turkey Turkey
EMail: ali.begen@networked.media EMail: ali.begen@networked.media
Paul Kyzivat Paul Kyzivat
 End of changes. 31 change blocks. 
45 lines changed or deleted 56 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/