One of the leading frameworks for real-time communications received a sizable vote of confidence Thursday, when the Internet Engineering Task Force (define) signed off on the core specifications of Extensible Messaging and Presence Protocol (XMPP).
The approved document, known as “XMPP-Core,” provides specifications for general-purpose real-time data communications, enabling users and applications to exchange streaming XML messages, and incorporating dynamic presence and availability information.
As a result of the IETF’s approval, the specification officially becomes known in IETF parlance as a Proposed Standard.
It’s quite an achievement for the protocol — also known as the Jabber protocol — and its supporters, which include the Jabber Software Foundation, the not-for-profit group overseeing XMPP’s open development. The JSF hammered out early versions of the protocol before submitting it to the IETF.
In part because of XMPP-Core’s development in the JSF — which has a peer-review process similar to the IETF — the IETF’s approval of the spec has been rapid. In May, the XMPP Working Group escalated the Core specification to the Internet Engineering Steering Group — the IETF’s standards-approval leadership body. Four months later, the IESG issued a Last Call for IETF-wide comments on XMPP-Core.
During that time, however, the process has been witness to several important improvements in the core protocol. For one thing, the JSF and the IETF’s XMPP Working Group worked for months to add SASL/TLS (define) authorization and security, and improved internationalization features.
Nevertheless, more work remains before XMPP becomes a standard for instant messaging.
While it lays the groundwork for real-time XML message exchange, XMPP-Core doesn’t provide the standards supporting full-fledged IM. On its own, XMPP-Core can support uses such as white-boarding or conferencing, “or any number of applications that utilize streaming XML to send real-time structured data,” said Tony Bamonti, acting-president of Jabber, Inc., which markets a commercial enterprise IM server based on XMPP.
But a second specification, currently under IESG review and dubbed “XMPP-IM”, details a number of extensions to XMPP that enable basic instant messaging and presence functionality.
“The ‘IM’ document … defines some extensions to the core streaming protocols in order to do some of the functionality that’s expected of a basic instant messaging and presence system,” said Peter Saint Andre, executive director of the Jabber Software Foundation. “That’s contact lists, being able to block other users from taking to you, detailed information on how the subscriptions work for presence … that sort of thing.”
“In practical terms … you need both documents to deploy an IM and presence system that has the kind of functionality that people expect,” he added.
Approval for XMPP-IM is expected in coming weeks.
Even when taken together, XMPP-Core and XMPP-IM don’t detail features that many IM users take for granted — such as group chat or file sharing. To implement those, developers must turn to standards approved by the JSF, but which are unlikely to find their way into the IETF approval process.
“Whether we take [such feature protocols] to IETF is an open issue,” Saint Andre said. “It depends on whether the IETF would actually be interested in that, and whether it’s really necessary. Probably not. Most of the people in the development community know where to find this stuff.”
Despite the work that remains to be done, the approval of XMPP-Core helps to pave the way for wider development and deployment of XMPP-based solutions.
“One of the important things is that [XMPP-Core] is no longer a moving target,” Bamonti said. “Commercial vendors can now look to a standard … to start building applications with the assurance that it’s not going to changing a week from now.”
The IETF approval also is a sign of confidence in XMPP’s robustness, he said.
“It means it has all the right things that the IESG is looking for, and … has the right types of transport mechanics,” Bamonti said. “Commercial vendors also can point to it and say ‘we’re standards-based’ … Open standards and compliance with standards, those are certainly important in the enterprise space.”
Overall, the news also could help grow support for standards-based IM solutions — even those using Session Initiation Protocol (SIP) / SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE), a second protocol in the IETF approval process. (Supporters of both XMPP and SIP/SIMPLE are working on open interoperability transports between the two, while at least one commercial vendor, Antepo, already offers its own solution.)
“There’s going to be more pressure, at least on creating gateways into standards-based systems,” Bamonti said. “One for interoperability reasons, and [also] for investment protection reasons — if you buy from one vendor, you might be able to swap it out for another vendor.”
Added Saint Andre, corporations “don’t tend to go with proprietary systems, they want to follow some open standards and they are choosing things that are defined by the IETF.
“I think we’re going to see more people moving to standards-based solutions, whether that’s XMPP-based solutions or SIP/SIMPLE solutions,” he said. “You’re going to see more work on defining mappings between XMPP and SIMPLE, so it will be fairly easy to write gateways.”
Saint Andre also said he expects that growth in the enterprise sector will prod the major consumer IM networks into considering opening their systems.
“It’s the same thing that happened with e-mail,” he said. “CompuServe, Delphi, Prodigy — all those services had their own systems, but those things want away as people demanded interoperability. If you want to talk to someone on AOL and you’re at … GM, that’s going to put more and more pressure on the consumer services.”
Next steps for XMPP
At the same time that it seeks to get XMPP-IM approved, the XMPP Working Group will also be pushing for IETF support for two minor documents. The first, “XMPP-E2E” lays out end-to-end encryption, while “XMPP-CPIM” maps XMPP’s language to messaging syntax worked out by the earlier Instant Messaging and Presence Protocol Working Group — which could be used to facilitate basic translation among protocols.
It could be several months before those documents receive the stamp of approval from the IESG, Saint Andre said.
It’s also unlikely to be the end of the road for XMPP-Core. The protocol’s Working Group is likely to push for it being recognized as an IETF “Draft Standard” — which requires examples of independent, interoperable implementations for each part of the specification. However, elevation to Draft Standard also carries with it a heightened reputation signifying a specification’s practicality.
For a variety of reasons, many documents don’t make the transition from Proposed Standard to Draft Standard (indeed, many of the “standards” in use today are, in fact, never made it beyond the Proposed Standards tier.)
“A lot of people consider being a Proposed Standard to be the end of the line,” Saint Andre said. However, “there are enough people who have … implemented this technology that we’re going to follow the process, and going to try to get feedback from implementations. I think we will move this forward to Draft status.”
The XMPP Working Group can submit XMPP-Core for Draft Standard status in late June.
Christopher Saunders is managing editor of InstantMessagingPlanet.com