This document defines a registry of application-specific error conditions.
NOTICE: This Procedural document defines a process or activity of the XMPP Standards Foundation (XSF) that has been approved by the XMPP Council and/or the XSF Board of Directors. The XSF is currently following the process or activity defined herein and will do so until this document is deprecated or obsoleted.
Series: XEP
Number: 0182
Publisher: XMPP Standards Foundation
Status:
Active
Type:
Procedural
Version: 1.0
Last Updated: 2006-05-16
Approving Body: XMPP Council
Dependencies: XMPP Core
Supersedes: None
Superseded By: None
Short Name: errors
Registry:
<http://www.xmpp.org/registrar/errors.html>
Wiki Page: <http://wiki.jabber.org/index.php/Application-Specific Error Conditions (XEP-0182)>
JabberID:
stpeter@jabber.org
URI:
https://stpeter.im/
The preferred venue for discussion of this document is the Standards discussion list: <http://mail.jabber.org/mailman/listinfo/standards>.
Errata may be sent to <editor@xmpp.org>.
1. Introduction
2. XMPP Registrar Considerations
2.1. Application-Specific Error Conditions Registry
2.1.1. Registration Process
2.2. Protocol Namespaces
3. Security Considerations
4. IANA Considerations
Notes
Revision History
XMPP Core [1] specifies that an XMPP error stanza may include a child element qualified by an XML namespace other than 'urn:ietf:params:xml:ns:xmpp-stanzas'. This enables any XMPP protocol extension to define its own application-specific error conditions, such as the following:
<iq type='error' from='pubsub.shakespeare.lit' to='francisco@denmark.lit/barracks' id='sub1'> <pubsub xmlns='http://jabber.org/protocol/pubsub'> <subscribe node='blogs/princely_musings' jid='bernardo@denmark.lit'/> </pubsub> <error type='modify'> <bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/> <invalid-jid xmlns='http://jabber.org/protocol/pubsub#errors'/> </error> </iq>
Although the inclusion of application-specific error conditions introduces a great deal of flexibility, it may also lead to confusion regarding possible conditions. Therefore, this document defines a registry of application-specific error conditions, to be maintained by the XMPP Registrar [2]. In addition, this document registers a namespace of 'http://jabber.org/protocol/errors' as a fallback namespace for generalized error conditions that are not specific to a particular protocol (e.g., <stanza-too-big/> as a particular form of the <not-acceptable/> condition).
The XMPP Registrar maintains a registry of application-specific error conditions (see <http://www.xmpp.org/registrar/errors.html>).
All application-specific error conditions that are defined in XMPP Extension Protocol specifications MUST be included in this registry. Application-specific error conditions that are defined outside of the XMPP Standards Foundation's standards process (see XMPP Extension Protocols [3]) MAY be included in this registry, but it is not required for them to be so registered.
In order to submit new values to this registry, the registrant must define an XML fragment of the following form and either include it in the relevant XMPP Extension Protocol or send it to the email address <registrar@xmpp.org>:
<condition> <ns>the XML namespace that qualifies the condition</ns> <element>the XML element of the error condition</element> <desc>a natural-language description of the error condition</desc> <doc>the document in which the condition is specified</doc> </condition>
The registrant may register more than one condition at a time, each contained in a separate <condition/> element.
The XMPP Registrar [4] shall include 'http://jabber.org/protocol/errors' in its registry of protocol namespaces.
This document introduces no known security vulnerabilities.
This document requires no interaction with the Internet Assigned Numbers Authority (IANA) [5].
1. RFC 3920: Extensible Messaging and Presence Protocol (XMPP): Core <http://tools.ietf.org/html/rfc3920>.
2. The 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 <http://www.xmpp.org/registrar/>.
3. XEP-0001: XMPP Extension Protocols <http://www.xmpp.org/extensions/xep-0001.html>.
4. The 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 <http://www.xmpp.org/registrar/>.
5. 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/>.
Per a vote of the Jabber Council, advanced status to Active; also added example.
(psa)Added note about scope of registry.
(psa)Initial version.
(psa)First draft.
(psa)END