asterisk, Jabber und GTalk

Diesen Beitrag schrieb ich 16 Jahre und 10 Monate zuvor; die nachfolgenden Ausführungen müssen heute weder genau so nach wie vor funktionieren, noch meiner heutigen Meinung entsprechen. Behalte das beim Lesen (und vor allem: beim Nachmachen!) bitte stets im Hinterkopf.

Geschätzte Lesezeit: 2 Minuten

Hier folgt nun eine ganz kurz gefasste Anleitung, wie sich asterisk an Jabber/GTalk knüppeln lässt.

Installation der Abhängigkeiten

$ apt-get install libgnutls-dev
$ cd /usr/src
$ wget http://jabberstudio.rediris.es/iksemel/iksemel-1.2.tar.gz
$ tar xvfz iksemel-1.2.10.tar.gz
$ cd iksemel-1.2.10
$ ./configure
$ make
$ make install
$ echo "/usr/local/lib" >> /etc/ld.so.conf.d/i486-linux-gnu.conf
$ ldconfig

Danach muss auch asterisk neu übersetzt werden, aber das ist ja das Übliche, deshalb gehe ich da nun nicht näher darauf ein. Nach dem Installieren kann im asterisk-CLI nun Verschiedenes gesehen werden, Bsp.:

CLI> jabber show connected
Jabber Users and their status:
----
   Number of users: 0

Klar, wir haben ja noch keine Konfiguration hinterlegt. Wenn sich jabber schon nicht per TAB expanden lässt, ist was schiefgegangen; in dem Fall asterisk mal so starten:

$ asterisk -vvvv 2>&1 | grep -i jabber

Kommen dann irgendwelche Meldungen nach dem Motto libiksemel.so.3 not found, sollten ein ldconfig und anschließender Neustart Abhilfe schaffen. Soweit so gut.

Die Konfiguration

Für die Telefonanlage selbst habe ich einen eigenen GMail-Account eingerichtet, PBX@gmail.com. Nun wird dem asterisk verklickert, dass er den benutzen soll:

/etc/asterisk/jabber.conf

[general]
debug           = yes
autoprune       = no
autoregister    = no

[PBX]
type            = client
serverhost      = talk.google.com
username        = PBX@gmail.com
secret          = ********
port            = 5222
usetls          = yes
usesasl         = yes
buddy           =
statusmessage   = "I am 'PBX' asterisk server!"
timeout         = 100

/etc/asterisk/gtalk.conf

[general]
context         = default
aloowguest      = no

;----------------------------------------------------------------------
; Hier folgen nun die einzelnen Buddies (?)
;
[User-1]
username        = User-1@gmail.com
disallow        = all
allow           = ulaw
context         = default
connection      = PBX

Nachrichten an asterisk senden

Im asterisk-CLI kann man nun mittels jabber reload und gtalk reload die neue Konfig einlesen und mittels jabber show connected sollte man auch sehen, dass unser PBX@gmail.com nun verbunden ist. Auch kann User-1 unseren PBX nun als Buddy hinzufügen und in der Kontaktliste sehen – natürlich mit der Status-Message „I am 'PBX' asterisk server!“. Man kann dem asterisk nun Nachrichten tickern; diese erscheinen vorerst lediglich auf dem CLI. Sende ich beispielsweise ein BLA an den asterisk, erscheint auf dem CLI folgendes:

JABBER: sirrixPBX INCOMING: < message type="chat" id="gaim5bc58863" to="PBX@gmail.com" from="User-1@gmail.com/Talk@talk.0862DFEE" >< body >BLA< /body >< html xmlns="http://jabber.org/protocol/xhtml-im" >< body xmlns="http://www.w3.org/1999/xhtml" >BLA< /body >< /html >< nos:x value="disabled" xmlns:nos="google:nosave"/ >< arc:record otr="false" xmlns:arc="http://jabber.org/protocol/archive"/ >< /message>

Nachrichten von asterisk empfangen

Das allein hilft uns erst einmal nichts; der umgekehrte Weg ist vorerst der interessantere. Ich möchte nämlich per Ticker-Fenster informiert werden, wer mich zu welcher Uhrzeit zu erreichen versucht hat; zudem kann ich dann die akustische Signalisierung an meinen Telefonen abstellen, da ich sie nicht mehr benötige – so ist es gleich viel stiller im Büro. Da meine Durchwahl die 129 ist, bastle ich mir in der extensions.conf also eine entsprechende (hier: stark vereinfachte) Wählanweisung:

exten => 129,1,Set(JIDMARIANNE="PBX,${GTALKMARIANNE}")
exten => 129,n,JABBERSend(${JIDMARIANNE},Incoming call from "${CALLERID(name)} <${CALLERID(num)}>;"!)
exten => 129,n,Dial(SIP/129)

Wichtig hierbei ist, dass ich unter [globals] die Variable ${GTALKMARIANNE} definiert habe – sie ist natürlich User-1@gmail.com, wie in der asterisk-Konfig auch.

Fazit

Und so funktioniert der Unsinn tatsächlich; indem ein Anruf hereinkommt, erhalte ich entsprechende Meldung im Ticker-Fenster… Man braucht es initial erstmal nicht, aber es ist nett es zu haben. Und vor allem – man lernt den Umgang mit der Software. asterisk hat 1000 Tücken wie mir scheint, und nur die kontinuierliche Arbeit mit dem System beseitigt die Unklarheiten auf Dauer – vielleicht…

Alle Bilder dieser Seite: © Marianne Spiller – Alle Rechte vorbehalten
Hintergrundbild: 849x 500px, Bild genauer anschauen – © Marianne Spiller – Alle Rechte vorbehalten

Eure Gedanken zu „asterisk, Jabber und GTalk“

Ich freue mich über jeden Kommentar, es sei denn, er ist blöd. Deshalb behalte ich mir auch vor, die richtig blöden kurzerhand wieder zu löschen. Die Kommentarfunktion ist über GitHub realisiert, weshalb ihr euch zunächst dort einloggen und „utterances“ bestätigen müsst. Die Kommentare selbst werden im Issue-Tracker und mit dem Label „✨💬✨ comment“ erfasst – jeder Blogartikel ist ein eigenes Issue. Über GitHub könnt ihr eure Kommentare somit jederzeit bearbeiten oder löschen.