|
Das Herzstück einer jeden Firmeninfrastruktur ist und bleibt die Telefonanlage. Fällt sie aus, so kommt dies einer mittleren Katastrophe gleich. Kein Wunder also, daß man hier gern auf bewährte und im Markt etablierte Technik zurückgreift. Allerdings haben Fertiglösungen auch Nachteile. Ältere oder preiswertere Systeme lassen sich häufig nur eingeschränkt bzw. mit größerem Kostenaufwand erweitern. Dies gilt besonders für die Internettelefonie, die ja dieser Tage in aller Munde ist.
Somit stellt sich die Frage, ob Internettelefonie denn wirklich wichtig und sinnvoll ist und wie solche Anwendungen in bestehende Infrastrukturen gegebenenfalls problemlos eingebunden werden können.
Als erstes Argument wird oft die mögliche Ersparnis bei Ferngesprächen genannt. Unter diesem Aspekt wird ja Voice-Over-IP zumeist auch beworben. Speziell hierzulande muß man jedoch hinterfragen, wie groß denn die Ersparnis mit dem einen oder anderen Internettelefonieanbieter wirklich noch ist, wenn man die Kosten für Gespräche mit der konsequenten Nutzung der sogenannten Call-by-call-Vorwahlen z.B. durch einen Leastcostrouter in der Telefonanlage vergleicht.
Auf diese Weise kann man durchaus auch im konventionellen Festnetzbereich tagsüber auf Tarife zugreifen, die viele Voice-Over-Ip-Angebote sogar noch unterbieten. Hinzu kommt, daß nach wie vor die Festnetztelefonie in Bezug auf die Sprachqualität die Nase vorn hat. Dies liegt schlicht an der Übertragungstechnik selbst. Während Voice-Over-IP-Gespräche über das an sich nicht für Echtzeitanwendungen ausgelegte Internet Paket für Paket geleitet werden, steht im Festnetz eine garantierte Bandbreite mit einer definierten kaum spürbaren Latenz für jedes Gespräch zur Verfügung.
Wir bei telos haben uns deshalb entschieden, im Regelfall auf Festnetztelefonie zurückzugreifen. Trotzdem gibt es eine Vielzahl von Anwendungsmöglichkeiten für Internettelefonie und wir möchten in diesem Artikel unsere Erfahrungen mit der Realisierung solcher Anwendungen schildern.
Viele Unternehmen definieren Wählberechtigungen für ihre Telefone. Dies bedeutet, daß einzelne Mitarbeiter ggf. nur Orts-, Fern- oder Interngespräche führen können. Das ist natürlich auch in anderen Ländern der Fall. Praktisch ist es deshalb, seinen ausländischen Kunden eine Einwahl aus ihrem inländischen Telefonnetz zu bieten, die dann an einen Apparat oder eine Rufgruppe im eigenen Unternehmen weitergeleitet wird. Dies läßt sich zum Beispiel für die USA völlig kostenlos realisieren. Diverse Anbieter wie IPKall bieten eine kostenlose US-Festnetznummer mit der Möglichkeit, diese an ein Internettelefon weiterzuleiten. Hierbei ist es natürlich ganz egal, wo dieses Internettelefon steht und ob es sich in Wirklichkeit um ein Telefon oder eine dafür ausgelegte Telefonanlage hier in Europa handelt. Der Kunde kann mit einer solchen Lösung die US-Nummer anwählen und wird direkt, d.h. ohne daß er dies überhaupt erfährt, mit dem hiesigen Ansprechpartner verbunden. Kosten für den internationalen Anruf fallen auf keiner Seite an; der Kunde zahlt ein inländisches Ferngespräch.
Alles, was man zum Aufbau eines solchen Einwahlpunktes benötigt, ist ein PC, auf dem die Opensource-Telefonanlagensoftware Asterisk unter Linux installiert ist. Dieser PC muß Zugang zum öffentlichen Internet haben und über eine ISDN-Karte verfügen, mit der er an die bestehende Telefonanlage angeschlossen wird. Die Telefonanlage muß so geschaltet sein, daß sie Anrufe von der ISDN-Karte zumindest ins interne Firmennetz ermöglicht.
Das weitere Vorgehen ist denkbar einfach. Man benötigt ein Sipkonto, entweder direkt unter Asterisk eingerichtet oder einfacher über einen kostenlosen Anbieter wie Free World Dialup.
Mit diesen Daten meldet man sich bei www.ipkall.com oder einem anderen US-Einwahlanbieter an. Hierdurch erreicht man, daß alle auf der einem zugeteilten US-Nummer eingehenden Anrufe auf das gerade eingerichtete Sip-Konto weitergeleitet werden. Alles was man nun noch tun muß, ist dafür zu sorgen, daß Asterisk solche Internetanrufe entgegennimmt und sie an eine Nummer im internen Netz weiterleitet.
Mit wenigen Zeilen in den Konfigurationsdateien läßt sich dies erreichen. Dokumentierte Beispiele finden sich am Ende dieses Artikels.
Zu beachten ist, daß Gespräche über solche Nummern nicht verschlüsselt sind und somit als potentiell abhörbar gelten müssen. Auch sollte man die Leitung gelegentlich überprüfen, da ja nie ausgeschlossen werden kann, daß so ein Gratisanbieter spontan seinen Dienst einstellt.
Bereits in der Grundkonfiguration bietet die Asterisk-Software einen Demonstrationsmodus, der einen Anrufer - leider auf Englisch - durch Sprachmenüs führt. Selbstredend ist es möglich und zudem noch sehr einfach, eigene Sprachmenüs aufzubauen und die hiermit verbundene Sachlogik festzulegen. Natürlich existieren für diese sogenannten IVR-Anwendungen auch kommerzielle Lösungen. Gerade für kleinere und mittlere Unternehmen ist es jedoch attraktiv, hier eine flexible und vor allem kostenlose Lösung einzusetzen. Hierbei kann sich der Funktionsumfang solcher Sprachmenüs durchaus sehen lassen. Von einfachen Anrufbeantworterfunktionen "Bitte sprechen Sie nach dem Signalton" bis zur Abarbeitung eigener Programme als Reaktion auf Tastendrücke läßt sich fast alles mit Asterisk realisieren. Gerade im Bereich der Sprachdialoge läßt sich die Tatsache ausnutzen, daß die gesamte Telefonanlagenlogik in Form eines PC-Programms realisiert ist und hierdurch natürlich auch leicht andere Anwendungen integriert werden können.
Alle Ansagetexte und Fragmente können vom Benutzer frei definiert werden. Die Stadt Pforzheim hat die wichtigsten Ansagen in deutscher Sprache professionell erstellen lassen und zum Download bereitgestellt.
Viele Arbeiten lassen sich am heimischen PC und mit entsprechender Telefonanbindung fast so gut erledigen wie im Büro. Ob regelmäßige Heimarbeit oder Ausweichlösung für Notsituationen, gewünscht ist die Anbindung eines Telefones zu Hause in jedem Fall und zwar möglichst transparent, d.h. der Anrufer soll auf dieses Telefon genauso zugreifen können, wie auf den Apparat am Arbeitsplatz. Ist bei dem Mitarbeiter eine DSL-Anbindung und möglichst auch eine Internetflatrate vorhanden, läßt sich dieses mit Asterisk ohne Zusatzkosten für eingehende und ausgehende Verbindungen ins Firmennetz erreichen. Benötigt wird hierfür allerdings ein sogenanntes IP-Telefon, welches bereits für ca. 60 Euro erhältlich ist. Hilfsweise kann auch ein SIP-Softphone, also ein Programm auf dem PC verwendet werden, welches die Telefonie über Mikrofon und Soundkarte ermöglicht. Unsere Erfahrung hat jedoch gezeigt, daß dieser Ansatz gerade im professionellen Bereich nicht die Anforderungen an Sprachqualität und Zuverlässigkeit erfüllt.
Um einen Mitarbeiter zuhause oder irgendwo sonst auf der Welt ins Firmennetz einzubinden, wird Asterisk so konfiguriert, daß es selbst als sogenannter SIP-Server, d.h. als Quasi-Telefoniediensteanbieter fungiert. Das IP-Telefon meldet sich nun an dem Rechner, auf dem Asterisk läuft, an. Nun muß nur noch dafür gesorgt werden, daß alle vom IP-Telefon getätigten Telefonate über ISDN ins Firmennetz weitergeleitet werden. Ferner sollte man für diesen "virtuellen Arbeitsplatz" eine eigene interne Rufnummer definieren und dort eingehende Gespräche an eben dieses IP-Telefon weiterleiten. Im Ergebnis arbeiten dann vom IP-Telefon alle internen Durchwahlen sowie ggf. auch die Amtsholung mit der 0 so, als säße der Mitarbeiter im Büro.
Asterisk ist als ein offenes System konzipiert und zwar ganz bewußt mit dem Ziel, verschiedene Telefoniequellen miteinander zu verbinden. Folglich wird auch jede Übertragungstechnik bzw. Signalisierung durch einen sogenannten Channeltreiber abgebildet. Für ISDN-Kanäle gibt es gleich mehrere davon:
Sofern für die verwendete ISDN-Karte eine CAPI-Schnittstelle initial zur Verfügung steht, sollte man auf den von der Firma Junghanns entwickelten chan_capi-Treiber zurückgreifen. Dies ist beispielsweise für die ISDN-Adapter von AVM der Fall. Solange man seine ISDN-Karte nur als Endgerät (im T-Modus) betreiben möchte, ist dieser Treiber zumeist völlig ausreichend. Anders sieht es aus, wenn man beabsichtigt, an eine solche Karte ein oder mehrere ISDN-Telefone anzuschließen. In diesem Fall müssen die Karten im sogenannten NT-Modus betrieben werden, was derzeit nur mit Karten funktioniert, die einen HFC-Chip des Herstellers Colognechip verwenden. Ein solches Szenario ist interessant, wenn man Asterisk nicht nur als intelligenten Teilnehmer einsetzen möchte, sondern das System als Teil der Telefonanlage selbst sieht bzw. die Anlage gänzlich mit Asterisk realisieren möchte. Hier sollte dann der sogenannte MISDN-Treiber oder alternativ der Treiber VISDN eingesetzt werden. Einige Anbieter wie Junghanns oder Beronet haben sich auf den Vertrieb geeigneter Hardware nebst der Entwicklung von Opensource-Treibern spezialisiert. Hier findet man auch ISDN-Karten mit 2, 4 oder 8 S0-Bussen.
Eine herkömmliche Telefonanlage kommt in der Regel als wandmontierbares oder 19"-Gerät inklusive Bedienungsanleitung daher. Hierin ist zumindest theoretisch alles Beschrieben, was man bei Anschluß der Endgeräte und bei der Erstellung des Rufnummernplans beachten muß. Solche geschlossenen Lösungen zeichnen sich im allgemeinen durch einen recht hohen Bedienkomfort bei der Konfiguration aus.
Asterisk hingegen ist zunächst einmal eine reine Software, die man sich entweder als Quellcode oder als fertiges Binärpaket für sein Linuxsystem herunterladen kann. Sämtliche Einstellungen werden mittels Konfigurationsdateien im Verzeichnis /etc/asterisk vorgenommen, welche mit jedem Texteditor bearbeitet werden können. Nun ist die Aussicht auf das manuelle Editieren solcher Dateien und das Studieren der einzelnen Einstellungen für absolut jeden Aspekt der Telefonanlage zunächst einmal wenig verlockend. Deshalb gibt es diverse Projekte , um die Installation von Asterisk komfortabel zu gestalten. Da sich jedoch so gut wie alle Hilfen, die man für die Konfiguration reichlich im Internet bekommen kann, auf die Textdateien beziehen, kann es durchaus Sinn machen, auf die Verwendung solcher Oberflächen zu verzichten. Ohnehin wird einem die Planung der Rufnummern und Wählregeln in keinem Falle abgenommen; hier ist eine gute Analyse der Anforderungen unumgänglich.
Dies gilt sowohl für die Hardwareausstattung als auch für die Verteilung der Rufnummern.
Grundsätzlich existiert für jeden Telefoniezugangsweg wie SIP oder CAPI eine dedizierte Datei, in der globale und vor allem gerätespezifische Einstellungen vorgenommen werden. Die Sachlogik der Anlage, d.h. das eigentliche Verhalten, wird in einer Datei namens extensions.conf festgelegt. Bevor man diese Datei modifiziert sollte man allerdings zunächst die mitgelieferten Beispielkonfigurationen studieren und verstehen, bevor man Änderungen an der eigentlichen Anlage vornimmt.
Zur Verdeutlichung der oben beschriebenen Anwendungen sind nachfolgend Auszüge aus Konfigurationsdateien abgebildet. Diese gehen von einer vorhandenen ISDN-Anlage beliebigen Typs in einer Firma aus, an die ein PC mittels einer ISDN-Karte als Endgerät angeschlossen ist. Der PC hat eine feste IP-Adresse im öffentlichen Netz. Asterisk ist in der neuesten Version bereits auf dem PC installiert. Max Muster ist ein Mitarbeiter der Firma. Daheim steht ihm eine DSL-Flatrate zur Verfügung. Ein IP-Telefon ist über einen Router mit dem Internet verbunden und hat - wie hierzulande üblich - keine feste, sondern eine dynamische IP-Adresse. Herr Muster hat in der Firma die Durchwahl 22. Darüberhinaus wurde der ISDN-Karte im Asterisk-PC die MSN (Durchwahl) 202 zugewiesen, die für Herrn Muster zwecks Gesprächsweiterleitung reserviert ist.
Die Firma betreut Kunden in den USA und möchte deshalb einen US-Einwahlknoten realisieren. Zu diesem Zweck wurde, wie oben beschrieben, bei Freeworlsdialup ein Benutzerkonto und damit gleichzeitig eine SIP-Telefoniezugangsnummer eingerichtet.
Beginnen wir gleich mit der Datei sip.conf in der alles steht, was spezifisch für den Zugang über das SIP-Voice-Over-IP-Protokoll ist.
[general]
context=default ; Wohin bei eingehenden Anrufen über SIP gesprungen werden soll, sofern nichts anderes angegeben wurde.
port=5060 ; UDP port für SIP
bindaddr=0.0.0.0 ; IP adresse auf die gehört wird, (0.0.0.0 für alle)
srvlookup=yes ; Damit wir URLs für ausgehende Gespräche verwenden können.
tos=lowdelay ; lowdelay,throughput,reliability,mincost,none sind die Optionen und beziehen sich auf die Priorisierungsangaben in den Paketen.
disallow=all ; Welche Codecs möchten wir nutzen? Zunächst werden Alle abgeschaltet
allow=ulaw ; und dann mit absteigender Präferenz aktiviert
allow=alaw
allow=ilbc
allow=g726
allow=gsm
nat=no ; NAT Einstellung, Verwende NAT wenn nötig
; Hier erfolgt die Registrierung bei Freeworlddialup für die US-Einwahl.
; Es wird die virtuelle Durchwahl 2030 für eingehende Anrufer angenommen.
register => FWD##:passwort@fwd.pulver.com/2030
; Obige zeile registriert Asterisk bei fwd
externip = 200.69.100.200 ; Feste IP-Adresse des Asterisk-Servers.
; Adressen / Masken unseres lokalen Netzes
localnet=200.69.100.200/255.255.255.240
[fwd]
type=peer ; erlaube ausgehende Gespräche, aber keine Registrierung als Nutzer
username=fwd##
host=fwd.pulver.com
fromuser=fwd##
fromdomain=fwd.pulver.com
nat=no ; wir selbst haben eine feste IP-Adresse
context=fwdin ; bedeutet, daß bei eingehenden Anrufen in den Abschnitt fwdin der Datei extensions.conf gesprungen wird
canreinvite=no ; alle Kommunikation muß über unseren Server erfolgen
Nun richten wir Herrn Muster ein, der sich bei Asterisk registrieren möchte und ntern die Durchwahl 22 hat
[22]
type=friend
secret=KENNWORT_VON_HERRN_MUSTER
username=22
context=from-sip-intern ; für den Sprung in extensions.conf bei eingehenden Anrufen
fromuser=22
;callerid=Max Muster<22>
host=dynamic ; Herr Muster hat zu Hause keine feste IP-Adresse
nat=yes ; Herr Musters Telefon ist hinter einem NAT-Router
qualify=yes ; Halte die Verbindung zu seinem Router aufrecht
canreinvite=no ; Datenverkehr muß über unseren Server laufen.
dtmfmode=info ; DTMF-Töne werden als SIP-Signalisierung gesendet.
disallow=all ; Zunächst alle Codecs abschalten
allow=ulaw ; und einzeln wieder aktivieren
allow=alaw
Der zweite Kommunikationskanal ist die ISDN-Karte. Auch für sie müssen Einstellungen vorgenommen werden. Wir gehen von einem Adapter der Firma AVM aus, da diese Geräte wohl die meiste Verbreitung im deutschsprachigen Raum haben.
Für die AVM-Karten sind CAPI-Anbindungen verfügbar und so können wir den bereits erwähnten CHAN_CAPI-Treiber nutzen. Dessen Einstellungen finden sich in der Datei capi.conf:
[general]
nationalprefix=0 ; Nationale Rufnummern werden mit Vorwahl und führender 0 übermittelt.
internationalprefix=00 ; Bei Gesprächen aus dem Ausland ist der Präfix 00
rxgain=0.8 ; Lautstärkenanhebungen
txgain=0.8
; language=de ;set default language ; Die Sprache z.B. für Meldungen wird standardmäßig auf Deutsch eingestellt
; Unser erster und einziger ISDN-Controller
[ISDN1]
isdnmode=msn ; Wir arbeiten mit einem Mehrgeräteanschluß und nicht mit einem Anlagenanschluß
incomingmsn=* ; erlaube eingehende Gespräche auf allen MSNs
defaultcid=201 ; setze MSN für ausgehende Gespräche
controller=1 ; Nummer des ISDN-COntrollers
group=1 ; Teilnehmergruppe für ausgehende Gespräche
softdtmf=on ; Erkennung von DTMF-Tönen in Software aktivieren
relaxdtmf=on ; mit einer toleranteren Handhabung
accountcode= ; Konto für Protokollierungsaufzeichnungen
context=default ; Abschnitt in extensions.conf für eingehende Anrufe
immediate=yes ; für Telefonanlagen erforderlich, die keine SETUP/SEND_COMPLETE Signalisierung beim Anwählen der ISDN-Karte unterstützen
devices=2 ; Anzahl B-Kanäle auf diesem ISDN-Controller
Nun sind die beiden Kommunikationskanäle eingerichtet und es fehlt noch die Logik, die bestimmt, wie mit eingehenden und ausgehenden Anrufen verfahren werden soll. Diese Einstellungen werden in der bereits zitierten Datei extensions.conf vorgenommen.
Was geschieht, wenn Herr Muster von zu Hause eine zweistellige Durchwahl anwählt.
[from-sip-intern]
exten => _XX,1,Dial(CAPI/ISDN1/201:${EXTEN})
Soll heißen:
Wenn eine aus zwei beliebigen Ziffern bestehende Nummer gewählt wird, dann leite diese mit der abgehenden MSN 201 weiter und zwar an den ISDN-Controller ISDN1, welchen wir ja in der capi.conf definiert haben.
Die Handhabung von Anrufen über die US-Nummer, d.h. über Free World Dialup geschieht wie folgt:
[fwdin]
; Jemand ruft über VOIP an. Achtung!
; Egal was man hier tut, es muß sichergestellt sein, daß niemand auf
; unsere Kosten telefoniert, d.h. Wildcards z.B. mit 0 am Anfang auf CAPI leiten kann.
exten => 2030,1,Dial(CAPI/ISDN1/201:60)
bedeutet:
Wird über SIP die virtuelle Durchwahl 2030 gewählt, so rufe die interne Durchwahl 60 via ISDN und zeige als Anrufer-ID 201 an. Wir erinnern uns, diese virtuelle Durchwahl haben wir für diesen Zweck in sip.conf vergeben.
Abschließend muß noch der Fall definiert werden, daß jemand Herrn Muster zu hause über die
Durchwahl 202 anruft:
[default]
; Einwahl über CAPI, d.h. von intern
; SIP-Telefon anrufen über 202:
exten => 202,1,Dial(sip/22,30)
Wobei die 30 bedeutet, daß das Telefon dort bei Herrn Muster im Falle eines Anrufes maximal 30 Sekunden klingeln darf.
Fazit:
Mit Asterisk steht eine äußerst skalierbare und flexible Telefonielösung zur Verfügung. Diverse Installationen belegen, daß dieses System durchaus für den professionellen Einsatz geeignet ist. Um dieses mächtige Paket jedoch optimal nutzen zu können, ist es erforderlich, sich mit den Abläufen und insbesondere mit den Konfigurationsmöglichkeiten gut vertraut zu machen.
|