Jabber



         


Jabber is an open, XML-based protocol for instant messaging and presence. 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: .

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.

A key concept 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), 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.

The basis of the Jabber protocol, now managed by the Jabber Software Foundation, has been submitted as an IETF draft under the name XMPP, so it can become the official standard for instant messaging. However, SIMPLE, based on the SIP protocol, is competing for the same status.

[Top]

Jabber clients

[Top]

Jabber-only clients

[Top]

Multi-Protocol clients with Jabber support

[Top]

Example client-server conversation using the Jabber protocol

A client (kuusipuu) connects to jabber server (amessage.de port 5222/tcp), sends a message (Subject: "test 1449" and Body: "test 1449") to another client (tero) and logs out.

kuusipuu:

<?xml version="1.0"?> <stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" to="amessage.de">

amessage.de:

<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' from='amessage.de' id='1461777714'>

kuusipuu:

<iq type="set" id="auth_2" to="amessage.de" > <query xmlns="jabber:iq:auth"> <username>kuusipuu</username> <password>mypassword</password> <resource>Work</resource> </query> </iq>

amessage.de:

<iq from="amessage.de" id='auth_2' type='result'/>

kuusipuu:

<message to="tero@example.com" > <subject>test 1449</subject> <body>test 1449</body> </message> <presence type="unavailable" > <status>Logged out</status> </presence> </stream:stream>

amessage.de:

</stream:stream>
[Top]

See also

[Top]




  View Live Article   This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License