Hallo,
folgender Aufbau:
a) zu Hause:
- Asterisk auf PC hinter NAT-Router
- Port Forwarding 5060 auf lokale IP des Asterisk
- Dyndns-Service läuft
- REGISTERs und INVITEs von lokalen SIP-Clients funktionieren ohne Probleme
b) In der Firma:
- mehrere SIP-Clients probiert (Xlite, Nokia E60, Eyebeam...)
- "echte" IP-Adresse am Client (auch am Nokia per WLAN)
- Firewall dazwischen, allerdings ziehmlich locker
- kann auf andere SIP-Anbieter verbinden (z.B. sipgate oder sparvoip)
Wenn ich nun eine Verbindung auf den Asterisk zu Hause versuche, sendet mein Client ganz normal das Register-Paket, der Asterisk zeigt im Log (sip debug auf Console) auch das REGISTER-Paket an, bekommt es also; Asterisk antwortet mit Unauthorized und mit der nonce (laut Log), allerdings geht das Paket nie über das Netzwerkinterface raus (mit tcpdump geloggt), kann den Client also nicht erreichen. Der Client schickt regelmässig weitere REGISTERs, bis er Timeout kriegt.
Wie gesagt: NAT-Router mit Port Forwarding (alles was auf Port 5060-5062 UDP reinkommt auf Asterisk RFC-IP), ansonsten keine iptables oder sonstwas auf dem Asterisk.
Woran liegt das? Hier die Einstellungen für den Client in der sip.conf:
[e60]
type=friend
username=e60
md5secret=<verfälscht>
realm=asterisk
;defaultip=192.168.**.**
callerid="Nokia E60" <20>
host=dynamic
qualify=200
context=local
canreinvite=no
Das REGISTER-Paket enthält im "Contact" Feld die echte IP-Adresse meines Clients in der Firma.
Hier das Log aus der Console:
REGISTER sip:mitchworld.dyndns.org SIP/2.0
Security-Client: digest
Route: <sip:meinsipproxy.dyndns.org;lr>
Via: SIP/2.0/UDP 195.71.**.**:5060;branch=z9hG4bKdqi4regtblhc7vi30sjtq2c
From: <sip:[email protected]>;tag=7nikrehg1hhc752e0sjt
To: <sip:[email protected]>
Contact: <sip:[email protected].**.**>;expires=3600
require: sec-agree
Proxy-Require: sec-agree
CSeq: 1387 REGISTER
Call-ID: 7ANdKGAHoIfwbgsDTuIo6MtWswZEut
Supported: sec-agree
Max-Forwards: 70
Content-Length: 0
nslu2*CLI>
14 headers, 0 lines
Using latest request as basis request
Sending to 195.71.**.** : 5060 (NAT)
Transmitting (no NAT):
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 195.71.**.**:5060;branch=z9hG4bKdqi4regtblhc7vi30sjtq2c
From: <sip:[email protected]>;tag=7nikrehg1hhc752e0sjt
To: <sip:[email protected]>;tag=as486496c9
Call-ID: 7ANdKGAHoIfwbgsDTuIo6MtWswZEut
CSeq: 1387 REGISTER
User-Agent: Asterix PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:[email protected].**.**>
Content-Length: 0
to 195.71.**.**:5060
Transmitting (no NAT):
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 195.71.**.**:5060;branch=z9hG4bKdqi4regtblhc7vi30sjtq2c
From: <sip:[email protected]>;tag=7nikrehg1hhc752e0sjt
To: <sip:[email protected]>;tag=as486496c9
Call-ID: 7ANdKGAHoIfwbgsDTuIo6MtWswZEut
CSeq: 1387 REGISTER
User-Agent: Asterix PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:[email protected].**.**>
WWW-Authenticate: Digest realm="asterisk", nonce="66164ab3"
Content-Length: 0
(Adressen verfälscht)
Wie gesagt: Die letzten beiden Pakete gehen nie raus, erscheinen aber im Log.
Ich hab auch mal die nat=yes/no Settings variiert, leider ohne Erfolg.
Wäre sehr dankbar für Hilfe.
Gruß,
Bravus
folgender Aufbau:
a) zu Hause:
- Asterisk auf PC hinter NAT-Router
- Port Forwarding 5060 auf lokale IP des Asterisk
- Dyndns-Service läuft
- REGISTERs und INVITEs von lokalen SIP-Clients funktionieren ohne Probleme
b) In der Firma:
- mehrere SIP-Clients probiert (Xlite, Nokia E60, Eyebeam...)
- "echte" IP-Adresse am Client (auch am Nokia per WLAN)
- Firewall dazwischen, allerdings ziehmlich locker
- kann auf andere SIP-Anbieter verbinden (z.B. sipgate oder sparvoip)
Wenn ich nun eine Verbindung auf den Asterisk zu Hause versuche, sendet mein Client ganz normal das Register-Paket, der Asterisk zeigt im Log (sip debug auf Console) auch das REGISTER-Paket an, bekommt es also; Asterisk antwortet mit Unauthorized und mit der nonce (laut Log), allerdings geht das Paket nie über das Netzwerkinterface raus (mit tcpdump geloggt), kann den Client also nicht erreichen. Der Client schickt regelmässig weitere REGISTERs, bis er Timeout kriegt.
Wie gesagt: NAT-Router mit Port Forwarding (alles was auf Port 5060-5062 UDP reinkommt auf Asterisk RFC-IP), ansonsten keine iptables oder sonstwas auf dem Asterisk.
Woran liegt das? Hier die Einstellungen für den Client in der sip.conf:
[e60]
type=friend
username=e60
md5secret=<verfälscht>
realm=asterisk
;defaultip=192.168.**.**
callerid="Nokia E60" <20>
host=dynamic
qualify=200
context=local
canreinvite=no
Das REGISTER-Paket enthält im "Contact" Feld die echte IP-Adresse meines Clients in der Firma.
Hier das Log aus der Console:
REGISTER sip:mitchworld.dyndns.org SIP/2.0
Security-Client: digest
Route: <sip:meinsipproxy.dyndns.org;lr>
Via: SIP/2.0/UDP 195.71.**.**:5060;branch=z9hG4bKdqi4regtblhc7vi30sjtq2c
From: <sip:[email protected]>;tag=7nikrehg1hhc752e0sjt
To: <sip:[email protected]>
Contact: <sip:[email protected].**.**>;expires=3600
require: sec-agree
Proxy-Require: sec-agree
CSeq: 1387 REGISTER
Call-ID: 7ANdKGAHoIfwbgsDTuIo6MtWswZEut
Supported: sec-agree
Max-Forwards: 70
Content-Length: 0
nslu2*CLI>
14 headers, 0 lines
Using latest request as basis request
Sending to 195.71.**.** : 5060 (NAT)
Transmitting (no NAT):
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 195.71.**.**:5060;branch=z9hG4bKdqi4regtblhc7vi30sjtq2c
From: <sip:[email protected]>;tag=7nikrehg1hhc752e0sjt
To: <sip:[email protected]>;tag=as486496c9
Call-ID: 7ANdKGAHoIfwbgsDTuIo6MtWswZEut
CSeq: 1387 REGISTER
User-Agent: Asterix PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:[email protected].**.**>
Content-Length: 0
to 195.71.**.**:5060
Transmitting (no NAT):
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 195.71.**.**:5060;branch=z9hG4bKdqi4regtblhc7vi30sjtq2c
From: <sip:[email protected]>;tag=7nikrehg1hhc752e0sjt
To: <sip:[email protected]>;tag=as486496c9
Call-ID: 7ANdKGAHoIfwbgsDTuIo6MtWswZEut
CSeq: 1387 REGISTER
User-Agent: Asterix PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:[email protected].**.**>
WWW-Authenticate: Digest realm="asterisk", nonce="66164ab3"
Content-Length: 0
(Adressen verfälscht)
Wie gesagt: Die letzten beiden Pakete gehen nie raus, erscheinen aber im Log.
Ich hab auch mal die nat=yes/no Settings variiert, leider ohne Erfolg.
Wäre sehr dankbar für Hilfe.
Gruß,
Bravus