mirror of
https://github.com/moparisthebest/xeps
synced 2024-11-10 11:25:00 -05:00
0.37
git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@3058 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
parent
565cd35871
commit
8264a9789b
39
xep-0166.xml
39
xep-0166.xml
@ -27,6 +27,12 @@
|
|||||||
&robmcqueen;
|
&robmcqueen;
|
||||||
&seanegan;
|
&seanegan;
|
||||||
&hildjj;
|
&hildjj;
|
||||||
|
<revision>
|
||||||
|
<version>0.37</version>
|
||||||
|
<date>2009-04-20</date>
|
||||||
|
<initials>psa</initials>
|
||||||
|
<remark><p>Specified tie-breaking for session-initiate action; incremented errors namespace to match core namespace; clarified some ambiguities in the text, examples, and state machine.</p></remark>
|
||||||
|
</revision>
|
||||||
<revision>
|
<revision>
|
||||||
<version>0.36</version>
|
<version>0.36</version>
|
||||||
<date>2009-03-11</date>
|
<date>2009-03-11</date>
|
||||||
@ -1055,7 +1061,7 @@ PENDING o-----------------------+ |
|
|||||||
type='error'>
|
type='error'>
|
||||||
<error type='cancel'>
|
<error type='cancel'>
|
||||||
<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
<unknown-session xmlns='urn:xmpp:jingle:errors:0'/>
|
<unknown-session xmlns='urn:xmpp:jingle:errors:1'/>
|
||||||
</error>
|
</error>
|
||||||
</iq>
|
</iq>
|
||||||
]]></example>
|
]]></example>
|
||||||
@ -1084,7 +1090,7 @@ PENDING o-----------------------+ |
|
|||||||
type='error'>
|
type='error'>
|
||||||
<error type='modify'>
|
<error type='modify'>
|
||||||
<feature-not-implemented xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<feature-not-implemented xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
<unsupported-info xmlns='urn:xmpp:jingle:errors:0'/>
|
<unsupported-info xmlns='urn:xmpp:jingle:errors:1'/>
|
||||||
</error>
|
</error>
|
||||||
</iq>
|
</iq>
|
||||||
]]></example>
|
]]></example>
|
||||||
@ -1195,18 +1201,29 @@ PENDING o-----------------------+ |
|
|||||||
<p>The <strong>transport-replace</strong> action is used to redefine a transport method, typically for fallback to a different method (e.g., changing from ICE-UDP to Raw UDP for a datagram transport, or changing from &xep0065; to &xep0047; for a streaming transport). If the recipient wishes to use the new transport definition, it MUST send a transport-accept action to the other party; if not, it MUST send a transport-reject action to the other party.</p>
|
<p>The <strong>transport-replace</strong> action is used to redefine a transport method, typically for fallback to a different method (e.g., changing from ICE-UDP to Raw UDP for a datagram transport, or changing from &xep0065; to &xep0047; for a streaming transport). If the recipient wishes to use the new transport definition, it MUST send a transport-accept action to the other party; if not, it MUST send a transport-reject action to the other party.</p>
|
||||||
</section3>
|
</section3>
|
||||||
<section3 topic='Tie Breaking Related to Jingle Actions' anchor='def-action-ties'>
|
<section3 topic='Tie Breaking Related to Jingle Actions' anchor='def-action-ties'>
|
||||||
<p>It is possible that two instances of certain actions can be sent at the same time in the context of an existing session, one by each party; for example, both parties might simulaneously attempt to send a content-add action. In all such cases, the action sent by the initiator MUST overrule the action sent by the responder; i.e., both parties MUST accept the action sent by the initiator and the initiator MUST return a &conflict; error to the responder for the duplicate action, which SHOULD include a Jingle-specific condition of <tie-break/>.</p>
|
<p>It is possible that the same Jingle action can be sent at the same time by both parties. There are two possible scenarios:</p>
|
||||||
<example caption="Initiator returns conflict error on tie-break"><![CDATA[
|
<dl>
|
||||||
|
<di>
|
||||||
|
<dt>No existing session</dt>
|
||||||
|
<dd>If there is no existing session and both parties simultaneously send a Jingle session-initiate message, the action with the lower of the two session IDs MUST overrule the other action, where by "lower" is meant the session ID that is sorted first using "i;octet" collation as specified in Section 9.3 of &rfc4790;. The party that receives the session-initiate action with the higher of the two session IDs MUST acknowledge the action or return an error condition that would normally be returned when receiving a session-initiate message, and the party that receives the session-initiate action with the lower of the two session IDs MUST return a &conflict; error to the other party, which SHOULD include a Jingle-specific condition of <tie-break/>.</dd>
|
||||||
|
</di>
|
||||||
|
<di>
|
||||||
|
<dt>Existing session</dt>
|
||||||
|
<dd>In the context of an existing session, the action sent by the initiator MUST overrule the action sent by the responder; i.e., both parties MUST accept the action sent by the initiator and the initiator MUST return a &conflict; error to the responder for the duplicate action, which SHOULD include a Jingle-specific condition of <tie-break/>.</dd>
|
||||||
|
</di>
|
||||||
|
</dl>
|
||||||
|
<p>In both scenarios, the error to be returned is &conflict;, as shown in the following example.</p>
|
||||||
|
<example caption="Initiator returns conflict error on tie-break"><![CDATA[
|
||||||
<iq from='romeo@montague.lit/orchard'
|
<iq from='romeo@montague.lit/orchard'
|
||||||
id='hb2f164w'
|
id='hb2f164w'
|
||||||
to='juliet@capulet.lit/balcony'
|
to='juliet@capulet.lit/balcony'
|
||||||
type='error'>
|
type='error'>
|
||||||
<error type='cancel'>
|
<error type='cancel'>
|
||||||
<conflict xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<conflict xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
<tie-break xmlns='urn:xmpp:jingle:errors:0'/>
|
<tie-break xmlns='urn:xmpp:jingle:errors:1'/>
|
||||||
</error>
|
</error>
|
||||||
</iq>
|
</iq>
|
||||||
]]></example>
|
]]></example>
|
||||||
</section3>
|
</section3>
|
||||||
</section2>
|
</section2>
|
||||||
<section2 topic='Content Element' anchor='def-content'>
|
<section2 topic='Content Element' anchor='def-content'>
|
||||||
@ -1385,14 +1402,14 @@ PENDING o-----------------------+ |
|
|||||||
type='error'>
|
type='error'>
|
||||||
<error type='cancel'>
|
<error type='cancel'>
|
||||||
<not-acceptable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
<not-acceptable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||||
<security-required xmlns='urn:xmpp:jingle:errors:0'/>
|
<security-required xmlns='urn:xmpp:jingle:errors:1'/>
|
||||||
</error>
|
</error>
|
||||||
</iq>
|
</iq>
|
||||||
]]></example>
|
]]></example>
|
||||||
</section1>
|
</section1>
|
||||||
|
|
||||||
<section1 topic='Error Handling' anchor='errors'>
|
<section1 topic='Error Handling' anchor='errors'>
|
||||||
<p>The Jingle-specific error conditions are as follows. These condition elements are qualified by the 'urn:xmpp:jingle:errors:0' namespace &VNOTE;.</p>
|
<p>The Jingle-specific error conditions are as follows. These condition elements are qualified by the 'urn:xmpp:jingle:errors:1' namespace &VNOTE;.</p>
|
||||||
<table caption='Error Conditions'>
|
<table caption='Error Conditions'>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Jingle Condition</th>
|
<th>Jingle Condition</th>
|
||||||
@ -1506,7 +1523,7 @@ PENDING o-----------------------+ |
|
|||||||
<p>This specification defines the following XML namespaces:</p>
|
<p>This specification defines the following XML namespaces:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>urn:xmpp:jingle:1</li>
|
<li>urn:xmpp:jingle:1</li>
|
||||||
<li>urn:xmpp:jingle:errors:0</li>
|
<li>urn:xmpp:jingle:errors:1</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>Upon advancement of this specification from a status of Experimental to a status of Draft, the ®ISTRAR; shall add the foregoing namespaces to the registry located at &NAMESPACES;, as described in Section 4 of &xep0053;.</p>
|
<p>Upon advancement of this specification from a status of Experimental to a status of Draft, the ®ISTRAR; shall add the foregoing namespaces to the registry located at &NAMESPACES;, as described in Section 4 of &xep0053;.</p>
|
||||||
</section2>
|
</section2>
|
||||||
@ -1695,8 +1712,8 @@ PENDING o-----------------------+ |
|
|||||||
|
|
||||||
<xs:schema
|
<xs:schema
|
||||||
xmlns:xs='http://www.w3.org/2001/XMLSchema'
|
xmlns:xs='http://www.w3.org/2001/XMLSchema'
|
||||||
targetNamespace='urn:xmpp:jingle:errors:0'
|
targetNamespace='urn:xmpp:jingle:errors:1'
|
||||||
xmlns='urn:xmpp:jingle:errors:0'
|
xmlns='urn:xmpp:jingle:errors:1'
|
||||||
elementFormDefault='qualified'>
|
elementFormDefault='qualified'>
|
||||||
|
|
||||||
<xs:element name='out-of-order' type='empty'/>
|
<xs:element name='out-of-order' type='empty'/>
|
||||||
|
Loading…
Reference in New Issue
Block a user