mirror of
https://github.com/moparisthebest/xeps
synced 2024-11-24 18:22:24 -05:00
0.17
git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@1777 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
parent
1f4af785cd
commit
c3a6f0abdd
151
xep-0176.xml
151
xep-0176.xml
@ -27,6 +27,12 @@
|
||||
&stpeter;
|
||||
&hildjj;
|
||||
&seanegan;
|
||||
<revision>
|
||||
<version>0.17</version>
|
||||
<date>2008-03-20</date>
|
||||
<initials>psa</initials>
|
||||
<remark><p>Moved pwd and ufrag attributes from candidate element to transport element since they describe session-level or media-level information.</p></remark>
|
||||
</revision>
|
||||
<revision>
|
||||
<version>0.16</version>
|
||||
<date>2008-02-29</date>
|
||||
@ -203,7 +209,7 @@ INITIATOR RESPONDER
|
||||
]]></code>
|
||||
</section2>
|
||||
<section2 topic='Transport Initiation' anchor='protocol-initiate'>
|
||||
<p>In order for the initiator in a Jingle exchange to start the negotiation, it MUST send a Jingle "session-initiate" stanza as described in <cite>XEP-0166</cite>. A content type MUST include one transport method. If the initiator wishes to negotiate the ice-udp transport method for an application format, it MUST include an empty &TRANSPORT; child element qualified by the 'urn:xmpp:tmp:jingle:transports:ice-tcp' namespace &NSNOTE;.</p>
|
||||
<p>In order for the initiator in a Jingle exchange to start the negotiation, it MUST send a Jingle "session-initiate" stanza as described in <cite>XEP-0166</cite>. A content type MUST include one transport method. If the initiator wishes to negotiate the ice-udp transport method for an application format, it MUST include an empty &TRANSPORT; child element qualified by the 'urn:xmpp:tmp:jingle:transports:ice-udp' namespace &NSNOTE;.</p>
|
||||
<example caption="Initiation"><![CDATA[
|
||||
<iq from='romeo@montague.net/orchard'
|
||||
id='jingle1'
|
||||
@ -217,11 +223,34 @@ INITIATOR RESPONDER
|
||||
<description xmlns='urn:xmpp:tmp:jingle:apps:audio-rtp'>
|
||||
[ ... ]
|
||||
</description>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-tcp'/>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
ufrag='8hhy'/>
|
||||
</content>
|
||||
</jingle>
|
||||
</iq>
|
||||
]]></example>
|
||||
<p>The 'pwd' and 'ufrag' attributes MUST be included in the session-initate request, in subsequent content-add and content-replace actions, and when offering candidates via the transport-info action. The attributes SHOULD NOT be included in a session-accept action. The values are separately generated for both the initiator and the receiver, in accordance with &icecore; and as shown in the examples. The attributes are defined as follows.</p>
|
||||
<table caption='Transport Attributes'>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
<th>SDP Syntax</th>
|
||||
<th>Example</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>pwd</td>
|
||||
<td>A Password as defined in &icecore;.</td>
|
||||
<td>a=ice-pwd line</td>
|
||||
<td>asd88fgpdd777uzjYhagZg</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ufrag</td>
|
||||
<td>A User Fragment as defined in &icecore;.</td>
|
||||
<td>a=ice-ufrag line</td>
|
||||
<td>8hhy</td>
|
||||
</tr>
|
||||
</table>
|
||||
</section2>
|
||||
<section2 topic='Response' anchor='protocol-response'>
|
||||
<p>As described in <cite>XEP-0166</cite>, to acknowledge receipt of the session initiation request, the responder returns an IQ-result:</p>
|
||||
@ -247,9 +276,7 @@ INITIATOR RESPONDER
|
||||
port='8998'
|
||||
priority='2130706431'
|
||||
protocol='udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
type='host'
|
||||
ufrag='8hhy'/>
|
||||
type='host'/>
|
||||
]]></example>
|
||||
<p>The attributes of the <candidate/> element are described in the following table:</p>
|
||||
<table caption='Candidate Attributes'>
|
||||
@ -309,12 +336,6 @@ INITIATOR RESPONDER
|
||||
<td>Transport protocol field in a=candidate line</td>
|
||||
<td>udp</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>pwd</td>
|
||||
<td>A Password as defined in &icecore;.</td>
|
||||
<td>a=ice-pwd line</td>
|
||||
<td>asd88fgpdd777uzjYhagZg</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rel-addr</td>
|
||||
<td>A related address as defined in &icecore;.</td>
|
||||
@ -345,12 +366,6 @@ INITIATOR RESPONDER
|
||||
<td>Typ field in a=candidate line</td>
|
||||
<td>srflx</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ufrag</td>
|
||||
<td>A User Fragment as defined in &icecore;.</td>
|
||||
<td>a=ice-ufrag line</td>
|
||||
<td>8hhy</td>
|
||||
</tr>
|
||||
</table>
|
||||
</section3>
|
||||
<section3 topic='Exchange of Candidates' anchor='protocol-candidates-exchange'>
|
||||
@ -368,7 +383,9 @@ INITIATOR RESPONDER
|
||||
initiator='romeo@montague.net/orchard'
|
||||
sid='a73sjjvkla37jfea'>
|
||||
<content creator='initiator' name='this-is-the-audio-content' profile='RTP/AVP'>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-tcp'>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
ufrag='8hhy'>
|
||||
<candidate component='1'
|
||||
foundation='1'
|
||||
generation='0'
|
||||
@ -377,9 +394,7 @@ INITIATOR RESPONDER
|
||||
port='8998'
|
||||
priority='2130706431'
|
||||
protocol='udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
type='host'
|
||||
ufrag='8hhy'/>
|
||||
type='host'/>
|
||||
</transport>
|
||||
</content>
|
||||
</jingle>
|
||||
@ -394,7 +409,9 @@ INITIATOR RESPONDER
|
||||
initiator='romeo@montague.net/orchard'
|
||||
sid='a73sjjvkla37jfea'>
|
||||
<content creator='initiator' name='this-is-the-audio-content' profile='RTP/AVP'>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-tcp'>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
ufrag='8hhy'>
|
||||
<candidate component='1'
|
||||
foundation='2'
|
||||
generation='0'
|
||||
@ -403,11 +420,9 @@ INITIATOR RESPONDER
|
||||
port='45664'
|
||||
priority='1694498815'
|
||||
protocol='udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
rel-addr='10.0.1.1'
|
||||
rel-port='8998'
|
||||
type='srflx'
|
||||
ufrag='8hhy'/>
|
||||
type='srflx'/>
|
||||
</transport>
|
||||
</content>
|
||||
</jingle>
|
||||
@ -436,7 +451,9 @@ INITIATOR RESPONDER
|
||||
initiator='romeo@montague.lit/orchard'
|
||||
sid='a73sjjvkla37jfea'>
|
||||
<content creator='initiator' name='this-is-the-audio-content' profile='RTP/AVP'>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-tcp-udp'>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-udp'
|
||||
pwd='YH75Fviy6338Vbrhrlp8Yh'
|
||||
ufrag='9uB6'>
|
||||
<candidate component='1'
|
||||
foundation='1'
|
||||
generation='0'
|
||||
@ -445,9 +462,7 @@ INITIATOR RESPONDER
|
||||
port='3478'
|
||||
priority='2130706431'
|
||||
protocol='udp'
|
||||
pwd='YH75Fviy6338Vbrhrlp8Yh'
|
||||
type='host'
|
||||
ufrag='9uB6'/>
|
||||
type='host'/>
|
||||
</transport>
|
||||
</content>
|
||||
</jingle>
|
||||
@ -548,7 +563,9 @@ INITIATOR NAT RESPONDER
|
||||
<description xmlns='urn:xmpp:tmp:jingle:apps:audio-rtp'>
|
||||
[ ... ]
|
||||
</description>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-tcp'>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
ufrag='8hhy'>
|
||||
<candidate component='1'
|
||||
foundation='1'
|
||||
generation='0'
|
||||
@ -557,13 +574,11 @@ INITIATOR NAT RESPONDER
|
||||
port='45664'
|
||||
priority='1694498815'
|
||||
protocol='udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
rel-addr='10.0.1.1'
|
||||
rel-port='8998'
|
||||
rem-addr='192.0.2.1'
|
||||
rem-port='3478'
|
||||
type='srflx'
|
||||
ufrag='8hhy'/>
|
||||
type='srflx'/>
|
||||
</transport>
|
||||
</content>
|
||||
</jingle>
|
||||
@ -591,7 +606,7 @@ INITIATOR NAT RESPONDER
|
||||
<description xmlns='urn:xmpp:tmp:jingle:apps:audio-rtp'>
|
||||
[ ... ]
|
||||
</description>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-tcp'>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-udp'>
|
||||
<candidate component='1'
|
||||
foundation='1'
|
||||
generation='0'
|
||||
@ -600,13 +615,11 @@ INITIATOR NAT RESPONDER
|
||||
port='45664'
|
||||
priority='1694498815'
|
||||
protocol='udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
rel-addr='10.0.1.1'
|
||||
rel-port='8998'
|
||||
rem-addr='192.0.2.1'
|
||||
rem-port='3478'
|
||||
type='srflx'
|
||||
ufrag='8hhy'/>
|
||||
type='srflx'/>
|
||||
</transport>
|
||||
</content>
|
||||
</jingle>
|
||||
@ -647,7 +660,9 @@ INITIATOR NAT RESPONDER
|
||||
initiator='romeo@montague.net/orchard'
|
||||
sid='a73sjjvkla37jfea'>
|
||||
<content creator='initiator' name='this-is-the-audio-content' profile='RTP/AVP'>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-tcp'>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
ufrag='8hhy'>
|
||||
<candidate component='1'
|
||||
foundation='1'
|
||||
generation='1'
|
||||
@ -656,9 +671,7 @@ INITIATOR NAT RESPONDER
|
||||
port='45665'
|
||||
priority='1694498815'
|
||||
protocol='udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
type='srflx'
|
||||
ufrag='8hhy'/>
|
||||
type='srflx'/>
|
||||
</transport>
|
||||
</content>
|
||||
</jingle>
|
||||
@ -686,7 +699,9 @@ INITIATOR NAT RESPONDER
|
||||
<description xmlns='urn:xmpp:tmp:jingle:apps:audio-rtp'>
|
||||
[ ... ]
|
||||
</description>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-tcp'>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
ufrag='8hhy'>
|
||||
<candidate component='1'
|
||||
foundation='1'
|
||||
generation='1'
|
||||
@ -695,9 +710,7 @@ INITIATOR NAT RESPONDER
|
||||
port='45665'
|
||||
priority='1694498815'
|
||||
protocol='udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
type='srflx'
|
||||
ufrag='8hhy'/>
|
||||
type='srflx'/>
|
||||
</transport>
|
||||
</content>
|
||||
</jingle>
|
||||
@ -724,7 +737,9 @@ INITIATOR NAT RESPONDER
|
||||
initiator='romeo@montague.net/orchard'
|
||||
sid='a73sjjvkla37jfea'>
|
||||
<content creator='initiator' name='this-is-the-audio-content' profile='RTP/AVP'>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-tcp'>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
ufrag='8hhy'>
|
||||
<candidate component='1'
|
||||
foundation='1'
|
||||
generation='0'
|
||||
@ -733,9 +748,7 @@ INITIATOR NAT RESPONDER
|
||||
port='9001'
|
||||
priority='21149780477'
|
||||
protocol='udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
type='host'
|
||||
ufrag='8hhy'/>
|
||||
type='host'/<
|
||||
</transport>
|
||||
</content>
|
||||
</jingle>
|
||||
@ -763,7 +776,9 @@ INITIATOR NAT RESPONDER
|
||||
<description xmlns='urn:xmpp:tmp:jingle:apps:audio-rtp' profile='RTP/AVP'>
|
||||
[ ... ]
|
||||
</description>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-tcp'>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
ufrag='8hhy'>
|
||||
<candidate component='1'
|
||||
foundation='1'
|
||||
generation='0'
|
||||
@ -772,9 +787,7 @@ INITIATOR NAT RESPONDER
|
||||
port='9001'
|
||||
priority='21149780477'
|
||||
protocol='udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
type='host'
|
||||
ufrag='8hhy'/>
|
||||
type='host'/>
|
||||
</transport>
|
||||
</content>
|
||||
</jingle>
|
||||
@ -802,7 +815,9 @@ INITIATOR NAT RESPONDER
|
||||
<description xmlns='urn:xmpp:tmp:jingle:apps:audio-rtp'>
|
||||
[ ... ]
|
||||
</description>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-tcp'>
|
||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
ufrag='8hhy'>
|
||||
<candidate component='1'
|
||||
foundation='1'
|
||||
generation='0'
|
||||
@ -811,9 +826,7 @@ INITIATOR NAT RESPONDER
|
||||
port='9001'
|
||||
priority='21149780477'
|
||||
protocol='udp'
|
||||
pwd='asd88fgpdd777uzjYhagZg'
|
||||
type='host'
|
||||
ufrag='8hhy'/>
|
||||
type='host'/>
|
||||
</transport>
|
||||
</content>
|
||||
</jingle>
|
||||
@ -831,7 +844,7 @@ INITIATOR NAT RESPONDER
|
||||
</section1>
|
||||
|
||||
<section1 topic='Determining Support' anchor='support'>
|
||||
<p>If an entity supports the Jingle ice-udp transport, it MUST return a feature of "urn:xmpp:tmp:jingle:transports:ice-tcp" &NSNOTE; in response to &xep0030; information requests.</p>
|
||||
<p>If an entity supports the Jingle ice-udp transport, it MUST return a feature of "urn:xmpp:tmp:jingle:transports:ice-udp" &NSNOTE; in response to &xep0030; information requests.</p>
|
||||
<example caption="Service discovery information request"><![CDATA[
|
||||
<iq from='romeo@montague.net/orchard'
|
||||
id='disco1'
|
||||
@ -847,7 +860,7 @@ INITIATOR NAT RESPONDER
|
||||
type='result'>
|
||||
<query xmlns='http://jabber.org/protocol/disco#info'>
|
||||
...
|
||||
<feature var='urn:xmpp:tmp:jingle:transports:ice-tcp'/>
|
||||
<feature var='urn:xmpp:tmp:jingle:transports:ice-udp'/>
|
||||
...
|
||||
</query>
|
||||
</iq>
|
||||
@ -875,7 +888,7 @@ INITIATOR NAT RESPONDER
|
||||
<section2 topic='Protocol Namespaces' anchor='ns'>
|
||||
<p>Until this specification advances to a status of Draft, its associated namespaces shall be:</p>
|
||||
<ul>
|
||||
<li>urn:xmpp:tmp:jingle:transports:ice-tcp</li>
|
||||
<li>urn:xmpp:tmp:jingle:transports:ice-udp</li>
|
||||
</ul>
|
||||
<p>Upon advancement of this specification, the ®ISTRAR; shall issue permanent namespaces in accordance with the process defined in Section 4 of &xep0053;.</p>
|
||||
<p>The following namespaces are requested, and are thought to be unique per the XMPP Registrar's requirements:</p>
|
||||
@ -907,17 +920,17 @@ INITIATOR NAT RESPONDER
|
||||
|
||||
<xs:schema
|
||||
xmlns:xs='http://www.w3.org/2001/XMLSchema'
|
||||
targetNamespace='urn:xmpp:tmp:jingle:transports:ice-tcp'
|
||||
xmlns='urn:xmpp:tmp:jingle:transports:ice-tcp'
|
||||
targetNamespace='urn:xmpp:tmp:jingle:transports:ice-udp'
|
||||
xmlns='urn:xmpp:tmp:jingle:transports:ice-udp'
|
||||
elementFormDefault='qualified'>
|
||||
|
||||
<xs:element name='transport'>
|
||||
<xs:complexType>
|
||||
<xs:choice>
|
||||
<xs:sequence>
|
||||
<xs:element ref='candidate' minOccurs='0' maxOccurs='1'/>
|
||||
</xs:sequence>
|
||||
</xs:choice>
|
||||
<xs:sequence>
|
||||
<xs:element ref='candidate' minOccurs='0' maxOccurs='1'/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name='pwd' type='xs:string' use='optional'/>
|
||||
<xs:attribute name='ufrag' type='xs:string' use='optional'/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
@ -933,7 +946,6 @@ INITIATOR NAT RESPONDER
|
||||
<xs:attribute name='port' type='xs:unsignedShort' use='required'/>
|
||||
<xs:attribute name='priority' type='xs:positiveInteger' use='required'/>
|
||||
<xs:attribute name='protocol' type='xs:NCName' use='required'/>
|
||||
<xs:attribute name='pwd' type='xs:string' use='required'/>
|
||||
<xs:attribute name='rel-addr' type='xs:string' use='optional'/>
|
||||
<xs:attribute name='rel-port' type='xs:unsignedShort' use='optional'/>
|
||||
<xs:attribute name='rem-addr' type='xs:string' use='optional'/>
|
||||
@ -948,7 +960,6 @@ INITIATOR NAT RESPONDER
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name='ufrag' type='xs:string' use='required'/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
@ -964,6 +975,6 @@ INITIATOR NAT RESPONDER
|
||||
]]></code>
|
||||
</section1>
|
||||
<section1 topic='Acknowledgements' anchor='ack'>
|
||||
<p>Thanks to Steffen Larsen for his helpful feedback.</p>
|
||||
<p>Thanks to Steffen Larsen and Paul Witty for their comments.</p>
|
||||
</section1>
|
||||
</xep>
|
||||
|
Loading…
Reference in New Issue
Block a user