TOC |
|
By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as “work in progress.”
The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html.
This Internet-Draft will expire on June 6, 2008.
This document defines a header field that enables the author of an email or netnews message to include a Jabber Identifier in the message header block for the purpose of associating the author with a particular Extensible Messaging and Presence Protocol (XMPP) address.
1.
Introduction
2.
Syntax
3.
Implementation
3.1.
Inclusion
3.2.
Generation
3.3.
Processing
3.4.
Disposition
4.
IANA Considerations
5.
Security Considerations
6.
References
6.1.
Normative References
6.2.
Informative References
§
Author's Address
§
Intellectual Property and Copyright Statements
TOC |
The Extensible Messaging and Presence Protocol (XMPP), documented in [XMPP‑CORE] (Saint-Andre, P., “Extensible Messaging and Presence Protocol (XMPP): Core,” October 2004.), is a streaming XML technology that enables any two entities on a network to exchange well-defined but extensible XML elements (called "XML stanzas") in close to real time. Given XMPP's heritage in the Jabber open-source community, one of the primary uses for XMPP is instant messaging and presence as documented in [XMPP‑IM] (Saint-Andre, P., “Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence,” October 2004.), and XMPP addresses are still referred to as Jabber Identifiers or Jabber IDs.
Because almost all human users of Jabber/XMPP instant messaging and presence systems also user email systems (see [MESSAGE] (Resnick, P., “Internet Message Format,” April 2001.)) and because many such users also use netnews systems (see [NETNEWS] (Horton, M. and R. Adams, “Standard for interchange of USENET messages,” December 1987.)), it can be helpful for such users to specify their Jabber Identifiers in the messages they author. The Jabber-ID header field provides a standard location for that information. Members of the Jabber instant messaging and presence community have been experimenting with this usage for several years. As a result, this document provides informational documentation regarding the syntax and implementation of the Jabber-ID header field, including the information necessary to register the Jabber-ID field in the Provisional Message Header Field Registry maintained by the IANA.
Naturally it may be beneficial to define a more general header field (or fields) that can be used by non-XMPP instant messaging and presence systems. In all likelihood the result would be one header field encapsulating a URI that conforms to the "im:" scheme (see [CPIM] (Peterson, J., “Common Profile for Instant Messaging (CPIM),” August 2004.)) and a second header field encapsulating a URI that conforms to the "pres:" scheme (see [CPP] (Peterson, J., “Common Profile for Presence (CPP),” August 2004.)). Experience gained with the Jabber-ID header field within the Jabber instant messaging and presence community should provide helpful input to the process of defining those more general header fields.
TOC |
The syntax of the Jabber-ID header field is defined below using Augmented Backus-Naur Form (as specified by [ABNF] (Crocker, D. and P. Overell, “Augmented BNF for Syntax Specifications: ABNF,” October 2005.)), where the "pathxmpp" rule is defined in [XMPP‑URI] (Saint-Andre, P., “Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP),” June 2007.) and the remaining rules are defined in [MESSAGE] (Resnick, P., “Internet Message Format,” April 2001.):
"Jabber-ID:" SP *WSP pathxmpp *WSP CRLF
Note: Although a native XMPP address may contain virtually any [UNICODE] (The Unicode Consortium, “The Unicode Standard, Version 3.2.0,” 2000.) character, the header of an email or netnews message may contain only printable [US‑ASCII] (American National Standards Institute, “Coded Character Set - 7-bit American Standard Code for Information Interchange,” 1986.) characters (see Section 2 of [MESSAGE] (Resnick, P., “Internet Message Format,” April 2001.)). Therefore, any characters outside the US-ASCII range in an XMPP address must be converted to US-ASCII before inclusion in a Jabber-ID header field, in accordance with the rules specified in [XMPP‑URI] (Saint-Andre, P., “Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP),” June 2007.). In addition, characters allowed in XMPP node identifiers and XMPP resource identifiers but disallowed by the relevant URI rules must be percent-encoded in accordance with the rules specified in [URI] (Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” January 2005.); for details, see [XMPP‑URI] (Saint-Andre, P., “Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP),” June 2007.).
TOC |
TOC |
The Jabber-ID header field is associated with the author of the message; see [MESSAGE] (Resnick, P., “Internet Message Format,” April 2001.). If the "From:" header field of an email message contains more than one mailbox, the Jabber-ID header field should not be added to the message. There should be no more than one instance of the Jabber-ID header field.
TOC |
For a user whose XMPP address is "juliet@example.com", the corresponding Jabber-ID header field would be:
Jabber-ID: juliet@example.com
As noted, non-US-ASCII characters in XMPP addresses must be converted into US-ASCII before inclusion in a Jabber-ID header field. Consider the following XMPP address:
jiři@čechy.example
Note: The string "ř" stands for the Unicode character LATIN SMALL LETTER R WITH CARON and the string "č" stands for the Unicode character LATIN SMALL LETTER C WITH CARON, following the "XML Notation" used in [IRI] (Duerst, M. and M. Suignard, “Internationalized Resource Identifiers (IRIs),” January 2005.) to represent characters that cannot be rendered in ASCII-only documents (note also that these characters are represented in their stringprep canonical form; see [STRINGPREP] (Hoffman, P. and M. Blanchet, “Preparation of Internationalized Strings ("stringprep"),” December 2002.)). For those who do not read Czech, this example could be Anglicized as "george@czech-lands.example".
Following the rules in [XMPP‑URI] (Saint-Andre, P., “Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP),” June 2007.) and the Jabber-ID header field syntax, the resulting header field would be:
Jabber-ID: ji%C5%99i@%C4%8Dechy.example
TOC |
Upon receiving an email or netnews message containing a Jabber-ID header field, a user agent that supports the field should process the field by converting any escaped characters to characters outside the US-ASCII range in accordance with the rules specified in [XMPP‑URI] (Saint-Andre, P., “Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP),” June 2007.), thus yielding a Jabber Idenfitier that can be used for native communication on an XMPP network.
TOC |
A user agent that has processed a Jabber-ID header field may provide appropriate interface elements if it has independent information linking the author of the email or netnews message with the specified Jabber Identifier (e.g., via a user-controlled address book or automated directory lookup). Such interface elements might include an indicator of "presence" (i.e., that the author is online and available for communication via XMPP) if the user is subscribed to the presence of the author, and an element that enables the user to initiate a text chat with the author.
TOC |
In accordance with [REG] (Klyne, G., Nottingham, M., and J. Mogul, “Registration Procedures for Message Header Fields,” September 2004.), the IANA registers the "Jabber-ID" header field in the Provisional Message Header Field Registry. The registration template is as follows:
- Header field name:
- Jabber-ID
- Applicable protocol:
- mail, netnews
- Status:
- provisional
- Author/Change controller:
- Peter Saint-Andre <mailto:stpeter@jabber.org>
- Specification document(s):
- draft-saintandre-jabberid-08
- Related information:
- For details regarding the native usage and format of Jabber Identifiers, see Extensible Messaging and Presence Protocol (RFC 3920).
[Note to IANA and RFC Editor: If appropriate, replace I-D name with RFC XXXX, where "XXXX" is the number of the RFC that results from this specification, if any]
TOC |
Message headers are an existing standard and are designed to easily accommodate new types. Although the Jabber-ID header field may be forged, this problem is inherent in Internet email and netnews; however, because a forged Jabber-ID header field may break automated processing, applications should not depend on the Jabber-ID header field to indicate the authenticity of an email or netnews message, or the identity of its author or sender. Including the Jabber-ID header field among the signer header fields in DomainKeys Identified Mail (DKIM) can help to mitigate against forging of the header (see [DKIMSIG] (Allman, E., Callas, J., Delany, M., Libbey, M., Fenton, J., and M. Thomas, “DomainKeys Identified Mail (DKIM) Signatures,” May 2007.)).
Advertising XMPP addresses in email or netnews headers may make it easier for malicious users to harvest XMPP addresses and therefore to send unsolicited bulk communications to the users or applications represented by those addresses. Care should be taken in balancing the benefits of open information exchange against the potential costs of unwanted communication. An email or netnews user agent that is capable of including the Jabber-ID header field in outgoing email or netnews messages should provide an option for its user to disable inclusion of the Jabber-ID header field generally, on a per-recipient basis, and on a per-message basis.
The security considerations discussed in [IRI] (Duerst, M. and M. Suignard, “Internationalized Resource Identifiers (IRIs),” January 2005.), [URI] (Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” January 2005.), [XMPP‑CORE] (Saint-Andre, P., “Extensible Messaging and Presence Protocol (XMPP): Core,” October 2004.), [XMPP‑IM] (Saint-Andre, P., “Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence,” October 2004.), and [XMPP‑URI] (Saint-Andre, P., “Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP),” June 2007.) may also apply to the Jabber-ID message header.
TOC |
TOC |
[ABNF] | Crocker, D. and P. Overell, “Augmented BNF for Syntax Specifications: ABNF,” RFC 4234, October 2005 (TXT). |
[MESSAGE] | Resnick, P., “Internet Message Format,” RFC 2822, April 2001 (TXT). |
[NETNEWS] | Horton, M. and R. Adams, “Standard for interchange of USENET messages,” RFC 1036, December 1987 (TXT). |
[XMPP-URI] | Saint-Andre, P., “Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP),” draft-saintandre-rfc4622bis-01 (work in progress), June 2007 (TXT). |
TOC |
[CPIM] | Peterson, J., “Common Profile for Instant Messaging (CPIM),” RFC 3860, August 2004 (TXT). |
[CPP] | Peterson, J., “Common Profile for Presence (CPP),” RFC 3859, August 2004 (TXT). |
[DKIMSIG] | Allman, E., Callas, J., Delany, M., Libbey, M., Fenton, J., and M. Thomas, “DomainKeys Identified Mail (DKIM) Signatures,” RFC 4871, May 2007 (TXT). |
[IRI] | Duerst, M. and M. Suignard, “Internationalized Resource Identifiers (IRIs),” RFC 3987, January 2005 (TXT). |
[REG] | Klyne, G., Nottingham, M., and J. Mogul, “Registration Procedures for Message Header Fields,” BCP 90, RFC 3864, September 2004 (TXT). |
[STRINGPREP] | Hoffman, P. and M. Blanchet, “Preparation of Internationalized Strings ("stringprep"),” RFC 3454, December 2002 (TXT). |
[UNICODE] | The Unicode Consortium, “The Unicode Standard, Version 3.2.0,” 2000. The Unicode Standard, Version 3.2.0 is defined by The Unicode Standard, Version 3.0 (Reading, MA, Addison-Wesley, 2000. ISBN 0-201-61633-5), as amended by the Unicode Standard Annex #27: Unicode 3.1 (http://www.unicode.org/reports/tr27/) and by the Unicode Standard Annex #28: Unicode 3.2 (http://www.unicode.org/reports/tr28/). |
[URI] | Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” STD 66, RFC 3986, January 2005 (TXT). |
[US-ASCII] | American National Standards Institute, “Coded Character Set - 7-bit American Standard Code for Information Interchange,” ANSI X3.4, 1986. |
[XMPP-CORE] | Saint-Andre, P., “Extensible Messaging and Presence Protocol (XMPP): Core,” RFC 3920, October 2004 (TXT). |
[XMPP-IM] | Saint-Andre, P., “Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence,” RFC 3921, October 2004 (TXT). |
TOC |
Peter Saint-Andre | |
XMPP Standards Foundation | |
Email: | stpeter@jabber.org |
URI: | https://stpeter.im/ |
TOC |
Copyright © 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.
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.