rfc8873xml2.original.xml | rfc8873.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="US-ASCII"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<!-- This template is for creating an Internet Draft using xml2rfc, | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
which is available here: http://xml.resource.org. --> | ||||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | ||||
<!-- One method to get references from the online citation libraries. | ||||
There has to be one entity for each item to be referenced. | ||||
An alternate method (rfc include) is described in the references. --><!ENTI | ||||
TY DATAREQ SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf | ||||
-rtcweb-data-channel.xml"> | ||||
<!ENTITY DCSDPNEG SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I | ||||
-D.ietf-mmusic-data-channel-sdpneg.xml"> | ||||
<!ENTITY SDPSCTP SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I- | ||||
D.ietf-mmusic-sctp-sdp.xml"> | ||||
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.2119.xml"> | ||||
<!ENTITY RFC3261 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.3261.xml"> | ||||
<!ENTITY RFC3264 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.3264.xml"> | ||||
<!ENTITY RFC4566 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.4566.xml"> | ||||
<!ENTITY RFC4960 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.4960.xml"> | ||||
<!ENTITY RFC4975 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.4975.xml"> | ||||
<!ENTITY RFC5547 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.5547.xml"> | ||||
<!ENTITY RFC6135 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.6135.xml"> | ||||
<!ENTITY RFC6714 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.6714.xml"> | ||||
<!ENTITY RFC7092 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.7092.xml"> | ||||
<!ENTITY RFC7977 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.7977.xml"> | ||||
<!ENTITY RFC8174 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
.8174.xml"> | ||||
]> | ||||
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> | ||||
<!-- used by XSLT processors --> | ||||
<!-- For a complete list and description of processing instructions (PIs), | ||||
please see http://xml.resource.org/authoring/README.html. --> | ||||
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds | ||||
might want to use. | ||||
(Here they are set differently than their defaults in xml2rfc v1.32) --> | ||||
<?rfc strict="yes" ?> | ||||
<!-- give errors regarding ID-nits and DTD validation --> | ||||
<!-- control the table of contents (ToC) --> | ||||
<?rfc toc="yes"?> | ||||
<!-- generate a ToC --> | ||||
<?rfc tocdepth="4"?> | ||||
<!-- the number of levels of subsections in ToC. default: 3 --> | ||||
<!-- control references --> | ||||
<?rfc symrefs="yes"?> | ||||
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] --> | ||||
<?rfc sortrefs="no" ?> | ||||
<!-- sort the reference entries alphabetically --> | ||||
<!-- control vertical white space | ||||
(using these PIs as follows is recommended by the RFC Editor) --> | ||||
<?rfc compact="yes" ?> | ||||
<!-- do not start each main section on a new page --> | ||||
<?rfc subcompact="no" ?> | ||||
<!-- keep one blank line between list items --> | ||||
<!-- end of list of popular I-D processing instructions --> | ||||
<rfc category="std" docName="draft-ietf-mmusic-msrp-usage-data-channel-24" ipr=" | ||||
trust200902" updates="4975"> | ||||
<!-- category values: std, bcp, info, exp, and historic | ||||
ipr values: trust200902, noModificationTrust200902, noDerivativesTrust200902, | ||||
or pre5378Trust200902 | ||||
you can add the attributes updates="NNNN" and obsoletes="NNNN" | ||||
they will automatically be output with "(if approved)" --> | ||||
<!-- ***** FRONT MATTER ***** --> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" | |||
docName="draft-ietf-mmusic-msrp-usage-data-channel-24" | ||||
number="8873" | ||||
ipr="trust200902" | ||||
updates="4975" | ||||
obsoletes="" | ||||
submissionType="IETF" | ||||
category="std" | ||||
consensus="true" | ||||
xml:lang="en" | ||||
tocInclude="true" | ||||
tocDepth="4" | ||||
symRefs="true" | ||||
sortRefs="true" | ||||
version="3"> | ||||
<front> | <!-- xml2rfc v2v3 conversion 3.2.1 --> | |||
<!-- The abbreviated title is used in the page header - it is only necessary i | ||||
f the | ||||
full title is longer than 39 characters --> | ||||
<front> | ||||
<title abbrev="MSRP over Data Channels"> | <title abbrev="MSRP over Data Channels"> | |||
MSRP over Data Channels | Message Session Relay Protocol (MSRP) over Data Channels | |||
</title> | </title> | |||
<seriesInfo name="RFC" value="8873"/> | ||||
<!-- add 'role="editor"' below for the editors if appropriate --> | ||||
<!-- Another author who claims to be an editor --> | ||||
<author initials="J. M." surname="Recio" fullname="Jose M. Recio" role="editor | ||||
"> | ||||
<organization>Unaffiliated</organization> | ||||
<address> | ||||
<email>jose@ch3m4.com | ||||
</email> | ||||
</address> | ||||
</author> | ||||
<author initials="C." surname="Holmberg" fullname="Christer Holmberg"> | ||||
<organization>Ericsson</organization> | ||||
<address> | ||||
<postal> | ||||
<street>Hirsalantie 11</street> | ||||
<city>Jorvas 02420</city> | ||||
<region/> | ||||
<country>Finland</country> | ||||
</postal> | ||||
<email>christer.holmberg@ericsson.com</email> | ||||
</address> | ||||
</author> | ||||
<date year="2020"/> | ||||
<!-- If the month and year are both specified and are the current ones, | ||||
xml2rfc will fill | ||||
in the current day for you. If only the current year is specified, xml2rfc wi | ||||
ll fill | ||||
in the current day and month for you. If the year is not the current one, it | ||||
is | ||||
necessary to specify at least a month (xml2rfc assumes day="1" if not specifi | ||||
ed for | ||||
the purpose of calculating the expiry date). With drafts it is normally suff | ||||
icient | ||||
to specify just the year. --> | ||||
<!-- Meta-data Declarations --> | <author initials="JM." surname="Recio" fullname="Jose M. Recio" role="editor"> | |||
<organization>Unaffiliated</organization> | ||||
<address> | ||||
<email>jose@ch3m4.com</email> | ||||
</address> | ||||
</author> | ||||
<author initials="C." surname="Holmberg" fullname="Christer Holmberg"> | ||||
<organization>Ericsson</organization> | ||||
<address> | ||||
<postal> | ||||
<street>Hirsalantie 11</street> | ||||
<city>Jorvas</city> | ||||
<code> 02420</code> | ||||
<country>Finland</country> | ||||
</postal> | ||||
<email>christer.holmberg@ericsson.com</email> | ||||
</address> | ||||
</author> | ||||
<date year="2021" month="January" /> | ||||
<area>ART</area> | <area>ART</area> | |||
<workgroup>MMUSIC</workgroup> | ||||
<workgroup>MMUSIC</workgroup> | <keyword>webrtc</keyword> | |||
<!-- WG name at the upperleft corner of the doc, | ||||
IETF is fine for individual submissions. | ||||
If this element is not present, the default is "Network Working Group", | ||||
which is used by the RFC Editor as a nod to the history of the IETF. --> | ||||
<!-- Keywords will be incorporated into HTML output | ||||
files in a meta tag but they have no effect on text or nroff | ||||
output. If you submit your draft to the RFC Editor, the | ||||
keywords will be used for the search engine. --> | ||||
<abstract> | <abstract> | |||
<t> | ||||
<t> | ||||
This document specifies how a Web Real-Time Communication (WebRTC) | This document specifies how a Web Real-Time Communication (WebRTC) | |||
data channel can be used as a transport mechanism for the Message Session Relay Protocol (MSRP) | data channel can be used as a transport mechanism for the Message Session Relay Protocol (MSRP) | |||
and how the Session Description Protocol (SDP) offer/answer mechanism can be used to negotiate | and how the Session Description Protocol (SDP) offer/answer mechanism can be used to negotiate | |||
such a data channel, referred to as an MSRP data channel. Two network conf igurations are supported: | such a data channel, referred to as an MSRP data channel. Two network conf igurations are supported: | |||
connecting two MSRP data channel endpoints; and a gateway configuration, c | the connection of two MSRP data channel endpoints; and a gateway configura | |||
onnecting an MSRP data channel | tion, which connects an MSRP data channel | |||
endpoint with an MSRP over TCP or TLS endpoint. This document updates RFC4 | endpoint with an MSRP endpoint that uses either TCP or TLS. This document | |||
975. This document updates RFC4975. | updates RFC 4975. | |||
</t> | ||||
</abstract> | ||||
</front> | ||||
<middle> | ||||
<section title="Introduction" anchor="introduction"> | ||||
<t> | ||||
The Message Session Relay Protocol (MSRP) <xref target="RFC4975"/> is a pr | ||||
otocol for transmitting a series | ||||
of related instant messages in the context of a session. In addition to in | ||||
stant messaging, MSRP can also be | ||||
used for image sharing or file transfer. MSRP was initially defined in <xr | ||||
ef target="RFC4975"/> to work over | ||||
TCP and TLS connections, and over a WebSocket subprotocol specified by <xr | ||||
ef target="RFC7977"/>. | ||||
</t> | ||||
<t> | ||||
This document specifies how a Web Real-Time Communication (WebRTC) | ||||
data channel <xref target="I-D.ietf-rtcweb-data-channel"/> can be used as | ||||
a transport mechanism for MSRP, | ||||
without the TCP and TLS layers, and how the Session Description Protocol ( | ||||
SDP) offer/answer | ||||
mechanism for data channels <xref target="I-D.ietf-mmusic-data-channel-sdp | ||||
neg"/> can be used | ||||
to negotiate such a data channel. | ||||
</t> | ||||
<t> | ||||
In this document, an MSRP data channel refers to a WebRTC data | ||||
channel for which the instantiated subprotocol is "msrp" and where | ||||
the data channel is negotiated using the SDP offer/answer mechanism | ||||
<xref target="I-D.ietf-mmusic-data-channel-sdpneg"/>. | ||||
</t> | ||||
<t>Defining MSRP as a data channel subprotocol has many benefits: | ||||
<list style="symbols"> | ||||
<t>provides to applications a proven protocol enabling instant messaging | ||||
, file transfer, image sharing</t> | ||||
<t>integrates those features with other WebRTC voice, video and data fea | ||||
tures</t> | ||||
<t>leverages the SDP-based negotiation already defined for MSRP</t> | ||||
<t>allows the interworking with MSRP endpoints running on a TCP or TLS c | ||||
onnection</t> | ||||
</list> | ||||
</t> | ||||
<t> | ||||
Compared to WebSockets, which provide a message passing protocol to applic | ||||
ations with no direct access to | ||||
TCP or TLS sockets, data channels provide a low latency transport, leverag | ||||
e NAT-aware connectivity and | ||||
security features of WebRTC. | ||||
</t> | ||||
<t> | ||||
Considering an MSRP endpoint as an MSRP application that uses a WebRTC dat | ||||
a channel, this document describes | ||||
two configurations where the other endpoint is respectively either another | ||||
MSRP over data channel endpoint | ||||
(e.g., a WebRTC application) or an MSRP endpoint using either TCP or TLS t | ||||
ransport. | ||||
</t> | ||||
<t> | ||||
This document updates <xref target="RFC4975"/> as described in <xref targe | ||||
t="updates-to-rfc4975"/>. | ||||
</t> | ||||
</section> | ||||
<section title="Conventions"> | ||||
<t> | ||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOUL | ||||
D", "SHOULD NOT", "RECOMMENDED", | ||||
"NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interp | ||||
reted as described in BCP 14 | ||||
<xref target="RFC2119"/><xref target="RFC8174"/> when, and only when, they | ||||
appear in all capitals, as shown here. | ||||
</t> | ||||
</section> | ||||
<section title="WebRTC Data Channel Considerations"> | ||||
<section title="MSRP Data Channel" anchor="msrp-data-channel"> | ||||
<t>The following WebRTC data channel property values <xref target="I-D.ietf- | ||||
rtcweb-data-channel"/> apply to an MSRP data channel:</t> | ||||
<texttable title=""> | ||||
<ttcol align="left">Property</ttcol> | ||||
<ttcol align="left">Value</ttcol> | ||||
<c>Subprotocol Identifier</c> | ||||
<c>msrp</c> | ||||
<c>Transmission reliability</c> | ||||
<c>reliable</c> | ||||
<c>Transmission order</c> | ||||
<c>in-order</c> | ||||
<c>Label</c> | ||||
<c>See | ||||
<xref target="use-of-dcmap-attribute"/> | ||||
</c> | ||||
</texttable> | ||||
</section> | ||||
</section> | ||||
<section title="SDP Considerations" anchor="sdp-cons"> | ||||
<t>The generic SDP considerations, including the SDP offer/answer | ||||
procedures <xref target="RFC3264"/>, for negotiating a WebRTC data chann | ||||
el are | ||||
defined in <xref target="I-D.ietf-mmusic-data-channel-sdpneg"/>. This se | ||||
ction, | ||||
and its subsections, define the SDP considerations that are specific to | ||||
an MSRP data channel, | ||||
identified by the 'subprotocol' attribute parameter, with a "msrp" param | ||||
eter value, | ||||
in the 'dcmap' attribute.</t> | ||||
<section title="MSRP URI"> | ||||
<t>This document extends the MSRP URI syntax <xref target="RFC4975"/> by d | ||||
efining the new transport parameter value "dc" (an abbreviation of data channel) | ||||
:</t> | ||||
<figure align="left" title=""> | ||||
<artwork align="left"><![CDATA[ | ||||
transport /= "dc" | ||||
; Add "dc" to existing transports per Section 9 of [RFC4975] ]]></artwork> | ||||
</figure> | ||||
<t>MSRP design provides for new transport bindings (see Section 6 of <xref | ||||
target="RFC4975"/>). MSRP implementations are expected to allow unrecognized tr | ||||
ansports for which there is no need to establish a connection to the resource de | ||||
scribed by the URI, as it's the case of data channels (<xref target="use-of-dcsa | ||||
-attribute"/>).</t> | ||||
</section> | ||||
<section title="msrp-scheme"> | ||||
<t>The msrp-scheme portion of the MSRP-URI that represents an MSRP data ch | ||||
annel endpoint (used in the SDP path attribute and in the MSRP message headers) | ||||
is always "msrps", which indicates that the MSRP data channel is always secured | ||||
using DTLS as described in <xref target="I-D.ietf-rtcweb-data-channel"/>.</t> | ||||
</section> | ||||
<section title="Use of the dcmap Attribute" anchor="use-of-dcmap-attribute" | ||||
> | ||||
<t>An offerer and answerer SHALL, in each offer and answer, include a 'dcm | ||||
ap' attribute <xref target="I-D.ietf-mmusic-data-channel-sdpneg"/> in the SDP me | ||||
dia description (m= section) <xref target="RFC4566"/> describing the SCTP associ | ||||
ation <xref target="RFC4960"/> used to realize the MSRP data channel.</t> | ||||
<t>The attribute includes the following data channel parameters: | ||||
<list style="symbols"> | ||||
<t>"label=" labelstring</t> | ||||
<t>"subprotocol=" "msrp"</t> | ||||
</list> | ||||
</t> | ||||
<t>The labelstring is set by the MSRP application according to <xref targe | ||||
t="I-D.ietf-mmusic-data-channel-sdpneg"/>.</t> | ||||
<t>The offerer and answerer SHALL NOT include the 'max-retr' and the 'max- | ||||
time' attribute parameters in the 'dcmap' attribute.</t> | ||||
<t>The offerer and answerer MAY include the 'ordered' attribute parameter | ||||
in the 'dcmap' attribute. If included, the attribute parameter value SHALL be se | ||||
t to "true".</t> | ||||
<t>Below is an example of a 'dcmap' attribute for an MSRP session to be ne | ||||
gotiated with stream-id=2 and label="chat":</t> | ||||
<figure align="left" title=""> | ||||
<artwork align="left"><![CDATA[ | ||||
a=dcmap:2 label="chat";subprotocol="msrp" | ||||
]]></artwork> | ||||
</figure> | ||||
</section> | ||||
<section title="Use of the dcsa Attribute" anchor="use-of-dcsa-attribute"> | ||||
<t> | ||||
An offerer and answerer can, in each offer and answer, include one or | ||||
more 'dcsa' attributes <xref target="I-D.ietf-mmusic-data-channel-sdpneg | ||||
"/> in | ||||
the m= section describing the SCTP association used to realize the | ||||
MSPR data channel. An SDP attribute included in a 'dcsa' attribute is re | ||||
ferred | ||||
to as a dcsa embedded attribute. | ||||
</t> | </t> | |||
</abstract> | ||||
</front> | ||||
<middle> | ||||
<section anchor="introduction" numbered="true" toc="default"> | ||||
<name>Introduction</name> | ||||
<t> | <t> | |||
If an offerer or answerer receives a 'dcsa' attribute that contains | The Message Session Relay Protocol (MSRP) <xref target="RFC4975" format="d | |||
an SDP attribute which usage has not been defined for an MSRP data | efault"/> is a protocol for transmitting a series | |||
channel, the offerer or answerer should ignore the 'dcsa' attribute, | of related instant messages in the context of a session. In addition to in | |||
following the rules in Section 6.7 of <xref target="I-D.ietf-mmusic-data | stant messaging, MSRP can also be | |||
-channel-sdpneg"/>. | used for image sharing or file transfer. MSRP was initially defined in <xr | |||
ef target="RFC4975" format="default"/> to work over | ||||
TCP and TLS connections, and over a WebSocket subprotocol specified by <xr | ||||
ef target="RFC7977" format="default"/>. | ||||
</t> | </t> | |||
<t> | <t> | |||
An offerer and answerer SHALL include a 'dcsa' attribute for each of the | This document specifies how a Web Real-Time Communication (WebRTC) | |||
following MSRP-specific SDP attributes: | data channel <xref target="RFC8831" format="default"/> can be used as a tr | |||
<list style="symbols"> | ansport mechanism for MSRP | |||
<t>defined in <xref target="RFC4975"/>: "path".</t> | without the TCP and TLS layers, and how the Session Description Protocol ( | |||
<t>defined in <xref target="RFC6714"/>: "msrp-cema".</t> | SDP) offer/answer | |||
<t>defined in <xref target="RFC6135"/>: "setup". See <xref target="use-o | mechanism for data channels <xref target="RFC8864" format="default"/> can | |||
f-setup-attribute"/></t> | be used | |||
</list> | to negotiate such a data channel. | |||
</t> | </t> | |||
<t> | <t> | |||
It is considered a protocol error if one or more of the dcsa embedded at | In this document, an MSRP data channel refers to a WebRTC data | |||
tributes listed above are not included in an offer or answer. | channel for which the instantiated subprotocol is "msrp" and | |||
the data channel is negotiated using the SDP offer/answer mechanism | ||||
<xref target="RFC8864" format="default"/>. | ||||
</t> | </t> | |||
<t>Defining MSRP as a data channel subprotocol has many benefits: | ||||
<t>An offerer and answerer MAY include a 'dcsa' attribute for any of the f | ||||
ollowing MSRP-specific SDP attributes, following the procedures defined for each | ||||
attribute: | ||||
<list style="symbols"> | ||||
<t>defined in <xref target="RFC4975"/>: "accept-types", "accept-wrapped- | ||||
types" and "max-size"</t> | ||||
<t>defined in <xref target="RFC4566"/>: "sendonly", "recvonly", "inactiv | ||||
e" and "sendrecv"</t> | ||||
<t>defined in <xref target="RFC5547"/>: all the parameters related to MS | ||||
RP file transfer. See <xref target="file_transfer_sdp"/>.</t> | ||||
</list> | ||||
</t> | </t> | |||
<ul spacing="normal"> | ||||
<li>provides to applications a proven protocol enabling instant messagin | ||||
g, file transfer, image sharing</li> | ||||
<li>integrates those features with other WebRTC voice, video, and data f | ||||
eatures</li> | ||||
<li>leverages the SDP-based negotiation already defined for MSRP</li> | ||||
<li>allows the interworking with MSRP endpoints running on a TCP or TLS | ||||
connection</li> | ||||
</ul> | ||||
<t> | <t> | |||
A subsequent offer or answer MAY update the previously negotiated MSRP s | Compared to the WebSocket protocol, which provides a message-passing proto | |||
ubprotocol attributes | col to applications with no direct access to | |||
while keeping the 'dcmap' attribute associated with the MSRP data channe | TCP or TLS sockets, data channels provide a low-latency transport and leve | |||
l unchanged. The semantics | rage NAT-aware connectivity and | |||
for newly negotiated MSRP subprotocol attributes are per <xref target="R | the security features of WebRTC. | |||
FC4975"/>. | ||||
</t> | </t> | |||
<t> | <t> | |||
When MSRP messages are transported on a data channel, the 'path' attribu | This document defines an MSRP data channel endpoint as an MSRP application th | |||
te is not used for routing | at | |||
of the messages. The MSRP data channel is established using the SDP offe | uses a WebRTC data channel for MSRP transport. This document describes | |||
r/answer procedures defined | configurations for connecting such endpoint to another MSRP data channel endp | |||
in <xref target="I-D.ietf-mmusic-data-channel-sdpneg"/>, and the MSRP me | oint, | |||
ssages are then transported | or to an MSRP endpoint that uses either TCP or TLS transport. | |||
on that data channel. This is different from legacy MSRP <xref target="R | ||||
FC4975"/> but similar to | ||||
MSRP CEMA <xref target="RFC6714"/>. Because of this, a dcsa embedded 'ms | ||||
rp-cema' attribute is | ||||
mandated for MSRP sessions over data channels. However, when an endpoint | ||||
receives an MSRP message | ||||
over a data channel, it MUST still perform the MSRP-URI comparison proce | ||||
dures defined in | ||||
<xref target="RFC4975"/>. | ||||
</t> | </t> | |||
</section> | ||||
<section title="Use of the dcsa embedded setup Attribute" anchor="use-of-se | ||||
tup-attribute"> | ||||
<t> | <t> | |||
As described in <xref target="use-of-dcsa-attribute"/>, the usage of a d | This document updates <xref target="RFC4975" format="default"/> as describ | |||
sca embedded 'setup' attribute is mandated for MSRP sessions over data channels. | ed in <xref target="updates-to-rfc4975" format="default"/>. | |||
It is used to negotiate which MSRP session endpoint assumes the active r | ||||
ole as per Section 4.2.2 of <xref target="RFC6135"/> and | ||||
Section 5.4 of <xref target="RFC4975"/>. It has no relationship with the | ||||
DTLS connection establishment roles <xref target="I-D.ietf-mmusic-sctp-sdp"/>. | ||||
</t> | </t> | |||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Conventions</name> | ||||
<t> | <t> | |||
The dcsa embedded setup attribute is of the form "a=dcsa:x setup:<rol | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | |||
e>", with x being the data channel's SCTP stream identifier, so that | "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", | |||
such attribute is explicitly associated with an MSRP session over a spec | "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | |||
ific data channel. | "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be | ||||
interpreted as described in BCP 14 <xref target="RFC2119" format="default"/> <xr | ||||
ef | ||||
target="RFC8174" format="default"/> when, and only when, they appear in all capi | ||||
tals, as | ||||
shown here. | ||||
</t> | </t> | |||
</section> | ||||
<section title="Session Closing" anchor="session-closing-sdp"> | ||||
<t>An MSRP session is closed by closing the associated data channel, follow | ||||
ing the procedures in <xref target="I-D.ietf-mmusic-data-channel-sdpneg"/>.</t> | ||||
<t>The port value for the "m=" line SHOULD NOT be changed (e.g. to zero) wh | ||||
en closing an MSRP session (unless all data channels are being closed and the SC | ||||
TP association is no longer needed), since this would close the SCTP association | ||||
and impact all of the data channels. In all cases in <xref target="RFC4975"/> w | ||||
here the procedure calls for setting the port to zero for the MSRP "m=" line in | ||||
an SDP offer for TCP transport, the SDP offerer of an MSRP session with data cha | ||||
nnel transport SHALL remove the corresponding dcmap and dcsa attributes.</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<name>WebRTC Data Channel Considerations</name> | ||||
<section anchor="msrp-data-channel" numbered="true" toc="default"> | ||||
<name>MSRP Data Channel</name> | ||||
<t>The following WebRTC data channel property values | ||||
<xref target="RFC8831" format="default"/> apply to an MSRP data channel:</t> | ||||
<table align="center"> | ||||
<thead> | ||||
<tr> | ||||
<th align="left">Property</th> | ||||
<th align="left">Value</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td align="left">Subprotocol Identifier</td> | ||||
<td align="left">msrp</td> | ||||
</tr> | ||||
<tr> | ||||
<td align="left">Transmission reliability</td> | ||||
<td align="left">reliable</td> | ||||
</tr> | ||||
<tr> | ||||
<td align="left">Transmission order</td> | ||||
<td align="left">in-order</td> | ||||
</tr> | ||||
<tr> | ||||
<td align="left">Label</td> | ||||
<td align="left">See | ||||
<xref target="use-of-dcmap-attribute" format="default"/> | ||||
</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | ||||
</section> | ||||
<section anchor="sdp-cons" numbered="true" toc="default"> | ||||
<name>SDP Considerations</name> | ||||
<t>The generic SDP considerations, including the SDP offer/answer | ||||
procedures <xref target="RFC3264" format="default"/>, for negotiating a | ||||
WebRTC data channel are | ||||
defined in <xref target="RFC8864" format="default"/>. This section | ||||
and its subsections define the SDP considerations that are specific to a | ||||
n MSRP data channel, | ||||
identified by the "subprotocol" attribute parameter, with an "msrp" para | ||||
meter value | ||||
in the 'dcmap' attribute.</t> | ||||
<section numbered="true" toc="default"> | ||||
<name>MSRP URI</name> | ||||
<t>This document extends the MSRP URI syntax <xref target="RFC4975" form | ||||
at="default"/> by defining the new transport parameter value "dc" (an abbreviati | ||||
on of data channel):</t> | ||||
<section title="Support for MSRP File Transfer Function" anchor="file_trans | <sourcecode type="abnf"><![CDATA[ | |||
fer_sdp"> | transport /= "dc" | |||
<t>SDP attributes specified in <xref target="RFC5547"/> for a file transf | ; Add "dc" to existing transports per Section 9 of [RFC4975] ]]> | |||
er "m=" line are embedded as subprotocol-specific attributes using the syntax de | </sourcecode> | |||
fined in <xref target="I-D.ietf-mmusic-data-channel-sdpneg"/>.</t> | ||||
</section> | ||||
<section title="Example" anchor="example-sdp-negotiation"> | <t>MSRP design provides for new transport bindings (see <xref target="RF | |||
C4975" section="6" sectionFormat="of"/>). | ||||
MSRP implementations are expected to allow unrecognized transports for which | ||||
there is no need to establish a connection to the resource described by the URI, | ||||
as is the case of data channels (<xref target="use-of-dcsa-attribute" format="de | ||||
fault"/>).</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>MSRP URI msrp-scheme</name> | ||||
<t>The msrp-scheme portion of the MSRP URI that represents an MSRP data | ||||
channel endpoint (used in the SDP 'path' attribute and in the MSRP message heade | ||||
rs) is always "msrps", which indicates that the MSRP data channel is always secu | ||||
red using DTLS as described in <xref target="RFC8831" format="default"/>.</t> | ||||
</section> | ||||
<section anchor="use-of-dcmap-attribute" numbered="true" toc="default"> | ||||
<name>Use of the 'dcmap' Attribute</name> | ||||
<t>An offerer and answerer <bcp14>SHALL</bcp14>, in each offer and answe | ||||
r, | ||||
include a 'dcmap' attribute <xref target="RFC8864" format="default"/> in the SDP | ||||
media description ("m=" section) <xref target="RFC4566" format="default"/> descr | ||||
ibing the SCTP association <xref target="RFC4960" format="default"/> used to rea | ||||
lize the MSRP data channel.</t> | ||||
<t>The attribute includes the following data channel parameters: | ||||
</t> | ||||
<ul spacing="normal"> | ||||
<li>"label=" labelstring</li> | ||||
<li>"subprotocol=" "msrp"</li> | ||||
</ul> | ||||
<t>The labelstring is set by the MSRP application according to <xref tar | ||||
get="RFC8864" format="default"/>.</t> | ||||
<t>The offerer and answerer <bcp14>SHALL NOT</bcp14> include the | ||||
"max-retr" and the "max-time" attribute parameters in the 'dcmap' attribute.</t> | ||||
<t>The offerer and answerer <bcp14>MAY</bcp14> include the "ordered" att | ||||
ribute parameter in the 'dcmap' attribute. If included, the attribute parameter | ||||
value <bcp14>SHALL</bcp14> be set to "true".</t> | ||||
<t>Below is an example of a 'dcmap' attribute for an MSRP session to be | ||||
negotiated with the "dcmap-stream-id" parameter set to 2 and the "label" paramet | ||||
er set to "chat":</t> | ||||
<t>Below is an example of an offer and an answer that include the attribut | <sourcecode type="sdp"><![CDATA[ | |||
es needed to establish two MSRP sessions: one for chat and one for file transfer | a=dcmap:2 label="chat";subprotocol="msrp" | |||
. The example is derived from a combination of examples in <xref target="RFC4975 | ]]></sourcecode> | |||
"/> and <xref target="RFC5547"/>.</t> | ||||
<figure align="left" title=""> | </section> | |||
<artwork align="left"><![CDATA[ | <section anchor="use-of-dcsa-attribute" numbered="true" toc="default"> | |||
Offer: | <name>Use of the 'dcsa' Attribute</name> | |||
<t> | ||||
An offerer and answerer can, in each offer and answer, include one or | ||||
more data channel subprotocol attributes ('dcsa' attributes) <xref targe | ||||
t="RFC8864" format="default"/> in | ||||
the "m=" section describing the SCTP association used to realize the | ||||
MSRP data channel. An SDP attribute included in a 'dcsa' attribute is re | ||||
ferred | ||||
to as a DCSA-embedded attribute. | ||||
</t> | ||||
<t> | ||||
If an offerer or answerer receives a 'dcsa' attribute that contains | ||||
an SDP attribute for which usage has not been defined for an MSRP data | ||||
channel, the offerer or answerer should ignore the 'dcsa' attribute, | ||||
following the rules in <xref target="RFC8864" section="6.7" sectionForma | ||||
t="of"/>. | ||||
</t> | ||||
<t> | ||||
An offerer and answerer <bcp14>SHALL</bcp14> include a 'dcsa' attribute | ||||
for each of the following MSRP-specific SDP attributes: | ||||
</t> | ||||
<ul spacing="normal"> | ||||
<li>defined in <xref target="RFC4975" format="default"/>: 'path'.</li> | ||||
<li>defined in <xref target="RFC6714" format="default"/>: 'msrp-cema'. | ||||
</li> | ||||
<li>defined in <xref target="RFC6135" format="default"/>: 'setup'. | ||||
See <xref target="use-of-setup-attribute" format="default"/>.</li> | ||||
</ul> | ||||
<t> | ||||
It is considered a protocol error if one or more of the DCSA-embedded at | ||||
tributes listed above are not included in an offer or answer. | ||||
</t> | ||||
<t>An offerer and answerer <bcp14>MAY</bcp14> include a 'dcsa' attribute | ||||
for any of the following MSRP-specific SDP attributes, following the procedures | ||||
defined for each attribute: | ||||
</t> | ||||
<ul spacing="normal"> | ||||
<li>defined in <xref target="RFC4975" format="default"/>: 'accept-type | ||||
s', 'accept-wrapped-types', and 'max-size'.</li> | ||||
<li>defined in <xref target="RFC4566" format="default"/>: 'sendonly', | ||||
'recvonly', 'inactive', and 'sendrecv'.</li> | ||||
<li>defined in <xref target="RFC5547" format="default"/>: all the para | ||||
meters related to MSRP file transfer. See <xref target="file_transfer_sdp" forma | ||||
t="default"/>.</li> | ||||
</ul> | ||||
<t> | ||||
A subsequent offer or answer <bcp14>MAY</bcp14> update the previously ne | ||||
gotiated MSRP subprotocol attributes | ||||
while keeping the 'dcmap' attribute associated with the MSRP data channe | ||||
l unchanged. The semantics | ||||
for newly negotiated MSRP subprotocol attributes are per <xref target="R | ||||
FC4975" format="default"/>. | ||||
</t> | ||||
<t> | ||||
When MSRP messages are transported on a data channel, the 'path' attribu | ||||
te is not used for the routing | ||||
of the messages. The MSRP data channel is established using the SDP offe | ||||
r/answer procedures defined | ||||
in <xref target="RFC8864" format="default"/>, and the MSRP messages are | ||||
then transported | ||||
on that data channel. This is different from legacy MSRP <xref target="R | ||||
FC4975" format="default"/> but similar to | ||||
MSRP Connection Establishment for Media Anchoring (MSRP CEMA) <xref tar | ||||
get="RFC6714" format="default"/>. | ||||
Because of this, a DCSA-embedded 'msrp-cema' attribute is | ||||
mandated for MSRP sessions over data channels. However, when an endpoint | ||||
receives an MSRP message | ||||
over a data channel, it <bcp14>MUST</bcp14> still perform the MSRP URI c | ||||
omparison procedures defined in | ||||
<xref target="RFC4975" format="default"/>. | ||||
</t> | ||||
</section> | ||||
<section anchor="use-of-setup-attribute" numbered="true" toc="default"> | ||||
<name>Use of the DCSA-Embedded 'setup' Attribute</name> | ||||
<t> | ||||
As described in <xref target="use-of-dcsa-attribute" format="default"/>, | ||||
the usage of a | ||||
DCSA-embedded 'setup' attribute is mandated for MSRP sessions over data channels | ||||
. | ||||
It is used to negotiate which MSRP data channel endpoint assumes the act | ||||
ive role as per | ||||
<xref target="RFC6135" section="4.2.2" sectionFormat="of"/> and | ||||
<xref target="RFC4975" section="5.4" sectionFormat="of"/>. It has no rel | ||||
ationship with the DTLS connection establishment roles <xref target="RFC8841" fo | ||||
rmat="default"/>. | ||||
</t> | ||||
<t> | ||||
The DCSA-embedded 'setup' attribute is of the form | ||||
"a=dcsa:x setup:<role>", with x being the data channel's SCTP stre | ||||
am identifier, so that | ||||
the 'setup' attribute is explicitly associated with an MSRP session over | ||||
a specific data channel. | ||||
</t> | ||||
</section> | ||||
<section anchor="session-closing-sdp" numbered="true" toc="default"> | ||||
<name>Session Closing</name> | ||||
<t>An MSRP session is closed by closing the associated data channel | ||||
following the procedures in <xref target="RFC8864" format="default"/>.</t> | ||||
<t>The port value for the "m=" line <bcp14>SHOULD NOT</bcp14> | ||||
be changed (e.g., to zero) when closing an MSRP session (unless all data | ||||
channels are being closed and the SCTP association is no longer needed) | ||||
since this would close the SCTP association and impact all of the data channels. | ||||
In all cases in <xref target="RFC4975" format="default"/> where the procedure | ||||
calls for setting the port to zero in the MSRP "m=" line in an SDP offer | ||||
for TCP transport, the SDP offerer of an MSRP session with data channel transpor | ||||
t | ||||
<bcp14>SHALL</bcp14> remove the corresponding 'dcmap' and 'dcsa' attributes.</t> | ||||
</section> | ||||
<section anchor="file_transfer_sdp" numbered="true" toc="default"> | ||||
<name>Support for MSRP File Transfer Function</name> | ||||
<t>SDP attributes specified in <xref target="RFC5547" format="default"/> | ||||
for a file transfer "m=" line are embedded as subprotocol-specific attributes u | ||||
sing the syntax defined in <xref target="RFC8864" format="default"/>.</t> | ||||
</section> | ||||
<section anchor="example-sdp-negotiation" numbered="true" toc="default"> | ||||
<name>Example</name> | ||||
<t>Below is an example of an offer and an answer that include the attrib | ||||
utes needed to establish two MSRP sessions: one for chat and one for file transf | ||||
er. The example is derived from a combination of examples in <xref target="RFC49 | ||||
75" format="default"/> and <xref target="RFC5547" format="default"/>.</t> | ||||
<t>Offer:</t> | ||||
<sourcecode type="sdp"><![CDATA[ | ||||
m=application 54111 UDP/DTLS/SCTP webrtc-datachannel | m=application 54111 UDP/DTLS/SCTP webrtc-datachannel | |||
c=IN IP6 2001:db8::3 | c=IN IP6 2001:db8::3 | |||
a=max-message-size:100000 | a=max-message-size:100000 | |||
a=sctp-port:5000 | a=sctp-port:5000 | |||
a=setup:actpass | a=setup:actpass | |||
a=fingerprint:SHA-256 12:DF:3E:5D:49:6B:19:E5:7C:AB:4A:AD:B9:B1:3F:\ | a=fingerprint:SHA-256 12:DF:3E:5D:49:6B:19:E5:7C:AB:4A:AD:B9:B1:\ | |||
82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB:4A:AD | 3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB:4A:AD | |||
a=tls-id:4a756565cddef001be82 | a=tls-id:4a756565cddef001be82 | |||
a=dcmap:0 label="chat";subprotocol="msrp" | a=dcmap:0 label="chat";subprotocol="msrp" | |||
a=dcsa:0 msrp-cema | a=dcsa:0 msrp-cema | |||
a=dcsa:0 setup:active | a=dcsa:0 setup:active | |||
a=dcsa:0 accept-types:message/cpim text/plain | a=dcsa:0 accept-types:message/cpim text/plain | |||
a=dcsa:0 path:msrps://2001:db8::3:54111/si438dsaodes;dc | a=dcsa:0 path:msrps://2001:db8::3:54111/si438dsaodes;dc | |||
a=dcmap:2 label="file transfer";subprotocol="msrp" | a=dcmap:2 label="file transfer";subprotocol="msrp" | |||
a=dcsa:2 sendonly | a=dcsa:2 sendonly | |||
a=dcsa:2 msrp-cema | a=dcsa:2 msrp-cema | |||
a=dcsa:2 setup:active | a=dcsa:2 setup:active | |||
a=dcsa:2 accept-types:message/cpim | a=dcsa:2 accept-types:message/cpim | |||
a=dcsa:2 accept-wrapped-types:* | a=dcsa:2 accept-wrapped-types:* | |||
a=dcsa:2 path:msrps://2001:db8::3:54111/jshA7we;dc | a=dcsa:2 path:msrps://2001:db8::3:54111/jshA7we;dc | |||
a=dcsa:2 file-selector:name:"picture1.jpg" type:image/jpeg \ | a=dcsa:2 file-selector:name:"picture1.jpg" type:image/jpeg \ | |||
size:1463440 hash:sha-256:7C:DF:3E:5D:49:6B:19:E5:12:AB:4A:AD: \ | size:1463440 hash:sha-256:7C:DF:3E:5D:49:6B:19:E5:12:AB:4A:AD:\ | |||
4A:B1:3F:82:3E:3B:54:12:02:5D:18:DF:49:6B:19:E5:7C:AB:B9:AD | 4A:B1:3F:82:3E:3B:54:12:02:5D:18:DF:49:6B:19:E5:7C:AB:B9:AD | |||
a=dcsa:2 file-transfer-id:rjEtHAcYVZ7xKwGYpGGwyn5gqsSaU7Ep | a=dcsa:2 file-transfer-id:rjEtHAcYVZ7xKwGYpGGwyn5gqsSaU7Ep | |||
a=dcsa:2 file-disposition:attachment | a=dcsa:2 file-disposition:attachment | |||
a=dcsa:2 file-date:creation:"Tue, 11 Aug 2020 19:05:30 +0200" | a=dcsa:2 file-date:creation:"Tue, 11 Aug 2020 19:05:30 +0200" | |||
a=dcsa:2 file-icon:cid:id2@bob.example.com | a=dcsa:2 file-icon:cid:id2@bob.example.com | |||
a=dcsa:2 file-range:1-1463440 | a=dcsa:2 file-range:1-1463440 | |||
Answer: | ]]></sourcecode> | |||
<t>Answer:</t> | ||||
<sourcecode type="sdp"><![CDATA[ | ||||
m=application 51444 UDP/DTLS/SCTP webrtc-datachannel | m=application 51444 UDP/DTLS/SCTP webrtc-datachannel | |||
c=IN IP6 IP6 2001:db8::1 | c=IN IP6 IP6 2001:db8::1 | |||
a=max-message-size:100000 | a=max-message-size:100000 | |||
a=sctp-port:6000 | a=sctp-port:6000 | |||
a=setup:passive | a=setup:passive | |||
a=fingerprint:SHA-256 5D:02:3E:AD:49:6B:19:E5:7C:AB:4A:AD:B9:B1: \ | a=fingerprint:SHA-256 5D:02:3E:AD:49:6B:19:E5:7C:AB:4A:AD:B9:\ | |||
3F:82:18:3B:54:DF:12:6B:3E:5D:49:DF:19:E5:7C:AB:4A:5D | B1:3F:82:18:3B:54:DF:12:6B:3E:5D:49:DF:19:E5:7C:AB:4A:5D | |||
a=tls-id:65cd4a7565debe82f100 | a=tls-id:65cd4a7565debe82f100 | |||
a=dcmap:0 label="chat";subprotocol="msrp" | a=dcmap:0 label="chat";subprotocol="msrp" | |||
a=dcsa:0 msrp-cema | a=dcsa:0 msrp-cema | |||
a=dcsa:0 setup:passive | a=dcsa:0 setup:passive | |||
a=dcsa:0 accept-types:message/cpim text/plain | a=dcsa:0 accept-types:message/cpim text/plain | |||
a=dcsa:0 path:msrps://2001:db8::1:51444/di551fsaodes;dc | a=dcsa:0 path:msrps://2001:db8::1:51444/di551fsaodes;dc | |||
a=dcmap:2 label="file transfer";subprotocol="msrp" | a=dcmap:2 label="file transfer";subprotocol="msrp" | |||
a=dcsa:2 recvonly | a=dcsa:2 recvonly | |||
a=dcsa:2 msrp-cema | a=dcsa:2 msrp-cema | |||
a=dcsa:2 setup:passive | a=dcsa:2 setup:passive | |||
a=dcsa:2 accept-types:message/cpim | a=dcsa:2 accept-types:message/cpim | |||
a=dcsa:2 accept-wrapped-types:* | a=dcsa:2 accept-wrapped-types:* | |||
a=dcsa:2 path:msrps://2001:db8::1:51444/jksh7Bwc;dc | a=dcsa:2 path:msrps://2001:db8::1:51444/jksh7Bwc;dc | |||
a=dcsa:2 file-selector:name:"picture1.jpg" type:image/jpeg \ | a=dcsa:2 file-selector:name:"picture1.jpg" type:image/jpeg \ | |||
size:1463440 | size:1463440 | |||
a=dcsa:2 file-transfer-id:rjEtHAcYVZ7xKwGYpGGwyn5gqsSaU7Ep | a=dcsa:2 file-transfer-id:rjEtHAcYVZ7xKwGYpGGwyn5gqsSaU7Ep | |||
a=dcsa:2 file-range:1-1463440 | a=dcsa:2 file-range:1-1463440 | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | ||||
<t> | ||||
Note that due to RFC formatting conventions, this document splits SDP ac | ||||
ross lines whose | ||||
content would exceed 72 characters. A backslash character marks where th | ||||
is line folding | ||||
has taken place. This backslash and its trailing CRLF and whitespace wou | ||||
ld not appear | ||||
in actual SDP content. | ||||
</t> | ||||
</section> | ||||
</section> | ||||
<section title="MSRP Considerations" anchor="msrp-cons"> | ||||
<t>The procedures specified in <xref target="RFC4975"/> apply except when thi | <t> | |||
s document specifies otherwise. This section describes the MSRP considerations s | Note that due to RFC formatting conventions, this document splits | |||
pecific to an MSRP data channel.</t> | SDP content that exceeds 72 characters across lines, marking this | |||
<section title="Session Mapping"> | line folding with a backslash character. This backslash and its | |||
<t>In this document, each MSRP session maps to one data channel exactly.</ | trailing CRLF and whitespace would not appear in actual SDP content. | |||
t> | </t> | |||
</section> | </section> | |||
<section title="Session Opening" anchor="session-opening-msrp"> | ||||
<t><xref target="use-of-setup-attribute"/> describes how the active MSRP se | ||||
ssion endpoint role is negotiated. The active MSRP session endpoint uses the dat | ||||
a channel established for this MSRP session by the generic data channel opening | ||||
procedure defined in <xref target="I-D.ietf-mmusic-data-channel-sdpneg"/>.</t> | ||||
<t>As soon as the WebRTC data channel is opened, the MSRP session is actual | ||||
ly opened by the active MSRP session endpoint. In order to do this the active MS | ||||
RP endpoint sends an MSRP SEND message (empty or not) to the peer (passive) MSRP | ||||
endpoint.</t> | ||||
</section> | </section> | |||
<section title="Session Closing" anchor="session-closing"> | <section anchor="msrp-cons" numbered="true" toc="default"> | |||
<t>The closure of an MSRP session SHALL be signaled via SDP following the r | <name>MSRP Considerations</name> | |||
equirements in <xref target="session-closing-sdp"/></t> | <t>The procedures specified in <xref target="RFC4975" format="default"/> a | |||
<t>If the data channel used to transport the MSRP session fails and gets to | pply except when this document specifies otherwise. This section describes the M | |||
rn down, the endpoints SHALL consider the MSRP session failed. An MSRP endpoint | SRP considerations specific to an MSRP data channel.</t> | |||
MAY, based on local policy, try to negotiate a new MSRP data channel.</t> | <section numbered="true" toc="default"> | |||
<name>Session Mapping</name> | ||||
<t>In this document, each MSRP session maps to one data channel exactly. | ||||
</t> | ||||
</section> | ||||
<section anchor="session-opening-msrp" numbered="true" toc="default"> | ||||
<name>Session Opening</name> | ||||
<t><xref target="use-of-setup-attribute" format="default"/> describes ho | ||||
w the active MSRP data channel endpoint role is negotiated. The active MSRP data | ||||
channel endpoint uses the data channel established for this MSRP session by the | ||||
generic data channel opening procedure defined in <xref target="RFC8864" format | ||||
="default"/>.</t> | ||||
<t>As soon as the WebRTC data channel is opened, the MSRP session is act | ||||
ually opened by the active MSRP data channel endpoint. | ||||
In order to do this, the active MSRP data channel endpoint sends an MSRP SEND me | ||||
ssage (empty or not) to the peer (passive) MSRP data channel endpoint.</t> | ||||
</section> | ||||
<section anchor="session-closing" numbered="true" toc="default"> | ||||
<name>Session Closing</name> | ||||
<t>The closure of an MSRP session <bcp14>SHALL</bcp14> be signaled via | ||||
SDP following the requirements in <xref target="session-closing-sdp" format="def | ||||
ault"/>.</t> | ||||
<t>If the data channel used to transport the MSRP session fails and is t | ||||
orn down, the MSRP data channel endpoints <bcp14>SHALL</bcp14> consider the MSRP | ||||
session failed. An MSRP data channel endpoint <bcp14>MAY</bcp14>, based on loca | ||||
l policy, try to negotiate a new MSRP data channel.</t> | ||||
</section> | ||||
<section anchor="data-framing" numbered="true" toc="default"> | ||||
<name>Data Framing</name> | ||||
<t>Each text-based MSRP message is sent on the corresponding data channe | ||||
l using standard MSRP framing and chunking procedures, as defined in <xref targe | ||||
t="RFC4975" format="default"/>, with each MSRP chunk delivered in a single SCTP | ||||
user message. Therefore all sent MSRP chunks <bcp14>SHALL</bcp14> have lengths o | ||||
f less than or equal to the value of the peer's 'max-message-size' attribute <xr | ||||
ef target="RFC8841" format="default"/> associated with the SCTP association.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Data Sending, Receiving, and Reporting</name> | ||||
<t>Data sending, receiving, and reporting procedures <bcp14>SHALL</bcp14 | ||||
> conform to <xref target="RFC4975" format="default"/>.</t> | ||||
</section> | ||||
<section anchor="file_transfer_msrp" numbered="true" toc="default"> | ||||
<name>Support for MSRP File Transfer Function</name> | ||||
<t><xref target="RFC5547" format="default"/> defines an end-to-end | ||||
file transfer method based on MSRP and the SDP offer/answer mechanism. | ||||
This file transfer method is also usable by MSRP data channel endpoints | ||||
with the following considerations: | ||||
</t> | ||||
<ul spacing="normal"> | ||||
<li>As an MSRP session maps to one data channel, a file transfer sessi | ||||
on maps also to one data channel.</li> | ||||
<li>SDP attributes are negotiated as specified in <xref target="file_t | ||||
ransfer_sdp" format="default"/>.</li> | ||||
<li>Once the file transfer is complete, the same data channel <bcp14>M | ||||
AY</bcp14> be reused for another file transfer.</li> | ||||
</ul> | ||||
</section> | ||||
</section> | </section> | |||
<section title="Data Framing" anchor="data-framing"> | <section anchor="gateway-cons" numbered="true" toc="default"> | |||
<t>Each text-based MSRP message is sent on the corresponding data channel u | <name>Gateway Considerations</name> | |||
sing standard MSRP framing and chunking procedures, as defined in <xref target=" | <t>This section describes the network configuration where one MSRP endpoin | |||
RFC4975"/>, with each MSRP chunk delivered in a single SCTP user message. Theref | t uses an MSRP data channel as MSRP transport, the other MSRP endpoint uses TLS/ | |||
ore all sent MSRP chunks SHALL have lengths of less than or equal to the value o | TCP connections as MSRP transport, and the two MSRP endpoints interwork via a ga | |||
f the peer's "max-message-size" attribute <xref target="I-D.ietf-mmusic-sctp-sdp | teway.</t> | |||
"/> associated with the SCTP association.</t> | <t>Specifically, a gateway can be configured to interwork an MSRP session | |||
over a data channel with a peer that does not support data channel transport in | ||||
one of two ways.</t> | ||||
<t>In one model, the gateway performs as an MSRP Back-to-Back User Agent ( | ||||
B2BUA) to interwork all the procedures as necessary between the endpoints. No f | ||||
urther specification is needed for this model.</t> | ||||
<t>Alternately, the gateway can provide transport-level interworking betwe | ||||
en MSRP endpoints using different transport protocols. In accordance with <xref | ||||
target="use-of-dcsa-attribute" format="default"/>, | ||||
'path' attributes <bcp14>SHALL NOT</bcp14> be used for transport-level interwork | ||||
ing.</t> | ||||
<t>When the gateway performs transport-level interworking between | ||||
MSRP endpoints, all of the procedures in <xref target="sdp-cons" format="default | ||||
"/> and | ||||
<xref target="msrp-cons" format="default"/> apply to each peer, with the followi | ||||
ng additions: | ||||
</t> | ||||
<ul spacing="normal"> | ||||
<li>The gateway <bcp14>SHALL</bcp14> use the MSRP CEMA mechanism <xref t | ||||
arget="RFC6714" format="default"/> towards the non-data channel endpoint.</li> | ||||
<li>If the non-data channel endpoint does not support MSRP CEMA, | ||||
transport-level interworking mode is not possible, and the gateway needs to act | ||||
as an MSRP B2BUA.</li> | ||||
<li>The gateway <bcp14>SHALL NOT</bcp14> modify the 'path' attribute rec | ||||
eived from data channel or from non-data channel endpoints.</li> | ||||
<li>The gateway <bcp14>SHALL NOT</bcp14> modify the 'setup' value | ||||
received from data channel or from non-data channel endpoints.</li> | ||||
<li>The endpoint establishing an MSRP session using data channel transpo | ||||
rt <bcp14>SHALL NOT</bcp14> request inclusion of any relays, although it <bcp14> | ||||
MAY</bcp14> interoperate with a peer that signals the use of relays.</li> | ||||
</ul> | ||||
</section> | </section> | |||
<section title="Data Sending, Receiving and Reporting"> | <section anchor="updates-to-rfc4975" numbered="true" toc="default"> | |||
<t>Data sending, receiving and reporting procedures SHALL conform to <xref | <name>Updates to RFC 4975</name> | |||
target="RFC4975"/>.</t> | <t>This document updates <xref target="RFC4975" format="default"/> | |||
by allowing the usage of the "msrps" scheme when the underlying connection is pr | ||||
otected with DTLS.</t> | ||||
</section> | </section> | |||
<section title="Support for MSRP File Transfer Function" anchor="file_transf | <section anchor="Security" numbered="true" toc="default"> | |||
er_msrp"> | <name>Security Considerations</name> | |||
<t><xref target="RFC5547"/> defines an end-to-end file transfer method base | <t>MSRP traffic over data channels, including confidentiality, integrity, | |||
d on MSRP and the SDP offer/answer mechanism. This file transfer method is also | and source authentication, | |||
usable by MSRP endpoints using data channels, with the following considerations: | is secured as specified by <xref target="RFC8831" format="default"/>. | |||
<list style="symbols"> | However, <xref target="RFC4975" format="default"/> allows transport of | |||
<t>As an MSRP session maps to one data channel, a file transfer session m | MSRP traffic over nonsecured TCP connections and does not provide a mechanism to | |||
aps also to one data channel.</t> | guarantee usage of TLS end to end. | |||
<t>SDP attributes are negotiated as specified in <xref target="file_trans | As described in <xref target="RFC4975" format="default"/>, even if TLS is | |||
fer_sdp"/>.</t> | used between some hops, | |||
<t>Once the file transfer is complete, the same data channel MAY be reuse | TCP might still be used between other hops. | |||
d for another file transfer.</t> | Operators need to establish proper policies | |||
</list> | in order to ensure that the MSRP traffic is protected between endpoints.</t> | |||
</t> | <t><xref target="RFC5547" format="default"/> specifies security considerat | |||
ions related to the usage of MSRP for file transfer.</t> | ||||
<t><xref target="RFC7092" format="default"/> specifies security considerat | ||||
ions related to B2BUAs.</t> | ||||
<t>Note that the discussion in <xref target="RFC4975" section="14.5" secti | ||||
onFormat="of"/> on MSRP message attribution to remote identities applies to data | ||||
channel transport.</t> | ||||
<t>If the Session Initiation Protocol (SIP) <xref target="RFC3261" format= | ||||
"default"/> is used to implement the offer/answer transactions for establishing | ||||
the MSRP data channel, the SIP security considerations specified in <xref target | ||||
="RFC3261" format="default"/> apply.</t> | ||||
</section> | </section> | |||
</section> | <section anchor="IANA" numbered="true" toc="default"> | |||
<name>IANA Considerations</name> | ||||
<section title="Gateway Considerations" anchor="gateway-cons"> | <section anchor="IANA-reg-msrps" numbered="true" toc="default"> | |||
<name>"msrps" URI scheme</name> | ||||
<t>This section describes the network configuration where one MSRP endpoint u | <t>This document modifies the usage of the "msrps" URI scheme, | |||
ses an MSRP data channel as MSRP transport, the other MSRP endpoint uses TLS/TCP | registered by <xref target="RFC4975" format="default"/>, | |||
connections as MSRP transport, and the two MSRP endpoints interwork via a gatew | by adding DTLS as a protected transport indicated by the URI scheme.</t> | |||
ay.</t> | <t>A reference to RFC 8873 has been added to the URI scheme "msrps" | |||
in the "Uniform Resource Identifier (URI) Schemes" registry.</t> | ||||
<t>Specifically, a gateway can be configured to interwork an MSRP session ove | </section> | |||
r a data channel with a peer that does not support data channel transport in one | <section anchor="IANA-reg-MSRP" numbered="true" toc="default"> | |||
of two ways.</t> | <name>Subprotocol Identifier "msrp"</name> | |||
<t>A reference to RFC 8873 has been added to the subprotocol identifier | ||||
<t>In one model, the gateway performs as an MSRP Back-to-Back User Agent (B2B | "msrp" in the "WebSocket Subprotocol Name Registry".</t> | |||
UA) to interwork all the procedures as necessary between the endpoints. No furt | </section> | |||
her specification is needed for this model.</t> | <section anchor="IANA-reg-other-sdp" numbered="true" toc="default"> | |||
<name>SDP Attributes</name> | ||||
<t>Alternately, the gateway can provide transport level interworking between | <t> | |||
MSRP endpoints using different transport protocols. In accordance with <xref tar | This document modifies the usage of a set of SDP attributes if any of thos | |||
get="use-of-dcsa-attribute"/>, path attributes SHALL NOT be used for transport l | e | |||
evel interworking.</t> | attributes is included in an SDP 'dcsa' attribute associated with an | |||
MSRP data channel. The modified usage of the SDP 'setup' attribute is | ||||
<t>When the gateway performs transport level interworking between MSRP endpoi | described in <xref target="use-of-setup-attribute" format="default"/>. The | |||
nts, all of the procedures in <xref target="msrp-cons"/> and <xref target="sdp-c | usage of the other | |||
ons"/> apply to each peer, with the following additions: | SDP attributes is described in <xref target="use-of-dcsa-attribute" format | |||
="default"/>. | ||||
<list style="symbols"> | </t> | |||
<t>The gateway SHALL use the MSRP CEMA mechanism <xref target="RFC6714"/> t | <ul spacing="normal"> | |||
owards the non-data channel endpoint.</t> | <li>'accept-types'</li> | |||
<t>If the non-data channel endpoint does not support MSRP CEMA, transport l | <li>'accept-wrapped-types'</li> | |||
evel interworking mode is not possible, the gateway needs to act as an MSRP B2BU | <li>'file-date'</li> | |||
A.</t> | <li>'file-disposition'</li> | |||
<t>The gateway SHALL NOT modify the path attribute received from data chann | <li>'file-icon'</li> | |||
el or from non-data channel endpoints.</t> | <li>'file-range'</li> | |||
<t>The gateway SHALL NOT modify the setup value received from data channel | <li>'file-selector'</li> | |||
or from non-data channel endpoints.</t> | <li>'file-transfer-id'</li> | |||
<t>The endpoint establishing an MSRP session using data channel transport S | <li>'inactive'</li> | |||
HALL NOT request inclusion of any relays, although it MAY interoperate with a pe | <li>'max-size'</li> | |||
er that signals the use of relays.</t> | <li>'msrp-cema'</li> | |||
</list> | <li>'path'</li> | |||
<li>'recvonly'</li> | ||||
</t> | <li>'sendonly'</li> | |||
<li>'sendrecv'</li> | ||||
</section> | </ul> | |||
<section title="Updates to RFC4975" anchor="updates-to-rfc4975"> | ||||
<t>This document updates <xref target="RFC4975"/>, by allowing the usage of | ||||
the "msrps" scheme when the underlying connection is protected with DTLS.</t> | ||||
</section> | ||||
<section anchor="Security" title="Security Considerations"> | ||||
<t>MSRP traffic over data channels is secured, including confidentiality, int | ||||
egrity and source authentication, as specified by by <xref target="I-D.ietf-rtcw | ||||
eb-data-channel"/>. | ||||
However, <xref target="RFC4975"/> allows transport of MSRP traffic over no | ||||
n-secured TCP connections, and does not provide a mechanism to guarantee usage o | ||||
f TLS end-to-end. | ||||
As described in <xref target="RFC4975"/>, even if TLS is used between some | ||||
hops TCP might still be used between other hops. | ||||
Operators need to ensure that proper policies are established in order to | ||||
ensure that the MSRP traffic is protected between endpoints.</t> | ||||
<t><xref target="RFC5547"/> specifies security considerations related to the | ||||
usage of MSRP for file transfer.</t> | ||||
<t><xref target="RFC7092"/> specifies security considerations related to B2BU | <t>The usage level "dcsa (msrp)" has been added to the registration of t | |||
As.</t> | he SDP | |||
'accept-types' attribute in the Session Description Protocol (SDP) Parameters "a | ||||
tt-field" subregistry as follows:</t> | ||||
<dl spacing="compact" indent="18"> | ||||
<t>Note that discussion in Section 14.5 of <xref target="RFC4975"/> on MSRP m | <dt>Contact name:</dt> | |||
essage attribution to remote identities applies to data channel transport.</t> | <dd>IESG</dd> | |||
<t>If the Session Initiation Protocol (SIP) <xref target="RFC3261"/> is used | <dt>Contact email:</dt> | |||
to implement the offer/answer transactions for establishing the MSRP data channe | <dd>iesg@ietf.org</dd> | |||
l, the SIP security considerations specified in <xref target="RFC3261"/> apply.< | ||||
/t> | ||||
</section> | <dt>Attribute name:</dt> | |||
<dd>accept-types</dd> | ||||
<section anchor="IANA" title="IANA Considerations"> | <dt>Usage level:</dt> | |||
<t>NOTE to RFC Editor: Please replace all instances of all instances of RFCXX | <dd>dcsa (msrp)</dd> | |||
XX with the number of this RFC.</t> | ||||
<section title="msrps URI scheme" anchor="IANA-reg-msrps"> | <dt>Purpose:</dt> | |||
<t>This document modifies the usage of the msrps URI scheme, registered by | <dd>Contain the list of media types that the endpoint is willing t | |||
<xref target="RFC4975"/>, adding DTLS as a protected transport indicated by the | o receive.</dd> | |||
URI scheme.</t> | ||||
<t>A reference to RFCXXXX is added to the URI scheme "msrps" in the Uniform | ||||
Resource Identifier (URI) Schemes Registry.</t> | ||||
</section> | ||||
<section title="Subprotocol Identifier MSRP" anchor="IANA-reg-MSRP"> | <dt>Reference:</dt> | |||
<dd>RFC 8873</dd> | ||||
<t>A reference to RFCXXXX is added to the subprotocol identifier "msrp" in t he "WebSocket Subprotocol Name Registry"</t> | </dl> | |||
</section> | <t>The usage level "dcsa (msrp)" has been added to the registration of t | |||
he SDP | ||||
'accept-wrapped-types' attribute in the Session Description Protocol (SDP) Param | ||||
eters "att-field" subregistry as follows:</t> | ||||
<dl spacing="compact" indent="18"> | ||||
<section title="SDP Attributes" anchor="IANA-reg-other-sdp"> | <dt>Contact name:</dt> | |||
<dd>IESG</dd> | ||||
<t> | <dt>Contact email:</dt> | |||
This document modifies the usage of a set of SDP attributes, if any of tho | <dd>iesg@ietf.org</dd> | |||
se | ||||
attributes is included in an SDP 'dsca' attribute associated with an | ||||
MSRP data channel. The modified usage of the SDP 'setup' attribute is | ||||
described in <xref target="use-of-setup-attribute"/>. The usage of the oth | ||||
er | ||||
SDP attributes is described in <xref target="use-of-dcsa-attribute"/>. | ||||
</t> | ||||
<t> | ||||
<list style="symbols"> | ||||
<t>"path"</t> | ||||
<t>"msrp-cema"</t> | ||||
<t>"accept-types"</t> | ||||
<t>"accept-wrapped-types"</t> | ||||
<t>"max-size"</t> | ||||
<t>"sendonly"</t> | ||||
<t>"recvonly"</t> | ||||
<t>"inactive"</t> | ||||
<t>"sendrecv"</t> | ||||
<t>"file-selector"</t> | ||||
<t>"file-transfer-id"</t> | ||||
<t>"file-disposition"</t> | ||||
<t>"file-date"</t> | ||||
<t>"file-icon"</t> | ||||
<t>"file-range"</t> | ||||
</list> | ||||
</t> | ||||
<t>The usage level "dcsa(msrp)" is added to the registration of the SDP 'se | <dt>Attribute name:</dt> | |||
tup' attribute in the Session Description Protocol (SDP) Parameters "att-field" | <dd>accept-wrapped-types</dd> | |||
sub-registry as follows:</t> | ||||
<texttable title=""> | <dt>Usage level:</dt> | |||
<ttcol align="left" width="35%"/> | <dd>dcsa (msrp)</dd> | |||
<ttcol align="left" width="65%"/> | ||||
<c>Contact name:</c> | <dt>Purpose:</dt> | |||
<c>IESG</c> | <dd>Contain the list of media types that the endpoint is willing t | |||
o receive in an MSRP message with multipart content.</dd> | ||||
<c>Contact email:</c> | <dt>Reference:</dt> | |||
<c>iesg@ietf.org</c> | <dd>RFC 8873</dd> | |||
<c>Attribute name:</c> | </dl> | |||
<c>setup</c> | ||||
<c>Usage level:</c> | <t>The usage level "dcsa (msrp)" has been added to the registration of t | |||
<c>dcsa(msrp)</c> | he SDP | |||
'file-date' attribute in the Session Description Protocol (SDP) Parameters "att- | ||||
field" subregistry as follows:</t> | ||||
<dl spacing="compact" indent="18"> | ||||
<c>Purpose:</c> | <dt>Contact name:</dt> | |||
<c>Negotiate the active role of an MSRP session over a data channel as pe | <dd>IESG</dd> | |||
r | ||||
<xref target="use-of-setup-attribute"/> | ||||
</c> | ||||
<c>Reference:</c> | <dt>Contact email:</dt> | |||
<c>RFCXXXX</c> | <dd>iesg@ietf.org</dd> | |||
</texttable> | ||||
<t>The usage level "dcsa(msrp)" is added to the registration of the SDP 'pa | <dt>Attribute name:</dt> | |||
th' attribute in the Session Description Protocol (SDP) Parameters "att-field" s | <dd>file-date</dd> | |||
ub-registry as follows:</t> | ||||
<texttable title=""> | <dt>Usage level:</dt> | |||
<ttcol align="left" width="35%"/> | <dd>dcsa (msrp)</dd> | |||
<ttcol align="left" width="65%"/> | ||||
<c>Contact name:</c> | <dt>Purpose:</dt> | |||
<c>IESG</c> | <dd>Indicate one or more dates related to the file in an MSRP file | |||
transfer negotiation.</dd> | ||||
<c>Contact email:</c> | <dt>Reference:</dt> | |||
<c>iesg@ietf.org</c> | <dd>RFC 8873</dd> | |||
<c>Attribute name:</c> | </dl> | |||
<c>path</c> | ||||
<c>Usage level:</c> | <t>The usage level "dcsa (msrp)" has been added to the registrati | |||
<c>dcsa(msrp)</c> | on of the SDP | |||
'file-disposition' attribute in the Session Description Protocol (SDP) Parameter | ||||
s "att-field" subregistry as follows:</t> | ||||
<dl spacing="compact" indent="18"> | ||||
<c>Purpose:</c> | <dt>Contact name:</dt> | |||
<c>Indicate an endpoint, but not used for routing, as described in <xref | <dd>IESG</dd> | |||
target="use-of-dcsa-attribute"/></c> | ||||
<c>Reference:</c> | ||||
<c>RFCXXXX</c> | ||||
</texttable> | ||||
<t>The usage level "dcsa(msrp)" is added to the registration of the SDP 'ms | <dt>Contact email:</dt> | |||
rp-cema' attribute in the Session Description Protocol (SDP) Parameters "att-fie | <dd>iesg@ietf.org</dd> | |||
ld" sub-registry as follows:</t> | ||||
<texttable title=""> | <dt>Attribute name:</dt> | |||
<ttcol align="left" width="35%"/> | <dd>file-disposition</dd> | |||
<ttcol align="left" width="65%"/> | ||||
<c>Contact name:</c> | <dt>Usage level:</dt> | |||
<c>IESG</c> | <dd>dcsa (msrp)</dd> | |||
<c>Contact email:</c> | <dt>Purpose:</dt> | |||
<c>iesg@ietf.org</c> | <dd>Provide a suggestion to the other endpoint about the intended | |||
disposition of the file in an MSRP file transfer negotiation.</dd> | ||||
<c>Attribute name:</c> | <dt>Reference:</dt> | |||
<c>msrp-cema</c> | <dd>RFC 8873</dd> | |||
<c>Usage level:</c> | </dl> | |||
<c>dcsa(msrp)</c> | ||||
<c>Purpose:</c> | <t>The usage level "dcsa (msrp)" has been added to the registration of t | |||
<c>Indicate that the routing of MSRP messages transported on a data chann | he SDP | |||
el is more similar to the MSRP CEMA mechanism than the legacy MSRP routing mecha | 'file-icon' attribute in the Session Description Protocol (SDP) Parameters "att- | |||
nism.</c> | field" subregistry as follows:</t> | |||
<dl spacing="compact" indent="18"> | ||||
<c>Reference:</c> | <dt>Contact name:</dt> | |||
<c>RFCXXXX</c> | <dd>IESG</dd> | |||
</texttable> | ||||
<t>The usage level "dcsa(msrp)" is added to the registration of the SDP 'ac | <dt>Contact email:</dt> | |||
cept-types' attribute in the Session Description Protocol (SDP) Parameters "att- | <dd>iesg@ietf.org</dd> | |||
field" sub-registry as follows:</t> | ||||
<texttable title=""> | <dt>Attribute name:</dt> | |||
<ttcol align="left" width="35%"/> | <dd>file-icon</dd> | |||
<ttcol align="left" width="65%"/> | ||||
<c>Contact name:</c> | <dt>Usage level:</dt> | |||
<c>IESG</c> | <dd>dcsa (msrp)</dd> | |||
<c>Contact email:</c> | <dt>Purpose:</dt> | |||
<c>iesg@ietf.org</c> | <dd>Contain a pointer to a small preview icon representing the con | |||
tents of the file in an MSRP file transfer negotiation.</dd> | ||||
<c>Attribute name:</c> | <dt>Reference:</dt> | |||
<c>accept-types</c> | <dd>RFC 8873</dd> | |||
<c>Usage level:</c> | </dl> | |||
<c>dcsa(msrp)</c> | ||||
<c>Purpose:</c> | <t>The usage level "dcsa (msrp)" has been added to the registration of t | |||
<c>Contain the list of media types that the endpoint is willing to receiv | he SDP | |||
e.</c> | 'file-range' attribute in the Session Description Protocol (SDP) Parameters "att | |||
-field" subregistry as follows:</t> | ||||
<dl spacing="compact" indent="18"> | ||||
<c>Reference:</c> | <dt>Contact name:</dt> | |||
<c>RFCXXXX</c> | <dd>IESG</dd> | |||
</texttable> | ||||
<t>The usage level "dcsa(msrp)" is added to the registration of the SDP 'ac | <dt>Contact email:</dt> | |||
cept-wrapped-types' attribute in the Session Description Protocol (SDP) Paramete | <dd>iesg@ietf.org</dd> | |||
rs "att-field" sub-registry as follows:</t> | ||||
<texttable title=""> | <dt>Attribute name:</dt> | |||
<ttcol align="left" width="35%"/> | <dd>file-range</dd> | |||
<ttcol align="left" width="65%"/> | ||||
<c>Contact name:</c> | <dt>Usage level:</dt> | |||
<c>IESG</c> | <dd>dcsa (msrp)</dd> | |||
<c>Contact email:</c> | <dt>Purpose:</dt> | |||
<c>iesg@ietf.org</c> | <dd>Contain the range of transferred octets of the file in an MSRP | |||
file transfer negotiation.</dd> | ||||
<c>Attribute name:</c> | <dt>Reference:</dt> | |||
<c>accept-wrapped-types</c> | <dd>RFC 8873</dd> | |||
<c>Usage level:</c> | </dl> | |||
<c>dcsa(msrp)</c> | ||||
<c>Purpose:</c> | <t>The usage level "dcsa (msrp)" has been added to the registration of t | |||
<c>Contain the list of media types that the endpoint is willing to receiv | he SDP | |||
e in an MSRP message with multipart content.</c> | 'file-selector' attribute in the Session Description Protocol (SDP) Parameters " | |||
att-field" subregistry as follows:</t> | ||||
<dl spacing="compact" indent="18"> | ||||
<c>Reference:</c> | <dt>Contact name:</dt> | |||
<c>RFCXXXX</c> | <dd>IESG</dd> | |||
</texttable> | ||||
<t>The usage level "dcsa(msrp)" is added to the registration of the SDP 'ma | <dt>Contact email:</dt> | |||
x-size' attribute in the Session Description Protocol (SDP) Parameters "att-fiel | <dd>iesg@ietf.org</dd> | |||
d" sub-registry as follows:</t> | ||||
<texttable title=""> | <dt>Attribute name:</dt> | |||
<ttcol align="left" width="35%"/> | <dd>file-selector</dd> | |||
<ttcol align="left" width="65%"/> | ||||
<c>Contact name:</c> | <dt>Usage level:</dt> | |||
<c>IESG</c> | <dd>dcsa (msrp)</dd> | |||
<c>Contact email:</c> | <dt>Purpose:</dt> | |||
<c>iesg@ietf.org</c> | <dd>Indicate a file in an MSRP file transfer negotiation.</dd> | |||
<c>Attribute name:</c> | <dt>Reference:</dt> | |||
<c>max-size</c> | <dd>RFC 8873</dd> | |||
<c>Usage level:</c> | </dl> | |||
<c>dcsa(msrp)</c> | ||||
<c>Purpose:</c> | <t>The usage level "dcsa (msrp)" has been added to the registration of t | |||
<c>Indicate the largest message an MSRP endpoint wishes to accept.</c> | he SDP | |||
'file-transfer-id' attribute in the Session Description Protocol (SDP) Parameter | ||||
s "att-field" subregistry as follows:</t> | ||||
<dl spacing="compact" indent="18"> | ||||
<c>Reference:</c> | <dt>Contact name:</dt> | |||
<c>RFCXXXX</c> | <dd>IESG</dd> | |||
</texttable> | ||||
<t>The usage level "dcsa(msrp)" is added to the registration of the SDP 'se | <dt>Contact email:</dt> | |||
ndonly' attribute in the Session Description Protocol (SDP) Parameters "att-fiel | <dd>iesg@ietf.org</dd> | |||
d" sub-registry as follows:</t> | ||||
<texttable title=""> | <dt>Attribute name:</dt> | |||
<ttcol align="left" width="35%"/> | <dd>file-transfer-id</dd> | |||
<ttcol align="left" width="65%"/> | ||||
<c>Contact name:</c> | <dt>Usage level:</dt> | |||
<c>IESG</c> | <dd>dcsa (msrp)</dd> | |||
<c>Contact email:</c> | <dt>Purpose:</dt> | |||
<c>iesg@ietf.org</c> | <dd>Indicate a unique identifier of the file transfer operation in | |||
an MSRP file transfer negotiation.</dd> | ||||
<c>Attribute name:</c> | <dt>Reference:</dt> | |||
<c>sendonly</c> | <dd>RFC 8873</dd> | |||
<c>Usage level:</c> | </dl> | |||
<c>dcsa(msrp)</c> | ||||
<c>Purpose:</c> | <t>The usage level "dcsa (msrp)" has been added to the registration of t | |||
<c>Negotiate the direction of the media flow on an MSRP data channel.</c> | he SDP | |||
'inactive' attribute in the Session Description Protocol (SDP) Parameters "att-f | ||||
ield" subregistry as follows:</t> | ||||
<dl spacing="compact" indent="18"> | ||||
<c>Reference:</c> | <dt>Contact name:</dt> | |||
<c>RFCXXXX</c> | <dd>IESG</dd> | |||
</texttable> | ||||
<t>The usage level "dcsa(msrp)" is added to the registration of the SDP 're | <dt>Contact email:</dt> | |||
cvonly' attribute in the Session Description Protocol (SDP) Parameters "att-fiel | <dd>iesg@ietf.org</dd> | |||
d" sub-registry as follows:</t> | ||||
<texttable title=""> | <dt>Attribute name:</dt> | |||
<ttcol align="left" width="35%"/> | <dd>inactive</dd> | |||
<ttcol align="left" width="65%"/> | ||||
<c>Contact name:</c> | <dt>Usage level:</dt> | |||
<c>IESG</c> | <dd>dcsa (msrp)</dd> | |||
<c>Contact email:</c> | <dt>Purpose:</dt> | |||
<c>iesg@ietf.org</c> | <dd>Negotiate the direction of the media flow on an MSRP data chan | |||
nel.</dd> | ||||
<c>Attribute name:</c> | <dt>Reference:</dt> | |||
<c>recvonly</c> | <dd>RFC 8873</dd> | |||
<c>Usage level:</c> | </dl> | |||
<c>dcsa(msrp)</c> | ||||
<c>Purpose:</c> | <t>The usage level "dcsa (msrp)" has been added to the registration of t | |||
<c>Negotiate the direction of the media flow on an MSRP data channel.</c> | he SDP | |||
'max-size' attribute in the Session Description Protocol (SDP) Parameters "att-f | ||||
ield" subregistry as follows:</t> | ||||
<dl spacing="compact" indent="18"> | ||||
<c>Reference:</c> | <dt>Contact name:</dt> | |||
<c>RFCXXXX</c> | <dd>IESG</dd> | |||
</texttable> | ||||
<t>The usage level "dcsa(msrp)" is added to the registration of the SDP 'in | <dt>Contact email:</dt> | |||
active' attribute in the Session Description Protocol (SDP) Parameters "att-fiel | <dd>iesg@ietf.org</dd> | |||
d" sub-registry as follows:</t> | ||||
<texttable title=""> | <dt>Attribute name:</dt> | |||
<ttcol align="left" width="35%"/> | <dd>max-size</dd> | |||
<ttcol align="left" width="65%"/> | ||||
<c>Contact name:</c> | <dt>Usage level:</dt> | |||
<c>IESG</c> | <dd>dcsa (msrp)</dd> | |||
<c>Contact email:</c> | <dt>Purpose:</dt> | |||
<c>iesg@ietf.org</c> | <dd>Indicate the largest message an MSRP endpoint wishes to accept | |||
.</dd> | ||||
<c>Attribute name:</c> | <dt>Reference:</dt> | |||
<c>inactive</c> | <dd>RFC 8873</dd> | |||
<c>Usage level:</c> | </dl> | |||
<c>dcsa(msrp)</c> | ||||
<c>Purpose:</c> | <t>The usage level "dcsa (msrp)" has been added to the registration of t | |||
<c>Negotiate the direction of the media flow on an MSRP data channel.</c> | he SDP | |||
'msrp-cema' attribute in the Session Description Protocol (SDP) Parameters "att- | ||||
field" subregistry as follows:</t> | ||||
<dl spacing="compact" indent="18"> | ||||
<c>Reference:</c> | <dt>Contact name:</dt> | |||
<c>RFCXXXX</c> | <dd>IESG</dd> | |||
</texttable> | ||||
<t>The usage level "dcsa(msrp)" is added to the registration of the SDP 'se | <dt>Contact email:</dt> | |||
ndrecv' attribute in the Session Description Protocol (SDP) Parameters "att-fiel | <dd>iesg@ietf.org</dd> | |||
d" sub-registry as follows:</t> | ||||
<texttable title=""> | <dt>Attribute name:</dt> | |||
<ttcol align="left" width="35%"/> | <dd>msrp-cema</dd> | |||
<ttcol align="left" width="65%"/> | ||||
<c>Contact name:</c> | <dt>Usage level:</dt> | |||
<c>IESG</c> | <dd>dcsa (msrp)</dd> | |||
<c>Contact email:</c> | <dt>Purpose:</dt> | |||
<c>iesg@ietf.org</c> | <dd>Indicate that the routing of MSRP messages transported on a da | |||
ta channel is more similar to the MSRP CEMA mechanism than the legacy MSRP routi | ||||
ng mechanism.</dd> | ||||
<c>Attribute name:</c> | <dt>Reference:</dt> | |||
<c>sendrecv</c> | <dd>RFC 8873</dd> | |||
<c>Usage level:</c> | </dl> | |||
<c>dcsa(msrp)</c> | ||||
<c>Purpose:</c> | <t>The usage level "dcsa (msrp)" has been added to the registration of t | |||
<c>Negotiate the direction of the media flow on an MSRP data channel.</c> | he SDP | |||
'path' attribute in the Session Description Protocol (SDP) Parameters "att-field | ||||
" subregistry as follows:</t> | ||||
<dl spacing="compact" indent="18"> | ||||
<c>Reference:</c> | <dt>Contact name:</dt> | |||
<c>RFCXXXX</c> | <dd>IESG</dd> | |||
</texttable> | ||||
<t>The usage level "dcsa(msrp)" is added to the registration of the SDP 'fil | <dt>Contact email:</dt> | |||
e-selector' attribute in the Session Description Protocol (SDP) Parameters "att- | <dd>iesg@ietf.org</dd> | |||
field" sub-registry as follows:</t> | ||||
<texttable title=""> | ||||
<ttcol align="left" width="35%"/> | ||||
<ttcol align="left" width="65%"/> | ||||
<c>Contact name:</c> | <dt>Attribute name:</dt> | |||
<c>IESG</c> | <dd>path</dd> | |||
<c>Contact email:</c> | <dt>Usage level:</dt> | |||
<c>iesg@ietf.org</c> | <dd>dcsa (msrp)</dd> | |||
<c>Attribute name:</c> | <dt>Purpose:</dt> | |||
<c>file-selector</c> | <dd>Indicate an endpoint, but not used for routing, as described i | |||
n | ||||
<xref target="use-of-dcsa-attribute" format="default"/>.</dd> | ||||
<c>Usage level:</c> | <dt>Reference:</dt> | |||
<c>dcsa(msrp)</c> | <dd>RFC 8873</dd> | |||
<c>Purpose:</c> | </dl> | |||
<c>Indicate a file in an MSRP file transfer negotiation.</c> | ||||
<c>Reference:</c> | <t>The usage level "dcsa (msrp)" has been added to the registration of t | |||
<c>RFCXXXX</c> | he SDP | |||
</texttable> | 'recvonly' attribute in the Session Description Protocol (SDP) Parameters "att-f | |||
ield" subregistry as follows:</t> | ||||
<dl spacing="compact" indent="18"> | ||||
<t>The usage level "dcsa(msrp)" is added to the registration of the SDP 'fil | <dt>Contact name:</dt> | |||
e-transfer-id' attribute in the Session Description Protocol (SDP) Parameters "a | <dd>IESG</dd> | |||
tt-field" sub-registry as follows:</t> | ||||
<texttable title=""> | ||||
<ttcol align="left" width="35%"/> | ||||
<ttcol align="left" width="65%"/> | ||||
<c>Contact name:</c> | <dt>Contact email:</dt> | |||
<c>IESG</c> | <dd>iesg@ietf.org</dd> | |||
<c>Contact email:</c> | <dt>Attribute name:</dt> | |||
<c>iesg@ietf.org</c> | <dd>recvonly</dd> | |||
<c>Attribute name:</c> | <dt>Usage level:</dt> | |||
<c>file-transfer-id</c> | <dd>dcsa (msrp)</dd> | |||
<c>Usage level:</c> | <dt>Purpose:</dt> | |||
<c>dcsa(msrp)</c> | <dd>Negotiate the direction of the media flow on an MSRP data chan | |||
nel.</dd> | ||||
<c>Purpose:</c> | <dt>Reference:</dt> | |||
<c>Indicate a unique identifier of the file transfer operation in an MSRP | <dd>RFC 8873</dd> | |||
file transfer negotiation.</c> | ||||
<c>Reference:</c> | </dl> | |||
<c>RFCXXXX</c> | ||||
</texttable> | ||||
<t>The usage level "dcsa(msrp)" is added to the registration of the SDP 'fil | <t>The usage level "dcsa (msrp)" has been added to the registration of t | |||
e-disposition' attribute in the Session Description Protocol (SDP) Parameters "a | he SDP | |||
tt-field" sub-registry as follows:</t> | 'sendonly' attribute in the Session Description Protocol (SDP) Parameters "att-f | |||
<texttable title=""> | ield" subregistry as follows:</t> | |||
<ttcol align="left" width="35%"/> | <dl spacing="compact" indent="18"> | |||
<ttcol align="left" width="65%"/> | ||||
<c>Contact name:</c> | <dt>Contact name:</dt> | |||
<c>IESG</c> | <dd>IESG</dd> | |||
<c>Contact email:</c> | <dt>Contact email:</dt> | |||
<c>iesg@ietf.org</c> | <dd>iesg@ietf.org</dd> | |||
<c>Attribute name:</c> | <dt>Attribute name:</dt> | |||
<c>file-disposition</c> | <dd>sendonly</dd> | |||
<c>Usage level:</c> | <dt>Usage level:</dt> | |||
<c>dcsa(msrp)</c> | <dd>dcsa (msrp)</dd> | |||
<c>Purpose:</c> | <dt>Purpose:</dt> | |||
<c>Provide a suggestion to the other endpoint about the intended disposit | <dd>Negotiate the direction of the media flow on an MSRP data chan | |||
ion of the file in an MSRP file transfer negotiation.</c> | nel.</dd> | |||
<c>Reference:</c> | <dt>Reference:</dt> | |||
<c>RFCXXXX</c> | <dd>RFC 8873</dd> | |||
</texttable> | ||||
<t>The usage level "dcsa(msrp)" is added to the registration of the SDP 'fil | </dl> | |||
e-date' attribute in the Session Description Protocol (SDP) Parameters "att-fiel | ||||
d" sub-registry as follows:</t> | ||||
<texttable title=""> | ||||
<ttcol align="left" width="35%"/> | ||||
<ttcol align="left" width="65%"/> | ||||
<c>Contact name:</c> | <t>The usage level "dcsa (msrp)" has been added to the registration of t | |||
<c>IESG</c> | he SDP | |||
'setup' attribute in the "att-field" subregistry as follows:</t> | ||||
<c>Contact email:</c> | <dl spacing="compact" indent="18"> | |||
<c>iesg@ietf.org</c> | ||||
<c>Attribute name:</c> | <dt>Contact name:</dt> | |||
<c>file-date</c> | <dd>IESG</dd> | |||
<c>Usage level:</c> | <dt>Contact email:</dt> | |||
<c>dcsa(msrp)</c> | <dd>iesg@ietf.org</dd> | |||
<c>Purpose:</c> | <dt>Attribute name:</dt> | |||
<c>Indicate one or more dates related to the file in an MSRP file transfe | <dd>setup</dd> | |||
r negotiation.</c> | ||||
<c>Reference:</c> | <dt>Usage level:</dt> | |||
<c>RFCXXXX</c> | <dd>dcsa (msrp)</dd> | |||
</texttable> | ||||
<t>The usage level "dcsa(msrp)" is added to the registration of the SDP 'fil | <dt>Purpose:</dt> | |||
e-icon' attribute in the Session Description Protocol (SDP) Parameters "att-fiel | <dd>Negotiate the active role of an MSRP session over a data chann | |||
d" sub-registry as follows:</t> | el as per | |||
<texttable title=""> | <xref target="use-of-setup-attribute" format="default"/>. | |||
<ttcol align="left" width="35%"/> | </dd> | |||
<ttcol align="left" width="65%"/> | ||||
<c>Contact name:</c> | <dt>Reference:</dt> | |||
<c>IESG</c> | <dd>RFC 8873</dd> | |||
<c>Contact email:</c> | </dl> | |||
<c>iesg@ietf.org</c> | ||||
<c>Attribute name:</c> | <t>The usage level "dcsa (msrp)" has been added to the registration of t | |||
<c>file-icon</c> | he SDP | |||
'sendrecv' attribute in the Session Description Protocol (SDP) Parameters "att-f | ||||
ield" subregistry as follows:</t> | ||||
<dl spacing="compact" indent="18"> | ||||
<c>Usage level:</c> | <dt>Contact name:</dt> | |||
<c>dcsa(msrp)</c> | <dd>IESG</dd> | |||
<c>Purpose:</c> | <dt>Contact email:</dt> | |||
<c>Contain a pointer to a small preview icon representing the contents of | <dd>iesg@ietf.org</dd> | |||
the file in an MSRP file transfer negotiation.</c> | ||||
<c>Reference:</c> | <dt>Attribute name:</dt> | |||
<c>RFCXXXX</c> | <dd>sendrecv</dd> | |||
</texttable> | ||||
<t>The usage level "dcsa(msrp)" is added to the registration of the SDP 'fil | <dt>Usage level:</dt> | |||
e-range' attribute in the Session Description Protocol (SDP) Parameters "att-fie | <dd>dcsa (msrp)</dd> | |||
ld" sub-registry as follows:</t> | ||||
<texttable title=""> | ||||
<ttcol align="left" width="35%"/> | ||||
<ttcol align="left" width="65%"/> | ||||
<c>Contact name:</c> | <dt>Purpose:</dt> | |||
<c>IESG</c> | <dd>Negotiate the direction of the media flow on an MSRP data chan | |||
nel.</dd> | ||||
<c>Contact email:</c> | <dt>Reference:</dt> | |||
<c>iesg@ietf.org</c> | <dd>RFC 8873</dd> | |||
<c>Attribute name:</c> | </dl> | |||
<c>file-range</c> | </section> | |||
</section> | ||||
</middle> | ||||
<c>Usage level:</c> | <back> | |||
<c>dcsa(msrp)</c> | ||||
<c>Purpose:</c> | <references> | |||
<c>Contain the range of transferred octets of the file in an MSRP file tr | <name>References</name> | |||
ansfer negotiation.</c> | <references> | |||
<name>Normative References</name> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.2119.xml"/> | ||||
<c>Reference:</c> | <reference anchor="RFC8831" target="https://www.rfc-editor.org/info/rfc8831"> | |||
<c>RFCXXXX</c> | <front> | |||
</texttable> | <title>WebRTC Data Channels</title> | |||
<author initials="R" surname="Jesup" fullname="Randell Jesup"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="S" surname="Loreto" fullname="Salvatore Loreto"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="M" surname="Tüxen" fullname="Michael Tüxen"> | ||||
<organization/> | ||||
</author> | ||||
<date month='January' year='2021'/> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8831"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8831"/> | ||||
</reference> | ||||
</section> | <reference anchor="RFC8864" target="https://www.rfc-editor.org/info/rfc8864"> | |||
</section> | <front> | |||
<title>Negotiation Data Channels Using the Session Description | ||||
Protocol (SDP)</title> | ||||
<author fullname="Keith Drage" initials="K." surname="Drage"> | ||||
<organization>Unaffiliated</organization> | ||||
</author> | ||||
<author fullname="Raju Makaraju" initials="M." surname="Makaraju"> | ||||
<organization>Nokia</organization> | ||||
</author> | ||||
<author fullname="Richard Ejzak" initials="R." surname="Ejzak"> | ||||
<organization>Unaffiliated</organization> | ||||
</author> | ||||
<author fullname="Jerome Marcon" initials="J." surname="Marcon"> | ||||
<organization>Unaffiliated</organization> | ||||
</author> | ||||
<author fullname="Roni Even" initials="R." surname="Even" role="editor"> | ||||
<organization>Huawei</organization> | ||||
</author> | ||||
<date month="January" year="2021"/> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8864"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8864"/> | ||||
</reference> | ||||
<section title="Acknowledgments"> | <reference anchor="RFC8841" target="https://www.rfc-editor.org/info/rfc8841"> | |||
<t>The authors wish to acknowledge the borrowing of ideas from another intern | ||||
et draft by Peter Dunkley and Gavin Llewellyn, and to thank Flemming Andreasen, | ||||
Christian Groves, Paul Kyzivat, Jonathan Lennox, Uwe Rauschenbach, Albrecht Schw | ||||
arz, and Keith Drage for their invaluable comments.</t> | ||||
<t>Richard Ejzak, Keith Drage and Juergen Stoetzer-Bradler contributed an ear | ||||
lier version, before the draft was re-adopted.</t> | ||||
<t>Julien Maisonneuve helped with the re-adoption of the draft, and Maridi R | ||||
. Makaraju (Raju) contributed valuable comments after the draft was re-adopted.< | ||||
/t> | ||||
</section> | ||||
</middle> | <front> | |||
<title>Session Description Protocol (SDP) Offer/Answer Procedures for | ||||
Stream Control Transmission Protocol (SCTP) over Datagram Transport Layer | ||||
Security (DTLS) Transport</title> | ||||
<!-- *****BACK MATTER ***** --> | <author initials="C." surname="Holmberg" fullname="Christer Holmberg"> | |||
<organization /> | ||||
</author> | ||||
<back> | <author initials="R." surname="Shpount" fullname="Roman Shpount"> | |||
<!-- References split into informative and normative --> | <organization /> | |||
</author> | ||||
<!-- There are 2 ways to insert reference entries from the citation libraries: | <author initials="S." surname="Loreto" fullname="Salvatore Loreto"> | |||
1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as | <organization /> | |||
shown) | </author> | |||
2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"? | ||||
> here | ||||
(for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml") | ||||
Both are cited textually in the same manner: by using xref elements. | <author initials="G." surname="Camarillo" fullname="Gonzalo Camarillo"> | |||
If you use the PI option, xml2rfc will, by default, try to find included files | <organization /> | |||
in the same | </author> | |||
directory as the including file. You can also define the XML_LIBRARY environme | ||||
nt variable | ||||
with a value containing a set of directories to search. These can be either i | ||||
n the local | ||||
filing system or remote ones accessed by http (http://domain/dir/... ).--> | ||||
<references title="Normative References"> | <date month="January" year="2021" /> | |||
</front> | ||||
<seriesInfo name="RFC" value="8841" /> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8841"/> | ||||
&RFC2119; | </reference> | |||
&DATAREQ; | ||||
&DCSDPNEG; | ||||
&SDPSCTP; | ||||
&RFC3264; | ||||
&RFC4566; | ||||
&RFC4960; | ||||
&RFC4975; | ||||
&RFC5547; | ||||
&RFC6135; | ||||
&RFC6714; | ||||
&RFC7977; | ||||
&RFC8174; | ||||
</references> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<references title="Informative References"> | FC.3264.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.4566.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.4960.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.4975.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.5547.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.6135.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.6714.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.7977.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8174.xml"/> | ||||
</references> | ||||
<references> | ||||
<name>Informative References</name> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3261.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.7092.xml"/> | ||||
</references> | ||||
</references> | ||||
&RFC3261; | <section numbered="false" toc="default"> | |||
&RFC7092; | <name>Acknowledgments</name> | |||
</references> | <t>The authors wish to acknowledge the borrowing of ideas from | |||
another Internet-Draft by <contact fullname="Peter Dunkley"/> and | ||||
<contact fullname="Gavin Llewellyn"/>, and to thank | ||||
<contact fullname="Flemming Andreasen"/>, <contact fullname="Christian Gro | ||||
ves"/>, | ||||
<contact fullname="Paul Kyzivat"/>, <contact fullname="Jonathan Lennox"/>, | ||||
<contact fullname="Uwe Rauschenbach"/>, <contact fullname="Albrecht Schwar | ||||
z"/>, and | ||||
<contact fullname="Keith Drage"/> for their invaluable comments.</t> | ||||
<t><contact fullname="Richard Ejzak"/>, <contact fullname="Keith Drage"/>, an | ||||
d | ||||
<contact fullname="Juergen Stoetzer-Bradler"/> contributed to an earlier d | ||||
raft version | ||||
of this document before the draft was readopted.</t> | ||||
<t><contact fullname="Julien Maisonneuve"/> helped with the readoption of thi | ||||
s document, and | ||||
<contact fullname="Maridi R. Makaraju (Raju)"/> contributed valuable comme | ||||
nts | ||||
after the document was readopted.</t> | ||||
</back> | </section> | |||
</back> | ||||
</rfc> | </rfc> | |||
End of changes. 186 change blocks. | ||||
959 lines changed or deleted | 951 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |