Penguin
Note: You are viewing an old revision of this page. View the current version.

Introduction

Like most things proprietary, OpenSource people have written their own InstantMessenger, called Jabber. Jabber is built on a robust model, similar to SMTP and HTTP - and completely unlike IRC's unscalable mess :) It is based on a core XML router with small plugin modules handling all the various parts of the InstantMessaging. It supports "Transports" which allow a Jabber user to talk to users of other InstantMessenger networks such as AIM, MSN, ICQ, YahooMessenger, SMTP, IRC, IMAP and many others. It has clients for MicrosoftWindows, Linux, various PDA's and other machines/devices.

You may want a nice simple introduction to SettingUpJabber?. PerryLorier has also written a JabberWiki.

Clients for Linux

GTK/GNOME

Qt/KDE

Console

Clients for MicrosoftWindows

Other Platforms


Client notes

  • You can log in multiple times on the same account - this is what the "resource" is. So you could log in from different machines, and give each a different resource name.

  • If a message is sent to just your id (without specifying a resource) then it goes to whichever of your clients has the highest "priority" (which you can set at log in time).

  • If you are not online when a message is sent to you, your jabber server will hold it for you until you next connect.

Client-specific notes

tkabber

  • If you are part of a conference, you can click on the Subject: to get a list of actions.

Running a Jabber Server

Having trouble getting the Jabber server under Debian working? Here are some hints.

I register as a new user and it won't let me login, I get a 401 error message.

Debian commented out the mod_auth_plain module from their sample config, presumably to pressure users into using secure authentication methods. While this is a worthy goal, they overlooked that creating new users uses mod_auth_plain. If you uncomment this module it will work.


Using Transports

Your jabber server will have a list of transports you can use. These will provide communications with other services, such as multiuser conferencing, ICQ, AIM, Yahoo, MSN, IRC, or even SMTP (ie, standard email). Normally they have descriptive names like 'icq.jabber.org' so are easy to guess, but it pays to have a lot at the transports available.

ICQ transport

There are two main implementations of this around the place. ICQ and AIM actually use the same protocol, so the AIM-t transport can be used as an ICQ transport as well. There is also a JIT transport which handles ICQ and ICQ-SMS a lot better than the AIM-t transport.

If your jabber server uses the AIM-t transport, you should subscribe to the icq.jabber.domain.whatever agent, using your ICQ username and password, and then you can add contacts of the form icqid@icq.jabber.domain.whatever. You can send SMS's by sending something like

SEND-SMS:+cellphonenumber:<message>

to any ICQ recipient on your jabber list.

If your jabber server uses the JIT transport, then use it instead of AIM-t. Its a lot nicer, supports user searching correctly, handles SMS better, so on. Subscribe as above (check what the agent is actually called first!). You can add contacts of the form icqid@jit.jabber.domain.whatever, for icq, or phonenumber@sms.jabber.domain.whatever for sms.

NOTE: all server names mentioned above are guides only, make sure you get the correct DNS name of the transport for your jabber server!