Jabber/XMPP – Ein Chat-Netzwerk ohne festen Anbieter

Kurz vorweg: Jabber und XMPP ist das selbe! Die Begriffe werden synonym verwendet.

Jabber ist ein Chat Netzwerk bei dem der Anbieter frei gewählt werden kann, unabhängig z.B. davon wo die Freunde sind. Das ist der entscheidende Unterschied zu anderen Chat-Netzwerken wie ICQ, Skype oder WhatsApp. Außerdem kann mit ein wenig technischem Know-How jeder selber zum Anbieter werden.

Inhaltsverzeichnis:

  1. Anbieter
  2. Client-Software
  3. Professioneller Einsatz
  4. Beispielhafte Einrichtung von Xabber unter Android
  5. Beispielhafte Einrichtung von Pidgin unter Windows oder Linux
    1. Bestätigung für Nachrichten-Empfang in Pidgin
  6. WebClients (ohne Installation)
  7. Sonstiges

 

Obwohl also die meisten Jabber-Benutzer bei unterschiedlichen Jabber-Anbietern sind, kann ein Benutzer des einen Anbieters problemlos mit einem Benutzer bei einem anderen Anbieter chatten. Das ganze funktioniert ähnlich wie bei E-Mail, wo ganz selbstverständlich Peter@t-online.de eine E-Mail an susi@web.de schicken kann. Und aus diesem Grund sehen Jabber-Benutzernamen auch genau wie E-Mail-Adressen aus. Es kann also genau so z.B. Peter@jabber.org direkt eine Chat-Nachricht an susi@jabber.at schicken. Passend zu diesen Parallelen mit E-Mail, ist bei einigen E-Mail Anbietern ein E-Mail-Konto praktischerweise gleichzeitig auch ein Jabber-Konto (z.B. bei Web.de und GMX). Leider ist das aber längst nicht bei allen E-Mail Anbietern der Fall.

Die ganz handfesten Vorteile der vielen möglichen Anbieter für Jabber sind:

  • Niemand muss zu einem bestimmten Anbieter gehen. Hauptsache es ist ein Jabber-Anbieter.
  • Man kann einfach den Anbieter wechseln ohne, dass wie z.B. bei einem Wechseln von Skype zu WhatsApp alle Freunde auch wechseln müssen.
  • Deswegen kann man auch einfach wechseln wenn ein Anbieter:
    • Sicherheitsprobleme hat
    • Pleite geht
    • oft ausfällt
    • einem aus irgendeinem anderen Grund nicht mehr passt

Somit gibt es bei der Anbieter-Wahl für Jabber keine Grenzen. Auch kann sich ein Anbieter z.B. entscheiden kostenpflichtige Zusatzservices anzubieten, die dann nur die Benutzer zahlen müssen die das auch möchten.

 

Genau wie der Anbieter kann zudem die Art wie man Jabber benutzt frei gewählt werden. Bei einigen Anbietern kann man Jabber direkt auf der Website des Anbieters benutzen. Das andere Extrem ist, dass man nicht mal für das Anlegen des Kontos auf die Website muss. Sondern man macht alles, inklusive des Konto Anlegens, direkt aus einer App oder Programm. Dieses Programm oder App, genannt Jabber-Client, kann man genau wie den Anbieter frei wählen. Hier passt wieder die Parallele zu E-Mail: Bei E-Mail kann man, egal wo man seine E-Mail-Adresse hat, bspw. Outlook, Thunderbird oder K-9 Mail zum Abrufen der E-Mails benutzen. Und genau so hat man auch bei Jabber die Wahl, welchen Jabber-Client man benutzen möchte. Eine Liste von Jabber-Clients für Windows, MacOSX, Android- Smartphones und iPhones findet sich hier weiter unten. Und einige E-Mail-Clients wie Thunderbird lassen sich sogar gleichzeitig als E-Mail- und Jabber-Client nutzen.

 

Weiterführende Informationen zu Jabber gibt es hier:
https://de.wikipedia.org/wiki/XMPP

Für Informatiker oder Firmen gibt es am Ende des Artikels einige interessante Hinweise für den professionellen Einsatz von Jabber zu entdecken.

 

Anbieter

Unter http://xmpp.net/ gibt es eine große Liste mit vielen verschiedenen Jabber-Anbietern und Informationen dazu, seit wann es den Anbieter jeweils gibt. Konkret würde ich z.B. folgende Anbieter empfehlen:

  • swissjabber.ch
    • Ein Swissjabber-Konto legt man direkt im Jabber-Client an. Dazu muss der Client diese Funktion unterstützen (z.B. Pidgin, Adium oder Yaxim). Nach Erstellen des Kontos kann man dann auch auf einen anderen Client umsteigen.
  • jabber.at
    • Konten bei jabber.at können auf der Website von jabber.at unter “Account anlegen” angelegt werden.

 

