

|
Jabber is an open, XML-based protocol for instant messaging and presence information. Jabber-based software is deployed on thousands of servers across the Internet and is used by over ten million people worldwide, according to the Jabber Software Foundation: [1].
Contents |
Jeremie Miller began the project in 1998; its first major public release occurred in May 2000. The project's main product is jabberd, a server to which Jabber clients connect in order to chat. This server can either create a private Jabber network (behind a firewall, for instance) or it can join the global public Jabber network. The key features of Jabber are the distributed nature of the IM system and the use of streaming XML.
The basis of the Jabber protocol, now managed by the Jabber Software Foundation, has been accepted by the IETF as a standards-track protocol under the name XMPP, with RFC 3920. It has often been regarded as being in competition with SIMPLE, based on the SIP protocol, as the standard protocol for instant messaging and presence notification; however, the design of XMPP is intended to provide a more general-purpose inter-application middleware facility.
In August 2005 Google introduced Google Talk, a combination VoIP and IM system which uses Jabber/XMPP for its instant messaging function. However, the initial launch of Google Talk does not include server-to-server communications; as a result, any Jabber client can connect to Google Talk, but a Google Talk account (currently associated with a Gmail address) is required and users can only chat with others who are connected to the Google Talk network, not with users of other public Jabber networks. Google has stated that Google Talk will eventually interoperate with other public Jabber networks, once issues of security and spam are resolved.
Open— the Jabber protocols are free, open, public, and easily understandable; in addition, multiple implementations exist for clients, servers, components, and code libraries.
Standard— the Internet Engineering Task Force (IETF) has formalized the core XML streaming protocols as an approved instant messaging and presence technology under the name of XMPP, and the XMPP specifications have been published as RFC 3920 and RFC 3921.
Proven— the first Jabber technologies were developed by Jeremie Miller in 1998 and are now quite stable; hundreds of developers are working on Jabber technologies, there are tens of thousands of Jabber servers running on the Internet today, and millions of people use Jabber for IM.
Decentralized— the architecture of the Jabber network is similar to email; as a result, anyone can run their own Jabber server, enabling individuals and organizations to take control of their IM experience.
Secure— any Jabber server may be isolated from the public Jabber network (e.g., on a company intranet), and robust security using SASL and TLS has been built into the core XMPP specifications.
Extensible— using the power of XML namespaces, anyone can build custom functionality on top of the core protocols; to maintain interoperability, common extensions are managed by the Jabber Software Foundation.
Flexible— Jabber applications beyond IM include network management, content syndication, collaboration tools, file sharing, gaming, and remote systems monitoring.
Diverse— a wide range of companies and open-source projects use the Jabber protocols to build and deploy real-time applications and services; you will never get "locked in" when you use Jabber technologies.
The Jabber network is server-based (clients do not talk directly to one another), but decentralized; there is no one central authoritative server, as there is with services such as AOL Instant Messenger or MSN Messenger. Some confusion often arises on this point, as there is, in fact, a public Jabber server being run at "Jabber.org", which a large number of users subscribe to; however, anyone may run their own Jabber server on their own domain.
A user is identified with a user name and a server name. The two fields are separated by the @ sign. This identifier is called a Jabber ID or JID.
Suppose juliet@capulet.com wants to chat with romeo@montague.net. Juliet and Romeo each respectively have accounts on the Capulet.com and Montague.net servers. When Juliet types in and sends her message, a sequence of events is set in action:
|
![]() |
|
![]() |
|
![]() |
|
A unique feature of the Jabber system is that of transports, also known as gateways, which allow users to access networks using other protocols - such as AIM and ICQ (using OSCAR), MSN Messenger and Windows Messenger (using the .NET Messenger Service), Yahoo! Messenger, SMS or E-mail. Unlike multi-protocol clients like Trillian or Gaim, Jabber provides this access at the server level by communicating via special gateway services running on a remote computer. Any Jabber user can 'register' with one of these gateways by providing the information needed to log on to that network, and can then communicate with users of that network as though they were Jabber users. This means that any client which fully supports the Jabber protocol can be used to access any network to which a gateway exists, without the need for any extra code in the client.
Another interesting aspect of the Jabber protocol and server is the HTTP binding for users behind restricted firewalls. Jabber can use HTTP in two ways: polling and AJAX. HTTP polling essentially implies messages stored on a server-side database being fetched (and posted) regularly by a Jabber client by way of HTTP 'GET' and 'POST' requests. With the AJAX binding the client uses longer-lived HTTP connections to receive messages as soon as they are sent; it is much more efficient than polling.
Since the client uses HTTP, most (if not all) firewalls would allow the client to fetch and post messages without any hindrance. Thus, in scenarios where opening a native Jabber TCP connection is not possible, clients can use HTTP to stay connected and provide instant messaging. This aspect of Jabber protocol has also made it popular with some users.
In a few places around the world, communities have evolved where the main focus is advocating Jabber and bringing Jabber closer to the end user. Usually services are offered, such as a Jabber server, a web portal to assist users with signing up to Jabber and forums.
Some examples of these Jabber communities include: