git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@2279 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
Peter Saint-Andre 2008-09-26 01:30:59 +00:00
parent a33315f245
commit e007d93714
1 changed files with 31 additions and 22 deletions

View File

@ -7,7 +7,7 @@
<xep>
<header>
<title>User Chatting</title>
<abstract>This document defines an XMPP protocol extension for communicating information about the chatrooms a user visits.</abstract>
<abstract>This specification defines an XMPP protocol extension for communicating information about the chatrooms a user visits.</abstract>
&LEGALNOTICE;
<number>0194</number>
<status>Experimental</status>
@ -21,8 +21,14 @@
</dependencies>
<supersedes/>
<supersededby/>
<shortname>TO BE ASSIGNED</shortname>
<shortname>NOT_YET_ASSIGNED</shortname>
&stpeter;
<revision>
<version>0.3</version>
<date>2008-09-25</date>
<initials>psa</initials>
<remark><p>Modified namespace in accordance with protocol versioning policies.</p></remark>
</revision>
<revision>
<version>0.2</version>
<date>2007-10-03</date>
@ -47,7 +53,7 @@
</section1>
<section1 topic='Protocol' anchor='protocol'>
<section2 topic='Container Element and Child Elements' anchor='protocol-elements'>
<p>Information about chatrooms is provided by the user (or automated integration with Jabber, IRC, or other systems) and is propagated on the network by the user's client. The information container for chatting data is a &lt;room/&gt; element that is qualified by the 'http://www.xmpp.org/extensions/xep-0194.html#ns' namespace &NSNOTE;. The chatting information itself is provided as the XML character data of the following children of the &lt;room/&gt; element:</p>
<p>Information about chatrooms is provided by the user (or automated integration with Jabber, IRC, or other systems) and is propagated on the network by the user's client. The information container for chatting data is a &lt;room/&gt; element that is qualified by the 'urn:xmpp:chatting:0' namespace &VNOTE;. The chatting information itself is provided as the XML character data of the following children of the &lt;room/&gt; element:</p>
<table caption='Child Elements'>
<tr>
<th>Element</th>
@ -66,7 +72,7 @@
<tr>
<td>topic</td>
<td>The current topic of discussion in the room</td>
<td>whiteboard brainstorming session</td>
<td>BOSH meeting</td>
<td>xs:string</td>
<td>OPTIONAL</td>
</tr>
@ -81,13 +87,13 @@
<p>NOTE: The datatypes specified above are defined in &w3xmlschema2;.</p>
</section2>
<section2 topic='Transport Mechanism' anchor='protocol-transport'>
<p>When a user joins a room, its client may publish that fact to PEP node whose NodeID is "http://www.xmpp.org/extensions/xep-0194.html#ns" &NSNOTE; or to a generic pubsub node. Because chatroom information is not pure presence information and can change independently of the user's availability, it SHOULD NOT be provided as an extension to the &PRESENCE; stanza type.</p>
<p>When a user joins a room, its client MAY publish that fact to a PEP node whose NodeID is "urn:xmpp:chatting:0" &VNOTE; or to a generic pubsub node. Because chatroom information is not pure presence information and can change independently of the user's availability, it SHOULD NOT be provided as an extension to the &PRESENCE; stanza type.</p>
<example caption='User Publishes Chatting Information'><![CDATA[
<iq type='set' from='stpeter@jabber.org/work' id='chatting1'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<publish node='http://www.xmpp.org/extensions/xep-0194.html#ns'>
<publish node='urn:xmpp:chatting:0'>
<item id='1b395148292c0b0ab3a83bb2c22909bf83d2a80b'>
<room xmlns='http://www.xmpp.org/extensions/xep-0194.html#ns'>
<room xmlns='urn:xmpp:chatting:0'>
<name>Jabber Development</name>
<uri>xmpp:jdev@conference.jabber.org</uri>
</room>
@ -100,9 +106,9 @@
<example caption='Chatting Information is Delivered to All Subscribers'><![CDATA[
<message from='stpeter@jabber.org' to='maineboy@jabber.org'>
<event xmlns='http://jabber.org/protocol/pubsub#event'>
<items node='http://www.xmpp.org/extensions/xep-0194.html#ns'>
<items node='urn:xmpp:chatting:0'>
<item id='1b395148292c0b0ab3a83bb2c22909bf83d2a80b'>
<room xmlns='http://www.xmpp.org/extensions/xep-0194.html#ns'>
<room xmlns='urn:xmpp:chatting:0'>
<name>Jabber Development</name>
<uri>xmpp:jdev@conference.jabber.org</uri>
</room>
@ -110,33 +116,29 @@
</items>
</event>
</message>
[ ... ]
]]></example>
<p>When the user exits the room, the user's client SHOULD send an empty &lt;room/&gt; element with the same ItemID:</p>
<example caption='User Publishes Exit Information'><![CDATA[
<iq type='set' from='stpeter@jabber.org/work' id='chatting2'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<publish node='http://www.xmpp.org/extensions/xep-0194.html#ns'>
<publish node='urn:xmpp:chatting:0'>
<item id='1b395148292c0b0ab3a83bb2c22909bf83d2a80b'>
<room xmlns='http://www.xmpp.org/extensions/xep-0194.html#ns'/>
<room xmlns='urn:xmpp:chatting:0'/>
</item>
</publish>
</pubsub>
</iq>
]]></example>
<example caption='Empty Room Information is Delivered to All Subscribers'><![CDATA[
<example caption='Exit Information is Delivered to All Subscribers'><![CDATA[
<message from='stpeter@jabber.org' to='maineboy@jabber.org'>
<event xmlns='http://jabber.org/protocol/pubsub#event'>
<items node='http://www.xmpp.org/extensions/xep-0194.html#ns'>
<items node='urn:xmpp:chatting:0'>
<item id='1b395148292c0b0ab3a83bb2c22909bf83d2a80b'>
<room xmlns='http://www.xmpp.org/extensions/xep-0194.html#ns'/>
<room xmlns='urn:xmpp:chatting:0'/>
</item>
</items>
</event>
</message>
[ ... ]
]]></example>
</section2>
</section1>
@ -147,8 +149,15 @@
<p>This document requires no interaction with &IANA;.</p>
</section1>
<section1 topic='XMPP Registrar Considerations' anchor='registrar'>
<section2 topic='Protocol Namespaces' anchor='ns'>
<p>Until this specification advances to a status of Draft, its associated namespace shall be "http://www.xmpp.org/extensions/xep-0194.html#ns"; upon advancement of this specification, the &REGISTRAR; shall issue a permanent namespace in accordance with the process defined in Section 4 of &xep0053;.</p>
<section2 topic='Protocol Namespaces' anchor='registrar-ns'>
<p>This specification defines the following XML namespaces:</p>
<ul>
<li>urn:xmpp:chatting:0</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>
</section2>
<section2 topic='Namespace Versioning' anchor='registrar-versioning'>
<p>If the protocol defined in this specification undergoes a major revision that is not fully backward-compatible with an older version, or that contains significant new features, the XMPP Registrar shall increment the protocol version number found at the end of the XML namespaces defined herein, as described in Section 4 of <cite>XEP-0053</cite>.</p>
</section2>
</section1>
<section1 topic='XML Schema' anchor='schema'>
@ -157,8 +166,8 @@
<xs:schema
xmlns:xs='http://www.w3.org/2001/XMLSchema'
targetNamespace='http://www.xmpp.org/extensions/xep-0194.html#ns'
xmlns='http://www.xmpp.org/extensions/xep-0194.html#ns'
targetNamespace='urn:xmpp:chatting:0'
xmlns='urn:xmpp:chatting:0'
elementFormDefault='qualified'>
<xs:element name='room'>