mirror of
https://github.com/moparisthebest/xeps
synced 2024-11-22 01:02:17 -05:00
0.18
git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@1880 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
parent
61ccc7452a
commit
50b382ce76
208
xep-0167.xml
208
xep-0167.xml
@ -20,11 +20,17 @@
|
|||||||
</dependencies>
|
</dependencies>
|
||||||
<supersedes/>
|
<supersedes/>
|
||||||
<supersededby/>
|
<supersededby/>
|
||||||
<shortname>TO BE ASSIGNED</shortname>
|
<shortname>NOT_YET_ASSIGNED</shortname>
|
||||||
&scottlu;
|
&scottlu;
|
||||||
&stpeter;
|
&stpeter;
|
||||||
&seanegan;
|
&seanegan;
|
||||||
&robmcqueen;
|
&robmcqueen;
|
||||||
|
<revision>
|
||||||
|
<version>0.18</version>
|
||||||
|
<date>2008-05-28</date>
|
||||||
|
<initials>psa</initials>
|
||||||
|
<remark><p>Removed content-replace from ICE-UDP examples per XEP-0176.</p></remark>
|
||||||
|
</revision>
|
||||||
<revision>
|
<revision>
|
||||||
<version>0.17</version>
|
<version>0.17</version>
|
||||||
<date>2008-02-29</date>
|
<date>2008-02-29</date>
|
||||||
@ -624,10 +630,6 @@ Romeo Juliet
|
|||||||
|<--------------------------->|
|
|<--------------------------->|
|
||||||
| STUN connectivity checks |
|
| STUN connectivity checks |
|
||||||
|<--------------------------->|
|
|<--------------------------->|
|
||||||
| content-replace |
|
|
||||||
|---------------------------->|
|
|
||||||
| ack |
|
|
||||||
|<----------------------------|
|
|
||||||
| session-accept |
|
| session-accept |
|
||||||
|<----------------------------|
|
|<----------------------------|
|
||||||
| ack |
|
| ack |
|
||||||
@ -688,48 +690,7 @@ Romeo Juliet
|
|||||||
to='juliet@capulet.lit/balcony'
|
to='juliet@capulet.lit/balcony'
|
||||||
type='result'/>
|
type='result'/>
|
||||||
]]></example>
|
]]></example>
|
||||||
<p>Because the parties have chosen the Jingle ICE-UDP Transport Method, the initiator and responder exchange an open-ended number of possible candidate transports, perform connectivity checks, and agree upon a candidate transport as explained in <cite>XEP-0176</cite>. Once ICE negotiation is completed, the initiator sends a content-replace action to the responder.</p>
|
<p>Because the parties have chosen the Jingle ICE-UDP Transport Method, the initiator and responder exchange an open-ended number of possible candidate transports, perform connectivity checks, and agree upon a candidate transport as explained in <cite>XEP-0176</cite>. Once ICE negotiation is completed, the responder sends a session-accept action to the initiator.</p>
|
||||||
<example caption="Initiator requests content-replace"><![CDATA[
|
|
||||||
<iq from='romeo@montague.lit/orchard'
|
|
||||||
id='rep1'
|
|
||||||
to='juliet@capulet.lit/balcony'
|
|
||||||
type='set'>
|
|
||||||
<jingle xmlns='urn:xmpp:tmp:jingle'
|
|
||||||
action='content-replace'
|
|
||||||
initiator='romeo@montague.lit/orchard'
|
|
||||||
sid='a73sjjvkla37jfea'>
|
|
||||||
<content creator='initiator' name='this-is-the-audio-content'>
|
|
||||||
<description xmlns='urn:xmpp:tmp:jingle:apps:audio-rtp' profile='RTP/AVP'>
|
|
||||||
[ ... ]
|
|
||||||
</description>
|
|
||||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-udp'>
|
|
||||||
<candidate component='1'
|
|
||||||
foundation='1'
|
|
||||||
generation='0'
|
|
||||||
ip='192.0.2.3'
|
|
||||||
network='1'
|
|
||||||
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'/>
|
|
||||||
</transport>
|
|
||||||
</content>
|
|
||||||
</jingle>
|
|
||||||
</iq>
|
|
||||||
]]></example>
|
|
||||||
<p>The responder then acknowledges the content-replace action and sends a session-accept action.</p>
|
|
||||||
<example caption="Responder acknowledges content-replace"><![CDATA[
|
|
||||||
<iq from='juliet@capulet.lit/balcony'
|
|
||||||
id='rep1'
|
|
||||||
to='romeo@montague.lit/orchard'
|
|
||||||
type='result'/>
|
|
||||||
]]></example>
|
|
||||||
<example caption="Responder sends session-accept"><![CDATA[
|
<example caption="Responder sends session-accept"><![CDATA[
|
||||||
<iq from='juliet@capulet.lit/balcony'
|
<iq from='juliet@capulet.lit/balcony'
|
||||||
id='accept1'
|
id='accept1'
|
||||||
@ -828,10 +789,6 @@ Romeo Juliet
|
|||||||
|<--------------------------->|
|
|<--------------------------->|
|
||||||
| STUN connectivity checks |
|
| STUN connectivity checks |
|
||||||
|<--------------------------->|
|
|<--------------------------->|
|
||||||
| content-replace |
|
|
||||||
|---------------------------->|
|
|
||||||
| ack |
|
|
||||||
|<----------------------------|
|
|
||||||
| session-accept |
|
| session-accept |
|
||||||
|<----------------------------|
|
|<----------------------------|
|
||||||
| ack |
|
| ack |
|
||||||
@ -944,48 +901,7 @@ Romeo Juliet
|
|||||||
to='juliet@capulet.lit/balcony'
|
to='juliet@capulet.lit/balcony'
|
||||||
type='result'/>
|
type='result'/>
|
||||||
]]></example>
|
]]></example>
|
||||||
<p>Because the parties have chosen the Jingle ICE-UDP Transport Method, the initiator and responder exchange an open-ended number of possible candidate transports, perform connectivity checks, and agree upon a candidate transport as explained in <cite>XEP-0176</cite>. Once ICE negotiation is completed, the initiator sends a content-replace action to the responder.</p>
|
<p>Because the parties have chosen the Jingle ICE-UDP Transport Method, the initiator and responder exchange an open-ended number of possible candidate transports, perform connectivity checks, and agree upon a candidate transport as explained in <cite>XEP-0176</cite>. Once ICE negotiation is completed, the responder sends a session-accept action to the initiator.</p>
|
||||||
<example caption="Initiator requests content-replace"><![CDATA[
|
|
||||||
<iq from='romeo@montague.lit/orchard'
|
|
||||||
id='rep1'
|
|
||||||
to='juliet@capulet.lit/balcony'
|
|
||||||
type='set'>
|
|
||||||
<jingle xmlns='urn:xmpp:tmp:jingle'
|
|
||||||
action='content-replace'
|
|
||||||
initiator='romeo@montague.lit/orchard'
|
|
||||||
sid='a73sjjvkla37jfea'>
|
|
||||||
<content creator='initiator' name='this-is-the-audio-content'>
|
|
||||||
<description xmlns='urn:xmpp:tmp:jingle:apps:audio-rtp' profile='RTP/AVP'>
|
|
||||||
[ ... ]
|
|
||||||
</description>
|
|
||||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-udp'>
|
|
||||||
<candidate component='1'
|
|
||||||
foundation='1'
|
|
||||||
generation='0'
|
|
||||||
ip='192.0.2.3'
|
|
||||||
network='1'
|
|
||||||
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'/>
|
|
||||||
</transport>
|
|
||||||
</content>
|
|
||||||
</jingle>
|
|
||||||
</iq>
|
|
||||||
]]></example>
|
|
||||||
<p>The responder then acknowledges the content-replace action and sends a session-accept action.</p>
|
|
||||||
<example caption="Responder acknowledges content-replace"><![CDATA[
|
|
||||||
<iq from='juliet@capulet.lit/balcony'
|
|
||||||
id='rep1'
|
|
||||||
to='romeo@montague.lit/orchard'
|
|
||||||
type='result'/>
|
|
||||||
]]></example>
|
|
||||||
<example caption="Responder sends session-accept"><![CDATA[
|
<example caption="Responder sends session-accept"><![CDATA[
|
||||||
<iq from='juliet@capulet.lit/balcony'
|
<iq from='juliet@capulet.lit/balcony'
|
||||||
id='accept1'
|
id='accept1'
|
||||||
@ -1166,7 +1082,7 @@ Romeo Juliet
|
|||||||
]]></example>
|
]]></example>
|
||||||
</section2>
|
</section2>
|
||||||
<section2 topic='Secure Jingle Audio via UDP/TLS/RTP/SAVP, Negotiated with ICE-UDP' anchor='scenarios-secure'>
|
<section2 topic='Secure Jingle Audio via UDP/TLS/RTP/SAVP, Negotiated with ICE-UDP' anchor='scenarios-secure'>
|
||||||
<p>In this scenario, Romeo initiates a voice chat with Juliet using a transport method of ICE-UDP and an unencrypted profile of "RTP/AVP", but Juliet wants to chat securely so she requests the use of a secure transport as specified in &sdpdtls; (via a profile of "UDP/TLS/RTP/SAVP").</p>
|
<p>In this scenario, Romeo initiates a voice chat with Juliet using a secure transport as specified in &sdpdtls; (via a profile of "UDP/TLS/RTP/SAVP").</p>
|
||||||
<p>The session flow is as follows:</p>
|
<p>The session flow is as follows:</p>
|
||||||
<code><![CDATA[
|
<code><![CDATA[
|
||||||
Romeo Juliet
|
Romeo Juliet
|
||||||
@ -1179,23 +1095,11 @@ Romeo Juliet
|
|||||||
|<----------------------------|
|
|<----------------------------|
|
||||||
| ack |
|
| ack |
|
||||||
|---------------------------->|
|
|---------------------------->|
|
||||||
| content-replace |
|
|
||||||
|<----------------------------|
|
|
||||||
| ack |
|
|
||||||
|---------------------------->|
|
|
||||||
| content-accept |
|
|
||||||
|---------------------------->|
|
|
||||||
| ack |
|
|
||||||
|<----------------------------|
|
|
||||||
| transport-info (X times) |
|
| transport-info (X times) |
|
||||||
| (with acks) |
|
| (with acks) |
|
||||||
|<--------------------------->|
|
|<--------------------------->|
|
||||||
| STUN connectivity checks |
|
| STUN connectivity checks |
|
||||||
|<--------------------------->|
|
|<--------------------------->|
|
||||||
| content-replace |
|
|
||||||
|---------------------------->|
|
|
||||||
| ack |
|
|
||||||
|<----------------------------|
|
|
||||||
| session-accept |
|
| session-accept |
|
||||||
|<----------------------------|
|
|<----------------------------|
|
||||||
| ack |
|
| ack |
|
||||||
@ -1219,7 +1123,7 @@ Romeo Juliet
|
|||||||
initiator='romeo@montague.lit/orchard'
|
initiator='romeo@montague.lit/orchard'
|
||||||
sid='a73sjjvkla37jfea'>
|
sid='a73sjjvkla37jfea'>
|
||||||
<content creator='initiator' name='this-is-the-audio-content'>
|
<content creator='initiator' name='this-is-the-audio-content'>
|
||||||
<description xmlns='urn:xmpp:tmp:jingle:apps:audio-rtp' profile='RTP/AVP'>
|
<description xmlns='urn:xmpp:tmp:jingle:apps:audio-rtp' profile='UDP/TLS/RTP/SAVP'/>
|
||||||
<payload-type id='96' name='speex' clockrate='16000'/>
|
<payload-type id='96' name='speex' clockrate='16000'/>
|
||||||
<payload-type id='97' name='speex' clockrate='8000'/>
|
<payload-type id='97' name='speex' clockrate='8000'/>
|
||||||
<payload-type id='18' name='G729'/>
|
<payload-type id='18' name='G729'/>
|
||||||
@ -1256,95 +1160,7 @@ Romeo Juliet
|
|||||||
to='juliet@capulet.lit/balcony'
|
to='juliet@capulet.lit/balcony'
|
||||||
type='result'/>
|
type='result'/>
|
||||||
]]></example>
|
]]></example>
|
||||||
<p>However, Juliet wants to make sure that the communications are encrypted, so she sends a content-replace action to Romeo.</p>
|
<p>Because the parties have chosen the Jingle ICE-UDP Transport Method, the initiator and responder exchange an open-ended number of possible candidate transports, perform connectivity checks, and agree upon a candidate transport as explained in <cite>XEP-0176</cite>. Once ICE negotiation is completed, the responder sends a session-accept action to the initiator.</p>
|
||||||
<example caption="Responder requests content-replace"><![CDATA[
|
|
||||||
<iq from='juliet@capulet.lit/balcony'
|
|
||||||
id='rep2'
|
|
||||||
to='romeo@montague.lit/orchard'
|
|
||||||
type='set'>
|
|
||||||
<jingle xmlns='urn:xmpp:tmp:jingle'
|
|
||||||
action='content-replace'
|
|
||||||
initiator='romeo@montague.lit/orchard'
|
|
||||||
sid='a73sjjvkla37jfea'>
|
|
||||||
<content creator='responder' name='encrypted-audio-content'>
|
|
||||||
<description xmlns='urn:xmpp:tmp:jingle:apps:audio-rtp' profile='UDP/TLS/RTP/SAVP'/>
|
|
||||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-udp'/>
|
|
||||||
</content>
|
|
||||||
</jingle>
|
|
||||||
</iq>
|
|
||||||
]]></example>
|
|
||||||
<p>Romeo then acknowledges the content-replace action and, if it is acceptable, returns a content-accept action:</p>
|
|
||||||
<example caption="Initiator acknowledges content-replace"><![CDATA[
|
|
||||||
<iq from='romeo@montague.lit/orchard'
|
|
||||||
id='rep2'
|
|
||||||
to='juliet@capulet.lit/balcony'
|
|
||||||
type='result'/>
|
|
||||||
]]></example>
|
|
||||||
<example caption="Initiator accepts content definition"><![CDATA[
|
|
||||||
<iq from='romeo@montague.lit/orchard'
|
|
||||||
id='accept3'
|
|
||||||
to='juliet@capulet.lit/balcony'
|
|
||||||
type='set'>
|
|
||||||
<jingle xmlns='urn:xmpp:tmp:jingle'
|
|
||||||
action='content-accept'
|
|
||||||
initiator='romeo@montague.lit/orchard'
|
|
||||||
sid='a73sjjvkla37jfea'>
|
|
||||||
<content creator='responder' name='encrypted-audio-content'>
|
|
||||||
<description xmlns='urn:xmpp:tmp:jingle:apps:audio-rtp' profile='UDP/TLS/RTP/SAVP'/>
|
|
||||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-udp'/>
|
|
||||||
</content>
|
|
||||||
</jingle>
|
|
||||||
</iq>
|
|
||||||
]]></example>
|
|
||||||
<p>The other party then acknowledges the acceptance.</p>
|
|
||||||
<example caption="Responder acknowledges content-accept"><![CDATA[
|
|
||||||
<iq from='juliet@capulet.lit/balcony'
|
|
||||||
id='accept3'
|
|
||||||
to='romeo@montague.lit/orchard'
|
|
||||||
type='result'/>
|
|
||||||
]]></example>
|
|
||||||
<p>Because the parties have chosen the Jingle ICE-UDP Transport Method, the initiator and responder exchange an open-ended number of possible candidate transports, perform connectivity checks, and agree upon a candidate transport as explained in <cite>XEP-0176</cite>. Once ICE negotiation is completed, the initiator sends a content-replace action to the responder.</p>
|
|
||||||
<example caption="Initiator requests content-replace"><![CDATA[
|
|
||||||
<iq from='romeo@montague.lit/orchard'
|
|
||||||
id='rep2'
|
|
||||||
to='juliet@capulet.lit/balcony'
|
|
||||||
type='set'>
|
|
||||||
<jingle xmlns='urn:xmpp:tmp:jingle'
|
|
||||||
action='content-replace'
|
|
||||||
initiator='romeo@montague.lit/orchard'
|
|
||||||
sid='a73sjjvkla37jfea'>
|
|
||||||
<content creator='initiator' name='this-is-the-audio-content'>
|
|
||||||
<description xmlns='urn:xmpp:tmp:jingle:apps:audio-rtp' profile='UDP/TLS/RTP/SAVP'/>
|
|
||||||
[ ... ]
|
|
||||||
</description>
|
|
||||||
<transport xmlns='urn:xmpp:tmp:jingle:transports:ice-udp'>
|
|
||||||
<candidate component='1'
|
|
||||||
foundation='1'
|
|
||||||
generation='0'
|
|
||||||
ip='192.0.2.3'
|
|
||||||
network='1'
|
|
||||||
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'/>
|
|
||||||
</transport>
|
|
||||||
</content>
|
|
||||||
</jingle>
|
|
||||||
</iq>
|
|
||||||
]]></example>
|
|
||||||
<p>The responder then acknowledges the content-replace action and sends a session-accept action.</p>
|
|
||||||
<example caption="Responder acknowledges content-replace"><![CDATA[
|
|
||||||
<iq from='juliet@capulet.lit/balcony'
|
|
||||||
id='rep2'
|
|
||||||
to='romeo@montague.lit/orchard'
|
|
||||||
type='result'/>
|
|
||||||
]]></example>
|
|
||||||
<example caption="Responder sends session-accept"><![CDATA[
|
<example caption="Responder sends session-accept"><![CDATA[
|
||||||
<iq from='juliet@capulet.lit/balcony'
|
<iq from='juliet@capulet.lit/balcony'
|
||||||
id='accept1'
|
id='accept1'
|
||||||
|
Loading…
Reference in New Issue
Block a user