Jabber

Jabber (to pronounce “  djabeur  ”) is a system standard and open of Instant messaging and presence. Jabber is also a system of collaboration in quasi-time-reality and multi-media exchange via Jingle, whose VoIP (internet telephony), Visioconférence and of file-swapping are examples of applications.

Jabber is a whole of protocols founded on the language XML. Logiciel S based on Jabber are deployed on thousands of computers on Internet and are used to date by fifty to hundred million users. The protocol itself is maintained by the XMPP Standards Foundation (old Jabber Software Foundation ) and is standardized by IETF under the name XMPP.

With the difference in the other systems of popular presence and instant messaging, Jabber is conceived in a way much broader and opened that simple “the cat” (discussion on Internet, clavardage). Jabber is thus also used by the companies and administrations within the framework of exchanges of information between applications (LTE, EAI, ESB) within the information systems, but also within the framework of the Grid computing, of the notifications of alarms or information, of the Supervision and monitoring system and network. Jabber is finally also used in the field of the division and collaboration in quasi-time-reality like the white table (“whiteboard”) or the edition and the development collaboratifs, but also of the plays on Internet (in particular plate and card decks for the moment).

Jeremie Miller set up the project in 1998 and the first public version left in May 2000. The principal production of the project is Jabberd, a free waiter making it possible the software customers to connect itself to discuss. This waiter makes it possible either to create private a Jabber network (behind a Pare-feu), or to join other public waiters federate on Internet, to dialog on line with its correspondents.

__TOC

Operation

The network of the users of Jabber is decentralized, i.e. it is composed of several waiters, connected to each other. It functions in a way similar to that of the Email: the instantaneous messages are transferred from a user to the other via their respective waiter. Another similarity, a user is identified by a name of user and a name of waiter, the two fields being separated by a arroba “@” (arobas or “At”). This identifier is called Jabber ID or more simply “addresses Jabber”.

For example, if a user bob@jabber.org wishes to communicate with gilles@jabber.cz , the software customers of Bob start by sending its message to its waiter ( jabber.org ). Then, the waiter of Bob will contact the waiter of Gilles ( jabber.cz ) via Internet and the message will transfer to him. Lastly, the waiter jabber.cz will be able to contact the software customers of Gilles, if it is on line and to communicate the message to him (if not the message will be preserved on standby on the waiter and will be delivered when Gilles is on line). Obviously, all these stages are done in an instantaneous and transparent way for the user, as for the emails.

| <---> | | <--- | | ---> | | <---> | |}

Jabber addresses

A “ addresses Jabber ” is the identifier of a user of Jabber.

It is made up of two or three parts:

  • a name of user (single on a waiter);
  • a name of waiter;
  • a resource (optional) which can change.

These two or three fields are presented in the form user @ waiter / resource or more simply in user @ waiter , as an address of email.

For example, the user bob on the waiter jabber.org using the resource Travail will have the following Jabber address:
bob@ jabber.org/Travail or more simply bob@jabber.org , as an address of email.

The list of the contacts of a Jabber user is stored on the waiter. A user will find his contact list if it is connected to Jabber on other work stations or with other customers.

Presence and states

When a Jabber customer connects himself (or disconnects itself) to a waiter, this last automatically announces the presence in line (respectively the disconnection) of the user to the whole of his contacts.

It is also possible to be made “invisible”: the user appears disconnected then with the eyes of his correspondents, whereas can see him the notifications of presence of its contacts.

There exists several states of presence: “on line”, “disconnected”, “absent” and others.

Resources and priorities

The resource is an optional part of a Jabber address. It is the last field of this one, separated from the others by an oblique bar (“/”).

A resource, freely skeletal by the user in his software customers, generally indicates the place where a user of Jabber is located. For example, the values House , Work , Laptop or Logiciel are current. The resource becomes useful when a user connects several places or with several customers for the same moment. Its contacts have then the choice to send a message to him to one or the other of its resources, or to that by defect, i.e. that having highest priority . If several resources connected to the same moment have equal priorities, then the message is addressed to the last connected resource.

The priority is an entirety ranging between -128 and +127. It is optional and configurable in the majority of the Jabber customers. In the event of absence, the waiter regards its priority as being equal to 0. Its principal utility is for the delivery of message intended for a Jabber address without resource.

Transport

