Aus Linux-Magazin 06/2008

Groupware mit dem VoIP-Telefon

Pixeljäger, Fotolia

Mit ein wenig Know-how und dem passenden Skript können VoIP-Telefone Rufnummern und Namen aus einem Groupware-Server verwenden. Manche zeigen sogar Termine oder Fußballergebnisse an.

Nicht nur der Asterisk-Server ist ein mächtiges Werkzeug, das eine klassische Telefonanlage zu ersetzen vermag. Auch in vielen Endgeräten schlummern ungenutzte Fähigkeiten, die klassische Telefonie weit übertreffen. So bietet die Snom Technology [1] aus Berlin mit ihren VoIP-Telefonen Snom 360 und 370 effiziente und komfortable Apparate an, die sich mit wenig Aufwand in schlanke Groupware-Clients verwandeln lassen.

Die Snom-Geräte

Alle Telefonapparate der 360er und 370er Serie verfügen über ein 12-stelliges, programmierbares Tastenfeld, ein integriertes Telefonbuch, einen eingebauten Webserver und Funktionen, die sich für fast jeden Zweck individuell anpassen lassen. Neben der Buchse fürs Headset gehört zwar auch ein Stromkabel zum Lieferumfang, es bietet sich aber eher an, die Telefone mit Power over Ethernet (POE) zu versorgen. Der Technologieführer im Bereich POE, Powerdsine, hat die Snom-Telefone 360 und 320 nach dem IEEE-Standard 802.3af zertifiziert [2].

Wie zu erwarten, ist es auch bei den Snoms kein Hexenkunststück, Gespräche zu führen, zu vermitteln oder von einem anderen Apparat zu übernehmen. Kleine LEDs auf dem Tastenfeld signalisieren ankommende Gespräche durch eifriges Blinken. Auch die Gespräche anderer interner Teilnehmer lassen sich damit schnell ablesen.

Für Telefonzentralen ist es möglich, dies Tastenfeld zusätzlich mit bis zu drei Erweiterungsmodulen zu kaskadieren. Jedes davon erhöht die Anzahl von Tastenfeldern und LEDs um 42. Ist die Telefonanlage richtig konfiguriert, zeigt das Snom mit Hilfe eines Lichtleins an, ob Anrufe auf der Sprachmailbox liegen. Diese Fähigkeit macht sich zum Beispiel der Groupware-Server Citadel [3] im Gespann mit Asterisk bei einer einheitlichen Mailbox für E-Mail, Chat, Groupware und Telefonie zunutze (Kasten “Keine Hexerei: Citadels Unified Inbox”).

Das Display der Snoms zeigt auch die Anzahl der Nachrichten und der verpassten, getätigten und angenommenen Gespräche. Über den [DND]-Knopf (Do not disturb) versetzt der Benutzer das Telefon in eine Art Abwesenheitsschaltung.

Das VoIP-Telefon konfigurieren

Die Konfiguration der Telefone erfolgt übers Netzwerk. Admins mit größerer Teilnehmerzahl im VoIP-Netz werden dabei nicht auf Provisioning [4] verzichten wollen. Die Snoms können ihre Konfiguration als XML-Datei von einem DHCP-Server beziehen. Die entsprechenden Einstellungen dafür übernimmt der Administrator bequem im Browser von seinem Arbeitsplatz aus. Der im VoIP-Telefon eingebaute Mini-Webserver macht\’s möglich.

Jeder Telefonapparat verfügt darüber hinaus über ein eigenes internes Adressbuch, das bis zu 100 Nummern und Namen speichert. Eine Import/Export-Schnittstelle für CSV-Dateien ist im Webfrontend enthalten (Abbildung 1).

Abbildung 1: Dieses Telefonbuch ist direkt auf den Snom-VoIP-Telefonen hinterlegt. Über einen integrierten Webserver können Benutzer via Browser darauf zugreifen und CSV-Daten importieren. Auch die Konfiguration der Apparate erledigt der Admin vom Webbrowser aus.

Abbildung 1: Dieses Telefonbuch ist direkt auf den Snom-VoIP-Telefonen hinterlegt. Über einen integrierten Webserver können Benutzer via Browser darauf zugreifen und CSV-Daten importieren. Auch die Konfiguration der Apparate erledigt der Admin vom Webbrowser aus.

Wetter- und Fußballmeldungen

