Modified format to make it more backward compatible; incremented protocol namespace.
0.12011-08-26psa
Initial published version.
0.0.12011-08-12psa
Rough draft.
Traditionally, Multi-User Chat (XEP-0045)XEP-0045: Multi-User Chat <https://xmpp.org/extensions/xep-0045.html>. has used numerical status codes similar to those used in HTTP and SMTP. Numerical codes were deprecated in the core of XMPP by RFC 3920RFC 3920: Extensible Messaging and Presence Protocol (XMPP): Core <http://tools.ietf.org/html/rfc3920>. and are no longer even defined in the core schemas provided in RFC 6120RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core <http://tools.ietf.org/html/rfc6120>. (see also Error Condition Mappings (XEP-0086)XEP-0086: Error Condition Mappings <https://xmpp.org/extensions/xep-0086.html>.). In an effort to modernize the Multi-User Chat (MUC) protocol, this document defines an extensible format for status conditions in MUC.
XML elements describing status conditions defined by this specification SHALL be qualified by the 'urn:xmpp:muc:conditions:1' namespace.
The structure is as follows:
[OPTIONAL descriptive text]
[OPTIONAL application-specific condition element]
[]
[OPTIONAL application-specific condition element or elements]
]]>
That is, any <status/> element qualified by the existing http://jabber.org/protocol/muc#user' namespace (from XEP-0045) MAY contain one or more condition elements defined in this document (each of which MAY contain a human-readable <text/> element and MAY contain an application-specific condition element) and MAY contain one or more application-specific condition elements.
An example follows.
]]>
The following table maps the existing numerical status codes (registered with the XMPP RegistrarThe XMPP Registrar maintains a list of reserved protocol namespaces as well as registries of parameters used in the context of XMPP extension protocols approved by the XMPP Standards Foundation. For further information, see <https://xmpp.org/registrar/>. at <https://xmpp.org/registrar/mucstatus.html>) to XML elements.
Code
Element
100
<realjid-public/>
101
<affiliation-changed/>
102
<unavailable-shown/>
103
<unavailable-not-shown/>
104
<configuration-changed/>
110
<self-presence/>
170
<logging-enabled/>
171
<logging-disabled/>
172
<non-anonymous/>
173
<semi-anonymous/>
174
<fully-anonymous/>
201
<room-created/>
210
<nick-assigned/>
301
<banned/>
303
<new-nick/>
307
<kicked/>
321
<removed-affiliation/>
322
<removed-membership/>
332
<removed-shutdown/>
The security considerations of XEP-0045 apply.
This document requires no interaction with the Internet Assigned Numbers Authority (IANA)The Internet Assigned Numbers Authority (IANA) is the central coordinator for the assignment of unique parameter values for Internet protocols, such as port numbers and URI schemes. For further information, see <http://www.iana.org/>..
This specification defines the following XML namespace:
urn:xmpp:muc:conditions:1
Upon advancement of this specification from a status of Experimental to a status of Draft, the XMPP RegistrarThe XMPP Registrar maintains a list of reserved protocol namespaces as well as registries of parameters used in the context of XMPP extension protocols approved by the XMPP Standards Foundation. For further information, see <https://xmpp.org/registrar/>. shall add the foregoing namespace to the registry located at <https://xmpp.org/registrar/namespaces.html>, as described in Section 4 of XMPP Registrar Function (XEP-0053)XEP-0053: XMPP Registrar Function <https://xmpp.org/extensions/xep-0053.html>..
If the protocol defined in this specification undergoes a revision that is not fully backwards-compatible with an older version, 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 XEP-0053.
The XMPP Registrar is requested to add the elements defined in this specification to the existing registry for MUC status codes at <https://xmpp.org/registrar/mucstatus.html>.
]]>
Thanks to Dave Cridland and Ralph Meijer for their feedback.