Neben der Fülle kommerzieller IP-TK-Systeme macht zunehmend eine Open-Source-Lösung von sich reden: Asterisk. Anfänglich nur Linux-Insidern bekannt, taucht der Name immer öfter auch im Zusammenhang mit professionellen Lösungen und Voice-over-IP-Projekten auf, die Asterisk als Telefonieplattform nutzen. Der Beitrag aus dem LANline-Lab führt praxisbezogen in die Grundlagen von Asterisk ein, will aber auch die Möglichkeiten und Grenzen dieser Open-Scource-Lösung aufzeigen.
Die Open-Source-Telefonanlage Asterisk von Marc Spencer wurde bereits 1999 der Öffentlichkeit
unter der GPL-Lizenz vorgestellt. "Asterisk" steht im Sinne seines Erfinders für die "*"-Taste, die
auf jedem Standardtelefon zu finden ist und im Computerumfeld auch die Bedeutung des Platzhalters
für "alles" besitzt. Die Namenswahl kommt nicht von ungefähr: Auch heute leistet Marc Spencer mit
seiner US-amerikanischen Firma Digium den Hauptanteil an der Fortentwicklung von Asterisk, das sich
mittlerweile – nicht zuletzt durch die Zuarbeit dutzender engagierter Entwickler aus aller Welt –
fast als Alleskönner präsentiert. So beherrscht die Lösung wichtige offene VoIP-Standards wie etwa
SIP, zählt aber auch weiter gehende Telefonanwendungen wie Voice-Mail, Konferenzräume und
Anruferwarteschlangen zum Standardfunktionsumfang und lässt sich durch eine offene und flexible
Architektur leicht mit anderen Systemen kombinieren. Die modulare Architektur erlaubt ein weites
Einsatzspektrum: So bildet Asterisk beispielsweise die Grundlage des Notrufmanagementsystems von
Kapstadt, die Stadt Pforzheim setzt Asterisk für den Helpdesk der Datenverarbeitung ein, oder
D-Link nutzt Asterisk als Basis für ihre VoIP-TK-Anlage "Horstbox". Andere Unternehmen erweitern
mit Asterisk ihre bestehende TK-Anlage um kostengünstige Voice-Mail-Funktionen.
Asterisk ist mittlerweile für nahezu alle gängigen Betriebssysteme grundsätzlich verfügbar. Dazu
zählen GNU/Linux-Distributionen wie zum Beispiel Novells Suse Linux, Debian, Ubuntu, Fedora oder
Red Hat Enterprise Linux beziehungsweise dessen freies Derivat Centos sowie Free BSD, Net BSD und
Open BSD. Auch Varianten für Windows und MacOS X sowie DSL-Router unter den Linux-basierenden
Open-Source-Firmware-Varianten Openwrt (www.openwrt.org) und DD-Wrt (www.dd-wrt.de) sind
erhältlich. Trotz dieser Vielfalt liegt der Einsatzschwerpunkt zweifellos auf den
GNU/Linux-Distributionen. Für Linux ist als erstes die jeweils neueste Asterisk-Version (derzeit
1.2.9.1) als Quell-Code über www.asterisk.org zu beziehen, es existiert hier die breiteste
Unterstützung für Kommunikationshardware. Ferner bieten die meisten Linux-Distributionen eine
Asterisk-Basisinstallation direkt aus ihrer Paketverwaltung heraus – wenn diese auch nicht immer
auf dem letzten Stand ist.
Das zentrale Asterisk-"Wiki" (www.voip-info.org/wiki/view/Asterisk) unterstützt Unerschrockene
bei der Asterisk-Installation aus den aktuellen Quellen mit Community-Dokumentation und vielen
Tipps. Empfehlenswerte Hilfe für diesen Schritt bietet auch das Buch "Asterisk: The Future of
Telephony", das als Paperback vom O?Reilly-Verlag oder als kostenloser PDF-Download über
www.asteriskdocs.org angeboten wird.
Was leistet eine Asterisk-Basisinstallation nun aber wirklich? Wie bei jeder TK-Anlage liegt die
Hauptaufgabe von Asterisk in der Vermittlung zwischen Sprachkanälen. Ohne jede Zusatzhardware
lassen sich mit einer Basisinstallation zunächst Voice-over-IP-Kanäle nutzen. Asterisk unterstützt
standardmäßig die VoIP-Protokolle SIP (Session Initiation Protocol), das zunehmend verschwindende
H.323, Ciscos Skinny (SCCP – Skinny Client Control Protocol), das eigene IAX2 (Inter Asterisk
Exchange) und MGCP (Media Gateway Control Protocol – "Megaco"). Endgeräte, die eines dieser
Protokolle unterstützen, können daher direkt an eine Asterisk-Telefonanlage angeschlossen werden.
Im einfachsten Fall genügt ein kostenloses Softphone wie X-Lite (www.counterpath.com), Phoner
(www.phoner.de), Sjphone (www.sjlabs.com/sjp.html) oder Idefisk (IAX2-basierend, www.asterisk
guru.com/idefisk/free/), die für die gängigen Desktop-Betriebssysteme Windows, MacOS X und Linux
verfügbar sind und zumindest mit einem Headset kombiniert werden sollten. Für ernsthafte
Anwendungen empfiehlt sich allerdings eher ein Hardphone mit SIP-Unterstützung. In Kombination mit
Asterisk konnten wir im LANline-Lab sehr gute Erfahrungen mit dem Snom 360 (www.snom.de)
sammeln.
Für die Kommunikation mit der Außenwelt eignen sich prinzipiell die "Trunk"-fähigen Protokolle
SIP und IAX2. SIP kommt vorzugsweise für den Anschluss an Internettelefonieanbieter wie etwa
Sipgate zum Einsatz. IAX2 hingegen bietet sich durch seine Firewall-freundliche Natur (im Gegensatz
zu SIP/RTP wird lediglich der offene UDP-Port 4569 benötigt) und die effiziente Bündelung mehrerer
Sprachkanäle über eine Verbindung vor allem für die Vernetzung mehrerer Asterisk-Anlagen an. Leider
beherrscht Asterisk von Haus aus bisher noch nicht die verschlüsselten Protokollvarianten SIPS
beziehungsweise SRTP (Secure Realtime Transport Protocol), sodass für die sichere VoIP-Anbindung
von Zweigstellen oder Heimarbeitsplätzen eine VPN-Absicherung unumgänglich bleibt.
In Deutschland und vielen europäischen Staaten spielt aber trotz fortschreitender Verbreitung
von VoIP ISDN weiterhin die wichtigste Rolle. Wie nicht anders von einer Lösung zu erwarten ist,
deren Entwicklungsschwerpunkt jenseits des großen Teichs liegt, gehört das europäische Protokoll
ISDN nicht zum Standardsprachumfang von Asterisk. Lediglich analoge Steckkarten der Firma Digium
lassen sich ohne Zusatzschritte einbinden. Dank frei erhältlicher ISDN-Kanaltreiber muss der
Anwender aber auch hier zu Lande nicht auf eine vollwertige TK-Anlage auf der Basis von Asterisk
verzichten. Für den ISDN-Anschluss im TE-Modus (Terminal Equipment – Asterisk an S0-Anschluss)
eignen sich Karten mit verfügbarem CAPI-Treiber unter Linux – wie die von AVM und Eicon in
Kombination mit dem Kanaltreiber Chan-CAPI (sourceforge.net/projects/chan-capi) – sowie
PCI-Karten und USB-Adapter mit einem HFC-Chipsatz ("Cologne Chipset"). Letztere haben sich im
Asterisk-Umfeld durch ihre freie Konfigurierbarkeit für den TE- und NT-Modus (NT: Network
Termination) und die integrierte Echounterdrückung durchgesetzt. Der wahlweise Einsatz im TE- und
NT-Modus erlaubt unter anderem, Asterisk vor oder hinter eine vorhandene ISDN-Anlage zu platzieren,
um diese gezielt mit Asterisk-spezifischen Funktionen zu erweitern, ohne sie komplett ersetzen zu
müssen. Den passenden Treiber für preisgünstige HFC-Karten mit einem Port (zum Beispiel bei
www.conrad.de) liefert Klaus-Peter Junghanns mit seinem "Bristuff" (www.jung
hanns.net/de/download.html). Für den professionellen Einsatz liefern Junghanns-Net und Sirrix
(www.sirrix.de) auch verschiedene Multi-Port-ISDN-Karten mit optionaler Stromeinspeisung für
ISDN-Endgeräte und wahlweiser Anlagen-/Mehrgeräteanschlussschaltung. Im LANline-Lab ließ sich die "
Quadbri" von Junghanns-Net problemlos in unseren Asterisk-Testaufbau integrieren.
Wer die ISDN-Treiberinstallation unter Linux scheut oder schlichtweg nicht ausreichend viele
PCI-Steckplätze zur Verfügung hat, kann den ISDN-Basis- oder -Primärmultiplexanschluss auch in
externe Media-Gateways verlagern, die mittels SIP an Asterisk angebunden werden. Erste erfolgreiche
Erfahrungen konnten wir im LANline-Lab mit einem "Lancom 1821 Wireless Router" mit VoIP-Option
beziehungsweise einem "Lancom 1722 VoIP" in dieser Konfiguration sammeln.
Für den Anschluss analoger Endgeräte wie DECT-Mobiltelefonen eignen sich am besten VoIP-Adapter
(ATA) wie zum Beispiel "Linksys SPA 2002" (analog). Selbst AVMs populäre "Fritz-Box 7050 WLAN"
(analog/ISDN) konnten wir im LANline-Lab für Testzwecke erfolgreich zweckentfremden.
Neben seinen Grundeigenschaften als Vermittlungsstelle zwischen Sprachkanälen bietet Asterisk
als zweiten großen Bereich integrierte Telefonanwendungsmodule. Zum Standardlieferumfang gehört ein
ausgereiftes Voice-Mail-System mit individuell durch Anwender gesprochenen Ansagetexten, das
Sprachnachrichten für Nebenstellen nicht nur über den Telefonhörer zugänglich macht, sondern diese
auf Wunsch auch als Mail-Anhang via SMTP zustellt. "Meetme" realisiert offene und geschlossene
(kennwortgeschützte) Telefonkonferenzräume, denen Personen über alle verfügbaren
Kommunikationskanäle beitreten können. Für Call-Center-orientierte Einsatzszenarien im Support- und
Vertriebsbereich bietet sich die integrierte Warteschlangenanwendung an, die Anrufer auf jeweils
freie Nebenstellen verteilen kann. Neben diesen komplexeren Anwendungen löst Asterisk auch kleinere
Aufgaben wie den optionalen Mitschnitt von Gesprächen als Wav-Datei, MP3-Wartemusik und
Auswahlmenüs über DMTF-Töne ("Drücken Sie bitte ?1?, um?").
Ist die Asterisk-Grundinstallation zum Beispiel aus der Paketverwaltung einer Linux-Distribution
mit wenigen Befehlen vollzogen und sind erforderliche ISDN-Treiber – deutlich mühevoller –
eingebunden, so steht die eigentliche Arbeit erst ins Haus: SIP-Endgeräte, ISDN- und SIP-Trunks in
die Außenwelt und der zentrale Rufnummernplan müssen über Konfigurationsdateien auf die eigenen
Bedürfnisse hin eingestellt werden. Besondere Bedeutung kommt dabei der Programmierung der
Rufnummernplanlogik zu: Sie steuert nicht nur einfach, hinter welchen Durchwahlen sich welche
Endgeräte verbergen, sondern regelt auch, wann Anrufe auf eine Voice-Mail umgeleitet werden sollen
und wie sich die sonstigen Telefonanwendungen im Detail verhalten. Der flexible Rufnummernplan kann
damit recht umfangreich und für den Laien schwer durchschaubar geraten.
Eine weitere Komplikation ist, dass alle internen Ansagen der Telefonanlage ausschließlich auf
Englisch vorliegen. Letzteres lässt sich relativ leicht mit professionell aufgenommenen, frei
verfügbaren deutschen Ansagen der Stadt Pforzheim korrigieren (www.stadt-pforzheim.de/asterisk/).
Um aus Asterisk eine moderne Telefonanlage zu machen, die keinen Spezialisten zur Programmierung
und Wartung benötigt, ist eine Lösung erforderlich, die TK-Anlagenfunktionen über eine freundliche
Verwaltungsoberfläche bereitstellt. Neben den zahlreichen kommerziellen Lösungen für diesen Zweck
wie beispielsweise PBX-Manager (www.pbx-manager.de) sticht die neue Open-Source-Lösung Freepbx
besonders hervor (www.freepbx.org).
Freepbx, aus dem Asterisk Management Portal (AMP) hervorgegangen, verpackt den rauen Kern von
Asterisk in eine freundliche, webbasierende Verwaltungsoberfläche, die nicht nur dem Einsteiger die
Arbeit wesentlich erleichtert. Übersichtliche Administrationsmodule nehmen sich der Einstellungen
zu Nebenstellen mit Voice-Mail, zu zeitgesteuerter Rufumleitung und Follow-Me-Funktion
(Rufumleitung auf mehrere interne/externe Nummern) sowie Warteschlagen, Sprachmenüs und Konferenzen
an und speichern die Konfigurationsparameter in einer Mysql-Datenbank. Auf Mausklick generiert
Freepbx aus diesen Einstellungen die zugrunde liegende Rufnummernplanlogik für Asterisk.
Werden erforderliche Funktionen von diesen Modulen nicht abgedeckt, bietet Freepbx ausreichende
Eingriffsmöglichkeiten, um eigene Programmierungen dem Rufnummernplan hinzuzufügen, ohne auf den
Komfort der Browser-gestützten Verwaltung der Standardfunktionen verzichten zu müssen.
Obwohl Freepbx Asterisk im laufenden Betrieb komfortabel nutzbar macht, ist der
Gesamtinstallationsweg bis zur betriebsbereiten Telefonanlage je nach ausgewählter
Linux-Distribution durchaus als steinig zu bezeichnen und für Windows-verwöhnte Administratoren
ohne Linux-Kenntnisse kaum empfehlenswert. Diesem großen Manko widmet sich die aus dem
Open-Source-Projekt "Asterisk@Home" hervorgegangene Lösung Trixbox (www.trix box.org).
Trixbox installiert von einer Boot-fähigen CD auf einem für diesen Zweck dedizierten PC
(Festplatte wird gelöscht!) eine komplette Asterisk-Telefonanlage unter der Linux-Distribution
Centos (kompatibel zu Red Hat Enterprise Linux). Die Lösung umfasst Freepbx, die Festival Speech
Engine (synthetische Sprachausgabe in Englisch), Hudlite (komfortable Vermittlungsplatzfunktionen
unter Windows), Samba für den Dateisystemzugriff durch Windows-PCs sowie weitere Module. Zudem ist
nach der Installation mit "Sugarcrm" (www.sugarforge.org) ein komplettes Open-Source-CRM-System
einsatzbereit, das zeigt, wie sich auch aus Browser-Anwendungen Telefonverbindungen auf Mausklick
initiieren lassen (CTI). Vom Start der CD bis zum Zeitpunkt an dem der Anwender mit der ersten
Konfiguration von Freepbx beginnen kann, sind genau drei Angaben erforderlich: Tastatur-Layout,
Zeitzone und Root-Kennwort für das Linux-System.
Leider lässt Trixbox in der Version 1.0 trotz des viel versprechenden Ansatzes noch Raum für
Verbesserungen besonders im deutschsprachigen Einsatz: Deutsche Ansagetexte müssen weiterhin
manuell nachinstalliert werden, obwohl das Webinterface bereits mehrsprachig ausgelegt ist. Ferner
ist ausgerechnet das Skript zur Nachinstallation von ISDN-Karten mit HFC-Chipsatz noch fehlerhaft.
Bei der aktuellen rasanten Open-Source-Entwicklung im Asterisk-Bereich dürfte jedoch die
Beseitigung dieser Problempunkte nur noch eine Frage kurzer Zeit sein.