Der interne XML-Browser der Snom-Telefone eröffnet dem Admin ungeahnte Möglichkeiten. Lässt er dem Spieltrieb freien Lauf, dann landet vielleicht zunächst die aktuelle Wetterlage auf dem Display. Wenig später zeigt das Telefon zum Erstaunen der Kollegen auch die aktuellen Zwischenstände der Bundesliga oder der Fußball-EM an. Mit einfachem XML-Code lässt sich von simplem Text bis hin zu einer komfortablen Menüsteuerung vieles realisieren.

Erste-Hilfe-Menü

Eine erste praktische Anwendung ist die sinnvolle Belegung der [Hilfe]-Taste des Snom-Telefons. In der Datei »index.xml« definiert der Admin dafür eine Menüstruktur, im Beispiel ein einfaches Hilfemenü, in dem sich Antworten auf immer wiederkehrende Fragen der Mitarbeiter über die Bedienung des Telefons festhalten lassen (Listing 1).

Listing 1:
»index.xml«

01 <?xml version="1.0" encoding="UTF-8"?>
02 <SnomIPPhoneMenu>
03 <Title>Hilfe Menu</Title>
04 <MenuItem>
05 <Name>DND</Name>
06 <URL>http://mein.webserver/dnd.xml</URL>
07 </MenuItem>

Den Link auf diese Datei hinterlegt der Administrator in der Konfiguration des Telefons, und schon erhält der Benutzer das gewünschte Menü. Zusammen mit der Datei »dnd.xml« aus Listing 2 ergibt sich damit eine kleine Menüsteuerung mit einem Unterpunkt, der dem Benutzer etwa die Funktion der Taste [DND] erklärt. Abbildung 2 zeigt, wie ein Menü mit den Einträgen »Suchen«, »Anzeigen Alle« und »Über« auf dem Snom-Display aussehen kann.

Abbildung 2: Dank eines einfachen Menüs mit Unterpunkten kann der Benutzer auf dem Display seines Telefons Kontakte im Adressbuch suchen.

Abbildung 2: Dank eines einfachen Menüs mit Unterpunkten kann der Benutzer auf dem Display seines Telefons Kontakte im Adressbuch suchen.

Klassische Telefonanlagen halten meist parallel ein zentrales und ein Mitarbeiter-spezifisches Telefonbuch vor. Diese Verzeichnisse sind entweder Server-seitig auf der Telefonanlage hinterlegt oder auf den einzelnen Telefonapparaten gespeichert, manchmal auch beides.

Abbildung 3: Für jeden Incoming Call zeigt das Snom den in der Groupware gespeicherten Namen des Anrufers an, falls ein Eintrag passt.

Abbildung 3: Für jeden Incoming Call zeigt das Snom den in der Groupware gespeicherten Namen des Anrufers an, falls ein Eintrag passt.

Listing 2:
»dnd.xml«

01 <?xml version="1.0" encoding="UTF-8"?>
02 <SnomIPPhoneText>
03 <Title>DND</Title>
04 <Prompt>Prompt Text</Prompt>
05 <Text>Die Taste DND (Do Not Disturb) schaltet das Telefon in den Abwesenheitsmodus.</Text>
06 </SnomIPPhoneText>

Adressen und Verzeichnisse

Das gilt grundsätzlich auch für Asterisk und die Snom-Telefone, ganz egal, ob der Admin eine Out-of-the-Box-Lösung des freien Telefonie-Servers nutzt oder Asterisk eigenhändig installiert. Die Komplettangebote haben meist eine benutzerfreundliche Bedienoberfläche und bieten neben dem zentralen auch ein individuelles Telefonbuch an.

Einige nutzen bereits den XML-Browser von Snom, andere bieten nur eine Weboberfläche zum Wählen per Browser an. Gemäß dem Motto “Viele Köche verderben den Brei” bedeutet dies in der Praxis leider fast immer, dass viele Telefon- und Adressbücher für die Benutzer und Dienste an verschiedenen Orten existieren. Leidgeprüfte Groupware-Administratoren können davon ein Lied singen, denn die Probleme sind nicht neu: Verteilte und nicht synchrone Adressbücher erweisen sich früher oder später in jedem Unternehmen als Ärgernis.

Herr über die Kontaktdaten

