[Docs] [txt|pdf|xml|html] [Tracker] [Email] [Diff1] [Diff2] [Nits]

Versions: 00 01 02 03 04 05 06 07 08 09 10 11 12 13 RFC 7259

Network Working Group                                     P. Saint-Andre
Internet-Draft                                 XMPP Standards Foundation
Intended status: Informational                          December 4, 2007
Expires: June 6, 2008

                       The Jabber-ID Header Field

Status of this Memo

   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-

   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

   The list of Internet-Draft Shadow Directories can be accessed at

   This Internet-Draft will expire on June 6, 2008.

Copyright Notice

   Copyright (C) The IETF Trust (2007).


   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.

Saint-Andre               Expires June 6, 2008                  [Page 1]

Internet-Draft                  Jabber-ID                  December 2007

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Syntax  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
   3.  Implementation  . . . . . . . . . . . . . . . . . . . . . . . . 4
     3.1.  Inclusion . . . . . . . . . . . . . . . . . . . . . . . . . 4
     3.2.  Generation  . . . . . . . . . . . . . . . . . . . . . . . . 4
     3.3.  Processing  . . . . . . . . . . . . . . . . . . . . . . . . 5
     3.4.  Disposition . . . . . . . . . . . . . . . . . . . . . . . . 5
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5
   5.  Security Considerations . . . . . . . . . . . . . . . . . . . . 5
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 6
     6.1.  Normative References  . . . . . . . . . . . . . . . . . . . 6
     6.2.  Informative References  . . . . . . . . . . . . . . . . . . 6
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . . 8
   Intellectual Property and Copyright Statements  . . . . . . . . . . 9

Saint-Andre               Expires June 6, 2008                  [Page 2]

Internet-Draft                  Jabber-ID                  December 2007

1.  Introduction

   The Extensible Messaging and Presence Protocol (XMPP), documented in
   [XMPP-CORE], 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], 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]) and because
   many such users also use netnews systems (see [NETNEWS]), 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]) and a second header field encapsulating a URI that conforms
   to the "pres:" scheme (see [CPP]).  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.

2.  Syntax

   The syntax of the Jabber-ID header field is defined below using
   Augmented Backus-Naur Form (as specified by [ABNF]), where the
   "pathxmpp" rule is defined in [XMPP-URI] and the remaining rules are
   defined in [MESSAGE]:

   "Jabber-ID:" SP *WSP pathxmpp *WSP CRLF

   Note: Although a native XMPP address may contain virtually any
   [UNICODE] character, the header of an email or netnews message may
   contain only printable [US-ASCII] characters (see Section 2 of
   [MESSAGE]).  Therefore, any characters outside the US-ASCII range in

Saint-Andre               Expires June 6, 2008                  [Page 3]

Internet-Draft                  Jabber-ID                  December 2007

   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].  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]; for details, see [XMPP-URI].

3.  Implementation

3.1.  Inclusion

   The Jabber-ID header field is associated with the author of the
   message; see [MESSAGE].  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.

3.2.  Generation

   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:


   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] 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]).
   For those who do not read Czech, this example could be Anglicized as

   Following the rules in [XMPP-URI] and the Jabber-ID header field
   syntax, the resulting header field would be:


Saint-Andre               Expires June 6, 2008                  [Page 4]

Internet-Draft                  Jabber-ID                  December 2007

3.3.  Processing

   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],
   thus yielding a Jabber Idenfitier that can be used for native
   communication on an XMPP network.

3.4.  Disposition

   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.

4.  IANA Considerations

   In accordance with [REG], 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
   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]

5.  Security Considerations

   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;

Saint-Andre               Expires June 6, 2008                  [Page 5]

Internet-Draft                  Jabber-ID                  December 2007

   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

   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], [URI], [XMPP-CORE],
   [XMPP-IM], and [XMPP-URI] may also apply to the Jabber-ID message

6.  References

6.1.  Normative References

   [ABNF]     Crocker, D. and P. Overell, "Augmented BNF for Syntax
              Specifications: ABNF", RFC 4234, October 2005.

   [MESSAGE]  Resnick, P., "Internet Message Format", RFC 2822,
              April 2001.

   [NETNEWS]  Horton, M. and R. Adams, "Standard for interchange of
              USENET messages", RFC 1036, December 1987.

              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.

6.2.  Informative References

   [CPIM]     Peterson, J., "Common Profile for Instant Messaging
              (CPIM)", RFC 3860, August 2004.

Saint-Andre               Expires June 6, 2008                  [Page 6]

Internet-Draft                  Jabber-ID                  December 2007

   [CPP]      Peterson, J., "Common Profile for Presence (CPP)",
              RFC 3859, August 2004.

   [DKIMSIG]  Allman, E., Callas, J., Delany, M., Libbey, M., Fenton,
              J., and M. Thomas, "DomainKeys Identified Mail (DKIM)
              Signatures", RFC 4871, May 2007.

   [IRI]      Duerst, M. and M. Suignard, "Internationalized Resource
              Identifiers (IRIs)", RFC 3987, January 2005.

   [REG]      Klyne, G., Nottingham, M., and J. Mogul, "Registration
              Procedures for Message Header Fields", BCP 90, RFC 3864,
              September 2004.

              Hoffman, P. and M. Blanchet, "Preparation of
              Internationalized Strings ("stringprep")", RFC 3454,
              December 2002.

   [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

   [URI]      Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
              Resource Identifier (URI): Generic Syntax", STD 66,
              RFC 3986, January 2005.

              American National Standards Institute, "Coded Character
              Set - 7-bit American Standard Code for Information
              Interchange", ANSI X3.4, 1986.

              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.

Saint-Andre               Expires June 6, 2008                  [Page 7]

Internet-Draft                  Jabber-ID                  December 2007

Author's Address

   Peter Saint-Andre
   XMPP Standards Foundation

   Email: stpeter@jabber.org
   URI:   https://stpeter.im/

Saint-Andre               Expires June 6, 2008                  [Page 8]

Internet-Draft                  Jabber-ID                  December 2007

Full Copyright Statement

   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

Intellectual Property

   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

   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


   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).

Saint-Andre               Expires June 6, 2008                  [Page 9]

Html markup produced by rfcmarkup 1.129c, available from https://tools.ietf.org/tools/rfcmarkup/