Many Jabber waiters offer a service of transport (also called footbridges ) making it possible the user to dialog with the users of other instant messagings.

The user can be recorded with this transport by providing his information specific to the target network (for example, for ICQ, it is necessary to provide the UIN and the password). Once this operation carried out, the user can add contacts using this other network as it would do it for a contact using Jabber. At present, of transport are available for the most used protocols, like IRC, MSN Messenger, Yahoo! Messenger and ICQ/AOL Instant Messenger (AIM). There also exists of other transport such as for example the services of email.

By using a transport, the user limits himself to the capacities of the customer and transport used; he will probably not have all the functions of the official customer of the target network.

The contacts of the other networks appear in the contact list like Jabber contacts with particular Jabber addresses: identifier @ transport. Thus, for example:

  • a contact ICQ of UIN 12345678 on transport icq2.fritalk.com becomes 12345678 @ icq2.fritalk.com ,
  • an Yahoo! contact Messenger of identifier toto_le_hero on transport yahoo.amessage.info becomes toto_le_hero @ yahoo.amessage.info ,
  • a MSN Messenger contact of address petit_nuage@hotmail.com on transport msn.3gnt.org becomes petit_nuage%hotmail.com @ msn.3gnt.org (the “ @ ” is transformed into “ % ”).

However, certain companies managing these protocols and services owners block or blocked the access to the important Jabber waiters, such as jabber.org and jabber.com , on their network. This thus makes impossible the use of the transport concerned on these waiters. Certain companies also modified their protocol, according to some with an aim of countering the use of their network by alternate customers or Jabber transport.

Newsgroups

The newsgroups or conferences (“million u.a.” for “Multi To use Cat” or “groupchat”) make it possible to create conversations with more than two users, with the image of the channels IRC.

It is possible to create public or private groups, to invite contacts with a group, to moderate groups (“kick” and “round of applause” like IRC), to journalize the discussions and to make the room persistent.

Transfers of file

Jabber allows to transfer from the files directly between users or by using an intermediate proxy, with the possibility of stopping and of taking again the transfer.

Jingle

See also: Jingle (Jabber)

The voice on Jabber by Jingle is not yet completely ready to date. Its standardization and its implementation in the customers and waiters are in hand, the first functional versions of Jingle solutions are under development and deployment in 2007.

Jingle is used by Google Talk and is in the course of integration in several Jabber customers such as Psi, Kopete, Spark and Pidgin since 2006.

The videoconference is at a less advanced stage, it goes from there in the same way for all multi-media flows, of which the file-swapping by Jingle.

The great force of Jingle is its modern design based on XMPP, like its facility to cross NAT.

Publication-subscription

A mechanism of publication-subscription (“Publish-Subscribe” or “PubSub”) is under development and standardization, it acts to have the capacity to disseminate and store information on the Jabber waiters, like subscribing with these wire of information.

This mechanism can, inter alia, to make it possible to set up publications of brêves and articles, subscriptions with these wire, extended presence, divided mark-pages, systems of bidding and exchanges, catalogs on line, system of workflow, notifications of event, etc

Wide presence

A mechanism of wide presence is under development and standardization, it acts to have the capacity to disseminate dynamic information related to the state of the user, namely his mood, its activity, its geolocalisation, its music in the course of listening, its profile, its nickname, its navigation Web, its discussions of group, its plays, its vidéos in the course of visualization, and of others to come certainly well.

The wide presence rests on a simplification and specialization of the mechanism of publication-subscription.

Applications

Jabber, thanks to its broad design, its evolutionarity and its standardization, offers a broad spectrum of applications:

  • discussion on line one by one (cat, clavardage), presence and discussion of group (groupchat)
  • VoIP and Videoconference or more generally initialization of sessions multi-media NAT ées
  • notifications and alert
  • middleware like the LTE, EAI and ESB
  • applications of collaborative edition in quasi-time-reality like the documents of office automation (structured texts, vectorial graphs, worksheets, presentation, etc)
  • remote control
  • monitoring and supervision
  • social networks
  • online games

History

It is into 1998 that Jeremie Miller invented Jabber, a protocol of instant messaging based on XML. Its work took as a starting point ICQ, created in 1996, the first system of the kind.

In January 1999, he publicly announces on Slashdot “a complete platform opensource for the instant messaging with transparent communication towards the other systems of IM”. The protocol was conceived, as well as a functional waiter ( jabberd ) and customers of test (WinJab and Gabber).

