ralphm's blog

Monday, 9 February 2004

XMPP IM moves to Proposed Standard

Completing the Dynamic Duo™

Today, the IESG announced approved XMPP IM Internet Draft as IETF Proposed Standard. This follows the recent approval of XMPP Core. Together the two documents form the basis of Jabber, and this approval is a major milestone for the Jabber community, but also for the general IM world. XMPP is the first IETF approved standard for Instant Messaging.

So what is the difference between these two documents? Well, Jabber is much more than IM. It is a generic XML routing platform. The XMPP working group has tried to capture this thought by separating the basis of Jabber in two parts.

XMPP Core defines how to communicate snippets of information using a pair of streaming XML documents. It defines how to do secure communication using TLS and SASL, describes the three basis containers of information (<message>, <iq> and <presence>), and how to extend XMPP Core to carry any kind of data, to support a wide range of applications.

XMPP IM on the other hand, defines basic Instant Messaging and Presence functionality based on XMPP Core. It gives more semantics to the different containers and describes interactions with a server to keep a roster of contacts, and selectively block communications to or from another entity.

On top of these two documents, more enhanced protocols can be build. The Jabber Software Foundation has a system for such enhancements called Jabber Enhancement Proposals, and examples of these are JEP-0045: Multi-User Chat and JEP-0060: Publish/Subscribe.

Again, I want to congratulate anyone involved with getting these documents where they are now! The wait is for the RFC numbers to match.

Jabber rocks, approvedly!