Anhang B. Spezielle SIP-Provider

1. Einleitung

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.

2. SIP-Provider T-Online

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]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

Asterisk bei T-Online registrieren

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]Wichtig

Bei der Schreibweise der beiden Parameter maxepirey und defaultexpirey muss es irgendwann zu einem Fehler im Asterisk-Quellcode gekommen sein. Eigentlich müssten die Parameter maxexpiry und defaultexpiry heißen. Beide Schreibweisen funktionieren mittlerweile.[152]

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:

03222xxxxxxxDie VoIP-Telefonnummer, die Ihnen von T-Online zugewiesen wurde
secretIhr T-Online-Web-Passwort
hans.mustermannIhr T-Online-Benutzername (ohne @t-online.de)
siptonlineExtension, 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.

Über T-Online telefonieren

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]Wichtig

Wird der Eintrag insecure=very nicht gesetzt, würden eingehende(!) Anrufe durch diesen Eintrag abgewiesen. Zudem muss der Username diesmal zusammen mit der T-Online-Domäne gesetzt werden, da ansonsten die unten aufgeführte Rufnummernunterdrückung nicht funktioniert (Danke an Simon Baatz (http://simon.baatz.info/) für diesen entscheidenden Tipp).

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

3. SIP-Provider dus.net

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.

Asterisk bei dus.net registrieren

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
0003xxxxxxxxDer 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.
secretDas 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.
9999Extension, 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.

Über dus.net telefonieren

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]Wichtig

Wird der Eintrag insecure=very nicht gesetzt, würden eingehende(!) Anrufe durch diesen Eintrag abgewiesen.

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

Das gedruckte Buch

Werbung