draft-ietf-mmusic-rfc4566bis-34.txt   draft-ietf-mmusic-rfc4566bis-35.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: September 22, 2019 C. Perkins Expires: November 4, 2019 C. Perkins
University of Glasgow University of Glasgow
M. Handley M. Handley
UCL UCL
March 21, 2019 May 3, 2019
SDP: Session Description Protocol SDP: Session Description Protocol
draft-ietf-mmusic-rfc4566bis-34 draft-ietf-mmusic-rfc4566bis-35
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 September 22, 2019. This Internet-Draft will expire on November 4, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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 8, line 39 skipping to change at page 8, line 39
when desired. Internationalization only applies to free-text sub- when desired. Internationalization only applies to free-text sub-
fields (session name and background information), and not to SDP as a fields (session name and background information), and not to SDP as a
whole. whole.
5. SDP Specification 5. SDP Specification
An SDP description is denoted by the media type "application/sdp" An SDP description is denoted by the media type "application/sdp"
(See Section 8). (See Section 8).
An SDP description is entirely textual. SDP field names and An SDP description is entirely textual. SDP field names and
attribute names use only the US-ASCII subset of UTF-8, but textual attribute names use only the US-ASCII subset of UTF-8 [RFC3629], but
fields and attribute values MAY use the full ISO 10646 character set textual fields and attribute values MAY use the full ISO 10646
in UTF-8 encoding, or some other character set defined by the character set in UTF-8 encoding, or some other character set defined
"a=charset:" attribute. Field and attribute values that use the full by the "a=charset:" attribute. Field and attribute values that use
UTF-8 character set are never directly compared, hence there is no the full UTF-8 character set are never directly compared, hence there
requirement for UTF-8 normalization. The textual form, as opposed to is no requirement for UTF-8 normalization. The textual form, as
a binary encoding such as ASN.1 or XDR, was chosen to enhance opposed to a binary encoding such as ASN.1 or XDR, was chosen to
portability, to enable a variety of transports to be used, and to enhance portability, to enable a variety of transports to be used,
allow flexible, text-based toolkits to be used to generate and and to allow flexible, text-based toolkits to be used to generate and
process session descriptions. However, since SDP may be used in process session descriptions. However, since SDP may be used in
environments where the maximum permissible size of a session environments where the maximum permissible size of a session
description is limited, the encoding is deliberately compact. Also, description is limited, the encoding is deliberately compact. Also,
since descriptions may be transported via very unreliable means or since descriptions may be transported via very unreliable means or
damaged by an intermediate caching server, the encoding was designed damaged by an intermediate caching server, the encoding was designed
with strict order and formatting rules so that most errors would with strict order and formatting rules so that most errors would
result in malformed session descriptions that could be detected result in malformed session descriptions that could be detected
easily and discarded. This also allows rapid discarding of encrypted easily and discarded. This also allows rapid discarding of encrypted
session descriptions for which a receiver does not have the correct session descriptions for which a receiver does not have the correct
key. key.
skipping to change at page 10, line 18 skipping to change at page 10, line 18
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=* (obsolete)
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=* (obsolete)
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 a media- or have a defined meaning, but others may be added on a media- or
session-specific basis. (Attribute scopes in addition to media- and session-specific basis. (Attribute scopes in addition to media-
session- specific may also be defined in extensions to this document. specific and session-specific may also be defined in extensions to
E.g., [RFC5576], [I-D.ietf-mmusic-data-channel-sdpneg].) An SDP this document. E.g., [RFC5576],
parser MUST ignore any attribute it doesn't understand. [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 34, line 12 skipping to change at page 34, line 12
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
Character Sets registry (http://www.iana.org/assignments/character- Character Sets registry (http://www.iana.org/assignments/character-
sets), such as ISO-8859-1. The character set identifier is a US- sets), such as ISO-8859-1. The character set identifier is a string
ASCII string and MUST be compared against identifiers from the "Name" in the US-ASCII subset of UTF-8 and MUST be compared against
or "Preferred MIME Name" field of the registry using a case- identifiers from the "Name" or "Preferred MIME Name" field of the
insensitive comparison. If the identifier is not recognised or not registry using a case-insensitive comparison. If the identifier is
supported, all strings that are affected by it SHOULD be regarded as not recognised or not supported, all strings that are affected by it
octet strings. SHOULD be regarded as octet strings.
Note that a character set specified MUST still prohibit the use of Note that a character set specified MUST still prohibit the use of
bytes 0x00 (Nul), 0x0A (LF), and 0x0d (CR). Character sets requiring bytes 0x00 (Nul), 0x0A (LF), and 0x0d (CR). Character sets requiring
the use of these characters MUST define a quoting mechanism that the use of these characters MUST define a quoting mechanism that
prevents these bytes from appearing within text fields. prevents these bytes from appearing within text fields.
6.11. sdplang (SDP language) 6.11. sdplang (SDP language)
Name: sdplang Name: sdplang
skipping to change at page 35, line 14 skipping to change at page 35, line 14
of the media), overriding any sdplang attributes specified at session of the media), overriding any sdplang attributes specified at session
level. level.
In general, sending session descriptions consisting of multiple In general, sending session descriptions consisting of multiple
languages is discouraged. Instead, multiple sesssion descriptions languages is discouraged. Instead, multiple sesssion descriptions
SHOULD be sent describing the session, one in each language. SHOULD be sent describing the session, one in each language.
However, this is not possible with all transport mechanisms, and so However, this is not possible with all transport mechanisms, and so
multiple sdplang attributes are allowed although NOT RECOMMENDED. multiple sdplang attributes are allowed although NOT RECOMMENDED.
The "sdplang" attribute value must be a single [RFC5646] language tag The "sdplang" attribute value must be a single [RFC5646] language tag
in US-ASCII. An "sdplang" attribute SHOULD be specified when a in the US-ASCII subset of UTF-8. An "sdplang" attribute SHOULD be
session is distributed with sufficient scope to cross geographic specified when a session is distributed with sufficient scope to
boundaries, where the language of recipients cannot be assumed, or cross geographic boundaries, where the language of recipients cannot
where the session is in a different language from the locally assumed be assumed, or where the session is in a different language from the
norm. locally assumed norm.
6.12. lang (language) 6.12. lang (language)
Name: lang Name: lang
Value: lang-value Value: lang-value
Usage Level: session, media Usage Level: session, media
Charset Dependent: no Charset Dependent: no
skipping to change at page 35, line 51 skipping to change at page 35, line 51
language, in which case the order of the attributes indicates the language, in which case the order of the attributes indicates the
order of preference of the various languages in the session or media, order of preference of the various languages in the session or media,
from most preferred to least preferred. from most preferred to least preferred.
As a session-level attribute, lang specifies a language capability As a session-level attribute, lang specifies a language capability
for the session being described. As a media-level attribute, it for the session being described. As a media-level attribute, it
specifies a language capability for that media, overriding any specifies a language capability for that media, overriding any
session-level language(s) specified. session-level language(s) specified.
The "lang" attribute value must be a single [RFC5646] language tag in The "lang" attribute value must be a single [RFC5646] language tag in
US-ASCII. A "lang" attribute SHOULD be specified when a session is the US-ASCII subset of UTF-8. A "lang" attribute SHOULD be specified
of sufficient scope to cross geographic boundaries where the language when a session is of sufficient scope to cross geographic boundaries
of participants cannot be assumed, or where the session has where the language of participants cannot be assumed, or where the
capabilities in languages different from the locally assumed norm. session has capabilities in languages different from the locally
assumed norm.
The "lang" attribute is supposed to be used for setting the initial The "lang" attribute is supposed to be used for setting the initial
language(s) used in the session. Events during the session may language(s) used in the session. Events during the session may
influence which language(s) are used, and the participants are not influence which language(s) are used, and the participants are not
strictly bound to only use the declared languages. strictly bound to only use the declared languages.
Most real-time use cases start with just one language used, while Most real-time use cases start with just one language used, while
other cases involve a range of languages, e.g. an interpreted or other cases involve a range of languages, e.g. an interpreted or
subtitled session. When more than one 'lang' attribute is specified, subtitled session. When more than one 'lang' attribute is specified,
the "lang" attribute itself does not provide any information about the "lang" attribute itself does not provide any information about
skipping to change at page 56, line 20 skipping to change at page 56, line 20
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., Ejzak, R., Marcon, J., and R. Drage, K., Makaraju, M., Ejzak, R., Marcon, J., and R.
Even, "SDP-based Data Channel Negotiation", draft-ietf- Even, "SDP-based Data Channel Negotiation", draft-ietf-
mmusic-data-channel-sdpneg-25 (work in progress), March mmusic-data-channel-sdpneg-27 (work in progress), April
2019. 2019.
[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>.
 End of changes. 12 change blocks. 
35 lines changed or deleted 37 lines changed or added

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