Florian Amrhein

Asterisk: SIP

-> VoIP -> sip.conf

Sowohl VoIP-Anbieter, die das SIP-Protokoll nutzen (also praktisch alle), als auch IP-Telephone werden in der Datei sip.conf angemeldet.

Ich werde hier demonstrieren, wie man Verbindungen zu dus.net einrichtet, sowie ein IP-Telephon einbindet.

1. Allgemeine Einstellungen


[general]
port = 5060                     ; Port to bind to
bindaddr = 0.0.0.0              ; Address to bind to
context = ankommend-ip                  ; Default for incoming calls
srvlookup = yes         ; Enable SRV lookups on outbound calls
tos=lowdelay


Hier wird eingestellt, auf welchem Port Asterisk lauschen soll (in dem Fall 5060, dem Standard-SIP-Port), sowie auf welchen IPs (0.0.0.0 für alle).

Vor allem wird hier jedoch eingestellt, in welchem Kontext der extensions.ael, also unseres Dialplans, eingehende Anrufe Standardmäßig ankommen sollen. Wir werden gleich sehen, daß wir die Anrufe, die von Telephongesellschaften herein kommen, einem anderen Kontext zuweisen werden, der Kontext ankommend-ip hier wird allen unbekannten, das bedeutet allen, die von aussen direkt auf Asterisk zugreifen wollen, zugewiesen.

2. Bei Telephonanbietern registrieren


Damit ein VoIP-Anbieter wie z.B. dus.net weiß, wohin er eingehende Gespräche leiten muß, muß man sich bei diesem Registrieren. Nur so erfährt er von der IP des Asterisk-Servers.

; **** 2.: Registrieren ****

; Florian: Telephon bei dus.net
register=>000123456:ABCDE@voip.dus.net/000123456

; Mareike: Telephon bei dus.net
register=>000654321:EFGHIJ@voip.dus.net/000654321


Hier wird Benutzername (000123456), Passwort (ABCDE) sowie SIP-Server (voip.dus.net) des Anbieters angegeben.

Die Ziffernfolge 000123456 am Ende ist der Name der Extension, unter der die eingehenden Gespräche im Dialplan (extensions.ael) landen. Hier könnte man prinzipiell auch einen Namen wie z.B. einfach "fuerflorian" angeben, viele Anbieter reagieren jedoch merkwürdig, wenn hier nicht der Benutzername steht. Meist tauchen hiermit zusammenhängende Probleme erst auf, wenn man mehrere Benutzer, so wie ich dies mache, beim selben Anbieter hat.

3. Ausgehende Telephonate

Nun folgt der Abschnitt der sip.conf, in dem ausgehende Telephonate konfiguriert werden. Für jedes Benutzerkonto bei jedem Anbieter folgt nun je ein Konfigurationsblock:

; **** 3.: Ausgehende Telephonate ****

;florian
[000123456]
type=peer
secret=abcdefgh
username=000123456
fromuser=000123456
host=proxy.dus.net

;mareike
[000654321]
type=peer
secret=abcdefgh
username=000654321
fromuser=000654321
host=proxy.dus.net


Dies sollte eigentlich selbsterklärend sein. Nur eines: Die Ziffernfolge in den eckigen Klammern, also "000123456" ist die Extension für die ausgehenden Gespräche, mit der ich im Dialplan angeben werde, welchen Anbieter ich jeweils meine. Auch hier könnte man wieder prinzipiell eine beliebige Zeichenkette angeben, aber auch hier ist es sinnvoller den Benutzernamen zu verwenden.

4. Eingehende Anrufe

Ich habe zwar im zweiten Abschnitt angegeben, wie sich Asterisk bei den Anbietern registriert, um diesen mitzuteilen, wie sie mich erreichen können, aber nun muß ich auch in Asterisk angeben, wie mit diesen Anrufen umzugehen ist, und vor allem, in welchem Kontext ("ankommend") meines Dialplans diese landen sollen:

; **** 4.: Eingehende Anrufe ****
[dusnet_in]
type=peer
fromdomain=dus.net
host=dus.net
context=ankommend


Hier ist lediglich ein Eintrag pro Anbieter nötig, und nicht für jedes Benutzerkonto eines. Diese Einstellungen lassen sich auch mit den einstellungen bei "Ausgehende Telephonate" vereinen, aber der Übersichtlichkeit halber bevorzuge ich eine klare Trennung der entsprechenden Einstellungen.

5. IP-Telephone

Nun fehlt nur noch mein häßliches, viel zu groß geratenes IP-Telephon von Budgetone, welches ich nun folgendermaßen angebe:

; **** 5.: SIP-Telephone ****
[budgetone]
type=friend
host=dynamic
username=budgetone
secret=ueoiueiuue
dtmfmode=rfc2833
mailbox=9001
context=rauswaehlen


Im Grunde wird es wie einer der SIP-Anbieter konfiguriert, wobei ich hier jedoch die Einstellungen für eingehende und ausgehende Anrufe zusammengefasst habe.

host ist hier auf "dynamic" gestellt, was bedeutet, daß Asterisk selbst erstmal nicht weiß, unter welcher IP das Gerät erreichbar ist. Das Telephon registriert sich dann jedoch (genauso wie ich es oben mit den VoP-Anbietern mache), so daß Asterisk die Adresse erhält. Name der Extension ist hier "budgetone".