Die meisten SIP-Provider haben auf ihren Webseiten eine gute Beschreibung, wie man Asterisk anschließt. Diese kann man oft einfach per cut-and-paste übernehmen. Für alle anderen Fälle gibt es diesen Anhang.
Der Internet-Provider T-Online bietet ebenfalls seit einiger Zeit VoIP-Dienste an. Auch wenn der Provider seine eigene VoIP-Software propagiert, ist es durchaus möglich, auch Asterisk an den T-Online-SIP-Dienst anzukoppeln. Nachfolgend sind die Schritte beschrieben, die eine Anbindung von Asterisk an T-Online als VoIP-Provider ermöglichen.
Warnung | |
---|---|
T-Online hat in der Vergangenheit öfters die serverseitige SIP-Software gewechselt, wodurch es mehrfach zu Problemen und notwendigen Anpassungen an der Client-Konfiguration kam. Die nachfolgend beschriebene Konfiguration war zum Zeitpunkt der Drucklegung funktionsfähig. Bei Problemen konsultieren Sie bitte die Online-Version des Buchs unter http://www.das-asterisk-buch.de |
Es wird davon ausgegangen, dass Sie Kunde bei T-Online sind, die VoIP-Dienstleistung in Ihrem Account haben freischalten lassen und von T-Online bereits eine VoIP-Telefonnummer bekommen haben. Ihre aktuellen Einstellungen können Sie über das T-Online-Kundencenter konfigurieren (http://www.t-online.de/kundencenter).
Zunächst wird in der [general]
-Sektion der Datei
sip.conf
der folgende Registrierungs-Eintrag
eingefügt:
[general] ; ; Register to SIP Provider T-Online ; register => user[:secret[:authuser]]@host[:port][/extension] ; maxexpirey=240 ; Wichtig fuer T-Online defaultexpirey=240 ; Wichtig fuer T-Online, mindestens 240 register => 03222xxxxxxx:secret:hans.mustermann@tel.t-online.de/siptonline
Die beiden Parameter maxexpirey
und
defaultexpirey
müssen für das T-Online-SIP-Gateway wie oben
gesetzt werden, ansonsten nimmt T-Online die Registrierung nicht
an.
Wichtig | |
---|---|
Bei der Schreibweise der beiden Parameter
|
Werden diese Einstellungen nicht oder falsch gesetzt, gibt
T-Online bei der Registrierung verschiedenste Fehlermeldungen aus, je nach
aktuell eingesetzter Server-Software. Die Parameter des
register
-Befehls haben folgende Bedeutung:
03222xxxxxxx | Die VoIP-Telefonnummer, die Ihnen von T-Online zugewiesen wurde |
secret | Ihr T-Online-Web-Passwort |
hans.mustermann | Ihr T-Online-Benutzername (ohne @t-online.de) |
siptonline | Extension, die im Wählplan für eingehende Anrufe angesprungen werden soll |
Wenn Sie die sip.conf
in Asterisk neu einladen
und dann den Befehl sip show registry aufrufen, sollten
Sie folgende Zeile sehen:
*CLI> sip show registry Host Username Refresh State Reg.Time tel.t-online.de:5060 03222xxxxxxx 225 Registered Wed, 27 Dec 2006 19:01:07
Werden auf der Konsole keine Registrierungsfehler ausgegeben, hat
bereits alles geklappt und das Asterisk-System ist bei T-Online
erfolgreich registriert. Nun muss in der Datei
extensions.conf
der Wählplan entsprechend angepasst
werden.
Wird der Registrierungs-Befehl wie oben angegeben, landen eingehende Anrufe im [default]-Context des Wählplans. Alles andere ist wie immer, man erstellt eine entsprechende Extension und wählt darüber ein passendes Endgerät an.
[default] exten => siptonline,1,Dial(SIP/2000) exten => siptonline,2,VoiceMail(u2000) exten => siptonline,102,VoiceMail(s2000) exten => siptonline,103,Hangup()
Nun sollte ein Anruf an Ihrer T-Online-VoIP-Nummer bereits ohne Probleme durchgestellt werden können.
Um über den Provider auch heraustelefonieren zu können, muss
zunächst ein weiterer Eintrag in der Datei sip.conf
erfolgen. Dort werden die Account-Informationen des Providers
eingetragen, die ähnlich sind, wie oben bereits beschrieben.
[tonlineout] type=peer username=hans.mustermann@t-online.de secret=secret host=tel.t-online.de fromdomain=tel.t-online.de insecure=very
Wichtig | |
---|---|
Wird der Eintrag |
In dem Context der abgehenden Verbindung muss nun in der Datei
extensions.conf
noch ein entsprechender Eintrag
getätigt werden, in diesem Fall werden z.B. alle mit 0 beginnenden
Rufnummern über das SIP-Gateway geleitet:
exten => _0.,1,Set(CALLERID(num)=03222xxxxxxx) exten => _0.,n,Set(CALLERID(name)=03222xxxxxxx) exten => _0.,n,Dial(SIP/${EXTEN:1}@tonlineout)
Wichtig | |
---|---|
Werden nicht sowohl die CallerID-Nummer wie auch der CallerID-Name auf die vom Provider zugewiesene Rufnummer gesetzt, so wird der Anruf vom T-Online-SIP-Gateway abgewiesen. |
Möchte man eine Rufnummernunterdrückung erzwingen, so müssen
CallerID-Nummer und CallerID-Name beide auf den Wert
anonymous
gesetzt werden:
exten => _9.,1,Set(CALLERID(num)=anonymous) exten => _9.,n,Set(CALLERID(name)=anonymous) exten => _9.,n,Dial(SIP/${EXTEN:1}@tonlineout)
Der Provider dus.net http://dus.net bietet eine gute Anbindung für SIP- und auch IAX-Clients und stellt darüber hinaus eine eigene Dokumentation zur Anbindung seines Asterisk-Servers zur Verfügung. Siehe:http://dus.net/index.php?id=165
Hier soll kurz beschrieben werden, wie man sich per SIP verbindet, um über eine öffentliche Telefonnummer Gespräche anzunehmen und selber heraustelefonieren zu können.
Es wird davon ausgegangen, dass Sie sich bei dus.net registriert haben und dass Sie einen SIP-Benutzernamen und ein Passwort haben.
Diese Daten können Sie im Kundenbereich (https://dus.net/kundenbereich/xp/) / VoIP-Menü / SIP/IAX-Anschlüsse / Zugangsdaten überprüfen.
Zunächst wird in der [general]
-Sektion der Datei
sip.conf
der folgende Registrierungs-Eintrag
eingefügt:
[general] ; ; Register to SIP Provider dus.net ; register => user[:secret[:authuser]]@host[:port][/extension] ; register => 0003xxxxxxxx:secret@proxy.dus.net/9999
0003xxxxxxxx | Der SIP-Benutzername (Username), der Ihnen von dus.net zugewiesen wurde. Den SIP-Benutzernamen können Sie im Kundenbereich (s.o.) überprüfen. Der SIP-Benutzername ist nicht zu verwechseln mit dem Web-Benutzernamen, den Sie zum Einloggen im Kundenbereich benötigen. |
secret | Das SIP-Passwort (Kennwort), das Ihnen von dus.net zugewiesen wurde. Das SIP-Passwort können Sie im Kundenbereich (s.o.) überprüfen und ggf. neu setzen. Das SIP-Passwort ist nicht zu verwechseln mit dem Web-Passwort, das Sie zum Einloggen im Kundenbereich benötigen. |
9999 | Extension, die im Wählplan für eingehende Anrufe angesprungen werden soll. Hier werden die Anrufe auf die Nummer 9999 geleitet, die gleich im Wählplan auf eine interne Nummer geleitet wird. |
Wenn Sie sip.conf
in Asterisk neu einladen und
dann den Befehl sip show registry aufrufen, sollten Sie
folgende Zeile sehen:
*CLI> sip show registry Host Username Refresh State proxy.dus.net:5060 000387220043 105 Registered
Werden auf der Konsole keine Registrierungsfehler ausgegeben, hat
bereits alles geklappt und das Asterisk-System ist bei dus.net erfolgreich
registriert. Nun muss in der Datei extensions.conf
der Wählplan entsprechend angepasst werden.
Wird der Registrierungs-Befehl wie oben angegeben, landen eingehende Anrufe im [default]-Context des Wählplans. Alles andere ist wie immer, man erstellt eine entsprechende Extension und wählt darüber ein passendes Endgerät an.
[default] exten => 9999,1,Ringing exten => 9999,2,Set(LANGUAGE()=de) exten => 9999,3,Dial(SIP/1000,20) exten => 9999,4,Hangup()
Nun sollte ein Anruf an Ihrer dus.net-VoIP-Nummer bereits ohne Probleme auf die interne Nummer 1000 durchgestellt werden können.
Um über den Provider auch heraustelefonieren zu können, muss
zunächst ein weiterer Eintrag in der Datei sip.conf
erfolgen. Dort werden die Account-Informationen des Providers
eingetragen, die ähnlich sind, wie oben bereits beschrieben.
[dusnet-out] type=peer username=0003xxxxxxxx fromuser=0003xxxxxxxx fromdomain=dus.net secret=secret insecure=very host=proxy.dus.net qualify=yes disallow=all allow=ulaw allow=alaw
Wichtig | |
---|---|
Wird der Eintrag |
In dem Context der abgehenden Verbindung muss nun in der Datei
extensions.conf
noch ein entsprechender Eintrag
getätigt werden, in diesem Fall werden z.B. alle mit 0 beginnenden
Rufnummern über das SIP-Gateway geleitet:
exten => _0X.,1,SetCallerID(StrukturPunkt/Franken) exten => _0X.,2,Dial(SIP/${EXTEN}@dusnet-out) exten => _0X.,3,Hangup
[152] Siehe auch den entsprechenden Quelltextabschnitt:
} else if (!strcasecmp(v->name, "maxexpirey") || !strcasecmp(v->name, "maxexpiry")) { max_expiry = atoi(v->value); if (max_expiry < 1) max_expiry = DEFAULT_MAX_EXPIRY; } else if (!strcasecmp(v->name, "defaultexpiry") || !strcasecmp(v->name, "defaultexpirey")) {
Version 1.2, November 2002
Neue Version verfügbar
Sie betrachten gerade die alte Version des Buches (Version 1.0). Wir empfehlen Ihnen für Asterisk 1.4 und 1.6 die neue Version des Buches.
Asterisk-Tag 2008
Lernen Sie Mark Spencer (den Erfinder von Asterisk) kennen! Viele Vorträge, Case-Studies und Workshops rund um das Thema VoIP. Asterisk-Tag.org