1.0 DRAFT

git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@3245 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
Peter Saint-Andre 2009-06-10 18:22:39 +00:00
parent 414d2da6d9
commit 988b41f0f6
1 changed files with 36 additions and 8 deletions

View File

@ -10,7 +10,7 @@
<abstract>This specification defines an XMPP protocol extension for initiating and managing peer-to-peer media sessions between two XMPP entities in a way that is interoperable with existing Internet standards. The protocol provides a pluggable model that enables the core session management semantics (compatible with SIP) to be used for a wide variety of application types (e.g., voice chat, video chat, file transfer) and with a wide variety of transport methods (e.g., TCP, UDP, ICE, application-specific transports).</abstract>
&LEGALNOTICE;
<number>0166</number>
<status>Proposed</status>
<status>Draft</status>
<type>Standards Track</type>
<sig>Standards</sig>
<approver>Council</approver>
@ -20,6 +20,15 @@
<supersedes/>
<supersededby/>
<shortname>jingle</shortname>
<schemaloc>
<ns>jingle</ns>
<url>http://xmpp.org/schemas/jingle.xsd</url>
</schemaloc>
<schemaloc>
<ns>jingle:errors</ns>
<url>http://xmpp.org/schemas/jingle-errors.xsd</url>
</schemaloc>
<registry/>
<discuss>jingle</discuss>
&scottlu;
&joebeda;
@ -27,6 +36,12 @@
&robmcqueen;
&seanegan;
&hildjj;
<revision>
<version>1.0</version>
<date>2009-06-10</date>
<initials>psa</initials>
<remark><p>Per a vote of the XMPP Council, advanced specification from Experimental to Draft; also required inclusion of the creator attribute per list consensus.</p></remark>
</revision>
<revision>
<version>0.38</version>
<date>2009-05-27</date>
@ -1144,7 +1159,7 @@ PENDING o-----------------------+ |
</tr>
<tr>
<td>sid</td>
<td>A random session identifier generated by the initiator, which effectively maps to the local-part of a SIP "Call-ID" parameter; this SHOULD match the XML Nmtoken production <note>See &lt;<link url='http://www.w3.org/TR/2000/WD-xml-2e-20000814#NT-Nmtoken'>http://www.w3.org/TR/2000/WD-xml-2e-20000814#NT-Nmtoken</link>&gt;</note> so that XML character escaping is not needed for characters such as '&amp;'.</td>
<td>A random session identifier generated by the initiator, which effectively maps to the local-part of a SIP "Call-ID" parameter; this SHOULD match the XML Nmtoken production <note>See &lt;<link url='http://www.w3.org/TR/2000/WD-xml-2e-20000814#NT-Nmtoken'>http://www.w3.org/TR/2000/WD-xml-2e-20000814#NT-Nmtoken</link>&gt;</note> so that XML character escaping is not needed for characters such as '&amp;'. In some situations the Jingle session identifier might have security implications. See &rfc4086; regarding requirements for randomness.</td>
<td>REQUIRED</td>
</tr>
</table>
@ -1204,7 +1219,7 @@ PENDING o-----------------------+ |
<dl>
<di>
<dt>No existing session</dt>
<dd>If there is no existing session and both parties simultaneously send a Jingle session-initiate message with a content-type that is functionally equivalent (e.g., each message requests initiation of a voice call), 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 lower 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 higher of the two session IDs MUST return a &conflict; error to the other party, which SHOULD include a Jingle-specific condition of &lt;tie-break/&gt;.</dd>
<dd>If there is no existing session and both parties simultaneously send a Jingle session-initiate message with a content-type that is functionally equivalent (e.g., each message requests initiation of a voice call), 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; (in the unlikely event that the random session IDs are the same, the action sent by the lower of the JabberIDs MUST overrule the other action). The party that receives the session-initiate action with the lower 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 higher of the two session IDs MUST return a &conflict; error to the other party, which SHOULD include a Jingle-specific condition of &lt;tie-break/&gt;.</dd>
</di>
<di>
<dt>Existing session</dt>
@ -1521,13 +1536,13 @@ PENDING o-----------------------+ |
<li>urn:xmpp:jingle:1</li>
<li>urn:xmpp:jingle:errors:1</li>
</ul>
<p>Upon advancement of this specification from a status of Experimental to a status of Draft, the &REGISTRAR; shall add the foregoing namespaces to the registry located at &NAMESPACES;, as described in Section 4 of &xep0053;.</p>
<p>The &REGISTRAR; includes the foregoing namespaces in its registry at &NAMESPACES;, as governed by &xep0053;.</p>
</section2>
<section2 topic='Namespace Versioning' anchor='registrar-versioning'>
&NSVER;
</section2>
<section2 topic='Jingle Application Formats Registry' anchor='registrar-apps'>
<p>The XMPP Registrar shall maintain a registry of Jingle application formats. All application format registrations shall be defined in separate specifications (not in this document). Application types defined within the XEP series MUST be registered with the XMPP Registrar, resulting in protocol URNs of the form "urn:xmpp:jingle:app:name:X" (where "name" is the registered name of the application format and "X" is a non-negative integer).</p>
<p>The XMPP Registrar maintains a registry of Jingle application formats at &JINGLEAPPS;. All application format registrations shall be defined in separate specifications (not in this document). Application types defined within the XEP series MUST be registered with the XMPP Registrar, resulting in protocol URNs of the form "urn:xmpp:jingle:app:name:X" (where "name" is the registered name of the application format and "X" is a non-negative integer).</p>
&REGPROCESS;
<code><![CDATA[
<application>
@ -1542,7 +1557,7 @@ PENDING o-----------------------+ |
]]></code>
</section2>
<section2 topic='Jingle Transport Methods Registry' anchor='registrar-transports'>
<p>The XMPP Registrar shall maintain a registry of Jingle transport methods. All transport method registrations shall be defined in separate specifications (not in this document). Transport methods defined within the XEP series MUST be registered with the XMPP Registrar, resulting in protocol URNs of the form "urn:xmpp:jingle:transport:name" (where "name" is the registered name of the transport method).</p>
<p>The XMPP Registrar maintains a registry of Jingle transport methods at &JINGLETRANSPORTS;. All transport method registrations shall be defined in separate specifications (not in this document). Transport methods defined within the XEP series MUST be registered with the XMPP Registrar, resulting in protocol URNs of the form "urn:xmpp:jingle:transport:name" (where "name" is the registered name of the transport method).</p>
&REGPROCESS;
<code><![CDATA[
<transport>
@ -1568,6 +1583,13 @@ PENDING o-----------------------+ |
xmlns='urn:xmpp:jingle:1'
elementFormDefault='qualified'>
<xs:annotation>
<xs:documentation>
The protocol documented by this schema is defined in
XEP-0166: http://www.xmpp.org/extensions/xep-0166.html
</xs:documentation>
</xs:annotation>
<xs:element name='jingle'>
<xs:complexType>
<xs:sequence>
@ -1622,8 +1644,7 @@ PENDING o-----------------------+ |
<xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
</xs:sequence>
<xs:attribute name='creator'
use='required'
default='initiator'>
use='required'>
<xs:simpleType>
<xs:restriction base='xs:NCName'>
<xs:enumeration value='initiator'/>
@ -1698,6 +1719,13 @@ PENDING o-----------------------+ |
xmlns='urn:xmpp:jingle:errors:1'
elementFormDefault='qualified'>
<xs:annotation>
<xs:documentation>
The protocol documented by this schema is defined in
XEP-0166: http://www.xmpp.org/extensions/xep-0166.html
</xs:documentation>
</xs:annotation>
<xs:element name='out-of-order' type='empty'/>
<xs:element name='tie-break' type='empty'/>
<xs:element name='unknown-session' type='empty'/>