In August 1999, Jeremie launches a call to the standardization of the protocol by the IETF in order to promote the open standards and interworking. IMPP WG is then created and publishes in February 2000 the RFC 2778 and 2779 but does not reach a consensus.

The waiter opensource jabberd 1.0 is published in May 2000 and stabilizes the protocol. In June, Jeremie publishes an Internet-Draft but the time is exceeded. Version 1.2 of jabberd introduces the dialback which prevents the usurpations of identities of waiters.

Jabber Software Foundation is created in August 2001, in order to ensure the coordination of the growing number of developers opensource and undertaken which adopt Jabber technologies like managing documentation, creation and maintains it protocols XML.

In 2002, Internet-Draft are again subjected to the IETF as XMPP Core and a XMPP IM, and a XMPP WG is created.

RFS 3920 XMPP-Core and 3921 XMPP-IM, as well as the RFC 3922 CPIM and 3923 E2E, are accepted in October 2004.

The Google company publishes Google Talk in August 2005, a customer Jabber owner related to the Jabber waiters from Google. This customer brings the voice (internet telephony) by the Jingle protocol, whose specifications are published with the library libjingle. The JSF takes then charges its standardization with it.

The JSF becomes in 2007 the XSF for XMPP Standards Foundation, and proposes services of intermediate authority of certification TLS/SSL.

At the beginning of 2007, one estimates through various studies that the number of the users of Jabber is located into 50 and 90 million in the world.

The scheme of work of the XSF gives priority to Jingle for the sessions multi-media, safety, the combat against the spam, the updates of the RFC of the IETF and the widening of the spectrum of Jabber/XMPP.

The developers of waiters, customers and libraries free/opensource and owners put the priority on Jingle and the applications collaboratives.

The developers of applications integrate more and more functionalities related to the presence and instantaneity by the use of Jabber/XMPP.

Open standard, standard

Protocol XMPP (Jabber) was published like an outline (“draft”) by IETF, so that it can become a Standard of instant messaging.

In 2002, the group XMPP was formed and worked on the standardization of the protocol. Thus the October 4th 2004, the specifications of the protocol were published as a RFC (cf section bonds for developers). Since this date, XMPP Standards Foundation yielded the control of its principal technologies to the IETF while continuing to develop many extensions to XMPP (series of the XEP).

Advantages and disadvantages

Advantages

  • Open: the protocols and official documents are detailed and accessible to all in remote loading
  • Standard: the IETF standardized the bases of the protocol (XMPP) and its continuous evolution by its extensions with the XMPP Standards Foundation
  • Décentralisé: like the email, the Jabber services do not depend on only one access point
  • Sécurisé: the communication between the customer and the waiter can be quantified at the request of the customer and the communication between waiters is quantified
  • Extensible: it is possible to create and document extensions of the protocol by the “XEP”
  • Flexible: Jabber is also used in many other application that the simple cat: communication inter-applicative, collaboration quasi-time-reality, supervision, diffusion of messages, etc
  • Confidentiality: Jabber authorizes coding OpenPGP, the intermediate waiters cannot then observe the contents of the messages
  • Adoption: Jabber is adopted by great names: Google, IBM, Sun, France Telecom, SkyRock, Wengo, Gizmo, Adobe, One Process, Jive Software, etc

Disadvantages

  • Effect network: principal existing instant messagings (MSN, AIM, Yahoo…) are non-interopérables, and their network effect makes difficult the migration of the users to another system. Jabber is itself little known of the general public, and does not have its own network effect.
  • Audio
  • and Visio conference: Jabber was conceived like an instant messaging and of presence, transporting text structured in the form of flow XML. After various attempts, in particular with the protocol of Voice on network IP SIP, the Jabber community adopted itself recently on the protocol Jingle, in the course of standardization. The only software implementing this protocol is to date Google Talk.

Internal bonds

External bonds

    Standard
  • XMPP Foundation
  • JabberFR: documentation wiki, forum and blogs on Jabber
  • Selection of public waiters Jabber
  • Jabber: free instant messaging and much more still on Générationcyb.net

Random links:Daitoku-ji | Commission of the economic affairs, the environment and the territory | Dieter Anhuf | Line 91 TCL | Holy-Marie-with-mines