Asterisk 1.4: Erster Test

Pünktlich zum Weihnachtsfest hat Asterisk-Hersteller Digium die Version 1.4 der Telefonanlagen-Software mit etlichen neuen Features veröffentlicht. Lohnt der Umstieg von der aktuellen Version?

In Pocket speichern vorlesen Druckansicht
Lesezeit: 9 Min.
Von
  • Stefan Wintermeyer
Inhaltsverzeichnis

Beim Download der neuen Asterisk-Version fällt schon auf dem FTP-Server etwas positiv auf: Asterisk-Hersteller Digium hat endlich einen einheitlichen Link zum Download bereitgestellt. Die aktuelle Variante der 1.2er Version kann man nun unter ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz, die neue Version 1.4 unter ftp.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz herunterladen. Somit sollte die Zeit der diesbezüglich stets veralteten "Wie installiere ich Asterisk?"-Howtos der Vergangenheit angehören.

Zudem fällt beim Installieren auf, dass die Version 1.4 jetzt – wie die meisten GPL-Projekte schon seit Jahren – ein configure-Skript mitbringt. In unserem Test funktionierte es auf Debian GNU/Linux und NetBSD problemlos. Auf einer Standard-Debian-Installation benötigt man zum Übersetzen nicht mehr eine ganze Reihe von zusätzlichen Debian-Paketen; lediglich libncurses5-dev muss nachinstalliert werden. Allerdings benögtigt der Kompilier- und Installationsprozess über die Befehlsfolge

make && make install && make samples

gegenüber der Vorversion 30 Prozent mehr Zeit. Im Betrieb stellt Asterisk 1.4 ähnlich geringe Hardwareanforderungen wie der Vorgänger.

Der von Kevin Fleming (die Nummer zwei im Team nach dem Asterisk-Erfinder Mark Spencer) noch Mitte diesen Jahres propagierte Komplettumstieg der Konfigurationssprache auf das neue Format extensions.ael hat (glücklicherweise) noch nicht stattgefunden. Für 90 Prozent aller Installationen – nämlich die, die nur ein paar Dial-Befehle und keine komplizierten Dial-Pläne benutzen – bleibt daher alles beim Alten: Hier kann man einfach die alte Konfiguration aus der Datei extensions.conf weiter verwenden. Auf Nachfrage bestätigte Kevin Fleming, dass die alte Syntax wahrscheinlich dauerhaft unterstützt bleiben wird. Beide Wege können auf einem Asterisk-System in Frieden koexistieren. Allerdings ist ein deutlicher Trend in Richtung des neuen Formats extensions.ael zu sehen.

Zur Verdeutlichung der Unterschiede zwischen alter und neuer Syntax ein kleines Beispiel. Der "traditionelle" Weg in der extensions.conf für ein "Hello World" sieht wie folgt aus:

[meine-telefone]
exten => 23,1,Wait(1)
exten => 23,2,Answer()
exten => 23,3,Playback(hello-world)
exten => 23,4,Wait(1)
exten => 23,5,Hangup()

Der gleiche Dialplan im neuen Stil der extensions.ael:

context meine-telefone {
23 => {
Wait(1);
Answer();
Playback(hello-world);
Wait(1);
Hangup();
};
};

Power-User sollten einen Blick in die Datei UPGRADE.txt werfen. Dort findet man einige lieb gewordene, aber bereits in der Version 1.2 als deprecated markierte Befehle wie DBGet und DBPut, die in der neuen Version nicht mehr existieren (die genannten Datenbankbefehle funktionieren jetzt mit DB(family/key)). Die Liste der in der Version 1.2 als deprecated markierten und in der Version 1.4 ganz deaktivierten Applikationen und Konfigurationsvarianten ist lang; bei komplexeren Dial-Plänen wird ein Umstieg etliche Änderungen erfordern. Eine Testinstallation und ein Backup-System mit Asterisk 1.2 sind dringend angeraten.

Und wenn man schon dabei ist: Irgendwo in der Konfiguration findet man sicher noch ein SetGlobalVar. Das funktioniert zwar noch, aber wenn man schon einmal aufräumt, sollte man diesen ebenfalls als deprecated markierten Befehl durch ein

set(GLOBAL(name)=wert)

ersetzen. Es ist nur noch eine Frage der Zeit, bis der Befehl gar nicht mehr unterstützt wird.

Ein Blick auf das CLI (das man mit "set verbose 5" entsprechend gesprächig einstellen sollte) zeigt die vielen kleinen Veränderungen, die die neue Version bemängelt. Das Debuggen, dies nur am Rande, ist mit 1.4 übrigens kein Stück leichter geworden.

Gespannt waren viele deutsche Asterisk-Benutzer auf die vom Entwicklerteam versprochene neue Organisation der Sprachdateien, die war bei den bisherigen Versionen stark an den amerikanischen Markt angepasst war. Ein Blick in /var/lib/asterisk/sounds/ zeigt, dass die Entwickler das Problem zwar erkannt, es aber bei weitem nicht so gut gelöst haben wie Softwareprojekte à la KDE, die von Anfang an verstanden haben, dass es auf dieser Welt noch andere Sprachen als Englisch gibt. So ist es immer noch nicht möglich, nur ein einzelnes Verzeichnis einzuspielen, um eine zusätzliche Sprache zu integrieren.

Derzeit existieren noch keine deutschen Sprachprompts für die Version 1.4, sodass man mit den alten Prompts der Version 1.2 im GSM-Format vorlieb nehmen muss. Für alle Englisch, Französisch und Spanisch sprechenden Asterisk- Benutzer gibt es allerdings gute Kunde: Die Sprachprompts wurden vom Hersteller Digium neu und in besserer Qualität aufgenommen. Sie sind jetzt in den Codecs WAV, mu-Law, a-Law, GSM und G.729 verfügbar. Standardmäßig werden sie im GSM-Format installiert.

In der Rubrik Gimmicks sticht die Anbindung an Google Talk heraus. In der Konfigurationsdatei jabber.conf kann jetzt ein Google-Talk-Account eingerichtet werden, um kostenlos mit jedem Google-Talk-Teilnehmer über ein normales, an der Asterisk-Telefonanlage angeschlossenes Telefon zu kommunizieren.