Wie beim Übergang von reinen Mail- zu Groupware-Servern geht meist auch mit der Einführung von VoIP eine Konsolidierung der Adressbücher einher, und da stellen sich dann die entscheidenden Fragen: Sollen Benutzer neue Kontakte im Adressbuch des Telefons oder auf dem Asterisk-Server anlegen? Besteht bereits ein zentrales Adressbuch? Ist es möglich, vorhandene Adressbücher zu importieren? Können die Endgeräte mit diesem umgehen? Mehr und mehr Firmen setzen dann auf einen zentralen Groupware-Server, der Termine, E-Mail-Adressen, Projekte und mehr zentralisiert speichert und verwaltet.

Einen Abgleich mit den mobilen Geräten gibt es hier schon länger, dank der Syncml-Fähigkeiten verschiedener Handys ist das auch ohne Kabel über WLAN, Bluetooth und von unterwegs aus möglich. Auch Mobilfunk-Provider haben die Zeichen der Zeit erkannt und integrieren den automatischen Abgleich in ihr Endkundenangebot.

Die drahtgebundene Telefonie scheint da noch ein Stiefkind zu sein, gerade unter Linux steckt CTI [5] immer noch in den Kinderschuhen. Die Pinguin-Benutzer müssen ihre gewünschten Telefonnummern in der Regel noch eigenhändig wählen. TAPI-Schnittstellen [6] vereinfachen dies zwar, sind aber leider kein fester Bestandteil von Telefonanlagen, Telefonen oder entsprechenden Clientprogrammen. Meist ist extra Hard- oder Software nötig und ohne Rechner geht gar nichts.

Asterisk trifft Egroupware

Anders bei der Kombination Asterisk und Snom-Groupware: Auf der einen Seite steht ein modernes konfigurierbares VoIP-Telefon mit XML-Minibrowser für das eingebaute Display, auf der anderen Seite ein (hoffentlich) gepflegtes, Server-seitiges Adressbuch in einer Groupware-Lösung. Der erfahrene Linuxer ahnt: Hier erlauben schon ein paar Zeilen PHP oder Perl ein befriedigendes Ergebnis. Auf [7] finden sich die Skripte des Pakets Sware, die für die Anbindung der Snoms an das Egroupware-Adressbuch sorgen. Der Benutzer kann dann von seinem Telefon aus das Egroupware-Adressbuch auf dem Server durchstöbern.

Rufnummernerkennung

Bei eingehenden Gesprächen führt das Telefon automatisch eine Rückwärtssuche durch, zum Beispiel in Egroupwares MySQL-Adressbuch, und der entsprechende Name des Anrufers erscheint im Display (Abbildung 3). Zusammen mit den Darstellungen in den Abbildungen 4 und 5 ergibt sich der Idealfall: Der Eintrag »Linux-Magazin« ist im Webmailer, auf dem Mobiltelefon und auf den Snoms als »Firma« mit der gleichen Rufnummer verknüpft. Abbildung 2 zeigt übrigens das Snom in der Startmaske des Adressbuchs, wie es die Sware-Skripte anbieten. Um das Adressbuch zu installieren, sind nur wenige Handgriffe nötig. Ein Installationsskript namens »install.pl« ist bei Sware dabei, es erstellt die Datei »tele.conf« (Listing 3).

Listing 3:
»tele.conf«

01 $language=de;
02 $WEBSERVER='http://meinserver/cgi-bin/testldap.pl';
03 $WEBSERVERTERM='http://meinserver/cgi-bin/term.pl';
04 $ldap_host="ldap";
05 $ldap_username="admin";
06 $ldap_password="password";
07 $ldap_base="dc=beispiel,dc=int";
08 $mysql_host="localhost";
09 $mysql_username="root";
10 $mysql_password="password";
11 $mysql_database="egroupware";
12 $PREFIX="+49";
13 $CITYCODE="1234-";
14 $HEAD="5678/";
15 $CHANGE="1";
16 $TKPREFIX="0";
17 $REVERSE="1";
18 $CCODE="49";
19 $SAAB="1";

Da bei den meisten Firmen für interne Benutzer auf den Telefonen nur eine Durchwahl hinterlegt, der Benutzer in Egroupware jedoch mit seiner kompletten Telefonnummer eingetragen ist, muss der Admin diese Konfiguration noch ein wenig anpassen. Listing 3 zeigt die Einträge exemplarisch für den Benutzer Max Mustermann, der im Egroupware-Verzeichnis die Rufnummer »+49 1234-567/34« hat. Das Snom soll jedoch nur die interne Durchwahl »34« wählen, und genau dies bewirken die drei Einträge bei den Variablen »$PREFIX«, »$CITYCODE« und »$HEAD«.

