Because the XMPP Standards Foundation (XSF) [1] publishes a relatively large number of protocol specifications (see XMPP Extension Protocols (XEP-0001) [2]), it is important to keep track of the namespaces defined by those specifications as well as the parameters used in the context of the relevant protocols. (Examples of such parameters include the features and options used in Feature Negotiation (XEP-0020) [3] and the identities and features used in Service Discovery (XEP-0030) [4].) In particular, the common use of protocols published by the XSF requires that namespaces and particular parameter values be assigned uniquely. It is the role of the XMPP Registrar to make those unique assignments and to maintain registries of the currently assigned values. The XMPP Registrar shall also function as a single point of contact between the XMPP Standards Foundation and the Internet Assigned Numbers Authority (IANA) [5].
Until there is a perceived need for a more formal governing body, the functions of the XMPP Registrar shall be managed by the XMPP Extensions Editor [6]. In the future, the XMPP Council [7] and/or the XSF Board of Directors [8] may decide to create a more formal panel to oversee the functions of the XMPP Registrar; if they do, this document shall be updated to reflect the change.
Every XMPP Extension Protocol specification (XEP) must contain a section devoted to "XMPP Registrar Considerations", detailing the namespaces and parameters to be registered with the XMPP Registrar, as well as any new registries to be created as a result of the XEP.
Registry entries have a status of 'Provisional', 'Permanent', or 'Historical' (as with certain IANA registries, such as the URI schemes registry governed by RFC 7595 [9]). Entries of an experimental XEP are added by the XMPP Registar to the registry in the 'Provisional' Status. The registry additions or creations specified in a XEP shall not transition to 'Permanent' status until the document advances to a status of Draft (Standards-Track XEPs) or Active (Informational and Historical XEPs). When an XEP transitions to a status of 'Deprecated' or 'Obsolete' the editor will transition its registry entries to a status of 'Historical'. Registration of namespaces shall be handled as described in the Namespace Issuance section of this document. Registration of particular parameters used within a specification shall be initiated by the XMPP Extensions Editor if specified in the XEP, and may also be initiated by implementors of the XEP after it has advanced to Active, Draft, or Final. Creation of new registries shall be initiated by the XMPP Registrar; if a document specifies the creation of a new registry, the author is strongly encouraged to consult with the XMPP Registrar before seeking a Last Call on the XEP.
Requests for parameter assignments must be sent to the XMPP Registrar in accordance with the process specified in the document (usually a XEP) that defines the relevant registry, normally by sending an appropriately formatted email message to the URI <mailto:registrar@xmpp.org>. If, in the Registrar's judgment, discussion of a request is required, the Registrar shall initiate such discussion within the Standards SIG [10]. The Registrar shall add registry items at its discretion based on discussion within the Standards SIG if necessary, but shall not unduly restrict registration of parameter values. If a document author or implementor thinks that a request was unfairly denied by the Registrar, an appeal of the decision may be directed to the XMPP Council.
The XMPP Registrar shall maintain registries of assigned namespaces and parameters at <http://www.xmpp.org/registrar/> and shall update those registries in a timely fashion. Changes to the registries shall be announced on the <standards@xmpp.org> mailing list.
The XMPP Registrar shall be responsible for issuing namespaces to be used in XMPP Extension Protocols (XEPs) developed through the XMPP Standards Foundation's standards process as specified in XEP-0001. The policies and procedures for namespace issuance shall be as follows:
When a XEP is first published in the Experimental state, the XMPP Registrar shall work with the author(s) to mint an appropriate namespace name, which shall be of the form "urn:xmpp:ShortName:0" or, where appropriate, "urn:xmpp:ShortName:SubName:0". The newly minted name shall be added by the XMPP Registrar as 'Provisional' to the registry. The following considerations apply:
While the XEP is in the Experimental state, if appropriate and in consultation with the author(s), the XMPP Registrar shall update the namespace version number at the end of namespace (e.g., from "0" to "1"); the XMPP Registrar shall do so only if the protocol defined in the XEP has been modified in a way that is not backwards-compatible with an earlier version of the protocol.
When the XMPP Council votes to advance the XEP to a status of Draft, the XMPP Registrar shall update the namespace registry in accordance with the procedures specified in the Registry Creation and Maintenance section of this document.
Any namespaces defined after advancement of the relevant XEP to a status of Draft shall be handled in the same manner.
While the XEP is in the Draft or Final state, if appropriate and in consultation with the author(s) and the XMPP Council, the XMPP Registrar shall update the namespace version number at the end of namespace (e.g., from "1" to "2"); the XMPP Registrar shall do so only if the protocol defined in the XEP has been modified in a way that is not backwards-compatible with an earlier version of the protocol, or if significant new features have been added to the protocol. The XMPP Council must approve any change to the namespace version while the XEP is in the Draft or Final state.
The XMPP Registrar shall not issue XMPP URNs except as specified above (e.g., it shall not issue XMPP URNs to private parties or in relation to specifications that are not published in the XEP series). However, the XMPP Registrar may at its discretion add namespace names other than XMPP URNs to its namespace registry, e.g. to register "legacy" namespace names (of the form "jabber:iq:ShortName", "jabber:x:ShortName", and "http://jabber.org/protocol/ShortName" as well as namespace names produced by recognized standards development organizations (such as names issued in the IETF URN tree).
Security considerations are primarily the responsibility of the protocols in which specific parameters are used. The XMPP Registrar shall respect the security considerations defined in XMPP Extension Protocol specifications, and shall endeavor to ensure that registered parameter values do not compromise privacy or security in any way.
The XMPP Registrar shall be responsible for interacting with the IANA on behalf of the XMPP Standards Foundation. If an XMPP Extension Protocol specification requires interaction with the IANA, that fact shall be noted by the document author(s) and discussed on the Standards mailing list along with normal discussion of the XEP. The XMPP Registrar shall collaborate with the author(s) to submit an appropriate request to the IANA.
This entire document defines the processes and procedures of the XMPP Registrar.
This document in other formats: XML PDF
This XMPP Extension Protocol is copyright © 1999 – 2020 by the XMPP Standards Foundation (XSF).
Permission is hereby granted, free of charge, to any person obtaining a copy of this specification (the "Specification"), to make use of the Specification without restriction, including without limitation the rights to implement the Specification in a software program, deploy the Specification in a network service, and copy, modify, merge, publish, translate, distribute, sublicense, or sell copies of the Specification, and to permit persons to whom the Specification is furnished to do so, subject to the condition that the foregoing copyright notice and this permission notice shall be included in all copies or substantial portions of the Specification. Unless separate permission is granted, modified works that are redistributed shall not contain misleading information regarding the authors, title, number, or publisher of the Specification, and shall not claim endorsement of the modified works by the authors, any organization or project to which the authors belong, or the XMPP Standards Foundation.
## NOTE WELL: This Specification is provided on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. ##
In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall the XMPP Standards Foundation or any author of this Specification be liable for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising from, out of, or in connection with the Specification or the implementation, deployment, or other use of the Specification (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if the XMPP Standards Foundation or such author has been advised of the possibility of such damages.
This XMPP Extension Protocol has been contributed in full conformance with the XSF's Intellectual Property Rights Policy (a copy of which can be found at <https://xmpp.org/about/xsf/ipr-policy> or obtained by writing to XMPP Standards Foundation, P.O. Box 787, Parker, CO 80134 USA).
The HTML representation (you are looking at) is maintained by the XSF. It is based on the YAML CSS Framework, which is licensed under the terms of the CC-BY-SA 2.0 license.
The Extensible Messaging and Presence Protocol (XMPP) is defined in the XMPP Core (RFC 6120) and XMPP IM (RFC 6121) specifications contributed by the XMPP Standards Foundation to the Internet Standards Process, which is managed by the Internet Engineering Task Force in accordance with RFC 2026. Any protocol defined in this document has been developed outside the Internet Standards Process and is to be understood as an extension to XMPP rather than as an evolution, development, or modification of XMPP itself.
The primary venue for discussion of XMPP Extension Protocols is the <standards@xmpp.org> discussion list.
Discussion by the membership of the XSF might also be appropriate (see <http://mail.jabber.org/mailman/listinfo/members> for details).
Errata can be sent to <editor@xmpp.org>.
The following requirements keywords as used in this document are to be interpreted as described in RFC 2119: "MUST", "SHALL", "REQUIRED"; "MUST NOT", "SHALL NOT"; "SHOULD", "RECOMMENDED"; "SHOULD NOT", "NOT RECOMMENDED"; "MAY", "OPTIONAL".
1. The XMPP Standards Foundation (XSF) is an independent, non-profit membership organization that develops open extensions to the IETF's Extensible Messaging and Presence Protocol (XMPP). For further information, see <https://xmpp.org/about/xmpp-standards-foundation>.
2. XEP-0001: XMPP Extension Protocols <https://xmpp.org/extensions/xep-0001.html>.
3. XEP-0020: Feature Negotiation <https://xmpp.org/extensions/xep-0020.html>.
4. XEP-0030: Service Discovery <https://xmpp.org/extensions/xep-0030.html>.
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/>.
6. The XMPP Extensions Editor is the individual appointed by the XSF Board of Directors to handle protocol submissions and provide day-to-day management of the XSF's standards process. For further information, see <https://xmpp.org/about/xsf/editor-team>.
7. The XMPP Council is a technical steering committee, authorized by the XSF Board of Directors and elected by XSF members, that approves of new XMPP Extensions Protocols and oversees the XSF's standards process. For further information, see <https://xmpp.org/about/xmpp-standards-foundation#council>.
8. The XSF Board of Directors is an elected body that possesses overall responsibility for the affairs of the XMPP Standards Foundation. For further information, see <https://xmpp.org/about/xmpp-standards-foundation#board>.
9. RFC 7595: Guidelines and Registration Procedures for URI Schemes <http://tools.ietf.org/html/rfc7595>.
10. The Standards SIG is a standing Special Interest Group devoted to development of XMPP Extension Protocols. The discussion list of the Standards SIG is the primary venue for discussion of XMPP protocol extensions, as well as for announcements by the XMPP Extensions Editor and XMPP Registrar. To subscribe to the list or view the list archives, visit <https://mail.jabber.org/mailman/listinfo/standards/>.
11. RFC 4854: A Uniform Resource Name (URN) Namespace for Extensions to the Extensible Messaging and Presence Protocol (XMPP) <http://tools.ietf.org/html/rfc4854>.
Note: Older versions of this specification might be available at http://xmpp.org/extensions/attic/
Modify registration status names to be consistent with IANA terminology (Provisional, Permanent, Historical).
Introduce 'Deprecated' registration status.
Introduce 'Proposed' registration status.
Adjusted namespace issuance process to employ namespace versioning.
Specified process for namespace issuance (i.e., XMPP URNs).
As approved by the members of the XMPP Standards Foundation, changed Jabber Registrar to XMPP Registrar.
END