[Gelöst] Asterisk Server hinter NAT mit Client hinter NAT

Flole

Mitglied
Mitglied seit
23 Dez 2013
Beiträge
285
Punkte für Reaktionen
30
Punkte
28
Hallo liebe SIP-Profis,

ich habe mir einen Asterisk Server aufgesetzt und mit dem auch schon so einiges geschafft, jedoch hapert es an dem externen SIP. Ich habe bereits 1000 Dinge versucht (mit STUN, ohne STUN, verschiedene Ports, NAT vom Asterisk aus...), jedoch will es einfach nicht funktionieren.
Die Registrierung am Server läuft problemlos, sobald ich ein Gespräch aufbauen will, wird die Anweisung zum wählen an den Server gesendet, jedoch wird die Audioübertragung nicht aufgebaut und der Anruf bricht nach kurzer Zeit ab.

Hier mal der Ausschnitt der SIP.conf

Code:
[Flole]
username=Flole  ; use same as in brackets above
type=friend
context=Skype ; correct as needed by your setup
secret=1234
host=dynamic ; if not dynamic, you will need to set port also
;nat=yes
dtmfmode=auto
canreinvite=no ; possibly set to yes if you know what you are doing
qualify=yes ; optional
;defaultip=siptosisip ; optional - fix the ip if used
incominglimit=1
outgoinglimit=1
call-limit=1
busylevel=1

Etwas weiter unten habe ich noch
Code:
nat=yes
gesetzt.

Als Client verwende ich X-Lite.

Ich bin für jede Hilfe dankbar, falls ihr noch fragen habt: Fragt!!!
 
Zuletzt bearbeitet:
Wie sieht die restliche NAT Konfiguration in der sip.conf aus (zB. externhost/externip, localnet, directmedia)? Portforwarding für die Ports aus der rtp.conf auf den Asterisk?

In diesem Fall sollte bereits im [general] nat=yes gesetzt sein.

Bei X-Lite brauchst Du Dir erst mal weniger Gedanken machen, das hat eine ziemlich gute Handhabe hinter NATs.
 
Der rest meiner sip.conf sieht so aus:

Code:
externhost=mein-hostname.de:5060

localnet=192.168.0.0/255.255.0.0 ; RFC 1918 addresses
localnet=10.0.0.0/255.0.0.0      ; Also RFC1918
localnet=172.16.0.0/12           ; Another RFC1918 with CIDR notation
localnet=169.254.0.0/255.255.0.0 ; Zero conf local network

Directmedia und nat scheinen nicht gesetzt zu sein, wenn ich das gerade richtig sehe...

Die relevanten Inhalte meiner rtp.conf sehen so aus:

Code:
rtpstart=11000
rtpend=11100

Die Ports müssen (UDP wenn mich nicht alles täuscht), auf den Asterisk weitergeleitet werden, oder? (Nur mal so am Rande: Ist das nicht irgendwo ein Sicherheitsrisiko weil es ja sein könnte, das da irgendwo zwischen drin was anderes lauscht?)

Falls es relevant sein sollte: Router vor Asterisk ist eine FritzBox 6360 Cable an Kabel Deutschland Leitung. Andere Seite ist ebenfalls Kabel Deutschland, jedoch anderer Router (keine FritzBox).

Es ist zum verzweifeln :mad:
 
Die Syntax von externhost sieht keinen Port vor, warum auch, es geht nur um die Adresse. Also muss das :5060 hinten weg.
Ist das eine feste Domain oder dDNS? Für letzteres sollte noch ein externrefresh rein.

Meine Empfehlung nat=yes und directmedia=no (oder nonat) im [general].

Sind das wirklich Deine lokalen Netzwerk, oder hast Du nur die localnet Beispiele irgendwo raus kopiert?

Die gesamte Range, also von 11000 bis 11100 (und ja, es ist natürlich UDP) muss zum Asterisk weitergeleitet werden. Wenn Du weißt, was Dein Server tut, solltest Du Überschneidungen von Portranges ausschließen können :cool:

Wenn nichts hilft, lass ein SIP Debug mitlaufen. Dort kann man die Aushandlung des RTP Stroms sehen.

Wenn es bei ein paar Softphones bleiben wird, kannst Du Dir auch mal IAX2 anschauen. Das geht deutlich leichter durch NATs.
 
Es läuft!!!

Wie so oft war der Fehler vor dem Computer: Ich hab die bei externhost hinterlegte adresse im LAN auf die lokale adresse auflösen lassen. Somit hat der Asterisk nie die externe IP zu Gesicht bekommen.

Danke an rentier-s für deine Hilfe!!
 
Schön. Ergänze den Thread-Titel dann noch um das Prefix "gelöst" (im 1. Beitrag auf Bearbeiten -> Erweitert).
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.