mirror of
https://github.com/moparisthebest/xeps
synced 2024-10-31 15:35:07 -04:00
0.2
This commit is contained in:
parent
c15a0cb35c
commit
1a7984742a
64
xep-0320.xml
64
xep-0320.xml
@ -18,6 +18,7 @@
|
|||||||
<spec>XMPP Core</spec>
|
<spec>XMPP Core</spec>
|
||||||
<spec>XEP-0166</spec>
|
<spec>XEP-0166</spec>
|
||||||
<spec>XEP-0167</spec>
|
<spec>XEP-0167</spec>
|
||||||
|
<spec>RFC 4145</spec>
|
||||||
<spec>RFC 4572</spec>
|
<spec>RFC 4572</spec>
|
||||||
<spec>RFC 5763</spec>
|
<spec>RFC 5763</spec>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
@ -31,6 +32,18 @@
|
|||||||
-->
|
-->
|
||||||
<discuss>jingle</discuss>
|
<discuss>jingle</discuss>
|
||||||
&fippo;
|
&fippo;
|
||||||
|
<revision>
|
||||||
|
<version>0.2</version>
|
||||||
|
<date>2013-10-22</date>
|
||||||
|
<initials>ph</initials>
|
||||||
|
<remark>
|
||||||
|
<ul>
|
||||||
|
<li>Changed namespace to urn:xmpp:jingle:apps:dtls:0.</li>
|
||||||
|
<li>Removed "required" attribute based on implementation feedback.</li>
|
||||||
|
<li>Added setup attribute to map SDP setup attribute.</li>
|
||||||
|
</ul>
|
||||||
|
</remark>
|
||||||
|
</revision>
|
||||||
<revision>
|
<revision>
|
||||||
<version>0.1</version>
|
<version>0.1</version>
|
||||||
<date>2013-04-16</date>
|
<date>2013-04-16</date>
|
||||||
@ -62,18 +75,23 @@ a=fingerprint:hash-func fingerprint
|
|||||||
<code>
|
<code>
|
||||||
a=fingerprint:sha-256 02:1A:CC:54:27:AB:EB:9C:53:3F:3E:4B:65:2E:7D:46:3F:54:42:CD:54:F1:7A:03:A2:7D:F9:B0:7F:46:19:B2
|
a=fingerprint:sha-256 02:1A:CC:54:27:AB:EB:9C:53:3F:3E:4B:65:2E:7D:46:3F:54:42:CD:54:F1:7A:03:A2:7D:F9:B0:7F:46:19:B2
|
||||||
</code>
|
</code>
|
||||||
<p>This SDP attribute can be translated into Jingle as a <fingerprint/> element qualified by the 'urn:xmpp:tmp:jingle:apps:dtls:0' namespace, as shown below.</p>
|
<p>Additionally, the SDP setup attribute defined in &rfc4145; must be mapped, whose usage for DTLS-SRTP is defined in <cite>RFC 5763</cite>.</p>
|
||||||
|
<code>
|
||||||
|
a=setup:role
|
||||||
|
</code>
|
||||||
|
<p>These SDP attributes can be translated into Jingle as a <fingerprint/> element qualified by the 'urn:xmpp:jingle:apps:dtls:0' namespace, as shown below.</p>
|
||||||
<code><![CDATA[
|
<code><![CDATA[
|
||||||
<fingerprint xmlns='urn:xmpp:tmp:jingle:apps:dtls:0' hash='hash-func'>fingerprint</fingerprint>
|
<fingerprint xmlns='urn:xmpp:jingle:apps:dtls:0' hash='hash-func' setup='role'>
|
||||||
|
fingerprint
|
||||||
|
</fingerprint>
|
||||||
]]></code>
|
]]></code>
|
||||||
<p>An example follows.</p>
|
<p>An example follows.</p>
|
||||||
<code><![CDATA[
|
<code><![CDATA[
|
||||||
<fingerprint mlns='urn:xmpp:tmp:jingle:apps:dtls:0' hash='sha-256'>
|
<fingerprint mlns='urn:xmpp:jingle:apps:dtls:0' hash='sha-256' setup='actpass'>
|
||||||
02:1A:CC:54:27:AB:EB:9C:53:3F:3E:4B:65:2E:7D:46:3F:54:42:CD:54:F1:7A:03:A2:7D:F9:B0:7F:46:19:B2
|
02:1A:CC:54:27:AB:EB:9C:53:3F:3E:4B:65:2E:7D:46:3F:54:42:CD:54:F1:7A:03:A2:7D:F9:B0:7F:46:19:B2
|
||||||
</fingerprint>
|
</fingerprint>
|
||||||
]]></code>
|
]]></code>
|
||||||
<p>Note: since DTLS can be used to protect non-RTP sessions like SCTP including the fingerprint in the <encryption/> element defined in &xep0167; was deemed inappropriate. Also, the <encryption/> element defined there only applies to the encryption of the RTP data part, whereas DTLS (and DTLS-SRTP) protects the whole message.</p>
|
<p>If the Jingle initiator wishes to use DTLS-SRTP, it includes the <fingerprint/> element in its session invitation.</p>
|
||||||
<p>If the Jingle initiator wishes to use DTLS-SRTP, it includes the <fingerprint/> element in its session invitation. If the initiator requires the use of DTLS, the <fingerprint/> element MUST include a 'required' attribute whose logical value is TRUE and whose lexical value is "true" or "1" &BOOLEANNOTE;, where this attribute defaults to a logical value of FALSE (i.e., a lexical value of "false" or "0").</p>
|
|
||||||
<example caption="Initiator sends session invitation with DTLS fingerprint"><![CDATA[
|
<example caption="Initiator sends session invitation with DTLS fingerprint"><![CDATA[
|
||||||
<iq from='romeo@montague.lit/orchard'
|
<iq from='romeo@montague.lit/orchard'
|
||||||
id='uz61v4m4'
|
id='uz61v4m4'
|
||||||
@ -94,9 +112,9 @@ a=fingerprint:sha-256 02:1A:CC:54:27:AB:EB:9C:53:3F:3E:4B:65:2E:7D:46:3F:54:42:C
|
|||||||
<transport xmlns='urn:xmpp:jingle:transports:ice-udp:1'
|
<transport xmlns='urn:xmpp:jingle:transports:ice-udp:1'
|
||||||
pwd='asd88fgpdd777uzjYhagZg'
|
pwd='asd88fgpdd777uzjYhagZg'
|
||||||
ufrag='8hhy'>
|
ufrag='8hhy'>
|
||||||
<fingerprint xmlns='urn:xmpp:tmp:jingle:apps:dtls:0' hash='sha-256' required='true'>
|
<fingerprint xmlns='urn:xmpp:jingle:apps:dtls:0' hash='sha-256' setup='actpass'>
|
||||||
02:1A:CC:54:27:AB:EB:9C:53:3F:3E:4B:65:2E:7D:46:3F:54:42:CD:54:F1:7A:03:A2:7D:F9:B0:7F:46:19:B2
|
02:1A:CC:54:27:AB:EB:9C:53:3F:3E:4B:65:2E:7D:46:3F:54:42:CD:54:F1:7A:03:A2:7D:F9:B0:7F:46:19:B2
|
||||||
</fingerprint>
|
</fingerprint>
|
||||||
<candidate component='1'
|
<candidate component='1'
|
||||||
foundation='1'
|
foundation='1'
|
||||||
generation='0'
|
generation='0'
|
||||||
@ -143,9 +161,9 @@ a=fingerprint:sha-256 02:1A:CC:54:27:AB:EB:9C:53:3F:3E:4B:65:2E:7D:46:3F:54:42:C
|
|||||||
<transport xmlns='urn:xmpp:jingle:transports:ice-udp:1'
|
<transport xmlns='urn:xmpp:jingle:transports:ice-udp:1'
|
||||||
pwd='YH75Fviy6338Vbrhrlp8Yh'
|
pwd='YH75Fviy6338Vbrhrlp8Yh'
|
||||||
ufrag='9uB6'>
|
ufrag='9uB6'>
|
||||||
<fingerprint xmlns='urn:xmpp:tmp:jingle:apps:dtls:0' hash='sha-256' required='1'>
|
<fingerprint xmlns='urn:xmpp:jingle:apps:dtls:0' hash='sha-256' setup='active'>
|
||||||
BD:E8:2C:D3:BD:B6:98:50:45:7D:5B:36:89:53:31:15:52:25:88:82:06:95:88:A3:3D:A5:43:8D:5C:21:21:66
|
BD:E8:2C:D3:BD:B6:98:50:45:7D:5B:36:89:53:31:15:52:25:88:82:06:95:88:A3:3D:A5:43:8D:5C:21:21:66
|
||||||
</fingerprint>
|
</fingerprint>
|
||||||
<candidate component='1'
|
<candidate component='1'
|
||||||
foundation='1'
|
foundation='1'
|
||||||
generation='0'
|
generation='0'
|
||||||
@ -176,9 +194,9 @@ a=fingerprint:sha-256 02:1A:CC:54:27:AB:EB:9C:53:3F:3E:4B:65:2E:7D:46:3F:54:42:C
|
|||||||
<transport xmlns='urn:xmpp:jingle:transports:ice-udp:1'
|
<transport xmlns='urn:xmpp:jingle:transports:ice-udp:1'
|
||||||
pwd='YH75Fviy6338Vbrhrlp8Yh'
|
pwd='YH75Fviy6338Vbrhrlp8Yh'
|
||||||
ufrag='9uB6'>
|
ufrag='9uB6'>
|
||||||
<fingerprint xmlns='urn:xmpp:tmp:jingle:apps:dtls:0' hash='sha-256' required='1'>
|
<fingerprint xmlns='urn:xmpp:jingle:apps:dtls:0' hash='sha-256' setup='active'>
|
||||||
BD:E8:2C:D3:BD:B6:98:50:45:7D:5B:36:89:53:31:15:52:25:88:82:06:95:88:A3:3D:A5:43:8D:5C:21:21:66
|
BD:E8:2C:D3:BD:B6:98:50:45:7D:5B:36:89:53:31:15:52:25:88:82:06:95:88:A3:3D:A5:43:8D:5C:21:21:66
|
||||||
</fingerprint>
|
</fingerprint>
|
||||||
<candidate component='1'
|
<candidate component='1'
|
||||||
foundation='1'
|
foundation='1'
|
||||||
generation='0'
|
generation='0'
|
||||||
@ -230,7 +248,7 @@ a=fingerprint:sha-256 02:1A:CC:54:27:AB:EB:9C:53:3F:3E:4B:65:2E:7D:46:3F:54:42:C
|
|||||||
</section1>
|
</section1>
|
||||||
|
|
||||||
<section1 topic='Acknowledgements' anchor='acks'>
|
<section1 topic='Acknowledgements' anchor='acks'>
|
||||||
<p>Thanks to Justin Uberti.</p>
|
<p>Thanks to Justin Uberti and Lance Stout.</p>
|
||||||
</section1>
|
</section1>
|
||||||
|
|
||||||
<section1 topic='XMPP Registrar Considerations' anchor='registrar'>
|
<section1 topic='XMPP Registrar Considerations' anchor='registrar'>
|
||||||
@ -252,8 +270,8 @@ a=fingerprint:sha-256 02:1A:CC:54:27:AB:EB:9C:53:3F:3E:4B:65:2E:7D:46:3F:54:42:C
|
|||||||
|
|
||||||
<xs:schema
|
<xs:schema
|
||||||
xmlns:xs='http://www.w3.org/2001/XMLSchema'
|
xmlns:xs='http://www.w3.org/2001/XMLSchema'
|
||||||
targetNamespace='urn:xmpp:tmp:jingle:apps:dtls:0'
|
targetNamespace='urn:xmpp:jingle:apps:dtls:0'
|
||||||
xmlns='urn:xmpp:tmp:jingle:apps:dtls:0'
|
xmlns='urn:xmpp:jingle:apps:dtls:0'
|
||||||
elementFormDefault='qualified'>
|
elementFormDefault='qualified'>
|
||||||
|
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
@ -268,12 +286,20 @@ a=fingerprint:sha-256 02:1A:CC:54:27:AB:EB:9C:53:3F:3E:4B:65:2E:7D:46:3F:54:42:C
|
|||||||
<xs:simpleContent>
|
<xs:simpleContent>
|
||||||
<xs:extension base='xs:string'>
|
<xs:extension base='xs:string'>
|
||||||
<xs:attribute name='hash' type='xs:string' use='required'/>
|
<xs:attribute name='hash' type='xs:string' use='required'/>
|
||||||
<xs:attribute name='required' type='xs:boolean' default='false'/>
|
<xs:attribute name='setup' use='required'/>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base='xs:NCName'>
|
||||||
|
<xs:enumeration value='active'/>
|
||||||
|
<xs:enumeration value='passive'/>
|
||||||
|
<xs:enumeration value='actpass'/>
|
||||||
|
<xs:enumeration value='holdconn'/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
</xs:extension>
|
</xs:extension>
|
||||||
</xs:simpleContent>
|
</xs:simpleContent>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
|
||||||
</xs:schema>
|
</xs:schema>
|
||||||
]]></code>
|
]]></code>
|
||||||
</section1>
|
</section1>
|
||||||
|
Loading…
Reference in New Issue
Block a user