Digiums Skype-Plugin für Asterisk im Test

© Geo Martinez, 123RF

Geglückte Verbindung

, ,
Seit kurzem gibt es ein Skype-Plugin für den freien Telefonie-Server Asterisk. Mitarbeiter der TU Wien haben die Ehe auf den Prüfstand gestellt.
High Availability lässt sich heute mit günstiger Hardware und einer großen Auswahl an kommerzieller sowie freier Software realisieren. ADMIN erklärt die ... (mehr)

Ein tiefer Graben trennte zwei VoIP-Welten bis zum Sommer. Auf der freien Seite dominierte Asterisk [1] , das Open-Source-PBX (Private Branch Exchange) mit Unmengen an Modulen und Unterstützung für die Mehrzahl der gängigen Telekommunikationsprotokolle. In der proprietären Welt dagegen hat sich Skype durchgesetzt, auch wenn Kritiker bemängeln, dass die Technik der Signal- und Medienübertragung ein zentrales Betriebsgeheimnis ausmacht. Rechtliche Streitigkeiten werfen weitere Fragen auf, stellvertretend dafür steht der Kommentar von Eitel Dignatz im Kasten "Risiko? Macht nichts!" .

Risiko? Macht Nichts!

Einfach und kostenlos, das ist der Ruf, der Skype vorauseilt. Für echte Männer, die Risiken nicht scheuen, steht mit »chan_skype« jetzt ein Non-GUI-Client zur Verfügung, der Asterisk auch Skype-Verbindungen ermöglicht.

Peer Review Fehlanzeige

Die Benutzer des Telefondienstes feiern häufig gerade das als "Qualität", was Sicherheitsleuten die Haare zu Berge stehen lässt: Die Fähigkeit, Firewalls auszutricksen. Dass mancher Privatanwender über derartige Petitessen gern hinwegsehen mag, dürfte nicht unwesentlich zur Verbreitung von Skype beigetragen haben. Was scheren schon Sicherheitsprobleme, denn mit denen ist's nicht anders als mit Lungenkrebs vom Rauchen: Einen selbst wird's schon nicht erwischen und selbstverständlich kennt jeder Kettenraucher mindestens einen anderen, der dabei steinalt geworden ist.

Was ein Skype-Client auf dem Rechner so ganz genau treibt, ob und wann der eigene Rechner zum "Super Node" wird und was er so alles über die Leitungen schickt, bleibt geheim – und der Hersteller tut alles, um die Aufdeckung technischer Details zu verhindern. Das Skype- Protokoll ist proprietär bis auf die Knochen und entzieht sich jeder Form von Peer Review, also dem, was Open Source so stark macht. Aus diesem Grunde sind Verbesserungsvorschläge ebenso wenig möglich wie gezielte Gefahrenabwehr – außer die Skype-Nutzung komplett zu unterbinden.

Zitterpartie für Kunden

Gegen Skype in professionellen Telefonie-Infrastrukturen sprechen indes nicht nur Sicherheitserwägungen, sondern auch deren Geschäftsbedingungen. In §3.5 der EULA [10] behält sich die Firma nämlich vor, die Nutzbarkeit der Skype-Client-Software, und damit letztlich die Verfügbarkeit des Dienstes, einzustellen oder nach Belieben zu verändern – ohne jede Vorwarnung, versteht sich. Aus die Maus also, falls es Skype einfallen sollte, davon Gebrauch zu machen, oder falls Skype selbst dazu gezwungen wird, beispielsweise aus rechtlichen Gründen.

Ist das Ende nah?

Das "End of Life"-Szenario für Skype-Dienste könnte indes 2010 zur Realität werden, denn das Unternehmen ist in einen Rechtsstreit mit der Firma Joltid verwickelt, die den Skype-Gründern Zennström und Friis gehört. Dass die Lage ernst ist, darf angenommen werden, denn dieser Streit war Skype/Ebay im Juli 2009 eine Warnung an die US-Börsenaufsicht SEC wert. Die Firma kündigte gleichzeitig an, die Joltid-Technologie durch eine eigene Lösung ersetzen zu wollen. Laut Presseberichten räumte Skype pikanterweise ein, solch eine Entwicklung sei "möglicherweise nicht erfolgreich und kann, selbst wenn sie erfolgreich ist, zum Verlust von Funktionalität oder Kunden führen" [11] .

