draft-ietf-mmusic-rfc4566bis-13.txt   draft-ietf-mmusic-rfc4566bis-14.txt 
Network Working Group M. Handley Network Working Group M. Handley
Internet-Draft UCL Internet-Draft UCL
Obsoletes: 4566 (if approved) V. Jacobson Obsoletes: 4566 (if approved) V. Jacobson
Intended status: Standards Track PARC Intended status: Standards Track PARC
Expires: July 17, 2015 C.S. Perkins Expires: July 25, 2015 C.S. Perkins
University of Glasgow University of Glasgow
A. Begen A. Begen
Cisco Cisco
January 13, 2015 January 21, 2015
SDP: Session Description Protocol SDP: Session Description Protocol
draft-ietf-mmusic-rfc4566bis-13 draft-ietf-mmusic-rfc4566bis-14
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 http://datatracker.ietf.org/drafts/current/. Drafts is at http://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 July 17, 2015. This Internet-Draft will expire on July 25, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 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
(http://trustee.ietf.org/license-info) in effect on the date of (http://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 3, line 12 skipping to change at page 3, line 12
5.13. Attributes ("a=") . . . . . . . . . . . . . . . . . . . . 22 5.13. Attributes ("a=") . . . . . . . . . . . . . . . . . . . . 22
5.14. Media Descriptions ("m=") . . . . . . . . . . . . . . . . 23 5.14. Media Descriptions ("m=") . . . . . . . . . . . . . . . . 23
6. SDP Attributes . . . . . . . . . . . . . . . . . . . . . . . 26 6. SDP Attributes . . . . . . . . . . . . . . . . . . . . . . . 26
6.1. cat (category) . . . . . . . . . . . . . . . . . . . . . 26 6.1. cat (category) . . . . . . . . . . . . . . . . . . . . . 26
6.2. keywds (keywords) . . . . . . . . . . . . . . . . . . . . 26 6.2. keywds (keywords) . . . . . . . . . . . . . . . . . . . . 26
6.3. tool . . . . . . . . . . . . . . . . . . . . . . . . . . 27 6.3. tool . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.4. ptime (packet time) . . . . . . . . . . . . . . . . . . . 28 6.4. ptime (packet time) . . . . . . . . . . . . . . . . . . . 28
6.5. maxptime (maximum packet time) . . . . . . . . . . . . . 28 6.5. maxptime (maximum packet time) . . . . . . . . . . . . . 28
6.6. rtpmap . . . . . . . . . . . . . . . . . . . . . . . . . 29 6.6. rtpmap . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.7. Media Direction Attributes . . . . . . . . . . . . . . . 31 6.7. Media Direction Attributes . . . . . . . . . . . . . . . 31
6.7.1. recvonly (receive-only) . . . . . . . . . . . . . . . 32 6.7.1. recvonly (receive-only) . . . . . . . . . . . . . . . 31
6.7.2. sendrecv (send-receive) . . . . . . . . . . . . . . . 33 6.7.2. sendrecv (send-receive) . . . . . . . . . . . . . . . 32
6.7.3. sendonly (send-only) . . . . . . . . . . . . . . . . 33 6.7.3. sendonly (send-only) . . . . . . . . . . . . . . . . 32
6.7.4. inactive . . . . . . . . . . . . . . . . . . . . . . 33 6.7.4. inactive . . . . . . . . . . . . . . . . . . . . . . 33
6.8. orient (orientation) . . . . . . . . . . . . . . . . . . 34 6.8. orient (orientation) . . . . . . . . . . . . . . . . . . 33
6.9. type (conference type) . . . . . . . . . . . . . . . . . 34 6.9. type (conference type) . . . . . . . . . . . . . . . . . 34
6.10. charset (character set) . . . . . . . . . . . . . . . . . 35 6.10. charset (character set) . . . . . . . . . . . . . . . . . 35
6.11. sdplang (SDP language) . . . . . . . . . . . . . . . . . 36 6.11. sdplang (SDP language) . . . . . . . . . . . . . . . . . 36
6.12. lang (language) . . . . . . . . . . . . . . . . . . . . . 37 6.12. lang (language) . . . . . . . . . . . . . . . . . . . . . 37
6.13. framerate (frame rate) . . . . . . . . . . . . . . . . . 38 6.13. framerate (frame rate) . . . . . . . . . . . . . . . . . 37
6.14. quality . . . . . . . . . . . . . . . . . . . . . . . . . 39 6.14. quality . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.15. fmtp (format parameters) . . . . . . . . . . . . . . . . 39 6.15. fmtp (format parameters) . . . . . . . . . . . . . . . . 39
7. Security Considerations . . . . . . . . . . . . . . . . . . . 40 7. Security Considerations . . . . . . . . . . . . . . . . . . . 39
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 42 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 42
8.1. The "application/sdp" Media Type . . . . . . . . . . . . 42 8.1. The "application/sdp" Media Type . . . . . . . . . . . . 42
8.2. Registration of Parameters . . . . . . . . . . . . . . . 43 8.2. Registration of Parameters . . . . . . . . . . . . . . . 43
8.2.1. Media Types ("media") . . . . . . . . . . . . . . . . 43 8.2.1. Media Types ("media") . . . . . . . . . . . . . . . . 43
8.2.2. Transport Protocols ("proto") . . . . . . . . . . . . 44 8.2.2. Transport Protocols ("proto") . . . . . . . . . . . . 44
8.2.3. Media Formats ("fmt") . . . . . . . . . . . . . . . . 44 8.2.3. Media Formats ("fmt") . . . . . . . . . . . . . . . . 44
8.2.4. Attribute Names ("att-field") . . . . . . . . . . . . 45 8.2.4. Attribute Names ("att-field") . . . . . . . . . . . . 45
8.2.5. Bandwidth Specifiers ("bwtype") . . . . . . . . . . . 46 8.2.5. Bandwidth Specifiers ("bwtype") . . . . . . . . . . . 46
8.2.6. Network Types ("nettype") . . . . . . . . . . . . . . 47 8.2.6. Network Types ("nettype") . . . . . . . . . . . . . . 46
8.2.7. Address Types ("addrtype") . . . . . . . . . . . . . 47 8.2.7. Address Types ("addrtype") . . . . . . . . . . . . . 47
8.2.8. Registration Procedure . . . . . . . . . . . . . . . 47 8.2.8. Registration Procedure . . . . . . . . . . . . . . . 47
8.3. Encryption Key Access Methods . . . . . . . . . . . . . . 48 8.3. Encryption Key Access Methods . . . . . . . . . . . . . . 48
9. SDP Grammar . . . . . . . . . . . . . . . . . . . . . . . . . 48 9. SDP Grammar . . . . . . . . . . . . . . . . . . . . . . . . . 48
10. Summary of Changes from RFC 4566 . . . . . . . . . . . . . . 53 10. Summary of Changes from RFC 4566 . . . . . . . . . . . . . . 53
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 54 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 53
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 54 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 54
12.1. Normative References . . . . . . . . . . . . . . . . . . 54 12.1. Normative References . . . . . . . . . . . . . . . . . . 54
12.2. Informative References . . . . . . . . . . . . . . . . . 55 12.2. Informative References . . . . . . . . . . . . . . . . . 55
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 57 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 57
1. Introduction 1. Introduction
When initiating multimedia teleconferences, voice-over-IP calls, When initiating multimedia teleconferences, voice-over-IP calls,
streaming video, or other sessions, there is a requirement to convey streaming video, or other sessions, there is a requirement to convey
media details, transport addresses, and other session description media details, transport addresses, and other session description
skipping to change at page 26, line 38 skipping to change at page 26, line 38
Value: cat-value Value: cat-value
Usage Level: session Usage Level: session
Charset Dependent: no Charset Dependent: no
Syntax: Syntax:
cat-value = category cat-value = category
category = none-ws-string category = non-ws-string
Example: Example:
a=cat:foo.bar a=cat:foo.bar
This attribute gives the dot-separated hierarchical category of the This attribute gives the dot-separated hierarchical category of the
session. This is to enable a receiver to filter unwanted sessions by session. This is to enable a receiver to filter unwanted sessions by
category. There is no central registry of categories. This category. There is no central registry of categories. This
attribute is obsoleted. attribute is obsoleted.
skipping to change at page 30, line 7 skipping to change at page 29, line 31
Value: rtpmap-value Value: rtpmap-value
Usage Level: media Usage Level: media
Charset Dependent: no Charset Dependent: no
Syntax: Syntax:
rtpmap-value = payload-type SP encoding-name rtpmap-value = payload-type SP encoding-name
"/" clock-rate [ "/" encoding-params ] "/" clock-rate [ "/" encoding-params ]
payload-type = integer payload-type = zero-based-integer
encoding-name = token encoding-name = token
; To be matched in a case-insensitive way!
; RFC4855 seems to be the primary definition for this.
; It refers both to RFC2045 and RFC4288 for the definition.
; The definition in RFC2045 is messy,
; but equivalent to SDP <token>.
; The definition in RFC4288 (<subtype-name>) is more
; restrictive and governs what can be registered.
; Since ultimately only registered names can be referenced,
; using <token> here seems safe and easy.
clock-rate = integer clock-rate = integer
; do we want to define a limited range for this? ; do we want to define a limited range for this?
encoding-params = channels encoding-params = channels
; 4566 is vague about what this can be. RFC4855 seems to be ; 4566 is vague about what this can be. RFC4855 seems to be
; the authoritative source, and only allows the ; the authoritative source, and only allows the
; value of the media subtype "channels" parameter - the ; value of the media subtype "channels" parameter - the
; number of audio channels. ; number of audio channels.
; Does anyone think this can be used for something else??? ; Does anyone think this can be used for something else???
; (The implication that multiple parameters might be included ; (The implication that multiple parameters might be included
; seems a misdirection - additional parameters are ; seems a misdirection - additional parameters are
skipping to change at page 34, line 32 skipping to change at page 34, line 6
Value: orient-value Value: orient-value
Usage Level: media Usage Level: media
Charset Dependent: no Charset Dependent: no
Syntax: Syntax:
orient-value = portrait / landscape / seascape orient-value = portrait / landscape / seascape
portrait = %x70.6f.72.74.72.61.69.74 ; "portrait" portrait = %s"portrait"
landscape = %x6c.61.6e.64.73.63.61.70.65 ; "landscape" landscape = %s"landscape"
seascape = %x73.65.61.73.63.61.70.65 ; "seascape" seascape = %s"seascape"
; Note: this assumes the intent was to be case-sensitive ; NOTE: These names are case-sensitive.
; Does anything think this should be matched in a
; case-insensitive way???
Example: Example:
a=orient:portrait a=orient:portrait
Normally this is only used for a whiteboard or presentation tool. It Normally this is only used for a whiteboard or presentation tool. It
specifies the orientation of a the workspace on the screen. specifies the orientation of a the workspace on the screen.
Permitted values are "portrait", "landscape", and "seascape" (upside- Permitted values are "portrait", "landscape", and "seascape" (upside-
down landscape). down landscape).
skipping to change at page 35, line 15 skipping to change at page 34, line 33
Value: type-value Value: type-value
Usage Level: session Usage Level: session
Charset Dependent: no Charset Dependent: no
Syntax: Syntax:
type-value = conference-type type-value = conference-type
conference-type = broadcast / meeting / moderated / test / H332 conference-type = broadcast / meeting / moderated / test /
broadcast = %x62.72.6f.61.64.63.61.73.74 ; "broadcast" H332
meeting = %x6d.65.65.74.69.6e.67 ; "meeting" broadcast = %s"broadcast"
moderated = %x6d.6f.64.65.72.61.74.65.64 ; "moderated" meeting = %s"meeting"
test = %x74.65.73.74 ; "test" moderated = %s"moderated"
H332 = %x48.33.33.32 ; "H332" test = %s"test"
H332 = %s"H332"
; NOTE: These names are case-sensitive. ; NOTE: These names are case-sensitive.
Example: Example:
a=type:moderated a=type:moderated
This specifies the type of the multimedia conference. Suggested This specifies the type of the multimedia conference. Suggested
values are "broadcast", "meeting", "moderated", "test", and "H332". values are "broadcast", "meeting", "moderated", "test", and "H332".
"recvonly" should be the default for "type:broadcast" sessions, "recvonly" should be the default for "type:broadcast" sessions,
"type:meeting" should imply "sendrecv", and "type:moderated" should "type:meeting" should imply "sendrecv", and "type:moderated" should
skipping to change at page 36, line 4 skipping to change at page 35, line 24
unless explicitly requested otherwise, receivers can safely avoid unless explicitly requested otherwise, receivers can safely avoid
displaying this session description to users. displaying this session description to users.
6.10. charset (character set) 6.10. charset (character set)
Name: charset Name: charset
Value: charset-value Value: charset-value
Usage Level: session Usage Level: session
Charset Dependent: no Charset Dependent: no
Syntax: Syntax:
charset-value = mime-charset charset-value = mime-charset (as defined in <xref
mime-charset = 1*mime-charset-chars target="I-D.iana-charset-reg-procedure"/>)
mime-charset-chars = ALPHA / DIGIT /
"!" / "#" / "$" / "%" / "&" /
"'" / "+" / "-" / "^" / "_" /
"`" / "{" / "}" / "~"
This specifies the character set to be used to display the session This specifies the character set to be used to display the session
name and information data. By default, the ISO-10646 character set name and information data. By default, the ISO-10646 character set
in UTF-8 encoding is used. If a more compact representation is in UTF-8 encoding is used. If a more compact representation is
required, other character sets may be used. For example, the ISO required, other character sets may be used. For example, the ISO
8859-1 is specified with the following SDP attribute: 8859-1 is specified with the following SDP attribute:
a=charset:ISO-8859-1 a=charset:ISO-8859-1
The charset specified MUST be one of those registered in the IANA The charset specified MUST be one of those registered in the IANA
skipping to change at page 37, line 5 skipping to change at page 36, line 22
Name: sdplang Name: sdplang
Value: sdplang-value Value: sdplang-value
Usage Level: session, media Usage Level: session, media
Charset Dependent: no Charset Dependent: no
Syntax: Syntax:
sdplang-value = Language-Tag (as defined in <xref sdplang-value = Language-Tag
target="RFC5646"/>) ; Language-Tag defined in RFC5646
Example: Example:
a=sdplang:fr a=sdplang:fr
This can be a session-level attribute or a media-level attribute. This can be a session-level attribute or a media-level attribute.
Multiple sdplang attributes can be provided either at session or Multiple sdplang attributes can be provided either at session or
media level if the session description or media use multiple media level if the session description or media use multiple
languages. languages.
skipping to change at page 37, line 48 skipping to change at page 37, line 24
Name: lang Name: lang
Value: lang-value Value: lang-value
Usage Level: session, media Usage Level: session, media
Charset Dependent: no Charset Dependent: no
Syntax: Syntax:
lang-value = Language-Tag (as defined in <xref lang-value = Language-Tag
target="RFC5646"/>) ; Language-Tag defined in RFC5646
Example: Example:
a=lang:de a=lang:de
Multiple lang attributes can be provided either at session or media Multiple lang attributes can be provided either at session or media
level if the session or media use multiple languages, in which case level if the session or media use multiple languages, in which case
the order of the attributes indicates the order of importance of the the order of the attributes indicates the order of importance of the
various languages in the session or media, from most important to various languages in the session or media, from most important to
least important. least important.
skipping to change at page 43, line 26 skipping to change at page 43, line 18
IETF MMUSIC working group <mmusic@ietf.org> IETF MMUSIC working group <mmusic@ietf.org>
Intended usage: COMMON Intended usage: COMMON
Author/Change controller: Author/Change controller:
Authors of RFC XXXX Authors of RFC XXXX
IETF MMUSIC working group delegated from the IESG IETF MMUSIC working group delegated from the IESG
8.2. Registration of Parameters 8.2. Registration of Parameters
There are seven field names that may be registered with IANA. Using There are seven field names that are registered with IANA. Using the
the terminology in the SDP specification Backus-Naur Form (BNF), they terminology in the SDP specification Backus-Naur Form (BNF), they are
are "media", "proto", "fmt", "att-field", "bwtype", "nettype", and "media", "proto", "fmt", "att-field", "bwtype", "nettype", and
"addrtype". "addrtype".
The contact address for all parameters registered below is: The contact address for all parameters registered below is:
IETF MMUSIC working group <mmusic@ietf.org> IETF MMUSIC working group <mmusic@ietf.org>
8.2.1. Media Types ("media") 8.2.1. Media Types ("media")
The set of media types is intended to be small and SHOULD NOT be The set of media types is intended to be small and SHOULD NOT be
extended except under rare circumstances. The same rules should extended except under rare circumstances. The same rules should
skipping to change at page 45, line 35 skipping to change at page 45, line 35
New attribute registrations are accepted according to the New attribute registrations are accepted according to the
"Specification Required" policy of [RFC5226], provided that the "Specification Required" policy of [RFC5226], provided that the
specification includes the following information: specification includes the following information:
o Contact name, email address, and telephone number. o Contact name, email address, and telephone number.
o Attribute name (as it will appear in SDP). This MUST conform to o Attribute name (as it will appear in SDP). This MUST conform to
the definition of <att-field>. the definition of <att-field>.
o Usage level of the attribute. (One or more of: session, media). o Attribute value: The name of an ABNF syntax rule defining the
syntax of the value. Absence of a rule name indicates that the
attribute takes no value. Enclosing the rule name in "[" and "]"
indicates that a value is optional.
o Usage level of the attribute. (One or more of: session, media,
source).
o Whether the attribute value is subject to the charset attribute. o Whether the attribute value is subject to the charset attribute.
o An ABNF definition of the attribute value rule. The rule MUST NOT o An ABNF definition of the attribute value rule. The rule MUST NOT
match anything that is not also matched by <att-value>. The rule match anything that is not also matched by <att-value>. The rule
name SHOULD [MUST?] NOT be defined as an Incremental Alternative name SHOULD [MUST?] NOT be defined as an Incremental Alternative
to <att-value>. to <att-value>.
o An explanation of the purpose and usage of the attribute. o An explanation of the purpose and usage of the attribute.
o A specification of appropriate attribute values for this attribute o A specification of appropriate attribute values for this attribute
(If not included in syntax). (If not included in syntax).
o Offer/Answer procedures as explained in [RFC3264].
o Indication of which "category"
[I-D.ietf-mmusic-sdp-mux-attributes] an attribute is associated
with.
The above is the minimum that IANA will accept. Attributes that are The above is the minimum that IANA will accept. Attributes that are
expected to see widespread use and interoperability SHOULD be expected to see widespread use and interoperability SHOULD be
documented with a standards-track RFC that specifies the attribute documented with a standards-track RFC that specifies the attribute
more precisely. more precisely.
Submitters of registrations should ensure that the specification is Submitters of registrations should ensure that the specification is
in the spirit of SDP attributes, most notably that the attribute is in the spirit of SDP attributes, most notably that the attribute is
platform independent in the sense that it makes no implicit platform independent in the sense that it makes no implicit
assumptions about operating systems and does not name specific pieces assumptions about operating systems and does not name specific pieces
of software in a manner that might inhibit interoperability. of software in a manner that might inhibit interoperability.
Submitters of registrations should also carefully choose the Submitters of registrations should also carefully choose the
attribute usage level. They should not choose only session-level attribute usage level. They should not choose only session-level
when the attribute can have different values when media is when the attribute can have different values when media is
disaggregated, i.e., when each m= section has its own IP address on a disaggregated, i.e., when each m= section has its own IP address on a
different endpoint. In that case the attribute type chosen should be different endpoint. In that case the attribute type chosen should be
"session, media". "session, media".
IANA has registered the following initial set of attribute names IANA has registered the initial set of attribute names ("att-field"
("att-field" values), with definitions as in Section 6 of this memo values), with definitions as in Section 6 of this memo (these
(these definitions replace those in [RFC4566]): definitions replace those in [RFC4566]).
[ED: Do we need the following list? I propose that it be dropped
in favor of simply referencing Section 6.]
Name | Usage Level | Dependent on charset?
----------+-------------------------+----------------------
cat | Session | No
keywds | Session | Yes
tool | Session | No
ptime | Media | No
maxptime | Media | No
rtpmap | Media | No
recvonly | Session, Media | No
sendrecv | Session, Media | No
sendonly | Session, Media | No
inactive | Session, Media | No
orient | Media | No
type | Session | No
charset | Session | No
sdplang | Session, Media | No
lang | Session, Media | No
framerate | Media | No
quality | Media | No
fmtp | Media | No
8.2.5. Bandwidth Specifiers ("bwtype") 8.2.5. Bandwidth Specifiers ("bwtype")
A proliferation of bandwidth specifiers is strongly discouraged. A proliferation of bandwidth specifiers is strongly discouraged.
New bandwidth specifiers ("bwtype" fields) MUST be registered with New bandwidth specifiers ("bwtype" fields) MUST be registered with
IANA. The submission MUST reference a standards-track RFC specifying IANA. The submission MUST reference a standards-track RFC specifying
the semantics of the bandwidth specifier precisely, and indicating the semantics of the bandwidth specifier precisely, and indicating
when it should be used, and why the existing registered bandwidth when it should be used, and why the existing registered bandwidth
specifiers do not suffice. specifiers do not suffice.
skipping to change at page 48, line 31 skipping to change at page 48, line 19
8.3. Encryption Key Access Methods 8.3. Encryption Key Access Methods
The IANA previously maintained a table of SDP encryption key access The IANA previously maintained a table of SDP encryption key access
method ("enckey") names. This table is obsolete, since the "k=" line method ("enckey") names. This table is obsolete, since the "k=" line
is not extensible. New registrations MUST NOT be accepted. is not extensible. New registrations MUST NOT be accepted.
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
defined in [RFC5234]. defined in [RFC5234] and [RFC7405].
; SDP Syntax ; SDP Syntax
session-description = proto-version session-description = proto-version
origin-field origin-field
session-name-field session-name-field
information-field information-field
uri-field uri-field
email-fields email-fields
phone-fields phone-fields
connection-field connection-field
bandwidth-fields bandwidth-fields
time-fields time-fields
key-field key-field
attribute-fields attribute-fields
media-descriptions media-descriptions
proto-version = %x76 "=" 1*DIGIT CRLF proto-version = %s"v" "=" 1*DIGIT CRLF
;this memo describes version 0 ;this memo describes version 0
origin-field = %x6f "=" username SP sess-id SP sess-version SP origin-field = %s"o" "=" username SP sess-id SP sess-version SP
nettype SP addrtype SP unicast-address CRLF nettype SP addrtype SP unicast-address CRLF
session-name-field = %x73 "=" text CRLF
information-field = [%x69 "=" text CRLF] session-name-field = %s"s" "=" text CRLF
uri-field = [%x75 "=" uri CRLF] information-field = [%s"i" "=" text CRLF]
email-fields = *(%x65 "=" email-address CRLF) uri-field = [%s"u" "=" uri CRLF]
phone-fields = *(%x70 "=" phone-number CRLF) email-fields = *(%s"e" "=" email-address CRLF)
connection-field = [%x63 "=" nettype SP addrtype SP phone-fields = *(%s"p" "=" phone-number CRLF)
connection-field = [%s"c" "=" nettype SP addrtype SP
connection-address CRLF] connection-address CRLF]
;a connection field must be present ;a connection field must be present
;in every media description or at the ;in every media description or at the
;session-level ;session-level
bandwidth-fields = *(%x62 "=" bwtype ":" bandwidth CRLF) bandwidth-fields = *(%s"b" "=" bwtype ":" bandwidth CRLF)
time-fields = 1*( %x74 "=" start-time SP stop-time time-fields = 1*( %s"t" "=" start-time SP stop-time
*(CRLF repeat-fields) CRLF) *(CRLF repeat-fields) CRLF)
[zone-adjustments CRLF] [zone-adjustments CRLF]
repeat-fields = %x72 "=" repeat-interval SP typed-time repeat-fields = %s"r" "=" repeat-interval SP typed-time
1*(SP typed-time) 1*(SP typed-time)
zone-adjustments = %x7a "=" time SP ["-"] typed-time zone-adjustments = %s"z" "=" time SP ["-"] typed-time
*(SP time SP ["-"] typed-time) *(SP time SP ["-"] typed-time)
key-field = [%x6b "=" key-type CRLF] key-field = [%s"k" "=" key-type CRLF]
attribute-fields = *(%x61 "=" attribute CRLF) attribute-fields = *(%s"a" "=" attribute CRLF)
media-descriptions = *( media-field media-descriptions = *( media-field
information-field information-field
*connection-field *connection-field
bandwidth-fields bandwidth-fields
key-field key-field
attribute-fields ) attribute-fields )
media-field = %x6d "=" media SP port ["/" integer] media-field = %s"m" "=" media SP port ["/" integer]
SP proto 1*(SP fmt) CRLF SP proto 1*(SP fmt) CRLF
; sub-rules of 'o=' ; sub-rules of 'o='
username = non-ws-string username = non-ws-string
;pretty wide definition, but doesn't ;pretty wide definition, but doesn't
;include space ;include space
sess-id = 1*DIGIT sess-id = 1*DIGIT
;should be unique for this username/host ;should be unique for this username/host
skipping to change at page 51, line 10 skipping to change at page 50, line 47
; of NTP time is an unbounded length field ; of NTP time is an unbounded length field
; containing at least 10 digits. Unlike the ; containing at least 10 digits. Unlike the
; 64-bit representation used elsewhere, time ; 64-bit representation used elsewhere, time
; in SDP does not wrap in the year 2036. ; in SDP does not wrap in the year 2036.
; sub-rules of 'r=' and 'z=' ; sub-rules of 'r=' and 'z='
repeat-interval = POS-DIGIT *DIGIT [fixed-len-time-unit] repeat-interval = POS-DIGIT *DIGIT [fixed-len-time-unit]
typed-time = 1*DIGIT [fixed-len-time-unit] typed-time = 1*DIGIT [fixed-len-time-unit]
fixed-len-time-unit = %x64 / %x68 / %x6d / %x73 fixed-len-time-unit = %s"d" / %s"h" / %s"m" / %s"s"
; NOTE: These units are case-sensitive.
; sub-rules of 'k=' ; sub-rules of 'k='
key-type = %x70 %x72 %x6f %x6d %x70 %x74 / ; "prompt" key-type = %s"prompt"
%x63 %x6c %x65 %x61 %x72 ":" text / ; "clear:" %s"clear:"
%x62 %x61 %x73 %x65 "64:" base64 / ; "base64:" %s"base64:"
%x75 %x72 %x69 ":" uri ; "uri:" %s"uri:"
; NOTE: These names are case-sensitive.
base64 = *base64-unit [base64-pad] base64 = *base64-unit [base64-pad]
base64-unit = 4base64-char base64-unit = 4base64-char
base64-pad = 2base64-char "==" / 3base64-char "=" base64-pad = 2base64-char "==" / 3base64-char "="
base64-char = ALPHA / DIGIT / "+" / "/" base64-char = ALPHA / DIGIT / "+" / "/"
; sub-rules of 'a=' ; sub-rules of 'a='
attribute = (att-field ":" att-value) / att-field attribute = (att-field ":" att-value) / att-field
att-field = token att-field = token
skipping to change at page 53, line 4 skipping to change at page 52, line 43
text = byte-string text = byte-string
;default is to interpret this as UTF8 text. ;default is to interpret this as UTF8 text.
;ISO 8859-1 requires "a=charset:ISO-8859-1" ;ISO 8859-1 requires "a=charset:ISO-8859-1"
;session-level attribute to be used ;session-level attribute to be used
byte-string = 1*(%x01-09/%x0B-0C/%x0E-FF) byte-string = 1*(%x01-09/%x0B-0C/%x0E-FF)
;any byte except NUL, CR, or LF ;any byte except NUL, CR, or LF
non-ws-string = 1*(VCHAR/%x80-FF) non-ws-string = 1*(VCHAR/%x80-FF)
;string of visible characters ;string of visible characters
token-char = %x21 / %x23-27 / %x2A-2B / %x2D-2E / %x30-39
/ %x41-5A / %x5E-7E
token-char = ALPHA / DIGIT
/ "!" / "#" / "$" / "%" / "&" /
/ "'" ; (single quote)
/ "*" / "+" / "-" / "." / "^" / "_"
/ "`" ; (Grave accent)
/ "{" / "|" / "}" / "~"
zero-based-integer = "0" / integer
token = 1*(token-char) token = 1*(token-char)
email-safe = %x01-09/%x0B-0C/%x0E-27/%x2A-3B/%x3D/%x3F-FF email-safe = %x01-09/%x0B-0C/%x0E-27/%x2A-3B/%x3D/%x3F-FF
;any byte except NUL, CR, LF, or the quoting ;any byte except NUL, CR, LF, or the quoting
;characters ()<> ;characters ()<>
integer = POS-DIGIT *DIGIT integer = POS-DIGIT *DIGIT
; generic sub-rules: primitives ; generic sub-rules: primitives
alpha-numeric = ALPHA / DIGIT alpha-numeric = ALPHA / DIGIT
skipping to change at page 55, line 9 skipping to change at page 55, line 9
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006. Description Protocol", RFC 4566, July 2006.
[I-D.ietf-avtext-rtp-grouping-taxonomy] [I-D.ietf-avtext-rtp-grouping-taxonomy]
Lennox, J., Gross, K., Nandakumar, S., and G. Salgueiro, Lennox, J., Gross, K., Nandakumar, S., and G. Salgueiro,
"A Taxonomy of Grouping Semantics and Mechanisms for Real- "A Taxonomy of Grouping Semantics and Mechanisms for Real-
Time Transport Protocol (RTP) Sources", draft-ietf-avtext- Time Transport Protocol (RTP) Sources", draft-ietf-avtext-
rtp-grouping-taxonomy-02 (work in progress), June 2014. rtp-grouping-taxonomy-02 (work in progress), June 2014.
[I-D.iana-charset-reg-procedure]
McFadden, M. and A. Melnikov, "IANA Charset Registration
Procedures", draft-iana-charset-reg-procedure-00 (work in
progress), October 2014.
[I-D.ietf-mmusic-sdp-mux-attributes]
Nandakumar, S., "A Framework for SDP Attributes when
Multiplexing", draft-ietf-mmusic-sdp-mux-attributes-08
(work in progress), January 2015.
12.2. Informative References 12.2. Informative References
[RFC2327] Handley, M. and V. Jacobson, "SDP: Session Description [RFC2327] Handley, M. and V. Jacobson, "SDP: Session Description
Protocol", RFC 2327, April 1998. Protocol", RFC 2327, April 1998.
[RFC5905] Mills, D., Martin, J., Burbank, J., and W. Kasch, "Network [RFC5905] Mills, D., Martin, J., Burbank, J., and W. Kasch, "Network
Time Protocol Version 4: Protocol and Algorithms Time Protocol Version 4: Protocol and Algorithms
Specification", RFC 5905, June 2010. Specification", RFC 5905, June 2010.
[RFC2974] Handley, M., Perkins, C., and E. Whelan, "Session [RFC2974] Handley, M., Perkins, C., and E. Whelan, "Session
skipping to change at page 56, line 26 skipping to change at page 56, line 38
[RFC5245] Rosenberg, J., "Interactive Connectivity Establishment [RFC5245] Rosenberg, J., "Interactive Connectivity Establishment
(ICE): A Protocol for Network Address Translator (NAT) (ICE): A Protocol for Network Address Translator (NAT)
Traversal for Offer/Answer Protocols", RFC 5245, April Traversal for Offer/Answer Protocols", RFC 5245, April
2010. 2010.
[RFC6544] Rosenberg, J., Keranen, A., Lowekamp, B.B., and A.B. [RFC6544] Rosenberg, J., Keranen, A., Lowekamp, B.B., and A.B.
Roach, "TCP Candidates with Interactive Connectivity Roach, "TCP Candidates with Interactive Connectivity
Establishment (ICE)", RFC 6544, March 2012. Establishment (ICE)", RFC 6544, March 2012.
[RFC7405] Kyzivat, P., "Case-Sensitive String Support in ABNF", RFC
7405, December 2014.
[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.
[RFC4567] Arkko, J., Lindholm, F., Naslund, M., Norrman, K., and E. [RFC4567] Arkko, J., Lindholm, F., Naslund, M., Norrman, K., and E.
Carrara, "Key Management Extensions for Session Carrara, "Key Management Extensions for Session
Description Protocol (SDP) and Real Time Streaming Description Protocol (SDP) and Real Time Streaming
Protocol (RTSP)", RFC 4567, July 2006. Protocol (RTSP)", RFC 4567, July 2006.
 End of changes. 45 change blocks. 
100 lines changed or deleted 97 lines changed or added

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