The Internet Engineering Steering Group (IESG) has approved the Extensible Messaging and Presence Protocol (XMPP): Core specification as an IETF Proposed Standard. XMPP Core is a "protocol for streaming XML elements in order to exchange structured information in close to real time between any two network endpoints. While XMPP provides a generalized, extensible framework for exchanging XML data, it is used mainly for the purpose of building instant messaging and presence applications that meet the requirements of RFC 2779." The XMPP Core specification "includes guidelines to ensure that extensions are possible without conflicts or breaking core interoperability. Lack of conflicts is ensured with use of XML namespaces. Interoperability is ensured with careful layering of stanzas of known types, on top of the base stream."
The Extensible Messaging and Presence Protocol (XMPP) working group is one of three IETF working groups chartered to develop architectural, protocol, and data format specifications supporting internet-scale end-user presence awareness, notification, and instant messaging systems.
The Jabber Software Foundation (JSF) "has been working with the IETF for just over a year to add security and internationalization features to the core Jabber protocols, which the JSF has contributed to the IETF under the name XMPP. XMPP now joins other IETF-approved protocols such as HTTP (the World Wide Web) and SMTP (email), thus positioning it as an Internet standard for instant messaging (IM) and presence. In addition, the Jabber community continues to develop specialized application protocols on top of XMPP."
Extensible Messaging and Presence Protocol (XMPP): Core. IETF XMPP Working Group, Internet Draft. Edited by Peter Saint-Andre (Jabber Software Foundation). Reference: 'draft-ietf-xmpp-core-22'. January 20, 2004, expires July 20, 2004. 96 pages.
Abstract: "This memo defines the core features of the Extensible Messaging and Presence Protocol (XMPP), a protocol for streaming Extensible Markup Language (XML) elements in order to exchange structured information in close to real time between any two network endpoints. While XMPP provides a generalized, extensible framework for exchanging XML data, it is used mainly for the purpose of building instant messaging and presence applications that meet the requirements of RFC 2779."
From the IESG Announcement
The Extensible Messaging and Presence Protocol (XMPP) is a general purpose protocol not necessarily limited to instant messaging and presence. XMPP is revision of the communication portion of the widely deployed "Jabber" protocol. XMPP is a TCP-based protocol which uses Extensible Markup Language (XML) as the syntax for its protocol elements. XMPP can be used as a client-to-server protocol as well as a server-to-server protocol. The base of the protocol exchange is the XML "stream", effectively a stream of XML data sent from one party to the other which starts with an XML "<stream>" tag an ending with an XML "</stream>" tag. Streams are unidirectional, so communication between two parties requires two separate streams (though they can run over the same full-duplex connection). Within the stream, requests and responses are exchanged between the two parties in XML "stanzas", a portion of the stream that has semantic content. The document describes the routing of stanzas from machine to machine through streams. XMPP includes guidelines to ensure that extensions are possible without conflicts or breaking core interoperability. Lack of conflicts is ensured with use of XML namespaces. Interoperability is ensured with careful layering of stanzas of known types, on top of the base stream.
The document specifies primitives for instant messaging and presence. Being TCP-based, it should not have any independent congestion control issues. It specifies a reasonable error reporting facility, specific enough to give recipients reasonable indication of what action to take in response to an error, but not so specific to make management of error codes and the like a problem. The protocol uses UTF-8 for all user visible strings including error messages, and defines appropriate profiles of stringprep for internationalized identifiers. SASL is used for authentication and TLS is used for encryption (though SASL security layer may be used if TLS is not). The document also has plenty of examples for XML usage, security negotiation and error reporting... The document registers stringprep profiles and XML namespaces it uses and provides XML schemas for the core parts of the protocol.
The XMPP working group has done extensive review of this document and there has been good consensus. There has been a great deal of participation by many interested folks. Several members of the working group have already reported implementations of the XMPP core and have interoperable implementations running in different environments. XMPP is based on the widely implemented Jabber protocol, giving additional interoperability and deployment experience. Security experts have participated in the discussion and have reviewed and commented on the document during its development. There were extensive Last Call comments, and these have been resolved to the satisfaction of those raising issues...
From the Jabber Inc. Announcement
Jabber, Inc. (www.jabber.com) today congratulated the independent Jabber Software Foundation (JSF) (www.jabber.org) for successfully guiding the core specification of the Extensible Messaging and Presence Protocol (XMPP) through the Internet Engineering Task Force's (IETF) rigorous peer-reviewed standardization process.
"The contributions from the thousands of individuals involved in the Jabber community made this process look simple," said Peter Saint Andre, executive director of the Jabber Software Foundation. "IETF approval is crucial because it demonstrates to the Internet community that XMPP is a proven technology, an open and interoperable standard, and one that is being rapidly adopted."
"IETF approval is a cause for celebration throughout the Jabber community," said Tony Bamonti, acting-president of Jabber, Inc. "Jabber, Inc. wants to congratulate the Jabber Software Foundation for scoring a major victory for the cause of interoperable instant messaging."
Jabber, Inc. is the developer of Jabber XCP, an XMPP-based commercial software platform for building enterprise- and carrier-grade presence-enabled services and instant messaging systems. Jabber XCP is in use by more than 4 million licensed users, representing hundreds of organizations worldwide. Jabber, Inc., a Network Computing Magazine "2004 Company to Watch", counts France Telecom, Hewlett-Packard, EDS, BellSouth, Lehman Brothers, Sony Corporation, CapWIN, Netsize, AT&T, and Juniper Networks amongst its customers...
IETF Messaging Working Groups
Working Groups of the IETF Applications Area producing specifications for Instant Messaging and Presence include:
About the Internet Engineering Steering Group (IESG)
"The IESG is responsible for technical management of IETF activities and the Internet standards process. As part of the ISOC, it administers the process according to the rules and procedures which have been ratified by the ISOC Trustees. The IESG is directly responsible for the actions associated with entry into and movement along the Internet 'standards track,' including final approval of specifications as Internet Standards..."
See the Glossary document for description of the Internet Engineering Task Force (IETF), Internet Architecture Board (IAB), Internet Engineering Steering Group (IESG), The Internet Society (ISOC), and Internet Assigned Numbers Authority (IANA).
- Jabber, Inc. Announcement: "IETF Approves the Jabber Community's XMPP Protocol as an Internet Standard for Instant Messaging and Presence."
- IESG Announcement: IESG Protocol Action. "Extensible Messaging and Presence Protocol (XMPP): Core" to Proposed Standard.
- Extensible Messaging and Presence Protocol (XMPP): Core. Draft #22, IETF Proposed Standard.
- Jabber Software Foundation (JSF). "Jabber is a set of streaming XML protocols and technologies that enable any two entities on the Internet to exchange messages, presence, and other structured information in close to real time. The first Jabber application is an instant messaging (IM) network that offers functionality similar to legacy IM services such as AIM, ICQ, MSN, and Yahoo..."
- Jabber, Inc. web site
- IETF XMPP WG Charter
- "IETF Charters Extensible Messaging and Presence Protocol (XMPP) Working Group."
- Mailing archives of the IETF's XMPP Working Group xmppwg list
- "IETF Instant Messaging and Presence Protocol Specifications Approved." News story 2003-10-31.
- Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence
- End-to-End Object Encryption in the Extensible Messaging and Presence Protocol (XMPP)
- "Mapping the Extensible Messaging and Presence Protocol (XMPP) to Common Presence and Instant Messaging (CPIM)." IETF I-D November 20, 2003.
- "Instant Messaging / Presence Protocol Requirements." IETF RFC 2779.
- "Extensible Messaging and Presence Protocol (XMPP)" - Local reference page.