Client-Software

Eine noch viel größere Liste von Jabber-Clients gibt es hier. Allerdings dürften für die meisten die folgenden Clients eine sehr gute kleine Auswahl sein.
http://xmpp.org/xmpp-software/clients/

 

Jabber-Client für Windows und Linux
http://www.pidgin.im/

Zu Pidgin ähnlicher Jabber-Client für MacOSX (Apple)
http://www.adium.im/

 

Jabber-Client für Android
http://www.xabber.com/
http://f-droid.org/repository/browse/?fdfilter=Xabber&fdid=com.xabber.androiddev
https://play.google.com/store/apps/details?id=com.xabber.android

 

Jabber-Client für Android
http://yaxim.org/
http://f-droid.org/repository/browse/?fdfilter=Yaxim&fdid=org.yaxim.androidclient
https://play.google.com/store/apps/details?id=org.yaxim.androidclient

 

Jabber-Client für iOS (iPhone und iPod Touch)
https://itunes.apple.com/de/app/im+-instant-messenger/id285688934?mt=8

 

Weitere Jabber-Clients für Linux, Windows, MacOSX, Android, iOS, Synbian, Windows Mobile, BlackBerry, J2ME (Featurephones) und als Web-Anwendung.
http://xmpp.org/xmpp-software/clients/

 

Professioneller Einsatz

Bei Jabber besteht die Möglichkeit selber zum Anbieter zu werden. Das kann insbesondere für Informatiker, Firmen oder andere Organisationen interessant sein. So kann ein Firmen-Chat genutzt werden ohne auf einen externen Anbieter angewiesen zu sein. Und die Benutzer-Namen enden schick auf @firmenname.de. Bspw. Microsoft bietet mit seinem Kommunikations-Server Lync eine entsprechende Jabber Anbindung. Ebenso existiert eine Vielzahl von Tutorials um auf einem Debian- oder Ubuntu-Server einen eigenen Jabber-Server zu betreiben.
https://en.wikipedia.org/wiki/Microsoft_Lync_Server#XMPP

Außerdem ist es aufgrund einer Vielzahl frei verfügbarer Software-Bibliotheken besonders leicht einen eigenen Jabber-Client zu schreiben. Interessant ist auch, dass Jabber so direkt in andere Software-Systeme integriert werden kann. Es kann dann bspw. zum Versenden automatischer Meldungen oder auch zur asynchronen Kommunikation von Anwendungen untereinander eingesetzt werden.
http://xmpp.org/xmpp-software/libraries/

 

Beispielhafte Einrichtung von Xabber unter Android

Im folgenden werde ich in Einzelschritten die Einrichtung der Jabber-App Xabber auf einem Android-Smartphone erläutern. Als Anbieter setzte ich dazu jabber.at ein. Prinzipiell geht aber auch jeder andere Anbieter. Allerdings gibt es Anbieter bei denen der Account nicht über die Website des Anbieters sondern direkt im Client erstellt wird. Da Xabber das nicht unterstützt, muss der Account zuvor mit einem anderen Client wie Pidgin, Adium oder Yaxim erstellt werden (siehe Pidgin-Beispiel).

Zuerst muss auf ein Konto angelegt werden. Das geht einfach auf der Website von jabber.at unter “Account anlegen“. Dort trägt man den gewünschten Benutzernamen und das gewünschte Passwort ein. Danach klickt man auf “Erstellen”. Der vollständige Benutzername ist dann: NAME@jabber.at

Danach installiert man Xabber auf seinem Android Handy. Das geht wahrscheinlich am einfachsten über den Google Play App-Store. Alternativ ist Xabber auch oder über den OpenSource-Software App-Store F-Droid.org erhältlich. Dort gibt es auch eine APK-Datei für die manuelle Installation.

Nach der Installation startet man die App und richtet dann den soeben angelegten Account folgendermaßen ein:

  1.  “Konto hinzufügen” antippen.
  2. Benutzername komplett mit @ und dem dahinter folgenden Teil eingeben. Ebenfalls das Passwort eingeben. Der Haken “Mit Telefonbuch synchronisieren” kann deaktiviert werden (ich habe nie ausprobiert wie der sich auswirkt).
  3. Danach kommt vermutlich die Meldung “Warte auf Verbindung”, “Wiederverbinden”. Um dieses Problem zu beheben sind folgende Schritte nötig:
  4. Menü => Einstellungen => Konten => das Konto auswählen => Haken bei “Benutzerdefinierter Host” entfernen. Jetzt sollte Xabber funktionieren.

