2.7. Telefonate vom und in das öffentliche Netz

In diesem Abschnitt werden wir unsere kleine Mini-Telefonanlage mit dem Rest der Telefonwelt verbinden.

2.7.1. In das öffentliche Telefonnetz telefonieren

Bis jetzt haben Sie zwar eine fertige Telefonanlage, was an und für sich spannend, aber ohne den Anschluss an die große, weite Welt noch nicht wirklich nützlich ist. Wenn Sie mir weitere 10 Minuten Zeit geben und Ihre Mini-Telefonanlage eine Internetverbindung besitzt, lässt sich auch diese Aufgabe lösen, und Sie erhalten in Kürze Anschluss ans Festnetz. Dazu benötigen Sie einen Account bei einem SIP-Provider.
Jetzt konfigurieren wir Asterisk so, dass Sie mit den Telefonen 2000 und 2001 in das deutsche Festnetz telefonieren können. Als Erstes müssem wir den Provider-Account in der /etc/asterisk/sip.conf eintragen:
[general]
port = 5060
bindaddr = 0.0.0.0
context = sonstige

register => 5587572:UHDZJD@mein-voip-provider.de/5587572
;              ^       ^       ^                    ^
;              |       |       |                    |
;             User Passwort  Provider              User

[2000]
type=friend
context=meine-telefone
secret=1234
host=dynamic

[2001]
type=friend
context=meine-telefone
secret=1234
host=dynamic

[ext-sip-account]
type=friend
context=von-voip-provider
username=5587572
fromuser=5587572
secret=UHDZJD
host=mein-voip-provider.de
fromdomain=mein-voip-provider.de
qualify=yes
insecure=port,invite
nat=yes
Den Usernamen (im Beispiel 5587572) und Ihr Passwort (im Beispiel UHDZJD) können Sie der SIP-Provider-Webseite entnehmen. Damit kann Asterisk diesen Account benutzen. Allerdings müssen wir jetzt noch in der /etc/asterisk/extensions.conf eine Regel zum Rauswählen einfügen:
[sonstige]

[meine-telefone]
exten => 2000,1,Dial(SIP/2000,20)
exten => 2000,2,VoiceMail(2000,u)

exten => 2001,1,Dial(SIP/2001,20)
exten => 2001,2,VoiceMail(2001,u)

exten => 2999,1,VoiceMailMain(${CALLERID(num)},s)

exten => _0[1-9].,1,Dial(SIP/${EXTEN}@ext-sip-account)
Nachdem die Einträge in den Konfigurationsdateien erstellt sind, starten Sie Asterisk, wie bekannt, mit asterisk -vvvvvc im CLI und warten ein paar Sekunden, bis sich eines der SIP-Telefone angemeldet hat. Danach wählen Sie einfach eine beliebige Nummer im deutschen Festnetz (mit Vorwahl) und warten (im CLI können Sie beobachten, was passiert). Nach kurzer Zeit hören Sie auch schon das Freizeichen und können mit einem Festnetz-Teilnehmer telefonieren. Wie die obige Konfiguration genau funktioniert, wird an dieser Stelle noch nicht verraten.[5]

2.7.2. Gespräche vom öffentlichen Netz entgegennehmen

Der letzte Schritt ist ein kleiner. Wir wollen über unsere Rufnummer beim VoIP-Provider auf dem Telefon mit der Nummer 2000 angerufen werden können. Dazu müssen wir nur noch einen weiteren Context zur Konfigurationsdatei /etc/asterisk/extensions.conf hinzufügen:
[sonstige]

[meine-telefone]
exten => 2000,1,Dial(SIP/2000,20)
exten => 2000,2,VoiceMail(2000,u)

exten => 2001,1,Dial(SIP/2001,20)
exten => 2001,2,VoiceMail(2001,u)

exten => 2999,1,VoiceMailMain(${CALLERID(num)},s)

exten => _0[1-9].,1,Dial(SIP/${EXTEN}@ext-sip-account)

[von-voip-provider]
exten => 5587572,1,Dial(SIP/2000)
Fertig!
Die 5587572 ist Ihre interne Rufnummer bei Ihrem VoIP-Provider. Bitte schauen Sie auf der Webseite des Providers in Ihren Kundendaten diese Nummer nach. Dass die Rufnummer hier dieselbe ist wie der Username, ist prinzipiell Zufall.
Wer will, kann natürlich ganz einfach mit der folgenden Variante noch eine Voicemailbox für Gespräche aktivieren, die vom SIP-Provider kommen:
[sonstige]

[meine-telefone]
exten => 2000,1,Dial(SIP/2000,20)
exten => 2000,2,VoiceMail(2000,u)

exten => 2001,1,Dial(SIP/2001,20)
exten => 2001,2,VoiceMail(2001,u)

exten => 2999,1,VoiceMailMain(${CALLERID(num)},s)

exten => _0[1-9].,1,Dial(SIP/${EXTEN}@ext-sip-account)

[von-voip-provider]
exten => 5587572,1,Dial(SIP/2000,20)
exten => 5587572,2,VoiceMail(2000,u)
In diesem Einführungskapitel wollte ich Ihnen zeigen, wie schnell und einfach man mit Asterisk eine funktionierende Telefonanlage aufbauen kann. Im verbleibenden Teil des Buches gehen wir tiefer in die Details, und ich zeige Ihnen, was Sie mit Asterisk alles machen können.


[5] Nur so viel an dieser Stelle: Die Variable ${EXTEN} enthält die vom Benutzer gewählte Nummer (siehe Kapitel 6, Programmieren im Dialplan).