Um das Adressbuch auf den Snoms zu aktivieren, reicht es bereits aus, der entsprechenden Funktionstaste für das Adressbuch die passende URL, also zum Beispiel »http://Server/cgi-bin/abook.pl?start=start&?mac=$mac&username=$user_name1«, zuzuweisen. Auch für die Rückwärtssuche muss der Admin den Eintrag unterhalb der Aktion »URL Settings« im Kontext »Eingehender Anruf« auf »http://Server/cgi-bin/reverse.pl?re-verse=yes&callerid=$remote&username =$user_name1&mac=$mac« setzen. Beide Einstellungen finden sich im Webinterface des Telefons.

Damit muss noch lange nicht Schluss sein. Auf die Snom-Taste kann man sich bei Bedarf noch die passende URL für die aktuellen Termine des Tages legen, zum Beispiel: »http://Server/cgi-bin/term.pl?start=start&?mac=$mac&username=$user_name1«. Auch wenn die Darstellung auf dem kleinen Display unübersichtlich ist, demonstriert sie dennoch die Möglichkeiten, die der XML-Browser der Snoms mitbringt.

Abbildung 4: Das Egroupware-Adressbuch in der Ansicht des Webclients. Die GPL-Groupware beherrscht zahlreiche Backends für Kontakte, unter anderem stehen diverse Datenbanken wie MySQL zur Verfügung, aber auch ein LDAP-Verzeichnis ist möglich. Ein Syncml-Modul hält Handys auf dem aktuellen Stand.

Abbildung 4: Das Egroupware-Adressbuch in der Ansicht des Webclients. Die GPL-Groupware beherrscht zahlreiche Backends für Kontakte, unter anderem stehen diverse Datenbanken wie MySQL zur Verfügung, aber auch ein LDAP-Verzeichnis ist möglich. Ein Syncml-Modul hält Handys auf dem aktuellen Stand.

Abbildung 5: Dank Syncml bleibt auch das Mobiltelefon synchron zum zentralen Adressbuch.

Abbildung 5: Dank Syncml bleibt auch das Mobiltelefon synchron zum zentralen Adressbuch.

Die Zukunft

Bei Redaktionsschluss waren die Sware-Skripte von [7] zwar noch im frühen Betastadium, eine Anbindung an weitere Groupware-Lösungen wie Scalix und Openxchange ist trotzdem schon in Vorbereitung. Weil auch Citadel (Kasten “Keine Hexerei: Citadels Unified Inbox”) eine VoIP-Groupware-Integration anbietet, scheint die Zukunft für Linux-CTI rosig. Wird auch Zeit. (mfe)

Keine Hexerei: Citadels Unified
Inbox

Darauf haben viele Benutzer freier Groupware-Systeme gewartet, auf eine Unified Inbox, also einen medienübergreifenden Posteingang, der alle Nachrichten für einen Benutzer aufnimmt, unabhängig von Typ und Übermittlungsweg. Derartige Inboxen speichern die eingehenden Daten, also E-Mails, Voicemails oder Faxe, zentral in für den Benutzer einheitlicher Form. Bis vor Kurzem war das ein Luxus, den nur teure Groupware- oder TK-Systeme boten. Admins mussten dafür auf spezielle Hardware zurückgreifen und auf die Integrationsdienste der Hersteller vertrauen.

Dank freier Software lässt sich so etwas heute im Eigenbau von Hand aufziehen. Das Voicemail-System von Asterisk, auch als Comedian Mail bekannt, kann zwar schon von Haus aus eingehende Nachrichten an E-Mail-Adressen weiterleiten und damit die auf dem Anrufbeantworter hinterlassenen Messages in der Inbox eines Benutzers auf einem anderen Server hinterlegen.

Das Problem für die Admins besteht dabei eher darin, die Kopien zu managen – nach dem Forwarden bleibt eine Kopie der Nachricht auf dem Telefon und eine weitere landet im Posteingang. Der Benutzer muss in diesem Szenario jede Voicebox-Nachricht zweimal löschen. Zwar lässt sich mit Asterisk die gespeicherte Nachricht auch ausschließlich an eine E-Mail-Adresse weiterleiten, dann aber kann der Benutzer den Anrufbeantworter seines lokalen Telefons nicht mehr verwenden.

