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).