Zusätzlich sollten in den Konten-Einstellungen noch folgende Optionen gesetzt werden:

  • “TLS/SSL-Verschlüsselung” auf “TLS benötigt” (erhöht die Sicherheit)
  • Kompression benutzen (es müssen weniger Daten übertragen werden)

Direkt unter Einstellungen sollte zudem folgendes festgelegt werden:

  • Verbindungseinstellungen => “Mit Android starten” aktivieren (App startet nach Handy-Neustart automatisch wieder mit)
  • Sicherheit => “OTR-Modus” auf “Deaktiviert” stellen (OTR ist eine zusätzliche Verschlüsselung, die allerdings auf Handys oft zu unlesbaren Nachrichten führt)
  • Kontaktliste => “Kontakte, die offline…” aktivieren um auch Kontakten Nachrichten schicken zu können, die gerade offline sind. Die Nachrichten kommen dann an, sobald der Kontakt online geht.

Wen das andauernde Icon oben links am Bildschirmrand nervt, kann dieses in den Einstellungen unter folgendermaßen ausstellen:
Benachrichtigungen => “Icon dauerhaft in der…” deaktivieren.Allerdings kann das insbesondere bei älteren Handys (vor Android 4) dazu führen, dass Xabber nach einigen Stunden aus geht und erst wieder arbeitet, wenn man es direkt öffnet. Man bekommt dann z.B. nicht mit, wenn jemand einem eine Nachricht geschrieben hat.

Neue Kontakte können über das Menü und dann “Kontakt hinzufügen” mit ihrem Jabber-Benutzernamen hinzugefügt werden.

 

Beispielhafte Einrichtung von Pidgin unter Windows oder Linux

Im folgenden werde ich in Einzelschritten die Einrichtung des Jabber-Clients Pidgin unter Windows oder Linux erläutern. Als Anbieter setzte ich dazu swissjabber.ch ein. Prinzipiell geht aber auch jeder andere Anbieter. Allerdings gibt es Anbieter bei denen der Account nicht wie hier direkt über den Client, sondern zuvor über die Website des Anbieters erstellt werden muss. Bspw. jabber.at, siehe Xabber-Beispiel.

Installation Windows: Für die Installation unter Windows muss man sich zuerst unter folgender Adresse das Installationsprogramm für Pidgin herunterladen.
http://www.pidgin.im/download/windows/
Nach dem Start des Programms kann man sich einfach mit “Weiter” durch das Installationsprogramm klicken. Besonderes gilt es hier nicht zu beachten und es wird keine komische Toolbar oder so mit installiert.
Wer will kann jedoch nach dem 2. Mal “Weiter” klicken noch “Desktop” mit auswählen und so eine Verknüpfung auf dem Desktop anlegen lassen. Ansonsten gibt es nur eine Verknüpfung im Startmenü.

Unter Linux installiert man Pidgin am einfachsten über die Paketverwaltung. Unter Ubuntu-Linux findet man diese bspw. unter “Software-Center” und unter openSUSE-Linux unter “YaST => Software installieren oder löschen”. Dort kann man nach “Pidgin” suchen und es dann direkt installieren.

Nach der Installation kommt der erste Start von Pidgin. Dabei sollte automatisch eine Meldung “Willkommen bei Pidgin!” angezeigt werden. Sollte die Meldung nicht kommen, wählt man stattdessen im mit “Buddy-Liste” betitelten Fenster “Konten => Konten verwalten”. Jetzt auf “Hinzufügen…” klicken und dann folgende Einstellungen machen (die anderen Einstellungen könnten unangetastet bleiben):

  • Protokoll: XMPP
  • Benutzer: Ein beliebiger Benutzername, bspw. “Test”.
  • Domain: swissjabber.ch
  • Passwort: ein Passwort
  • Passwort speichern: Für die meisten wahrscheinlich “Ja”
  • Dieses neue Konto auf dem Server anlegen: Diese Einstellung muss aktiviert werden! Es sei denn man hat genau diesen Benutzernamen schon zuvor an einem anderen Computer/Handy oder über die Website des Anbieters erstellt. Dann einfach aus lassen aber auch darauf achten, dass das Passwort das richtige ist.

Der vollständige Benutzername setzt sich nun aus als Benutzername eingegebenen Text und @swissjabber.ch zusammen. Könnte hier also z.B. test@swissjabber.ch lauten.
Dann auf “Hinzufügen” klicken. Insofern der Benutzername neu erstellt wird (siehe letzter Einstellungspunkt), muss jetzt das Passwort nochmal zur Bestätigung eingegeben werden. Danach wird nochmal bestätigt, dass der Benutzername neu angelegt wurde. Sollte etwas nicht klappen, muss man evtl. einen anderen Benutzernamen wählen da es diesen schon gibt.

