mirror of
https://github.com/moparisthebest/xeps
synced 2024-12-21 15:18:51 -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>
|
||||
<supersedes/>
|
||||
<supersededby/>
|
||||
<shortname>TO BE ASSIGNED</shortname>
|
||||
<shortname>NOT_YET_ASSIGNED</shortname>
|
||||
&scottlu;
|
||||
&stpeter;
|
||||
&seanegan;
|
||||
&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>
|
||||
<version>0.17</version>
|
||||
<date>2008-02-29</date>
|
||||
@ -624,10 +630,6 @@ Romeo Juliet
|
||||
|<--------------------------->|
|
||||
| STUN connectivity checks |
|
||||
|<--------------------------->|
|
||||
| content-replace |
|
||||
|---------------------------->|
|
||||
| ack |
|
||||
|<----------------------------|
|
||||
| session-accept |
|
||||
|<----------------------------|
|
||||
| ack |
|
||||
@ -688,48 +690,7 @@ Romeo Juliet
|
||||
to='juliet@capulet.lit/balcony'
|
||||
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='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>
|
||||
<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 sends session-accept"><![CDATA[
|
||||
<iq from='juliet@capulet.lit/balcony'
|
||||
id='accept1'
|
||||
@ -828,10 +789,6 @@ Romeo Juliet
|
||||
|<--------------------------->|
|
||||
| STUN connectivity checks |
|
||||
|<--------------------------->|
|
||||
| content-replace |
|
||||
|---------------------------->|
|
||||
| ack |
|
||||
|<----------------------------|
|
||||
| session-accept |
|
||||
|<----------------------------|
|
||||
| ack |
|
||||
@ -944,48 +901,7 @@ Romeo Juliet
|
||||
to='juliet@capulet.lit/balcony'
|
||||
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='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>
|
||||
<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 sends session-accept"><![CDATA[
|
||||
<iq from='juliet@capulet.lit/balcony'
|
||||
id='accept1'
|
||||
@ -1166,7 +1082,7 @@ Romeo Juliet
|
||||
]]></example>
|
||||
</section2>
|
||||
<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>
|
||||
<code><![CDATA[
|
||||
Romeo Juliet
|
||||
@ -1179,23 +1095,11 @@ Romeo Juliet
|
||||
|<----------------------------|
|
||||
| ack |
|
||||
|---------------------------->|
|
||||
| content-replace |
|
||||
|<----------------------------|
|
||||
| ack |
|
||||
|---------------------------->|
|
||||
| content-accept |
|
||||
|---------------------------->|
|
||||
| ack |
|
||||
|<----------------------------|
|
||||
| transport-info (X times) |
|
||||
| (with acks) |
|
||||
|<--------------------------->|
|
||||
| STUN connectivity checks |
|
||||
|<--------------------------->|
|
||||
| content-replace |
|
||||
|---------------------------->|
|
||||
| ack |
|
||||
|<----------------------------|
|
||||
| session-accept |
|
||||
|<----------------------------|
|
||||
| ack |
|
||||
@ -1219,7 +1123,7 @@ Romeo Juliet
|
||||
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 xmlns='urn:xmpp:tmp:jingle:apps:audio-rtp' profile='UDP/TLS/RTP/SAVP'/>
|
||||
<payload-type id='96' name='speex' clockrate='16000'/>
|
||||
<payload-type id='97' name='speex' clockrate='8000'/>
|
||||
<payload-type id='18' name='G729'/>
|
||||
@ -1256,95 +1160,7 @@ Romeo Juliet
|
||||
to='juliet@capulet.lit/balcony'
|
||||
type='result'/>
|
||||
]]></example>
|
||||
<p>However, Juliet wants to make sure that the communications are encrypted, so she sends a content-replace action to Romeo.</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>
|
||||
<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 sends session-accept"><![CDATA[
|
||||
<iq from='juliet@capulet.lit/balcony'
|
||||
id='accept1'
|
||||
|
Loading…
Reference in New Issue
Block a user