Lauschangriff in VoIP-Netzen

Seite 2: Nebenstellen

Inhaltsverzeichnis

Nun ergänzt man die Datei /etc/asterisk/extensions.conf um folgende Einträge:

[default] 
exten => Sipgate-ID,1,Playback(soundfile,noanswer)
exten => Sipgate-ID,2,Congestion
exten => Sipgate-ID,102,Busy

exten => 100,1,Dial(SIP/${EXTEN},60)
exten => 100,2,Congestion
exten => 100,102,Busy

exten => 200,1,Chanspy(all,w)
exten => 200,102,Busy

exten => _X.,1,Set(CALLERID(num)=Sipgate-ID)
exten => _0[1-9].,1,Dial(SIP/${EXTEN}@sipgate)

Diese Konfiguration sorgt dafür, dass ankommende Anrufe auf die Ortsnetznummer an den Asterisk-Server geleitet werden. Da in diesem Beispiel kein normales Telefongespräch geführt werden soll, darf man den Anruf nicht auf herkömmlichem Weg an ein Telefon/Softphone vermitteln. Stattdessen wird er auf die interne Playback-Funktion umgeleitet, sodass der Anrufer die Sounddatei zu hören bekommt. Wichtig ist dabei der Parameter noanswer, der verhindert, dass Asterisk den Anruf vor dem Playback beantwortet und somit eine gebührenpflichtige Verbindung zustande kommt. Mit einer genügend langen Sounddatei hat man ausreichend Spielraum, die Early-Media-Funktion auszuprobieren. Wenn die Spieldauer des Sounds länger als das Timeout der Rufphase ist, wird die Verbindung durch den Netzbetreiber automatisch beendet.

Damit man während der Rufphase das vom Anrufer Gesagte hören kann, wird für die Nebenstelle 200 die Chanspy-Funktion aktiviert. Damit kann sich die Nebenstelle 100 durch Anruf bei der Nebenstelle 200 auf die bestehende VoIP-Verbindung aufschalten und sowohl die Sounddatei als auch den Anrufer hören. Da es beim einem Anruf aufgrund der Konfiguration nirgendwo klingelt, muss der Teilnehmer von dem Anruf wissen, um sich aufzuschalten. Die letzten beiden Einträge der extensions.conf definieren für die Nebenstellen, wie man nicht nur untereinander, sondern auch nach "Draußen" telefonieren kann.

Um die neue Konfiguration wirksam zu machen, kann man den Asterisk-Server mittels sudo /etc/init.d/asterisk restart neu starten oder die Asterisk-Konsole via sudo asterisk -r aufrufen und dort den Befehl reload eingeben. Mit dem Befehl sip debug lässt sich verfolgen, ob eine Verbindung zwischen Gateway und eigenen Server zustande kommt.

Um eine eigene Sounddatei in Asterisk einzubinden, muss man sie zunächst in das .gsm-Format konvertieren. Dazu bietet sich das Audio-Universalwerkzeug sox an, das man in einer Standard-Ubuntu-Installation zunächst mit diversen Codecs nachinstallieren muss: sudo apt-get install sox libsox-fmt-all. Anschließend wandelt sox -V sound.mp3 -r 8000 -c 1 -w sound.gsm eine im MP3-Format vorliegende Datei ins GSM-Format um. Damit Asterisk die neue Datei beim Start respektive beim Einlesen der Konfiguration findet, muss man sie ins Verzeichnis /usr/share/asterisk/sounds verschieben.

In das Konfigurationsmenu von X-Lite gelangt man über den Button zwischen "Clear" und dem Abnehmen-Knopf.

Als SIP-Phone haben wir das kostenlose X-Lite unter Windows (Version 3.0) und Linux (Version 2.0) verwendet. Unter Ubuntu muss man vor dem Start des Softphones noch die libstdc++5 nachinstallieren. In die Konfiguration unter System-Settings ist als SIP-Proxy und als Realm der eigene Asterisk-Server mit seiner lokalen IP-Adresse einzutragen. Als Username und Authorization User definiert man den in der sip.conf festgelegten User, also 100 und 200. Gleiches gilt für das Passwort.

Nach der Eingabe der Daten registriert sich X-Lite am Server. Wählt ein externer Anrufer die von Sipgate vergebene Ortsnetznummer, bekommt er die Soundatei zu hören. Wählt man von der internen Nebenstelle 100 die Nebenstelle 200 an, so hat man nach einer kurzen Hinweisansage des Asterisk-Servers "Hörzugriff" auf die Verbindung. Durch die Angabe des Parameters w in der Chanspy-Funktion ist zusätzlich die Whisper-Funktion für diesen Kanal aktiv. Damit kann man nicht nur dem Anrufer zuhören, sondern auch mit ihm sprechen. Prinzipiell lassen sich so kostenlos Telefongespräche führen, deren Länge nur durch das automatische Timeout des Netzbetreibers nach rund zwei Minuten beschränkt sind.

In den AGBs der Netzbetreiber wird in der Regel die Nutzung des Telefonnetzes ohne die Absicht, eine kostenpflichtige Verbindung aufzubauen, ausgeschlossen. Somit bewegt man sich bei derartigen Versuchen zumindest in einer Grauzone. Auch das Abhören von Anrufern kann rechtliche Probleme mit sich bringen. Anrufer sollten sich künftig jedoch überlegen, was sie etwa während des Klingelns oder in einer Warteschleife von sich geben.

Für weitere Asterisk-Experimente, Fragen zur Konfiguration und Details der einzelnen Optionen lohnt es sich, einen Blick in das online verfügbare "Asterisk Buch von Stefan Wintermeyer zu werfen. Vielleicht bekommt man ja nach den ersten Versuchen Appetit, Asterisk als produktive Telefonanlage zu Hause einzusetzen. (dab)