<title>Extensible Status Conditions for Multi-User Chat</title>
<abstract>This document defines an extensible format for status conditions in Multi-User Chat, similar to the error format used in the core of XMPP.</abstract>
<p>Traditionally, &xep0045; has used numerical status codes similar to those used in HTTP and SMTP. Numerical codes were deprecated in the core of XMPP by &rfc3920; and are no longer even defined in the core schemas provided in &rfc6120; (see also &xep0086;). In an effort to modernize the Multi-User Chat (MUC) protocol, this document defines an extensible format for status conditions in MUC.</p>
</section1>
<section1topic='Format'anchor='format'>
<p>XML elements describing status conditions defined by this specification SHALL be qualified by the 'urn:xmpp:muc:conditions:0' namespace.</p>
[OPTIONAL application-specific condition element or elements]
</conditions>
]]></code>
<p>That is, the <conditions/> element 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.</p>
<p>The <conditions/> element is intended to be a direct child of the &X; element qualified by the 'http://jabber.org/protocol/muc#user' as used for status notifications in multi-user chat.</p>
<p>An example follows.</p>
<examplecaption="Service Sends New Occupant's Presence to New Occupant"><![CDATA[
<presence
from='coven@chat.shakespeare.lit/thirdwitch'
id='n13mt3l'
to='hag66@shakespeare.lit/pda'>
<xxmlns='http://jabber.org/protocol/muc#user'>
<itemaffiliation='member'role='participant'/>
<statuscode='100'/>
<statuscode='110'/>
<conditionsxmlns='urn:xmpp:muc:conditions:0'>
<realjid-public/>
<self-presence/>
</conditions>
</x>
</presence>
]]></example>
</section1>
<section1topic='Mapping of Existing Codes'anchor='mapping'>
<p>The following table maps the existing numerical status codes (registered with the ®ISTRAR; at &MUCSTATUS;) to XML elements.</p>
<tablecaption='Error Codes for http://jabber.org/protocol/muc#user Namespace'>
<p>This specification defines the following XML namespace:</p>
<ul>
<li>urn:xmpp:muc:conditions:0</li>
</ul>
<p>Upon advancement of this specification from a status of Experimental to a status of Draft, the ®ISTRAR; shall add the foregoing namespace to the registry located at &NAMESPACES;, as described in Section 4 of &xep0053;.</p>