Jabber notes

From Helpful

This article/section is a stub — probably a pile of half-sorted notes and assertions some of which may well be wrong, and not verified as a whole. Feel free to add or refine.

Jabber refers to the eXtensible Messaging and Presence Protocol (XMPP, [1]), (Jabber is the old name, now an unofficial one) an XML-based protocol for instant messaging, presence, and buddy lists, and supports encryption.

It is extensible; XMPP Extension Protocols (XEPs, [2]) exist for things like file transfer, Jingle (Google's multimedia exchange, used in Google Talk), avatars, encryption, multi-user chat, RPC and SOAP via XMPP, vcards, user mood, activity, geolocation, tune, and a more generic publish/subscription system, and more


Jabber allows multiple logins on the same account, and all logins will receive the same messages (which can be handy to avoid missing messages when you log in at home and work).

Note, however, that additional transports may not support this(verify).


Servers

There are various implementations, including:


Transports

You can set up access to other IM networks via transports (a.k.a. gateways), for example:

These transports are apps that are clients both to the respective IM network and your jabber server. It will take a domain JID on your jabber network (e.g. msnjabber.example.com), which you'll probably configure to be descriptive of the protocol.

As an admin, most of the setup is in setting the host, JID, and shared secret, and having the transport start automatically.

As a client, you can register with these additionally installed transports at a particular jabber server. Jabber IDs are based on this combination, e.g. user%hotmail@msnjabber.example.com, so switching servers has implications.


Note that most/all(verify) do not understand multiple account logins, and will send messages only to the highest priority resource.


Transports also exist for SMS, email, and others.