Zugegeben, Skype und Asterisk lassen sich nicht direkt vergleichen. Worum es mir geht, ist ein Vergleich des gesamten Asterisk- wie auch des Skype-Umfelds und der jeweiligen Handlungsspielräume für den Anwender. Der Wert von Asterisk liegt ohnehin in allererster Linie darin, pfiffige Lösungen auf die Beine stellen zu können, die über die Services einer Nebenstellenanlage meilenweit hinaus reichen.

Tricks im Alltag

Für mich sind derartige Asterisk-Tricks seit Jahren alltäglich und ich kann mir nicht mehr vorstellen, ohne diese Infrastruktur auszukommen. Der besondere Wert zeigt sich vor allem dann, wenn ich fernab arbeite, und natürlich bei Anwendungen, die man gemeinhin nicht mit einer Telefonanlage assoziiert: Alarmierung und Fernsteuerung.

Bin ich im Ausland unterwegs, dann buchen sich der IAX-Client Zoiper [12] oder der SIP-Client Twinkle [13] vom Notebook aus auf dem heimischen Asterisk ein, sodass ich unter meinen Münchener ISDN- und VoIP-Nummern direkt erreichbar bin. Eine Umleitung ist nicht nötig, da Asterisk gleichzeitig mehrere Telefone klingeln lässt. Die Anrufe besonders wichtiger Kunden leite ich zusätzlich aufs Handy weiter. Landet ein Anruf tatsächlich mal auf der Asterisk-Voicemail, dann klingelt Asterisk kurz auf meinem Handy durch und ich entscheide von Fall zu Fall, ob ich die Nachricht sofort abhören will oder nicht.

All das passiert, ohne dass der Anrufer mehrere Nummern durchprobieren muss, um mich zu erreichen. Ein angenehmer Nebeneffekt: Meine Mobilnummer kennt fast niemand und ich brauche das Handy nicht auszuschalten, um ungestört zu sein.

Fernsteuerung per Telefon

Von meinem Call-Through- und Call-Back-Router, der im Ausland auch ohne dortige Internetverbindung hilft Gebühren zu sparen, war im Linux-Magazin bereits zu lesen [14] . Und dass Asterisk zum Alarmieren [15] taugt, nutze ich bei der Überwachung eines Hauses in Portugal. Dort ist ein unter Linux betriebenes Onewire-Messsystem installiert, das Temperaturen und Luftfeuchtigkeit überwacht. Wenn es zu feucht wird, ruft Asterisk an, teilt den aktuellen Wert mit und erlaubt bei der Gelegenheit auch gleich, Ventilatoren per IP-Power-Switches ein- oder auszuschalten. Diese Fernsteuerung funktioniert alternativ auch SSH-getunnelt per PC, aber im Gegensatz zur Telefonie hat man eben nicht jederzeit und überall eine Internetverbindung.

Lieber ohne Skype

Wer Asterisk hat, der braucht kein Skype. Doch wie bei Open Source allgemein, gilt auch hier: Nicht die kurzfristigen Kosteneinsparungen sind das Wesentliche, sondern der langfristige Gewinn an Handlungsspielraum. Selbstverständlich fallen diese Segnungen nicht vom Himmel, denn Asterisk erfordert eine steilere Lernkurve als die schlichte Nutzung wohlfeiler Klickibunti-Software. Wer diese Phase hinter sich hat, dem öffnen sich Welten, von denen Skype-Benutzer nichts ahnen.

Eitel Dignatz ist Strategieberater und Inhaber der Firma Dignatz Consulting in München: http://www.dignatz.de/spot458].Er nutzt Asterisk intensiv als Middleware.

Noch vor zweieinhalb Jahren galt das Zusammenführen dieser beiden Welten als so abwegig, dass die Meldung einer Skype-Version mit SIP-Support noch als erfolgreicher Aprilscherz [2] durchging. Nun ist das schier Unglaubliche Realität geworden: Digium [3] , Entwickler und kommerzielle Firma hinter Asterisk ( Abbildung 1 ), stellt das vor einem Jahr angekündigte Skype-Plugin vor. Mit dieser Erweiterung soll es möglich sein, sowohl Anrufe zu anderen Skype-Usern aufzubauen, als auch Anrufe von Skype per Asterisk entgegenzunehmen.