Jetzt ist Pidgin fertig eingerichtet. Kontakte können über “Buddys => Buddy hinzufügen” mit ihrem Jabber-Benutzernamen hinzugefügt werden (dem ganzen Benutzernamen, also auch dem Teil hinter dem @). Der eigene Benutzername kann ggf. unter “Konten => Konten verwalten” in der Spalte “Benutzer” nachgesehen werden.

Bestätigung für Nachrichten-Empfang in Pidgin

Die folgenden Schritte muss man nicht durchführen. Sie sind aber trotzdem empfehlenswert.

Leider kann Pidgin nicht von selbst erkennen, ob eine Nachricht den Empfänger erfolgreich erreicht hat. Es gibt jedoch ein Plugin für Pidgin das diese Funktion nachrüstet.

https://www.assembla.com/spaces/pidgin-xmpp-receipts/documents

Im folgenden die Anleitung zur Installation dieses Plugins (Version 0.6 vom 04.07.2013).

Windows

“xmpp-receipts.dll” von hier herunterladen und in EINES dieser Verzeichnisse  kopieren (der Unterordner “plugins” muss evtl. neu erstellt werden):
C:\Benutzer\BENUTZER\Anwendungsdaten\.purple\plugins
C:\Dokumente und Einstellungen\BENUTZER\Anwendungsdaten\.purple\plugins
C:\Programme (x86)\Pidgin\plugins
C:\Programme\Pidgin\plugins

Linux

1a. Pakete gcc, make und pidgin-dev (oder pidgin-devel) installieren. Danach C-Quellcode und Makefile herunterladen, in einem Ordner speichern und auf der Konsole mit dem Befehl “make” kompilieren.
1b. Wem Kompilieren zu kompliziert ist (obwohl es wirklich einfach ist!!!), der kann hier die fertig kompilierte “xmpp-receipts.so” für x86 32-Bit und 64-Bit Linux herunterladen: pidgin-xmpp-receipts_v0.6.tar.gz
Wurde für Pidgin 2.10.7 kompiliert und auf openSUSE 12.3 und Ubuntu 13.04 getestet. Sollte es nicht funktionieren, bitte selber kompilieren.
2. “xmpp-receipts.so” nach “/home/BENUTZER/.purple/plugins/” kopieren (der Unterordner “plugins” muss evtl. neu erstellt werden).

Plugin aktivieren und Benutzen (Windows und Linux)

Installation Abschließen

Pidgin (neu) Starten und bei
Werkzeuge => Plugins => XMPP Receipts
den Haken zum aktivieren setzen.

Benutzung

Ab jetzt steht hinter allen Jabber-Nachrichten ein kleines Häkchen, sobald der Empfänger die Nachricht erhalten hat. Es sollte etwa so aussehen: ✓
Das klappt aber nur, wenn der Empfänger einen Client hat der dieses Verfahren (XEP-0184) unterstützt. Bekannte Clients mit Unterstützung sind:

Und für alle die es besonders genau und technisch wissen wollen, hier noch 2 Links mit technischen Infos.

  • http://xmpp.org/extensions/xep-0184.html
  • https://developer.pidgin.im/ticket/6940#comment:10

Weitere Infos

XMPP XEP-0184 Erweiterung: http://xmpp.org/extensions/xep-0184.html
Eintrag im Ticket-System von Pidgin: https://developer.pidgin.im/ticket/6940

 

WebClients (ohne Installation)

http://jwchat.org/
http://www.webxmpp.com/
http://www.igniterealtime.org/projects/sparkweb/index.jsp
http://www.igniterealtime.org/sparkweb/ (benötigt Adobe Flash)

Für Accounts bei jabber.at:
https://jabber.at/web/

Profis können sich auch mit folgender Software auf ihrem eigenen Server selber einen Jabber-WebClient einrichten.
http://candy-chat.github.io/candy/
http://stefan-strigler.de/jwchat/ ( https://en.wikipedia.org/wiki/JWChat )
https://project.jappix.com/

 

Sonstiges

Anleitung zum Einrichten von Transports, um das Jabber-Konto mit einem anderen Messenger (z.B. ICQ oder MSN) zu verbinden.
https://jabber.rwth-aachen.de/wiki/Einrichtung_Gajim#ICQ_Transport

Weitere Anleitungen zum Einrichten von Jabber auf verschiedenen Betriebssystemen und mit verschiedenen Programmen finden sich auf: http://www.einfachjabber.de/oslist

Hier gibt es zwei riesige Listen von XMPP-Clients:
https://de.wikipedia.org/wiki/Liste_von_XMPP-Clients
https://en.wikipedia.org/wiki/Comparison_of_instant_messaging_clients#Protocol_support