Hallo Markus,
hier sind die Einstellungen die auf der Webseite der dus.net zu finden sind was Asterisk betrifft:
sip.conf:
>>
[general]
;Registrierung des VoIP-Anschlusses
register => 0003872xxxxx:Passwort@proxy.dus.net
[dusnet]
type=peer
username=0003872xxxxx
host=proxy.dus.net
fromdomain=proxy.dus.net
fromuser=0003872xxxxx
secret=Passwort
insecure=invite
context=dusnet_ankommend
nat=no
;Codecs
disallow=all
;für Festnetzqualität
allow=ulaw
allow=alaw
;ansonsten weitere codecs aktivieren
allow=g722 ; HD-Voice, sehr gute Qualität
allow=g726 ; Achtung !! g726nonstandard=no verwenden
allow=ilbc ; Achtung !! es wird von Asterisk nur mode30 unterstützt. + BUG bekannt, siehe ASTERISK-18094
allow=speex
<<
Ihre extensions.conf muss einen Kontext [ankommend] beinhalten, der entsprechend die Rufnummern auf die SIP-Endgeräte verteilt.
extensions.conf
>>
[dusnet_ankommend]
exten => 021123704140,1,Dial(SIP/nebenstelle)
[context-fuer-ausgehendes-Telefonat]
exten => _XN.,1,Set(CALLERID(name)=4921123704140) ;Beipiel für Rufnummernübermittlung
exten => _XN.,n,DIAL(SIP/${EXTEN}@dusnet)
<<
Vor dem Dial() im context [context-fuer-ausgehendes-Telefonat] wird die Rufnummer gesetzt. Dies soll nur verdeutlichen, dass die Rufnummer im Displaynamen übergeben werden kann. An dieser Stelle würde der Displayname der Nebenstelle überschrieben werden. Es macht in den miesten Fällen Sinn, diesen Schritt zu überspingen und den Displaynamen der Nebenstelle vorzugeben. So wird die Rufnummer der nebenstelle übermittelt und nicht eine fest hinterlegte Nummer.
Beachten Sie das Rufnummernformat. Für die Rufnummernübermittlung wird ein anderes Format verwenden, als bei der Signalisierung ankommender Anrufe (z.B. 49211xxxxxx statt 0211xxxxxx).
Ist die DDI-Funktion (für Trunking, nur im business-Tarif) nicht aktiviert worden, wäre die SIP-Anschlussnummer ( 00038xxxxxx )zu nutzen.
Sicherheitseinstellungen
1.) permit/deny (asterisk-Boardmittel)
erlauben Sie nur bestimmten IP-Adressen den Zugriff auf die asterisk.
Beispiel:
Sie haben ein User-Konto telefon1, welches nur von einem bestimmten Arbeitsplatz aus genutzt werden darf
[telefon1]
…
deny=0.0.0.0/0.0.0.0
permit=192.168.1.29/255.255.255.255
…
Falls Sie keine statischen IP-Adressen in Ihrem Netzwerk haben, könnte man z.B. nur den internen IP-Adressenbereich freigeben.
permit=192.168.1.0/255.255.255.0
2.) Firewallregeln (Firewall des Systems)
Bitte sichern Sie die Asterisk vor unbefungten Zugriffen ab.
Dies ist in der Regel mit wenigen Firewall-Regeln getan.
- Standardmäßig sollten alle Datenpakete verworfen werden.
- Geben Sie den internen IP-Adressenbereich für die Nebestellen frei. z.B. 192.168.1.0/24
- Geben Sie die IP-Adressen der dus.net frei. Dazu kann z.B. das Netz 83.125.8.0/24 eingetragen werden.
(Ein Bespielskript für iptables folgt …)
NAT-Settings (bei Nutzung der Asterisk hinter einem NAT-Router)
Option 1) Verwendung eines STUN-Servers und Keepalive
Im Grunde ist die Nutzug von STUN optional, da die SIP-Dienste der dus.net NAT-Aware sind.
Es wir nur ein Keepalive benötigt. Ab Version 11 gibt es dafür in der Konfigurationsdatei den Parameter “keepalive”.
Die Zeile “keepalive=120” reicht in der Regel vollkommenaus.
Bei älteren Versionen würde man die Zeile “qualify=yes” verwenden.
Der vollständigkeitshalber wird noch kurz erklärt, wie eine Konfiguration mit Verwendung des STUN-Servers aussehen könnte.
Asterisk Versionen vor 1.6.x haben keinen STUN-Client.
Die Versionen 1.6.x zeigen diesbezüglich ein Fehlverhalten. (siehe ASTERISK-16348 )
Bei diesen Versionen sollte “Option 2” angewandt werden.
Wer dennoch den STUN-Server mit den 1.6er Version nutzen möchte, müsste den Stun-Server in der Konfigurationsdatei sip.conf aktivieren.
stunaddr = stun.dus.net:3478
externrefresh = 60
Der letzte Parameter dient als Keepalive.
Ab Version 1.8 ist res_stun_monitor standardmäßig “enabled”.
Die Konfigurationsdatei res_stun_monitor.conf müsste z.B. folgende Einstellungen enthalten:
stunaddr = stun.dus.net
stunrefresh = 120
Der letzte Parameter dient als Keepalive.
Option 2) Manuelle Angabe der Kontakt-IP
Die Kontaktadresse kann mit dem Paramerter “externip” in der Konfigurationsdatei sip.conf vorgegeben werden.
Sollten Sie eine statische IP-Adresse haben, verwenden Sie bitte diese. Haben Sie eine dynamische IP-Adresse, so verwenden Sie bitte die lokale LAN-IP der Asterisk(da die Systeme der dus.net NAT-Aware sind, funktioniert auch dies). z.B.
externip=192.168.0.100:5060
Da hier der Port im Vergleich zu Option 1 nicht dynamisch ist, kann hier alternativ zum Keepalive ein Portforwardig am Router eingerichtet werden, bei dem ankommende Datenpakete aus dem Internet auf Port 5060 zur Asterisk geroutet werden.
TIPP: Da bei Option 2 stets der selbe Port verwendet wird, können am Router die ankommenden Pakete priorisiert werden.
So richten Sie TLS/SRTP ein
Für die Nutzung von TLS müssen einige Sachen im [general]-Abschnitt der sip.conf eingetragen sein.
Erstellen Sie ein TLS-Socket.
tlsenable=yes
tlsbindaddr=0.0.0.0:5061
Es werden auch SRV-Lookups benötigt. Dafür muss folgende Zeile vorhanden sein.
srvlookup=yes
Damit die asterisk das Server-Zertifikat überprüfen kann, muss der Ordner mit den CA-Zertifikaten angegeben werden. Unter Ubuntu ist dies z.B. /etc/ssl/certs. Dementsrechend sieht die notwendige Zeile so aus:
tlscapath=/etc/ssl/certs
Der für tlsclientmethod verwendete Dafault-Wert (sslv2) ist nicht empfehlenswert, und sollte auf tlsv1 gestellt werden. SSLv2 gilt mitlerweile als nicht sicher genug bzw. sogar als unsicher.
tlsclientmethod=tlsv1
Damit die asterisk bei der Registrierung TLS verwendet muss die register-Zeile wie folgt modifiziert werden:
register => tls://0003872xxxxx:Passwort@secure.dus.net
Nun zu den Änderungen im [dusnet]-Abschnitt
Damit auch die sonstigen SIP-Pakete per TLS gesendet werden, muss die Transportart explizit TLS gestellt werden:
transport=tls
SRTP wird wie folgt aktiviert:
encryption=yes
Genau wie bei der Register-Zeile muss auch hier secure.dus.net statt proxy.dus.net verwendet werden. Der “host” muss abgeändert werden.
host=secure.dus.net
Also hier sind einige Informationen die der Provider haben möchte oder nicht?
Die Eintragung der Infos bei der MobyDick ist doch nicht so kompliziert! Das muss doch ganz einfach gehen oder nicht! Alles was verlang wird und alles was vorgesehen ist, habe ich bereits eingetragen und probiert!
Danke für das Feedback!
Gruß,
Artpr