mirror of
https://github.com/moparisthebest/xeps
synced 2024-12-21 15:18:51 -05:00
0.13
git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@1459 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
parent
c967f96602
commit
b5f195594a
126
xep-0167.xml
126
xep-0167.xml
@ -25,6 +25,12 @@
|
||||
&stpeter;
|
||||
&seanegan;
|
||||
&robmcqueen;
|
||||
<revision>
|
||||
<version>0.13</version>
|
||||
<date>2007-12-06</date>
|
||||
<initials>psa</initials>
|
||||
<remark><p>To track changes to XEP-0166, modified busy scenario and removed unsupported-codecs error.</p></remark>
|
||||
</revision>
|
||||
<revision>
|
||||
<version>0.12</version>
|
||||
<date>2007-11-27</date>
|
||||
@ -243,18 +249,7 @@
|
||||
</jingle>
|
||||
</iq>
|
||||
]]></example>
|
||||
<p>Upon receiving the session-initiate stanza, the responder determines whether it can proceed with the negotiation. The general Jingle error cases are specified in <cite>XEP-0166</cite> and illustrated in the <link url='#scenarios'>Scenarios</link> section of this document. In addition, the responder must determine if it supports any of the payload types advertised by the initiator; if it supports none of the offered payload types, it must reject the session by returning a ¬acceptable; error with a Jingle-Audio-specific condition of <unsupported-codecs/>:</p>
|
||||
<example caption="Responder does not support any of the codecs"><![CDATA[
|
||||
<iq from='juliet@capulet.com/balcony'
|
||||
id='jingleaudio1'
|
||||
to='romeo@montague.net/orchard'
|
||||
type='error'>
|
||||
<error type='cancel'>
|
||||
<not-acceptable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||
<unsupported-codecs xmlns='http://www.xmpp.org/extensions/xep-0167.html#ns-errors'/>
|
||||
</error>
|
||||
</iq>
|
||||
]]></example>
|
||||
<p>Upon receiving the session-initiate stanza, the responder determines whether it can proceed with the negotiation. The general Jingle error cases are specified in <cite>XEP-0166</cite> and illustrated in the <link url='#scenarios'>Scenarios</link> section of this document.</p>
|
||||
<p>If there is no error, the responder acknowledges the session initiation request.</p>
|
||||
<example caption="Responder acknowledges session-initiate"><![CDATA[
|
||||
<iq from='juliet@capulet.com/balcony'
|
||||
@ -466,22 +461,6 @@ a=fmtp:96 vbr=on;cng=on
|
||||
</section2>
|
||||
</section1>
|
||||
|
||||
<section1 topic='Error Handling' anchor='errors'>
|
||||
<p>The Jingle-Audio-specific error conditions are as follows:</p>
|
||||
<table caption='Error Conditions'>
|
||||
<tr>
|
||||
<th>Jingle Audio Condition</th>
|
||||
<th>XMPP Condition</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><unsupported-codecs/></td>
|
||||
<td>¬acceptable;</td>
|
||||
<td>The recipient does not support any of the offered audio encodings.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</section1>
|
||||
|
||||
<section1 topic='Determining Support' anchor='support'>
|
||||
<p>If an entity supports Jingle audio exchanges via RTP, it MUST advertise that fact by returning a feature of "http://www.xmpp.org/extensions/xep-0167.html#ns" &NSNOTE; in response to &xep0030; information requests.</p>
|
||||
<example caption="Service discovery information request"><![CDATA[
|
||||
@ -518,9 +497,18 @@ Romeo Juliet
|
||||
| |
|
||||
| session-initiate |
|
||||
|---------------------------->|
|
||||
| error |
|
||||
| (recipient-unavailable) |
|
||||
| ack |
|
||||
|<----------------------------|
|
||||
| session-info (ringing) |
|
||||
|<----------------------------|
|
||||
| ack |
|
||||
|---------------------------->|
|
||||
| terminate |
|
||||
| (reasoncode = busy) |
|
||||
|<----------------------------|
|
||||
| ack |
|
||||
|---------------------------->|
|
||||
| |
|
||||
]]></code>
|
||||
<p>The protocol flow is as follows.</p>
|
||||
<example caption="Initiator sends session-initiate"><![CDATA[
|
||||
@ -545,17 +533,51 @@ Romeo Juliet
|
||||
</jingle>
|
||||
</iq>
|
||||
]]></example>
|
||||
<example caption="Responder returns recipient-unavailable error"><![CDATA[
|
||||
<example caption="Responder sends provisional acceptance"><![CDATA[
|
||||
<iq from='juliet@capulet.lit/balcony'
|
||||
id='jingle1'
|
||||
id='accept1'
|
||||
to='romeo@montague.lit/orchard'
|
||||
type='error'>
|
||||
<error type='wait'>
|
||||
<recipient-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
|
||||
<busy xmlns='http://www.xmpp.org/extensions/xep-0166.html#ns-errors'/>
|
||||
</error>
|
||||
type='result'/>
|
||||
]]></example>
|
||||
<example caption="Responder sends ringing message"><![CDATA[
|
||||
<iq from='juliet@capulet.com/balcony'
|
||||
id='ringing1'
|
||||
to='romeo@montague.net/orchard'
|
||||
type='set'>
|
||||
<jingle xmlns='http://www.xmpp.org/extensions/xep-0166.html#ns'
|
||||
action='session-info'
|
||||
initiator='romeo@montague.net/orchard'
|
||||
sid='a73sjjvkla37jfea'>
|
||||
<ringing xmlns='http://www.xmpp.org/extensions/xep-0167.html#ns-info'/>
|
||||
</jingle>
|
||||
</iq>
|
||||
]]></example>
|
||||
<example caption="Initiator acknowledges ringing message"><![CDATA[
|
||||
<iq from='romeo@montague.lit/orchard'
|
||||
id='ringing1'
|
||||
to='juliet@capulet.lit/balcony'
|
||||
type='result'/>
|
||||
]]></example>
|
||||
<example caption="Responder terminates the session"><![CDATA[
|
||||
<iq from='juliet@capulet.lit/balcony'
|
||||
id='term1'
|
||||
to='romeo@montague.lit/orchard'
|
||||
type='set'>
|
||||
<jingle xmlns='http://www.xmpp.org/extensions/xep-0166.html#ns'
|
||||
action='session-terminate'
|
||||
initiator='romeo@montague.lit/orchard'
|
||||
reasoncode='busy'
|
||||
reasontext='No time to chat right now!'
|
||||
sid='a73sjjvkla37jfea'/>
|
||||
</iq>
|
||||
]]></example>
|
||||
<p>The other party then acknowledges termination of the session:</p>
|
||||
<example caption="Initiator acknowledges termination"><![CDATA[
|
||||
<iq from='romeo@montague.lit/orchard'
|
||||
id='term1'
|
||||
to='juliet@capulet.lit/balcony'
|
||||
type='result'/>
|
||||
]]></example>
|
||||
</section2>
|
||||
<section2 topic='Jingle Audio via RTP/AVP, Negotiated with ICE-UDP' anchor='scenarios-voicechat'>
|
||||
<p>In this scenario, Romeo initiates a voice chat with Juliet using a transport method of ICE-UDP. The parties also exchange informational messages.</p>
|
||||
@ -780,7 +802,8 @@ Romeo Juliet
|
||||
<jingle xmlns='http://www.xmpp.org/extensions/xep-0166.html#ns'
|
||||
action='session-terminate'
|
||||
initiator='romeo@montague.lit/orchard'
|
||||
reason='Sorry, gotta go!'
|
||||
reasoncode='no-error'
|
||||
reasontext='Sorry, gotta go!'
|
||||
sid='a73sjjvkla37jfea'/>
|
||||
</iq>
|
||||
]]></example>
|
||||
@ -1101,7 +1124,8 @@ Romeo Juliet
|
||||
<jingle xmlns='http://www.xmpp.org/extensions/xep-0166.html#ns'
|
||||
action='session-terminate'
|
||||
initiator='romeo@montague.lit/orchard'
|
||||
reason='I'm outta here!'
|
||||
reasoncode='no-error'
|
||||
reasontext='I'm outta here!'
|
||||
sid='a73sjjvkla37jfea'/>
|
||||
</iq>
|
||||
]]></example>
|
||||
@ -1287,7 +1311,8 @@ Romeo Juliet
|
||||
<jingle xmlns='http://www.xmpp.org/extensions/xep-0166.html#ns'
|
||||
action='session-terminate'
|
||||
initiator='romeo@montague.lit/orchard'
|
||||
reason='Sorry, gotta go!'
|
||||
reasoncode='no-error'
|
||||
reasontext='Sorry, gotta go!'
|
||||
sid='a73sjjvkla37jfea'/>
|
||||
</iq>
|
||||
]]></example>
|
||||
@ -1400,27 +1425,6 @@ Romeo Juliet
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
||||
]]></code>
|
||||
</section2>
|
||||
<section2 topic='Errors' anchor='schema-errors'>
|
||||
<code><![CDATA[
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
|
||||
<xs:schema
|
||||
xmlns:xs='http://www.w3.org/2001/XMLSchema'
|
||||
targetNamespace='http://www.xmpp.org/extensions/xep-0167.html#ns-errors'
|
||||
xmlns='http://www.xmpp.org/extensions/xep-0167.html#ns-errors'
|
||||
elementFormDefault='qualified'>
|
||||
|
||||
<xs:element name='unsupported-codecs' type='empty'/>
|
||||
|
||||
<xs:simpleType name='empty'>
|
||||
<xs:restriction base='xs:string'>
|
||||
<xs:enumeration value=''/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
||||
]]></code>
|
||||
</section2>
|
||||
|
Loading…
Reference in New Issue
Block a user