Abbildung 1: Seit über zehn Jahren implementiert das Open-Source-Projekt Asterisk eine vollständige Telefonanlage, nicht als komplexe, teure Hardwarelösung, sondern in handelsüblichen PCs mit Schnittstellen zu den verschiedenen Telekomnmmunikationsnetzen, neuerdings auch Skype.

Der Telefonserver ist schnell aufgesetzt, die Konfiguration von Asterisk gilt zu Unrecht als komplex. Als Lektüre nicht nur für Einsteiger empfiehlt sich die Serie im Linux-Magazin [4] oder Stefan Wintermeyers Asterisk-Buch [5] . Mit Asterisk lässt sich so in kürzester Zeit eine funktionierende PBX aufbauen. Hersteller Digium war so freundlich, der TU Wien [6] vorab Testversionen bereitzustellen.

Jede Lizenz für das Skype-Plugin gilt für einen gekauften Channel. Damit ist ein aktiver oder passiver zeitgleicher Call möglich. Um den Skype-Channel zu aktivieren, braucht es den passenden Lizenzkey von Digium und die Aktivierung während des Installationsprozesses von Skype for Asterisk (SFA). Drei einfache Schritte sind notwendig, um die Channel-Lizenzen zu aktivieren:

wget http://downloads.digium.com/pub/register/linux/register
chmod 500 register
./register

Nach dem Aktivieren kopiert der Installer den an den Rechner gebundenen Lizenzkey in das Verzeichnis »/var/lib/asterisk/licenses« und der Admin macht sich an den Download. Leider ist SFA recht wählerisch bei den Asterisk-Versionen. Es unterstützt 1.2. gar nicht, 1.4 erst ab Version 25 und 1.6 erst ab 1.6.0.6. Die 1.6.1 funktioniert mit dem Modul erst ab Asterisk 1.6.1.5. Auf [7] erhält der Administrator die für ihn passende SFA-Version.

Es folgt der klassische Weg über »make« , »make install« und »make samples« , gefolgt von einem Neustart des Telefonservers. In der Asterisk-CLI lässt sich anschließend mit »skype show licenses« verifizieren, ob die PBX die Lizenz korrekt laden konnte.

Nur Online-Accounts

Jetzt kommt ein erster Wermutstropfen: Derzeit unterstützt SFA nur Accounts, die der Benutzer online auf der Webseite von Skype for Business [8] angelegt hat. Ein Asterisk-Admin braucht dabei für jeden lokalen Skype-Nutzer einen Account. Mengenbeschränkungen gibt es bisher nicht. Es ist nicht bekannt, ob Skype solche einzuführen plant. Als nächster Schritt steht das Einbinden des Skype-Moduls in den Asterisk-Server auf der Liste. Dazu fügt der Admin in »chan_skype.conf« Folgendes hinzu:

[skype-lm-central]
secret=l.m1234
context=skype
exten=s
allow=all
direction=both

Zeile 1 enthält den in Skype for Business definierten Benutzernamen, Zeile 2 das zugehörige Skype-Passwort. Die Zeilen 3 bis 6 entsprechen den allgemeinen Channel-Parametern und definieren den Kontext, die Extension, die erlaubten Codecs und die erlaubte Rufrichtung.

Genauso lassen sich weitere Identitäten in der »chan_skype.conf« hinzufügen. Die Menge der Identitäten ist nicht durch die Lizenzen limitiert, diese definieren nur die Anzahl paralleler Gespräche. Ein mobiler Mitarbeiter mit Schreibtisch in der Zentrale lässt sich unterwegs durch Skype nahtlos in die Telefoninfrastruktur einbinden ( Abbildung 2 ).

Abbildung 2: Das Asterisk-Skype-Setup für einen Mitarbeiter im Außendienst. Mit der richtigen Konfiguration klingeln beide Apparate oder Softphones, ohne dass der Anrufer etwas davon mitbekommt.

