XMPP#Connecting to other protocols
An XMPP transport (also XMPP Agent or XMPP Gateway ) is a service within a XMPP network, the users of other instant messaging systems transparently represented 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, IRC, or to use and interact with their users. Also on MSN there was transport, which were obsolete by the shutdown of MSN however. Unlike multi-protocol clients to connect to foreign networks with XMPP not working by the fact that the necessary protocols are supported on the client side, the connection to foreign networks of XMPP servers is instead provided. The server " translate" this messages between the networks, without the two users involved must make special arrangements for this.
The following example should control the interaction between Alice, who uses a XMPP client and Bob, who is registered with ICQ illustrate:
- Alice initially gives the transport their ICQ credentials ( ICQ number and password).
- Thereupon the transport logs on behalf of Alice in ICQ and ICQ network behaves like a normal opposite ICQ client. On one hand, the transport will now transfer all messages from Bob ( in the ICQ network ) to the XMPP client from Alice. On the other hand, he directs all messages from Alice to Bob on.
- Bob gets from this sequence with nothing. Him it seems as if he would communicate directly with Alice.
- In the contact list ( in XMPP " roster " referred to ) by Alice Bob is represented as a "normal " XMPP user, although it is not XMPP, but connected to the ICQ network.
Each user of XMPP can register with transport by handing over the existing login information to this service. To do client service discovery (short disco to German " Search Services") support. Thus, it is possible to browse by server offered transport and to operate without additional installation of plugins communicate with users of proprietary instant messaging networks.
Although the XMPP protocol specifies no restrictions on the implementation of functions of foreign networks, the current transport support only basic functions (send and receive messages, visibilities ). If data transfers and chat rooms are supported, the usage is usually limited.
The transport itself is also represented by a Jabber Identifier. So you can set separately, for example, the visibility or recorded message for each network, or " for the transport be offline ", which causes a logout from the respective service.
The advantage of this concept is that a large part of the complex is shifted to the clients of the transport. Which allows the preparation of pure XMPP clients that have too small acceptance without transportation.
Pure XMPP clients are much easier to program and maintain, especially as the XMPP protocol can be easily implemented because of the public and stable specification. Ultimately, this will benefit the end user, because this increases the diversity of the clients.
In addition, updates must not be distributed through new client versions in dealing with the foreign protocols. Instead, only the server software is updated and all clients directly benefit from the changes.
Another advantage is the higher homogeneity in the user guide that offer pure XMPP clients. Although is not necessarily limited to pure XMPP clients, de facto seduce the special properties of the third-party protocols, however, the manufacturer of multi - protocol clients to more complex configuration windows.
The transportation are considered by many users due to unsatisfactory reliability and stability, as well as the high server-side load only as a last resort. You see the point of use, above all, to have the transitional period the previous contacts that use more proprietary networks, available in XMPP while. Nevertheless, the duration of use is considered to be justified by many users, especially since not all contacts are interested in migrating to XMPP.
It is generally recommended to choose a transport, the
Known Software for XMPP transport
Rich functionality, developed in Python transportation are:
- Project Overview to PyAIMt at Google Code
- Project Overview to pyicqt at Google Code
A transport Suite (AIM, ICQ, Gadu Gadu, Facebook, IRC, MSN, MySpace, QQ, SIMPLE, Twitter, XMPP, Yahoo! ) is Spectrum.
Other early implementations which are partially listed in the package lists some distributors used a fork of jabberd.
Commercial providers also offer gateways of XMPP into the GSM network for transparent SMS sending.