Die Lösung: Asterisk mit Citadel

Ab Asterisk 1.4 und Citadel 7.22 ändert sich das: Jetzt lässt sich der Maileingang des Groupware-Servers als nativer Voicemail-Storage verwenden. Nur noch eine Kopie jeder Message ist nötig und sowohl Computer als auch Telefon können diese abhören und verwalten. Die Server erledigen auch das Update der verschiedenen Statusflags selbstständig. Nach einem Mausklick auf die jüngste Voicemail in der Inbox des E-Mail-Programms wechselt das Statusflag im IMAP auf “Gelesen” und das blinkende Lichtlein auf dem VoIP-Telefon, der MWI (Message Waiting Indicator), erlischt sofort.

Comedian Mail einrichten

Die Einrichtung von Asterisk und Comedian Mail ist schnell erledigt. Bevor er Asterisk aus den Quellen baut, braucht der Admin die UW-IMAP Client Library [8] in einer neueren Versionen (die von 2002 wird nicht funktionieren). Dann lässt sich Asterisk mit dem IMAP-Voicemail-Storage bauen. Die Authentifizierung findet dabei über Citadels Master-User-Feature statt. So kommt der Admin erst gar nicht in die Verlegenheit, die IMAP-Zugangsdaten aller Benutzer im Asterisk-Server zu hinterlegen. Stattdessen ändert er nur die »voicemail.conf«:

imapserver=localhost
imapfolder=INBOX
imapflags=notls
authuser=asterisk
authpassword=password

Die Konfiguration des Citadel-Servers auf der anderen Seite ist noch deutlich einfacher: Im Verwaltungsmenü wechselt der Admin zu »Verwaltung | Standortskonfiguration | Zugang«. In die Eingabefelder »Privilegierter Benutzer« und »Passwort des privilegierten Benutzers« (»Master user«, »Master User password«) kommen die Einträge, die vorher in der Asterisk-Konfiguration die Zeilen »authuser« und »authpassword« vervollständigt haben (Abbildung 6).

Jetzt noch schnell für jeden Benutzer in der »voicemail.conf« die Voicemail-Extension auf den passenden Citadel-Account umleiten:

1234 => 4321,John Doe,,,imapuser=john

Schon ist der Groupware-VoIP-Server mit der Unified Inbox fertig.

Abbildung 6: In Citadels Webinterface trägt der Admin den privilegierten Citadel-User ein. Er dient Asterisk dazu, den IMAP-Posteingang der Benutzer als Speicherort für die Anrufbeantworter zu nutzen.

Abbildung 6: In Citadels Webinterface trägt der Admin den privilegierten Citadel-User ein. Er dient Asterisk dazu, den IMAP-Posteingang der Benutzer als Speicherort für die Anrufbeantworter zu nutzen.

Infos

[1] Snom: [http://www.Snom.com/de]

[2] Powerdsine-Zertifizierung: [http://www.Snom.com/de/pressinformation_details/article/VoIP-telefone-von-Snom-mit-poe-zertifizierung-auf-der-internet-telephony-expo.html

[3] Markus Feilner, “Komfortable Festung. Citadel als Groupware-Server”: Linux-Magazin 07/07, S. 64

[4] Stefan Wintermeyer, “Gemeinschaft an der Strippe”, Asterisk-Workshop, Teil 4: Linux-Magazin 04/08, S. 86

[5] CTI: [http://de.wikipedia.org/wiki/Computer_Telephony_Integration]

[6] TAPI:[http://de.wikipedia.org/wiki/Telephony_Application_Programming_Interface]

[7] Perl-Skripte für Egroupware:[http://www.bentux.de]

[8] UW IMAP Client Library:[ftp://ftp.cac.washington.edu/imap]

Die Autoren


Bastian Kames ist hauptberuflich als EDV-Verantwortlicher (Mfa, Mädchen für alles) bei der IBG-Monforts-Gruppe in Mönchengladbach tätig.


Art Cancro ist der Lead Developer des Citadel-BBS-Systems. Seit mehr als zwei Jahrzehnten administriert er sowohl Unix- als auch Linux-Systeme.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben