What Is XMPP?

 Posted on October 31, 2007 |  2 minutes |  Miscellaneous |  stpeter

The Extensible Messaging and Presence Protocol (XMPP) is an open XML technology for real-time communication, which powers a wide range of applications including instant messaging, presence, media negotiation, whiteboarding, collaboration, lightweight middleware, content syndication, and generalized XML routing.

More formally, XMPP is defined by RFC 3920 and RFC 3921 as published by the IETF in October 2004. Everything we’ve built on top of those two specifications we call “XMPP extensions” (usually defined in the XEP series).

Over the last year or so we’ve been working to incorporate feedback from the widespread implementation and deployment of XMPP technologies into the core definitions of XMPP. That has been happening through revisions to two Internet-Drafts at the IETF: draft-saintandre-rfc3920bis and draft-saintandre-rfc3921bis . As part of that effort, we have also published a protocol feature set that can be used when companies and open-source projects that have implemented XMPP submit interoperability reports to the IETF (based on a proposal by Larry Masinter in the IETF’s NEWTRK Working Group).

These formal specifications are definitely not marketing documents! They are dry, boring, highly technical protocol definitions. But they provide the basis for all of our work with XMPP technologies, which is why it is so important to get the details right. Before we seek approval of the revised XMPP specifications within the IETF, broad review is needed from the full range of XMPP developers and community members, so if you have feedback please send it to the standards@xmpp.org discussion list or to the document editor directly.