From be6bc3a1e05f30263da6cdfd7c25c59f04d6faad Mon Sep 17 00:00:00 2001 From: Philipp Hancke Date: Fri, 5 Mar 2021 21:58:28 +0100 Subject: [PATCH] xep-0294: add mapping for a=extmap-allow-mixed --- xep-0294.xml | 84 +++++++++++++++++++++++++++++++--------------------- xep.ent | 1 + 2 files changed, 51 insertions(+), 34 deletions(-) diff --git a/xep-0294.xml b/xep-0294.xml index cadb51c8..828b48a6 100644 --- a/xep-0294.xml +++ b/xep-0294.xml @@ -19,6 +19,7 @@ XEP-0167 RFC 5285 + RFC 8285 @@ -61,7 +62,7 @@

This documents specifies how to negotiate the use of the RTP - Header Extensions as defined by &rfc5285; with Jingle RTP + Header Extensions as defined by &rfc5285; and &rfc8285; with Jingle RTP sessions.

@@ -69,48 +70,52 @@

The Jingle extension defined herein is designed to meet the following requirements:

  1. Enable negotiations of the RTP Header extensions as defined in - RFC 5285.
  2. + RFC 5285 and RFC 8285.
  3. Map these parameters to Session Description Protocol (SDP; see &rfc4566;) to enable interoperability.
- +

This specification defines a new element, <rtp-hdrext/>, that can be inserted in the <description/> element of a XEP-0167 RTP session.

-

The attributes of the <rtp-hdrext/> element are:

- - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionInclusionPossible values
idThe ID of the extensionsREQUIRED1-256, 4096-4351
uriThe URI that defines the extensionREQUIREDAny valid URI
sendersWhich party is allowed to send the negotiated RTP Header ExtensionsOPTIONAL (defaults to "both")"initiator", "responder", and "both"
+

The attributes of the <rtp-hdrext/> element are:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeDescriptionInclusionPossible values
idThe ID of the extensionsREQUIRED1-256, 4096-4351
uriThe URI that defines the extensionREQUIREDAny valid URI
sendersWhich party is allowed to send the negotiated RTP Header ExtensionsOPTIONAL (defaults to "both")"initiator", "responder", and "both"
-

Any type of RTP Header Extension that requires extra -parameters in the a=b form can embed <parameter/> elements to -describe it. Any other form of parameter can be stored as the 'key' attribute in a parameter element with an empty value.

+

Any type of RTP Header Extension that requires extra + parameters in the a=b form can embed <parameter/> elements to + describe it. Any other form of parameter can be stored as the 'key' attribute in a parameter element with an empty value.

+ +

This specification defines a new element, <extmap-allow-mixed/>, + that can be inserted in the <description/> element of a + XEP-0167 RTP session. The element has no attributes.

@@ -132,6 +137,9 @@ describe it. Any other form of parameter can be stored as the 'key' attribute in field from "both" to "initator" or "responder", but MUST NOT modify it if it is "initator" or "responder".

+

The usage of the <extmap-allow-mixed/> is governed by the + SDP Offer/Answer mechanism as well.

+

Example negotiation where the initiator offers to use the timestamp offset header extension as defined in &rfc5450; and also the requests synchronisation metadata header extension (&rfc6051;) @@ -150,11 +158,13 @@ describe it. Any other form of parameter can be stored as the 'key' attribute in uri='urn:ietf:params:rtp-hdrext:ntp-56' id='4907'/> + ]]>

Example reply where the responder accepts the timestamp offset - and the 56-bit synchronisation metadata header extensions.

+ and the 56-bit synchronisation metadata header extensions as well as the + <extmap-allow-mixed/>.

@@ -186,6 +196,10 @@ describe it. Any other form of parameter can be stored as the 'key' attribute in direction to the 'senders' attribute and the URI to the 'uri' attribute.

+

The <extmap-allow-mixed/> element maps to the "a=extmap-allow-mixed" SDP line + defined in RFC 8285. Note that a session-level line might need to be mapped + to all <description/> elements.

+

Example conversion of a incomplete sample fragment of a SDP taken from RFC 5285 section 6 into equivalent XMPP:

@@ -206,6 +221,7 @@ a=extmap:3 URI-frametype + ]]>
diff --git a/xep.ent b/xep.ent index 000bce20..98cdeb85 100644 --- a/xep.ent +++ b/xep.ent @@ -702,6 +702,7 @@ THE SOFTWARE. RFC 8446 RFC 8446: The Transport Layer Security (TLS) Protocol Version 1.3 <http://tools.ietf.org/html/rfc8446>." > RFC 8467 RFC 8467: Padding Policies for Extension Mechanisms for DNS (EDNS(0)) <http://tools.ietf.org/html/rfc8467>." > RFC 8484 RFC 8484: DNS Queries over HTTPS (DoH) <http://tools.ietf.org/html/rfc8484>." > +RFC 8285 RFC 8285: A General Mechanism for RTP Header Extensions <http://tools.ietf.org/html/rfc8285>." >