mirror of
https://github.com/moparisthebest/xeps
synced 2024-12-12 02:42:16 -05:00
Merge branch 'feature/xep-0294' into premerge
This commit is contained in:
commit
6e78fdbf69
49
xep-0294.xml
49
xep-0294.xml
@ -8,7 +8,7 @@
|
|||||||
<header>
|
<header>
|
||||||
<title>Jingle RTP Header Extensions Negotiation</title>
|
<title>Jingle RTP Header Extensions Negotiation</title>
|
||||||
<abstract>This specification defines an XMPP extension to negotiate
|
<abstract>This specification defines an XMPP extension to negotiate
|
||||||
the use of the use of RTP Header Extension as defined by RFC 5285
|
the use of the use of RTP Header Extension as defined by RFC 8285
|
||||||
with Jingle RTP sessions</abstract>
|
with Jingle RTP sessions</abstract>
|
||||||
&LEGALNOTICE;
|
&LEGALNOTICE;
|
||||||
<number>0294</number>
|
<number>0294</number>
|
||||||
@ -18,7 +18,7 @@
|
|||||||
<approver>Council</approver>
|
<approver>Council</approver>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<spec>XEP-0167</spec>
|
<spec>XEP-0167</spec>
|
||||||
<spec>RFC 5285</spec>
|
<spec>RFC 8285</spec>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<supersedes/>
|
<supersedes/>
|
||||||
<supersededby/>
|
<supersededby/>
|
||||||
@ -33,6 +33,12 @@
|
|||||||
<email>olivier.crete@collabora.co.uk</email>
|
<email>olivier.crete@collabora.co.uk</email>
|
||||||
<jid>olivier.crete@collabora.co.uk</jid>
|
<jid>olivier.crete@collabora.co.uk</jid>
|
||||||
</author>
|
</author>
|
||||||
|
<revision>
|
||||||
|
<version>1.1</version>
|
||||||
|
<date>2021-03-28</date>
|
||||||
|
<initials>ph</initials>
|
||||||
|
<remark><p>Add mapping for a=extmap-allow-mixed</p></remark>
|
||||||
|
</revision>
|
||||||
<revision>
|
<revision>
|
||||||
<version>1.0</version>
|
<version>1.0</version>
|
||||||
<date>2015-08-11</date>
|
<date>2015-08-11</date>
|
||||||
@ -61,7 +67,7 @@
|
|||||||
|
|
||||||
<section1 topic='Introduction' anchor='introduction'>
|
<section1 topic='Introduction' anchor='introduction'>
|
||||||
<p>This documents specifies how to negotiate the use of the RTP
|
<p>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 &rfc8285; with Jingle RTP
|
||||||
sessions.</p>
|
sessions.</p>
|
||||||
</section1>
|
</section1>
|
||||||
|
|
||||||
@ -69,19 +75,19 @@
|
|||||||
<p>The Jingle extension defined herein is designed to meet the following requirements:</p>
|
<p>The Jingle extension defined herein is designed to meet the following requirements:</p>
|
||||||
<ol>
|
<ol>
|
||||||
<li>Enable negotiations of the RTP Header extensions as defined in
|
<li>Enable negotiations of the RTP Header extensions as defined in
|
||||||
<cite>RFC 5285</cite>.</li>
|
<cite>RFC 8285</cite>.</li>
|
||||||
<li>Map these parameters to Session Description Protocol (SDP; see
|
<li>Map these parameters to Session Description Protocol (SDP; see
|
||||||
&rfc4566;) to enable interoperability.</li>
|
&rfc4566;) to enable interoperability.</li>
|
||||||
</ol>
|
</ol>
|
||||||
</section1>
|
</section1>
|
||||||
|
|
||||||
<section1 topic='New element' anchor='element'>
|
<section1 topic='New elements' anchor='element'>
|
||||||
<p>This specification defines a new element, <rtp-hdrext/>,
|
<p>This specification defines a new element, <rtp-hdrext/>,
|
||||||
that can be inserted in the <description/> element of a
|
that can be inserted in the <description/> element of a
|
||||||
XEP-0167 RTP session.</p>
|
XEP-0167 RTP session.</p>
|
||||||
|
|
||||||
<p>The attributes of the <rtp-hdrext/> element are:</p>
|
<p>The attributes of the <rtp-hdrext/> element are:</p>
|
||||||
<table caption='rtp-hdrext attributes'>
|
<table caption='rtp-hdrext attributes'>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Attribute</th>
|
<th>Attribute</th>
|
||||||
<th>Description</th>
|
<th>Description</th>
|
||||||
@ -106,11 +112,15 @@
|
|||||||
<td>OPTIONAL (defaults to "both")</td>
|
<td>OPTIONAL (defaults to "both")</td>
|
||||||
<td>"initiator", "responder", and "both"</td>
|
<td>"initiator", "responder", and "both"</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<p>Any type of RTP Header Extension that requires extra
|
<p>Any type of RTP Header Extension that requires extra
|
||||||
parameters in the a=b form can embed <parameter/> elements to
|
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.</p>
|
describe it. Any other form of parameter can be stored as the 'key' attribute in a parameter element with an empty value.</p>
|
||||||
|
|
||||||
|
<p>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.</p>
|
||||||
|
|
||||||
</section1>
|
</section1>
|
||||||
|
|
||||||
@ -132,6 +142,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
|
field from "both" to "initator" or "responder", but MUST NOT modify it
|
||||||
if it is "initator" or "responder".</p>
|
if it is "initator" or "responder".</p>
|
||||||
|
|
||||||
|
<p>The usage of the <extmap-allow-mixed/> is governed by the
|
||||||
|
SDP Offer/Answer mechanism as well.</p>
|
||||||
|
|
||||||
<p>Example negotiation where the initiator offers to use the
|
<p>Example negotiation where the initiator offers to use the
|
||||||
timestamp offset header extension as defined in &rfc5450; and also
|
timestamp offset header extension as defined in &rfc5450; and also
|
||||||
the requests synchronisation metadata header extension (&rfc6051;)
|
the requests synchronisation metadata header extension (&rfc6051;)
|
||||||
@ -150,11 +163,13 @@ describe it. Any other form of parameter can be stored as the 'key' attribute in
|
|||||||
uri='urn:ietf:params:rtp-hdrext:ntp-56'
|
uri='urn:ietf:params:rtp-hdrext:ntp-56'
|
||||||
id='4907'/>
|
id='4907'/>
|
||||||
<payload-type id='96' name='THEORA' clockrate='90000'/>
|
<payload-type id='96' name='THEORA' clockrate='90000'/>
|
||||||
|
<extmap-allow-mixed xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0'/>
|
||||||
</description>
|
</description>
|
||||||
]]></example>
|
]]></example>
|
||||||
|
|
||||||
<p>Example reply where the responder accepts the timestamp offset
|
<p>Example reply where the responder accepts the timestamp offset
|
||||||
and the 56-bit synchronisation metadata header extensions.</p>
|
and the 56-bit synchronisation metadata header extensions as well as the
|
||||||
|
<extmap-allow-mixed/>.</p>
|
||||||
|
|
||||||
<example caption='Reponder sends description inside session-accept'><![CDATA[
|
<example caption='Reponder sends description inside session-accept'><![CDATA[
|
||||||
<description xmlns='urn:xmpp:jingle:apps:rtp:1' media='video'>
|
<description xmlns='urn:xmpp:jingle:apps:rtp:1' media='video'>
|
||||||
@ -182,17 +197,22 @@ describe it. Any other form of parameter can be stored as the 'key' attribute in
|
|||||||
|
|
||||||
<section1 topic='Mapping to Session Description Protocol' anchor='sdp-mapping'>
|
<section1 topic='Mapping to Session Description Protocol' anchor='sdp-mapping'>
|
||||||
<p>The <rtp-hdrext/> element maps to the "a:extmap=" SDP line
|
<p>The <rtp-hdrext/> element maps to the "a:extmap=" SDP line
|
||||||
defined in <cite>RFC 5285</cite>. The ID is mapped to the 'id' attribute, the
|
defined in <cite>RFC 8285</cite>. The ID is mapped to the 'id' attribute, the
|
||||||
direction to the 'senders' attribute and the URI to the 'uri'
|
direction to the 'senders' attribute and the URI to the 'uri'
|
||||||
attribute.</p>
|
attribute.</p>
|
||||||
|
|
||||||
<p>Example conversion of a incomplete sample fragment of a SDP taken from <cite>RFC 5285</cite> section 6 into equivalent XMPP:</p>
|
<p>The <extmap-allow-mixed/> element maps to the "a=extmap-allow-mixed" SDP line
|
||||||
|
defined in <cite>RFC 8285</cite>. Note that a session-level line might need to be mapped
|
||||||
|
to all <description/> elements.</p>
|
||||||
|
|
||||||
|
<p>Example conversion of a incomplete sample fragment of a SDP taken from <cite>RFC 8285</cite> section 7 into equivalent XMPP:</p>
|
||||||
<example caption='SDP fragment'><![CDATA[
|
<example caption='SDP fragment'><![CDATA[
|
||||||
m=video
|
m=video
|
||||||
a=sendrecv
|
a=sendrecv
|
||||||
a=extmap:1 URI-toffset
|
a=extmap:1 URI-toffset
|
||||||
a=extmap:2/recvonly URI-gps-string
|
a=extmap:2/recvonly URI-gps-string
|
||||||
a=extmap:3 URI-frametype
|
a=extmap:3 URI-frametype
|
||||||
|
a=extmap-allow-mixed
|
||||||
]]></example>
|
]]></example>
|
||||||
<example caption='The same description in XMPP format'><![CDATA[
|
<example caption='The same description in XMPP format'><![CDATA[
|
||||||
<description xmlns='urn:xmpp:jingle:apps:rtp:1' media='video'>
|
<description xmlns='urn:xmpp:jingle:apps:rtp:1' media='video'>
|
||||||
@ -206,6 +226,7 @@ a=extmap:3 URI-frametype
|
|||||||
<rtp-hdrext xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0'
|
<rtp-hdrext xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0'
|
||||||
id='3'
|
id='3'
|
||||||
uri='URI-frametype'/>
|
uri='URI-frametype'/>
|
||||||
|
<extmap-allow-mixed xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0'/>
|
||||||
</description>
|
</description>
|
||||||
]]></example>
|
]]></example>
|
||||||
</section1>
|
</section1>
|
||||||
|
2
xep.ent
2
xep.ent
@ -626,7 +626,6 @@ THE SOFTWARE.
|
|||||||
<!ENTITY rfc5246 "<span class='ref'><link url='http://tools.ietf.org/html/rfc5246'>RFC 5246</link></span> <note>RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 <<link url='http://tools.ietf.org/html/rfc5246'>http://tools.ietf.org/html/rfc5246</link>>.</note>" >
|
<!ENTITY rfc5246 "<span class='ref'><link url='http://tools.ietf.org/html/rfc5246'>RFC 5246</link></span> <note>RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 <<link url='http://tools.ietf.org/html/rfc5246'>http://tools.ietf.org/html/rfc5246</link>>.</note>" >
|
||||||
<!ENTITY rfc5256 "<span class='ref'><link url='http://tools.ietf.org/html/rfc5256'>RFC 5256</link></span> <note>RFC 5256: Internet Message Access Protocol - SORT and THREAD Extensions <<link url='http://tools.ietf.org/html/rfc5256'>http://tools.ietf.org/html/rfc5256</link>>.</note>" >
|
<!ENTITY rfc5256 "<span class='ref'><link url='http://tools.ietf.org/html/rfc5256'>RFC 5256</link></span> <note>RFC 5256: Internet Message Access Protocol - SORT and THREAD Extensions <<link url='http://tools.ietf.org/html/rfc5256'>http://tools.ietf.org/html/rfc5256</link>>.</note>" >
|
||||||
<!ENTITY rfc5280 "<span class='ref'><link url='http://tools.ietf.org/html/rfc5280'>RFC 5280</link></span> <note>RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile <<link url='http://tools.ietf.org/html/rfc5280'>http://tools.ietf.org/html/rfc5280</link>>.</note>" >
|
<!ENTITY rfc5280 "<span class='ref'><link url='http://tools.ietf.org/html/rfc5280'>RFC 5280</link></span> <note>RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile <<link url='http://tools.ietf.org/html/rfc5280'>http://tools.ietf.org/html/rfc5280</link>>.</note>" >
|
||||||
<!ENTITY rfc5285 "<span class='ref'><link url='http://tools.ietf.org/html/rfc5285'>RFC 5285</link></span> <note>RFC 5285: A General Mechanism for RTP Header Extensions <<link url='http://tools.ietf.org/html/rfc5285'>http://tools.ietf.org/html/rfc5285</link>>.</note>" >
|
|
||||||
<!ENTITY rfc5322 "<span class='ref'><link url='http://tools.ietf.org/html/rfc5322'>RFC 5322</link></span> <note>RFC 5322: Internet Message Format <<link url='http://tools.ietf.org/html/rfc5322'>http://tools.ietf.org/html/rfc5322</link>>.</note>" >
|
<!ENTITY rfc5322 "<span class='ref'><link url='http://tools.ietf.org/html/rfc5322'>RFC 5322</link></span> <note>RFC 5322: Internet Message Format <<link url='http://tools.ietf.org/html/rfc5322'>http://tools.ietf.org/html/rfc5322</link>>.</note>" >
|
||||||
<!ENTITY rfc5359 "<span class='ref'><link url='http://tools.ietf.org/html/rfc5359'>RFC 5359</link></span> <note>RFC 5359: Session Initiation Protocol Service Examples <<link url='http://tools.ietf.org/html/rfc5359'>http://tools.ietf.org/html/rfc5359</link>>.</note>" >
|
<!ENTITY rfc5359 "<span class='ref'><link url='http://tools.ietf.org/html/rfc5359'>RFC 5359</link></span> <note>RFC 5359: Session Initiation Protocol Service Examples <<link url='http://tools.ietf.org/html/rfc5359'>http://tools.ietf.org/html/rfc5359</link>>.</note>" >
|
||||||
<!ENTITY rfc5389 "<span class='ref'><link url='http://tools.ietf.org/html/rfc5389'>RFC 5389</link></span> <note>RFC 5389: Session Traversal Utilities for NAT (STUN) <<link url='http://tools.ietf.org/html/rfc5389'>http://tools.ietf.org/html/rfc5389</link>>.</note>" >
|
<!ENTITY rfc5389 "<span class='ref'><link url='http://tools.ietf.org/html/rfc5389'>RFC 5389</link></span> <note>RFC 5389: Session Traversal Utilities for NAT (STUN) <<link url='http://tools.ietf.org/html/rfc5389'>http://tools.ietf.org/html/rfc5389</link>>.</note>" >
|
||||||
@ -702,6 +701,7 @@ THE SOFTWARE.
|
|||||||
<!ENTITY rfc8446 "<span class='ref'><link url='http://tools.ietf.org/html/rfc8446'>RFC 8446</link></span> <note>RFC 8446: The Transport Layer Security (TLS) Protocol Version 1.3 <<link url='http://tools.ietf.org/html/rfc8446'>http://tools.ietf.org/html/rfc8446</link>>.</note>" >
|
<!ENTITY rfc8446 "<span class='ref'><link url='http://tools.ietf.org/html/rfc8446'>RFC 8446</link></span> <note>RFC 8446: The Transport Layer Security (TLS) Protocol Version 1.3 <<link url='http://tools.ietf.org/html/rfc8446'>http://tools.ietf.org/html/rfc8446</link>>.</note>" >
|
||||||
<!ENTITY rfc8467 "<span class='ref'><link url='http://tools.ietf.org/html/rfc8467'>RFC 8467</link></span> <note>RFC 8467: Padding Policies for Extension Mechanisms for DNS (EDNS(0)) <<link url='http://tools.ietf.org/html/rfc8467'>http://tools.ietf.org/html/rfc8467</link>>.</note>" >
|
<!ENTITY rfc8467 "<span class='ref'><link url='http://tools.ietf.org/html/rfc8467'>RFC 8467</link></span> <note>RFC 8467: Padding Policies for Extension Mechanisms for DNS (EDNS(0)) <<link url='http://tools.ietf.org/html/rfc8467'>http://tools.ietf.org/html/rfc8467</link>>.</note>" >
|
||||||
<!ENTITY rfc8484 "<span class='ref'><link url='http://tools.ietf.org/html/rfc8484'>RFC 8484</link></span> <note>RFC 8484: DNS Queries over HTTPS (DoH) <<link url='http://tools.ietf.org/html/rfc8484'>http://tools.ietf.org/html/rfc8484</link>>.</note>" >
|
<!ENTITY rfc8484 "<span class='ref'><link url='http://tools.ietf.org/html/rfc8484'>RFC 8484</link></span> <note>RFC 8484: DNS Queries over HTTPS (DoH) <<link url='http://tools.ietf.org/html/rfc8484'>http://tools.ietf.org/html/rfc8484</link>>.</note>" >
|
||||||
|
<!ENTITY rfc8285 "<span class='ref'><link url='http://tools.ietf.org/html/rfc8285'>RFC 8285</link></span> <note>RFC 8285: A General Mechanism for RTP Header Extensions <<link url='http://tools.ietf.org/html/rfc8285'>http://tools.ietf.org/html/rfc8285</link>>.</note>" >
|
||||||
|
|
||||||
<!-- Internet-Drafts -->
|
<!-- Internet-Drafts -->
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user