Jabber & XMPP
News & Articles
Extensible Messaging and Presence Protocol
Overview:
The Extensible Messaging and Presence Protocol (XMPP) is an open IETF
protocol for general-purpose near-real-time messaging, presence, and
conversational applications. XMPP enables users and client applications
to exchange streaming XML messages, and incorporates dynamic presence
and availability information. XMPP is the core protocol of the Jabber
instant messaging technology which is currently deployed on thousands
of servers across the Internet and is used by millions of people worldwide.
Unlike HTTP/S, XMPP is a connected and stateful protocol that is ideal
for secure, asynchronous and fault-tolerant XML payload delivery over
the public Internet.
Most XMPP implementations cover both the IETF "XMPP Core" and "XMPP Instant Messaging and Presence" proposed standards so they permit instant messaging as a base feature. XMPP
Core specifies real-time XML message exchange and supports streaming
XML collaboration applications such as white-boarding or conferencing.
XMPP-IM adds extensions to support fully-fledged instant messaging
and presence capabilities. Because XMPP grew from the open-source Jabber
IM community, most current implementations began by supporting Jabber,
but now fully support XMPP.
Today there are many other instant messaging and presence
systems available, including MSN Messenger, Yahoo! Messenger, AIM,
and ICQ. XMPP/Jabber differs from these proprietary applications because
it is based on open standards and is better suited for application
development. Google is a new competitor with its Google Talk instant
messaging and voice messaging service. Google Talk is using XMPP's
openness as a competitive benefit as it tries to win users from the
better-established but proprietary IM services.
Enterprises that already use other messaging systems will
find gateway software to allow interoperability with XMPP/Jabber. Another
IM protocol named SIMPLE is slowly making its way through the IETF
standards process. SIMPLE is SIP-based, and is at once both better-suited
for audio and video applications and worse-suited for messaging and
presence applications than XMPP/Jabber. Due to its existing standard
and a head-start in implementation, XMPP/Jabber appears to be pulling
ahead in adoption. In practice, both SIP and SIMPLE implementations
are turning out to be proprietary, making interoperation difficult.
The XMPP core protocol uses Simple Authentication and
Security Layer (SASL; RFC 2222) for authentication, and Transport Layer
Security (TLS; RFC 2246) for securing the stream from tampering and
eavesdropping. XMPP server implementations must support "high security", the use of security technologies that provide both mutual authentication and
integrity-checking, such as certificate-based authentication. XMPP
instant messaging clients will be required to support end-to-end S/MIME
(RFC 2633) signing and encryption with Cryptographic Message Syntax
(CMS; RFC 3369). This enables a trusted connection between two clients
through an untrusted server.
XMPP/Jabber Servers:
Unlike most transports, XMPP/Jabber communication requires an intermediary
server or servers. Servers are responsible for managing connections
and routing XML data among connected entities. Servers must be able
to:
* Exchange messages with other users
* Exchange presence information with other users
* Manage subscriptions to and from other users
* Manage items in a contact list
* Block communications to or from specific other users
XMPP/Jabber guarantees in-order message delivery, and
most server implementations choose to store messages destined for offline
clients and forward them when the client comes back online. This makes
XMPP/Jabber ideal for loosely-coupled near-real-time applications.
Server administration is minimal, and most administration is headless
because it is performed from a client using the XMPP/Jabber protocol
itself. XMPP client/server communication uses TCP over port 5222 and
optional server/server communication uses TCP over port 5269. XMPP
servers may be deployed securely behind the firewall if desired. The
server resolves client addresses which are in the form "user@host" using DNS.
Both free/open source and commercial XMPP/Jabber servers
are available for most OSs and with a wide range of capabilities. Most
servers provide APIs to add server-based application intelligence,
such as gateways to other instant messaging systems. Users may opt
to host their own server or purchase hosting services. It is possible
to deploy the open source jabberd reference implementation in under
an hour. It is possible to use any of hundreds of free public servers
to begin development and testing of XMPP/Jabber applications. It is
even possible to deploy a trusted application using an untrusted public
server because clients support end-to-end signing and encryption. In
the end, implementation costs are subject largely to business issues,
not to any scarcity of competing servers and clients. As with most
forms of Internet communication, availability and scalability are typically
related to cost. You get what you pay for. Commercial XMPP/Jabber server
clusters claim to serve hundreds of thousands of simultaneous users.
XMPP/Jabber Clients:
XMPP/Jabber clients are typically simple because the server deals
with the complexities of the protocol. Instant messaging clients
are available
for every major computing platform -- on desktops, phones, and wireless
devices. Free open source client development libraries are also available
for most platforms and in most popular development languages. Exodus
is a popular XMPP/Jabber instant messaging client for Windows.
XMPP/Jabber is a connected and stateful protocol, permitting
client-based application development. For instance, you could develop
a client-based "processbot" that automatically notifies your personnel of exceptions to the normal loan
processing workflow so they can resolve such issues in a timely manner.
Because messages are XML, you can create new use for XMPP/Jabber by
extending the XML message structure to create new message types, using
your own namespace. XMPP/Jabber provides a flexible, secure and reliable
messaging backbone for next-generation distributed Internet applications.
XMPP Advocacy:
Jabber security (2007-02 Peter Saint-Andre, XMPP Council Chair)
Jabber 101 (2007-02
Peter Saint-Andre, XMPP Council Chair)
Sybase Looks to Secure Instant
Messaging (2007-02-28 internetnews.com)
"Sybase subsidiary iAnywhere is readying mobile instant messaging
and presence capabilities for its Information Anywhere e-mail suite. …
Features include support for several enterprise instant messaging systems,
including IBM Lotus Sametime, Jabber XCP, Jabber Wildfire, Microsoft
Live Communications Server and Reuters Messaging as well as public
instant messaging networks via XMPP, which includes support for Google
Talk and Jabber."
Bryco
Funding, Inc. Selects Jabber XCP (2007-02-13 Jabber, Inc. Press Release)
" 'Jabber, Inc. has performed well across the banking and financial
services market because these firms recognize that presence and availability
data enhances the way in which people communicate, accelerating their
ability to process information and resolve open issues,' said Paul
Guerin, chief executive officer of Jabber, Inc. 'In choosing Jabber
XCP, companies such as Bryco are buying into the industry’s best architected,
most extensible and interoperable presence and messaging solution.'"
Adobe
Buys Antepo. Shape of Things to Come for EIM? (2097-01-31 Instant Messaging
Planet)
" 'The reality,' Seguineau said, 'is that this is technology that
is now going to become more and more mainstream ... more and more embedded
in the enterprise desktop.'"
The
Year in Instant Messaging (2006-12-21 Instant Messaging Planet)
"As 2006 comes to an end and 2007 looms on the horizon, Instant Messaging
Planet takes a look back at the last 12 months and looks ahead to what
you can expect in the new year. Below, we break down the trends in
instant messaging into five key areas: XMPP, Interoperability & Federation,
Presence & Integration, IM-to-VoIP, and Security, Compliance & Archiving."
IM Profits for VARs (2006-11-22
eWeek Strategic Partner)
"For these reasons, IM networks have become more mission-critical,
which translates into more opportunities for VARs. These opportunities include
storage management for archiving messages, compliance with Sarbanes-Oxley
Act requirements and other corporate governance rules that require
auditing client conversations."
Extending
the IM Experience (2006-11-06 eWeek)
"Companies looking for more effective real-time collaboration through
instant messaging will find that products based on the Extensible Messaging
and Presence Protocol, or XMPP, provide a good set of options and integration
with other platforms. eWEEK Labs recently evaluated
three products based on XMPP: Antepo's OPN System Rivoli, Jabber's
Jabber XCP (Extensible
Communications Platform) 5.1 and Jive Software's Wildfire Enterprise
3.1."
Wildfire
Release Puts IM Interop Back in the Mix (2006-10-24 Instant Messaging
Planet)
"The benefits of tighter integration with Wildfire will include
easier installation for IT managers and a simpler experience for end users,
who have to deal with cumbersome and tedious additions to their contact
rosters under the older Jabber transports."
Instant
Messaging in Java Made Easy: The Smack API (2006-10-05 java.net)
Note: The PowerDocs Document Routing System uses the Smack API.
" Jabber is an open, XML-based standard for instant messaging, providing
a non-commercial alternative to these proprietary messaging services.
With an estimated user base of over 21 million, Jabber is a widely
used protocol, especially in the open source world. Jabber is also
the protocol used by Google's new IM client, Google Talk. There are
hundreds of (mostly free) Jabber clients available, as well as many
open source and commercial servers. There are many potential reasons
you might want to incorporate instant messaging features into your
application. IM techniques provide an excellent, lightweight way of
sending notification messages, or to allow users to chat with each
other from within an application."
Wildfire
Sure to Spread in Enterprises (2006-08-24 ServerWatch)
" Because it is built on an open source platform, on an open source
protocol (Jabber), Wildfire is highly customizable. Its open API and plug-in
architecture sets Wildfire apart from proprietary IM servers, freeing
customers from vendor lock-in."
I.M.
Generation Is Changing the Way Business Talks (2006-04-05 New York
Times)
"
There are now several dozen instant messaging products, including Google
Talk and the latest version of Apple's iChat, both of which work with
other Jabber clients. "What
Jabber has pioneered is the ability for interoperability, so you can
use I.M. like your e-mail system," Mr. Roach said. As a result of the Jabber efforts, the commercial systems from
Microsoft, AOL and Yahoo are starting to feel pressure to open up,
enabling more users to communicate across systems."
Leading Mortgage and Fleet Management Services Company Selects OPN System (2006-08-22
Antepo Blog)
"PHH’s IT leaders were
interested in implementing IM and presence-awareness in the workplace
in order to boost customer service and improve overall
operational efficiency."
ServerWatch Product Awards: All About Innovation (2006-06-06 ServerWatch)
"ServerWatch readers
either love an underdog or love the XMPP (aka Jabber) open protocol
— or maybe both. We also now know you appreciate an innovative
product, as Wildfire from Jive Software ran away with the real-time
communication category, capturing more votes than Microsoft Live
Communications Server 2005, IBM Lotus SameTime, and Antepo OPN XT
combined."
The Evolution of IM (2006-03-24 Technology Review)
"There's
an alternative, though, to proprietary instant-messenging products
such as the AOL, MSN, and Yahoo platforms -- one with fewer restrictions
and that has already produced a number of innovative applications,
according to Peter Saint-Andre, executive director for the Jabber
Software
Foundation, an open-source IM network. He makes a comparison with
another software realm: Jabber, he says, competes with commercial
IM services
in the way that Linux vies with Microsoft Windows."
An Identity Based Network: Jabber (2006-02-21 People Over Process weblog)
"The features that an identity network provides
could enhance many existing applications and create several new
ones. Once your system can establish
authenticated connections between nodes, transfer XML between those
nodes, and then federate that network with other networks (enabling
nodes in network A to talk with nodes in network B), you have a
mini-Internet with identity built in to the core API."
Google Opens Talk to Public Jabber Servers (2005-01-17 Instant Messaging Planet)
"This latest news comes after a steady trickle
of other Google Talk news in the past month, including the addition
of support for Blackberry
devices, interoperability with Skype, and Google's own contribution
of libjingle, an extension to XMPP that brings VoIP capabilities to
the protocol."
Google pushes open IM standard (2005-12-19 Techworld)
"Google has put its weight behind the open Extensible
Messaging and Presence Protocol (XMPP), which defines how multi-media
apps can be
run over instant messaging. Google has decided to contribute to XMPP
extensions that will enable IM applications to conduct sessions involving
voice and video. … This is an important step forward, claims analyst
Michael Osterman, because IM providers will eventually have to adopt
open standards, and the confluence of VoIP and IM is getting great
interest from users."
Jabber and Macromedia Team to Chase Fed Business (2005-11-29 Instant Messaging
Planet.com)
"The two companies today announced that they'll be integrating Macromedia's
Breeze Meeting with Jabber's Extensible Communications Platform (XCP).
The integrated product will be marketed to the Department of Defense
and other federal agencies. ... The companies said they'll also be
working together in the financial services and telecommunications markets
in the future."
Google
does IM right (2005-10-17 InfoWorld)
"
Google Talk, currently in beta, is based on XMPP (eXtensible Messaging
and Presence Protocol), an open, XML-based messaging protocol developed
for the open source messaging client, Jabber. That means that unlike
AIM (AOL Instant Messenger) or Yahoo Messenger, third-party ISVs
won't have to scramble to reverse-engineer the Google Talk protocol
stack
every time it changes."
Google Talk gives boost to XMPP (2005-08-26 InfoWorld)
"Although the Google Talk offering is aimed at consumers, the fact
that it is based on the XMPP protocol encourages developers of all stripes
to jump in. 'We want to encourage the developer community to create
new and innovative applications that leverage our service. To enable
this, Google Talk uses the standard XMPP protocol for authentication,
presence, and messaging,' Google officials wrote in the Google Talk
release notes."
Google
Talk Tackles Chat, VoIP (2005-08-24 PC Magazine)
"Google Talk is also open. Built
on the Extensible Messaging and Presence Protocol (XMPP), it works
with Gaim, Jabber and XChat. Harik says Google
hopes to 'federate' with other clients and services and expects Earthlink
to join in the near future. '[We] have outstanding calls to all other
networks to help us all make an open IM service that protects all users,
but lets anyone talk to anyone just like the phone service and just
like e-mail.'"
JSR
187 (2005-08-12 Java Community Process)
"Panasonic Information and Networking Technologies has posted the
proposed final draft of Java Specification Request (JSR) 187, Instant Messaging
to the Java Community Process (JCP)."
" The
Presence and Instant Messaging API provides protocol independent application
control of standard instant messaging and presence protocols. The
standard protocols include: IETF SIP/SIMPLE, OMA Wireless Village, and
IETF
XMPP."
Google to Buy Meetroduction (2005-08-08 internetnews.com)
"Meetro combines instant messaging with automatic local buddy finding.
Users can log in and browse or search profiles of other members in
order to find someone compatible who's nearby and also logged in. The
area to be searched can be narrowed to a quarter mile. … The software
is compatible with AOL Instant Messenger, Yahoo Messenger and ICQ,
adding the ability to find people outside of one's personal buddy lists.
Before the acquisition, the company planned to eventually support MSN
Messenger and Jabber as well."
Tiger Sets Mac Users to Jabbering (2005-05-06 Instant Messaging Planet)
"Apple has a reputation for simplifying user interfaces, so the addition
of Jabber functionality as a separate chat option (as opposed to rolling
it into Bonjour messaging) seemed a little out of character for the
company. Apple has been using XMPP to drive Bonjour since the feature
was first introduced, without exposing Jabber functionality until now."
Finding a Corporate IM Server to Call Your Own (2005-04-22 The Channel Insider)
In short, if you want an easy-to-use, inexpensive XMPP/Jabber IM server
to call your own, JM is an excellent choice. If it does indeed gain
AIM compatibility, I would put it on my "must
test out" list of enterprise IM servers. And let me say again, whether you choose JM or
not, you really must have an enterprise IM server of your own. It's
no longer a luxury or something you can simply fob off on the public
IM networks. From an eWeek.com Special Report on Enterprise IM.
Liberty Releases Contact Book, Geo-Location, and Presence Interface Specifications.
(2005-04-12 Cover Pages)
The Liberty Alliance Project has selected XMPP as one of the supported
presence protocols for its Liberty ID-SIS Presence Service Specification.
The specification defines a web service for presence information within
the context of the Liberty Alliance project. It provides a common way
for users to share presence information, such as whether they are online,
offline, on the phone or in a meeting, with any service provider for
the purpose of communicating availability. The core meaning of presence
refers to a Principal's availability for communications over a network
(phone, IM, video conference); 'extended' presence includes the Principal's
proximity to or interaction with a user agent (e.g., 'away' or 'do
not disturb'), activity (e.g., 'driving'), mood (e.g., 'grumpy'), and
date/time ranges for availability.
Enterprise Unix Roundup: Jabbering Openly (2005-04-01 ServerWatch)
When the definitive book about the Free Software and Open Source movements
is finally written, we're confident the movements will be valued
for providing enabling resources. It will also give more than subplot
status to Jabber, which is rapidly becoming a common denominator
technology on the same level as Samba when it comes to turning up
in interesting places.
Sun Adds Jabber Protocol to IM (2005-03-30 internetnews.com)
With the inclusion of the Jabber protocol, Sun opens its Java System
Instant Messaging to other XMPP-based systems looking to interoperate
their features on the IM platform. Officials say XMPP support offers
cost savings for their customers by expanding IM and presence functionality
through open source and third-party software applications. Sun press
release.
Jabbering Up a Storm (3-30-2005 ServerWatch)
Administrators considering an IM deployment should take a look at the
Jabber family of servers and clients. Two Jabber servers worthy of
consideration are the free and open source Jabberd and the commercially
available SoapBox Server, which runs on Windows. This review looks
primarily at Jabberd.
Macromedia dialing mobile devices (2/7/2005 Computer Business Review)
"ColdFusion MX 7.0 connects to devices using a set of seven gateways
written in ColdFusion and Java. Gateways cover, among other areas,
connection via … the Extensible Messaging and Presence Protocol
(XMPP) standard for Instant Messaging."