RFC 4854
A Uniform Resource Name (URN) Namespace for Extensions to the Extensible Messaging and Presence Protocol (XMPP)
RFC 4854 π A Uniform Resource Name (URN) Namespace for Extensions to the Extensible Messaging and Presence Protocol (XMPP)
Part 1 of 2 β¨
Okay bestie, here's the vibe check on this one π«Ά
- Number and title: RFC 4854, "A Uniform Resource Name (URN) Namespace for Extensions to the Extensible Messaging and Presence Protocol (XMPP)"
- Author: P. Saint-Andre, from the XMPP Standards Foundation (XSF)
- Series: Network Working Group
- Category: Informational π
- Date: April 2007
- Obsoletes: nothing listed
- Updates: nothing listed
Status of This Memo πΈ
This memo gives information to the Internet community. It doesn't set any kind of Internet standard, and it's totally fine to share it everywhere, because distribution is unlimited π¦
Copyright Notice π
Copyright (C) The IETF Trust (2007).
Abstract π§
This doc describes a Uniform Resource Name (URN) namespace so you can uniquely identify Extensible Markup Language (XML) formats and protocols. These are the ones that extend the Extensible Messaging and Presence Protocol (XMPP), and they're defined in specs published by the XMPP Standards Foundation (XSF). Basically, it's a unique ID system for XMPP extensions π₯
Table of Contents π
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Specification Template . . . . . . . . . . . . . . . . . . . . 3
3. Namespace Considerations . . . . . . . . . . . . . . . . . . . 6
4. Community Considerations . . . . . . . . . . . . . . . . . . . 6
5. Security Considerations . . . . . . . . . . . . . . . . . . . . 7
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.1. Normative References . . . . . . . . . . . . . . . . . . . 8
7.2. Informative References . . . . . . . . . . . . . . . . . . 8
1. Introduction π
Okay so XMPP, which is defined in [XMPP-CORE] and [XMPP-IM], already does basic messaging and presence stuff. But XMPP is at its core a way to stream Extensible Markup Language [XML] data. That means you can stuff basically any structured info into it, as long as it's tagged with the right XML namespaces [XML-NAMES]. When that structured data travels over XMPP, people call it "XMPP extensions" π
There are a LOT of these extensions. The main standards body where they get defined is the XMPP Standards Foundation (XSF), which used to be the Jabber Software Foundation. The XSF also brought XMPP into the Internet Standards process π Most of the extensions live in the XSF's XMPP Extension Protocol (XEP) series. So far, the XML namespaces from the Jabber/XMPP community have used names like jabber:* (which got deprecated back in early 2002) and http://jabber.org/protocol/*. The second kind doesn't include the urn:ietf:params:xml:ns:xmpp-* names that are specified in the XMPP RFCs.
Here's the problem, though. We want names for future XMPP extensions to be unique and to last, and names that are also HTTP URLs don't always promise that. So, following the process in [MECHANISMS], this doc registers a formal namespace identifier (NID) for Uniform Resource Names [URN]. It covers XMPP extensions published in the XSF's XEP series, plus XML namespaces registered with the XSF's XMPP Registrar function [REGISTRAR] β¨
2. Specification Template π
This is the registration form for the new namespace, filled out with all the details.
Namespace ID
The Namespace ID xmpp is requested π¦
Registration Information
Version 1
Date: 2007-04-27
Declared Registrant of the Namespace
The registering organization is the XMPP Standards Foundation, at P.O. Box 1641, Denver, CO 80201 USA.
The designated contact is the XMPP Registrar, reachable at registrar@xmpp.org.
Declaration of Syntactic Structure
Every URN that uses the xmpp NID has a Namespace Specific String (NSS) that looks like this, and it has to follow this shape:
urn:xmpp:{ShortName}:{SubName}
Here's what each piece means:
- ShortName: This one is required. It's a US-ASCII string that follows the URN syntax rules in RFC 2141, and it names a specific protocol or format used as an XMPP extension.
- SubName: This one is optional. It's also a US-ASCII string that follows the URN syntax rules in RFC 2141, and it names a particular subset of that protocol or format.
The XSF's XMPP Registrar function is in charge of assigning both the ShortName and SubName strings, and it keeps a registry of the resulting namespaces at <http://www.xmpp.org/registrar/namespaces.html>. The XMPP Registrar may also assign URNs in sub-trees below the ShortName or SubName level when various XMPP extensions need them π
Relevant Ancillary Documentation
You can find info about the XSF's XMPP Registrar function at <http://www.xmpp.org/extensions/xep-0053.html> and <http://www.xmpp.org/registrar/> πΈ
Identifier Uniqueness Considerations
The XMPP Registrar already manages XML namespace names in the form http://jabber.org/protocol/{ShortName} and http://jabber.org/protocol/{ShortName}#{SubName}. Examples are http://jabber.org/protocol/pubsub and http://jabber.org/protocol/disco#info. To assign names in the xmpp NID, the XMPP Registrar just changes the syntax of the names it already assigns. http://jabber.org/protocol/{ShortName} becomes urn:xmpp:{ShortName}, and http://jabber.org/protocol/{ShortName}#{SubName} becomes urn:xmpp:{ShortName}:{SubName} π₯
The XMPP Registrar has to make sure every XMPP URN is unique. It does that by checking each name against the list of existing namespace names, which is documented in XEP-0053 (the controlling spec for the Registrar function). In every case, the Registrar has to make sure the assigned strings are unique itself, and it shall not hand off responsibility for managing any sub-trees to anyone else. It may still assign URNs in sub-trees below the ShortName or SubName level when various XMPP extensions need them. Once a URN is assigned, it shall not be re-assigned π§
Identifier Persistence Considerations
The XMPP Registrar has to clearly document every registered use of the xmpp NID. That documentation lives in XMPP Extension Protocol (XEP) specs published at <http://www.xmpp.org/extensions/>, and in a registry of the namespace names at <http://www.xmpp.org/registrar/namespaces.html> π
Process of Identifier Assignment
The Registrar's processes and procedures for assigning identifiers are written up in XEP-0053, which is the controlling spec for the Registrar function. Identifiers only get issued after the relevant protocol spec has moved up to Draft status in the standards process, and that happens under the XMPP Standards Foundation (as XEP-0001 describes). The XMPP Registrar also checks every identifier against the existing namespace names. That keeps them unique, and it helps them be relevant and easy to remember. Assigning URNs within the xmpp tree is reserved for the XMPP Standards Foundation, and specifically for its XMPP Registrar function π
Process for Identifier Resolution
The namespace isn't listed with a Resolution Discovery System (RDS) right now. But nothing about the namespace stops anyone from defining resolution methods or listing it with an RDS later π¦
Rules for Lexical Equivalence
Nothing special here. The rules for lexical equivalence in RFC 2141 apply β¨
Conformance with URN Syntax
Nothing special here either π
Validation Mechanism
None specified π
Scope
Global π
Part 1 ends here. Part 2 covers Sections 3 through 7 and the References. π«Ά
7.2. Informative References β¨
okay bestie, this is the optional reading list π these aren't required to implement the thing, but they're the background docs. XEP stuff, the XML specs, and the XMPP core and IM RFCs. π€
- [REGISTRAR] Saint-Andre, P., "XMPP Registrar Function", XSF XEP 0053, December 2006.
- [XEP] Saint-Andre, P., "XMPP Extension Protocols", XSF XEP 0001, December 2006.
- [XML] Bray, T., Paoli, J., Sperberg-McQueen, C., and E. Maler, "Extensible Markup Language (XML) 1.0 (2nd ed)", W3C REC-xml, October 2000,
<http://www.w3.org/TR/REC-xml>. - [XML-NAMES] Bray, T., Hollander, D., and A. Layman, "Namespaces in XML", W3C REC-xml-names, January 1999,
<http://www.w3.org/TR/REC-xml-names>. - [XMPP-CORE] Saint-Andre, P., "Extensible Messaging and Presence Protocol (XMPP): Core", RFC 3920, October 2004.
- [XMPP-IM] Saint-Andre, P., "Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence", RFC 3921, October 2004.
Author's Address π
Meet the author, Peter Saint-Andre, with the XMPP Standards Foundation. π¦
Peter Saint-Andre
XMPP Standards Foundation
P.O. Box 1641
Denver, CO 80201
USA
EMail: stpeter@jabber.org
URI: xmpp:stpeter@jabber.org
Full Copyright Statement π
the legal bit, kept complete and exact π«Ά
Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property πΈ
the IPR stuff, also complete. the IETF doesn't take a position on whether any patents or rights apply here, and you can find the procedures in BCP 78 and BCP 79.
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgement π§
Funding for the RFC Editor function is currently provided by the Internet Society. π thank you to them for keeping the RFC library running! π
π¦ where this page comes from
- ietf: rfc4854 2007-04
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms