Last Updated: 2009-06-11

The base specifications of the Extensible Messaging and Presence Protocol (XMPP) formalize the core protocols developed within the Jabber open-source community in 1999. They were produced by the IETF's XMPP Working Group and published as RFCs 3920 and 3921 in October 2004.

Note: Updated versions of RFC 3920 and RFC 3921 are currently being worked on in the IETF via the re-formed XMPP WG. Consult rfc3920bis and rfc3921bis for the most accurate, up-to-date protocol definitions, and join the xmpp@ietf.org list to participate in the revision process.

RFCShort NameFormatsDescription
RFC 3920 XMPP Core see rfc3920bis
Text | HTML
XML streams, SASL, TLS, stringprep profiles, stanza semantics
RFC 3921 XMPP IM see rfc3921bis
Text | HTML
XMPP extensions for basic instant messaging and presence
RFC 3922 XMPP CPIM Text | HTML Mapping XMPP to the IETF's CPIM specifications
RFC 3923 XMPP E2E Text | HTML End-to-end signing and object encryption for XMPP
RFC 4854 XMPP URN Text | HTML A Uniform Resource Name (URN) tree for use in XMPP extensions
RFC 4979 XMPP ENUM Text | HTML IANA registration of an Enumservice (see RFC 3761) for XMPP
RFC 5122 XMPP URI Text | HTML A Uniform Resource Identifier (URI) scheme for XMPP (this specification corrects several errors in RFC 4622)

In addition to the RFCs, there are many XMPP extensions defined in the XEP series produced by the XMPP Standards Foundation, and several XMPP-related Internet-Drafts are currently under consideration within the IETF.