So besteht für ihn die Möglichkeit, Anrufe sowohl mit dem komfortablen Desktop-Telefon am Arbeitsplatz entgegenzunehmen, aber auch unterwegs mit seinem Skype-Softclient. Diese Weiterleitung ist für den Anrufer unsichtbar, der Angerufene ist weltweit unter seiner klassischen Nebenstellennummer erreichbar. Den folgende Dialplan in der »extensions.conf« ergänzt pro Mitarbeiter je eine zusätzliche Konfigurationszeile mit einem Verweis auf die Skype-Identität:

[isdn-in]
exten => 1234,1,DIAL(SIP/lm-employee1&&SKYPE/skype-lm-central/skype-lm-employee1)
exten => 1235,1,DIAL(SIP/lm-employee2&&SKYPE/skype-lm-central/skype-lm-employee2)

Wenn für den Context »[isdn-in]« ein Anruf auf die Nebenstelle 1234 kommt, startet Asterisk das Programm »DIAL« und leitet gleichzeitig den Anruf an die SIP-Identity »lm-employee1« und an eine beliebige Skype-Identität wie in dem Beispiel »skype-lm-employee1« weiter. Jetzt läuten sowohl das SIP-Hardphone als auch der Skype-Client, der Empfänger kann ein Gespräch an beiden Enden entgegennehmen.

Für den Anrufer ergibt sich kein Unterschied, ob der Angerufene sein Handset oder seinen Skype-Client verwendet. Hingegen ist für den über Skype Angerufenen leider nicht zu erkennen, wer ihn denn anklingelt. Die Ursache liegt auf der Hand: Gegenstelle ist ja immer der vermittelnde Asterisk-Server mit der Skype-Identity »skype-lm-central« . Möglicherweise unterstützen künftige Versionen von SFA auch Messaging, dann ließe sich die Identität des Anrufers als Skype-Instant-Message mitsenden.

Ein weiteres Szenario ergibt sich durch die vergleichsweise günstigen Skype-Festnetztarife. Es ist ohne Weiteres möglich, die Asterisk-Nebenstellenanlage so zu konfigurieren, dass beispielsweise alle Gespräche ins ausländische Festnetz nicht ISDN, sondern Skype nutzen.

Least-Cost-Routing

Das schlägt vor allem bei internationalen Verbindungen deutlich zu Buche, kostet doch eine Minute ins chinesische Festnetz mittels Skype nur 2 Cent pro Minute, mit der Deutschen Telekom mehr als das Doppelte, je nach Vertrag ab 5 Cent.

Im Testsetup lösten die Autoren dieses Artikels die Aufgabe so, dass der Benutzer ein fixes Präfix »99« vor der vollständigen Rufnummer eingibt:

exten => _99.,1,DIAL(SKYPE/skype-lm-central@${EXTEN:2})

Durch dieses Präfix kommt eine Regel im Dialplan zum Tragen, die anstelle des »chan_capi« den »chan_skype« verwendet und dann per Skype-out ins Festnetz telefoniert. Dank Asterisks Skript-Support lässt sich statt des Präfix auch eine richtige Least-Cost-Logik einbinden ( Abbildung 3 ).

Abbildung 3: Auch als Least-Cost-Router ist Asterisk zu gebrauchen. Klartextdateien und hervorragende Skripting-Eigenschaften machen die Entwicklung einer eigenen Routing-Logik recht einfach.

Skype bietet einen durchaus robusten und verlässlichen, mit AES 256 verschlüsselten Kanal. Der lässt sich für die Anbindung einer Filiale mit einer einfachen und sehr stabilen Alternative zu einem VPN abwickeln ( Abbildung 4 ). Das Ziel des folgenden Beispiels ist, Asterisk und SFA so zu konfigurieren, dass Benutzer transparent das Gespräch von ihrem Endgerät in der Firmenzentrale zu einem Endgerät in der Filiale über Skype führen können. Dafür nötig sind zwei Asterisk-Installationen, eine im Hauptsitz und eine in dessen Filiale, sowie mindestens je eine SFA-Lizenz und zwei Skype-Accounts ( »skype-lm-central« und »skype-lm-branch« ).

Abbildung 4: Mit dem Skype-Plugin lassen sich die Telefonnetze zweier Standorte günstig und einfach vernetzen. Dazwischen telefonieren die Mitarbeiter in der Regel kostenlos. Auch Auslands- und Überseegespräche sind dank Skype-out deutlich billiger als beim Festnetz-Provider.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023