git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@2931 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
Peter Saint-Andre 2009-03-30 23:59:08 +00:00
parent 8e185f9629
commit e87a810afc
1 changed files with 22 additions and 9 deletions

View File

@ -20,8 +20,14 @@
</dependencies>
<supersedes/>
<supersededby/>
<shortname>NOT_YET_ASSIGNED</shortname>
<shortname>x-conference</shortname>
&stpeter;
<revision>
<version>0.2</version>
<date>2009-03-30</date>
<initials>psa</initials>
<remark><p>Added optional reason attribute for feature parity with XEP-0045.</p></remark>
</revision>
<revision>
<version>0.1</version>
<date>2008-09-03</date>
@ -61,20 +67,22 @@
</header>
<section1 topic='Introduction' anchor='intro'>
<p>&xep0045; defines a protocol for groupchat over XMPP. That specification includes a method for inviting a contact to a room, where the invitation is mediated by the room itself: the user sends the invitation to the room, which in turn sends it to the contact. Unfortunately, a mediated invitation might not be delivered to the contact, for example if the contact blocks communication with entities not in its roster as specified in &xep0016;. As privacy lists have become more common, MUC invitations have been increasingly blocked at the server side, resulting in an undesirable user experience. Therefore, this specification defines a method for sending an invitation directly from the user to the contact, which re-uses the original 'jabber:x:conference' namespace in use before XEP-0045 was written.</p>
<p>&xep0045; defines a protocol for groupchat over XMPP. That specification includes a method for inviting a contact to a room, where the invitation is mediated by the room itself: the user sends the invitation to the room, which in turn sends it to the contact. Unfortunately, a mediated invitation might not be delivered to the contact, for example if the contact blocks communication with entities not in its roster as specified in &xep0016;. As privacy lists have become more common, MUC invitations have been increasingly blocked at the server side, resulting in an undesirable user experience. Therefore, this specification defines a method for sending an invitation directly from the user to the contact, which re-uses the original 'jabber:x:conference' namespace in use before XEP-0045 was written (with the addition of a 'reason' attribute for the sake of feature parity with XEP-0045).</p>
</section1>
<section1 topic='How It Works' anchor='howitworks'>
<p>A user invites a contact to a room by sending a &MESSAGE; stanza containing only an &lt;invitation/&gt; element qualified by the 'jabber:x:conference' namespace &NSNOTE;.</p>
<p>A user invites a contact to a room by sending a &MESSAGE; stanza containing only an &lt;invitation/&gt; element qualified by the 'jabber:x:conference' namespace.</p>
<example caption="A direct invitation"><![CDATA[
<message
from='crone1@shakespeare.lit/desktop'
to='hecate@shakespeare.lit'>
<x xmlns='jabber:x:conference'
jid='darkcave@macbeth.shakespeare.lit'/>
jid='darkcave@macbeth.shakespeare.lit'
reason='Hey Hecate, this is the place for all good witches!'/>
</message>
]]></example>
<p>The 'jid' attribute is REQUIRED.</p>
<p>The 'jid' attribute, which is REQUIRED, specifies the address of the groupchat room.</p>
<p>The 'reason' attribute, which is OPTIONAL, specifies a human-readable purpose for the invitation.</p>
<p>Upon receiving a direct invitation, the contact's client SHOULD present the invitation to the contact so that the contact can accept it or decline it. If the contact accepts the invitation, the contact's client shall join the room as described in <cite>XEP-0045</cite>. If the contact declines the invitation, it shall silently discard the invitation.</p>
</section1>
@ -94,9 +102,7 @@
to='crone1@shakespeare.lit/desktop'
type='result'>
<query xmlns='http://jabber.org/protocol/disco#info'>
...
<feature var='jabber:x:conference'/>
...
</query>
</iq>
]]></example>
@ -109,7 +115,7 @@
</section1>
<section1 topic='Security Considerations' anchor='security'>
<p>To follow.</p>
<p>There are no known security concerns related to this protocol.</p>
</section1>
<section1 topic='IANA Considerations' anchor='iana'>
@ -118,7 +124,7 @@
<section1 topic='XMPP Registrar Considerations' anchor='registrar'>
<section2 topic='Protocol Namespaces' anchor='ns'>
<p>Upon advancement of this specification to a status of Draft, the &REGISTRAR; shall add 'jabber:x:conference' to its registry of protocol namespaces.</p>
<p>Upon advancement of this specification to a status of Draft, the &REGISTRAR; shall add 'jabber:x:conference' to its registry of protocol namespaces at &NAMESPACES;.</p>
</section2>
</section1>
@ -140,6 +146,10 @@
name='jid'
type='xs:string'
use='required'/>
<xs:attribute
name='reason'
type='xs:string'
use='optional'/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
@ -155,4 +165,7 @@
]]></code>
</section1>
<section1 topic='Acknowledgements' anchor='ack'>
<p>Thanks to Joe Hildebrand for his feedback.</p>
</section1>
</xep>