XMPP transport

from Wikipedia, the free encyclopedia

An XMPP transport (also XMPP agent or XMPP gateway ) is a service within an XMPP network that transparently represents users of other instant messaging systems as XMPP users.

This makes it possible to use other networks (often referred to as legacy services ) such as AIM , ICQ , Y! M , Gadu-Gadu or IRC and to interact with their users. Also to MSN there was transport, which were obsolete but by the shutdown of MSN. The servers “ translate ” the messages between the networks without the two users involved having to take special precautions.

functionality

The following example is intended to illustrate the process between Alice , who uses an XMPP client, and Bob , who is registered with ICQ:

  • Alice first gives the transport her ICQ login data (ICQ number and password).
  • The transport then logs on to ICQ on behalf of Alice and behaves towards the ICQ network like a normal ICQ client. On the one hand, the transport now transfers all messages from Bob (in the ICQ network) to Alice's XMPP client . On the other hand, he forwards all messages from Alice to Bob .
  • Bob is not aware of this process. It seems to him that he is communicating directly with Alice .
  • In Alice's contact list (called “Roster” in XMPP) , Bob is shown as a “normal” XMPP user, although he is not connected to the XMPP but to the ICQ network.
Alice sends her message to the XMPP server she is logged on to. This sends the message to the XMPP transport. The XMPP transport forwards them to Bob via the ICQ server.

Every user of XMPP can register with transports by submitting their existing login information to this service. To do this, clients must support service discovery ( disco for short , in German “search through services” ). This makes it possible to search servers for offered transports and to communicate with users of proprietary instant messaging networks without installing additional plugins .

Although the XMPP protocol does not impose any restrictions on the implementation of functions from external networks, the current transports only support basic functions (sending and receiving messages, visibility). If data transfers and chat rooms are supported, their use is usually only possible to a limited extent.

The transport itself is also represented by a Jabber identifier . So you can z. B. set the visibility or absence message separately for the respective network, or "be offline for the transport", which causes a logout from the respective service.

advantages

The advantage of this concept is that a large part of the complexity is shifted from the clients to the transports. This allows the production of pure XMPP clients that would have too little acceptance without transports.

Pure XMPP clients are considerably easier to program and maintain, especially since the XMPP protocol can be implemented well because of its public and stable specification. Ultimately, the end user benefits from this because it increases the variety of clients.

In addition, updates in dealing with the external protocols do not have to be distributed by new client versions. Instead, only the server software is updated and all clients benefit immediately from the changes.

Another advantage is the greater homogeneity in user guidance that pure XMPP clients offer. Although this is not necessarily restricted to pure XMPP clients, the special properties of the external protocols actually lead to more complex configuration windows for multi-protocol clients.

disadvantage

Many users regard the transports only as an emergency solution due to their unsatisfactory reliability and stability as well as the high load on the server. They see the sense of using it, above all, in having the previous contacts who still use proprietary networks available in XMPP during the transition period. Nevertheless, long-term use is also seen as justified by many users, especially since not all contacts are interested in migrating to XMPP.

Well-known software for XMPP transports

Functional transports developed in Python are:

Other, early implementations, some of which are still in the package lists of some distributors, used a fork of the jabberd.

Commercial providers also offer gateways from the XMPP to the GSM network for transparent SMS sending.

  • biboumi - XMPP <-> IRC gateway

Documents

Individual evidence

  1. XMPP Standards Foundation: XEP-0030: Service Discovery Version 2.2, January 24, 2006