"Gegenstelle antwortet nicht." bei SIP-Verbindung zu Asterisk über openVPN

l1800turbo

Neuer User
Mitglied seit
29 Sep 2005
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich sitze hier nun schon eine ganze Weile an meinem Problemchen, eine Fritz!Box Fon Wlan 7050 zu einer Telefon-Anlage zu machen.

Ziel ist es, dass ich von außerhalb des Netzwerkes, gesichert durch einen VPN-Tunnel, auf meinen Asterisk-SIP-Server zugreifen kann. Dafür wollte ich eine Fritz-Box nehmen, da dies wohl das einfache günstige Gerät ist, wo man einfach ein Telefon anschließt und fertig.

Ich habe auf dem Router openVPN mittels einem freetz-Image installiert. Dafür hab ich fast alles von AVM außer Voip und WLAN runtergeschmissen. Das Aufbauen der VPN-Verbindung funktioniert soweit, ich kann den Server anpingen, wenn ich den DNS-Server in die resolv.conf eintrage, kann ich ihn auch mit richtigem Domain-Namen anpingen.
Dann hab ich die Voip-Daten wieder in die FritzBox eingetragen, so wie ich es vorher von getestet habe, der einzige Unterschied war, das es hinterher nicht funktionierte und ich nur "Gegenstelle antwortet nicht. Zeitüberschreitung." in der Weboberfläche.
Da die FritzBox ein recht komisches Linux enthält, weiß ich leider nicht, von wo ich Log-Dateien durchsehen oder Einstellungen vornehmen kann.
Den Route-Befehl kannte die "freetz"-Box aber:
Code:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
87.143.125.252  dns1.fritz.fonw 255.255.255.255 UGH   0      0        0 lan
10.233.180.9    *               255.255.255.255 UH    0      0        0 tun0
10.233.180.0    10.233.180.9    255.255.255.0   UG    0      0        0 tun0
192.168.1.0     *               255.255.255.0   U     0      0        0 lan
192.120.120.0   10.233.180.9    255.255.255.0   UG    0      0        0 tun0
169.254.0.0     *               255.255.0.0     U     0      0        0 lan
default         10.233.180.9    0.0.0.0         UG    0      0        0 tun0

Ich hab mit dem Computer ebenfalls versucht, mittels dem Softphone Twinkle eine Verbindung für VPN herzustellen, das funktioniert ohne Probleme.

Dankeschön für evtl. Tipps...
 
Zuletzt bearbeitet:
Schau doch mal beim Asterisk ob dort ein register ankommt und wenn ja mit welcher IP-Adresse sich die Fritz!Box beim Asterisk meldet.
 
Ach ja hätte ich erwähnen können: Asterisk sagt nichts, da scheint nichts anzukommen.
Wenn ich mit dem Softphone verbinde kommt folgendes:
Code:
Registered SIP '252' at 10.233.180.6 port 5060
Die 10er VPN-IPs blockt er schonmal nicht..
 
Das hab ich daraus schlussgefolgert, dass er bei fehlerhafter Benutzerkennung z.B. etwas gesagt hätte.
sip debug (sip set debug heißts bei neueren Versionen) verhält sich ebenso sparsam mit Informationen. Beim Softphone rattert er eine ganze Reihe Informationen über den Client runter.
 
Bist Du Dir sicher, dass Deine Box mit der installierten Firmware UDP über VPN kann?

Ich frag nur, weil das bei der Diskussion über reg_from_outside auch aufkam, dass VoIP über VPN deshalb nicht funktionierte.
 
@rentier-s OpenVPN sollte mit UDP kein Problem haben.
@l1800turbo Passt tcpdump noch mit ins Image?
 
Ich hab gerade versucht, tcpdump hinzuzufügen, aber dann wäre ich über 200k über dem Maximum, das kann ich nirgendwo mehr wegkürzen, es ist ja fast nichts mehr da zum entfernen.
Das VPN-Paket konnte man ja auch per wget in den Ram nachladen, also hab ichs mit dem tcpdump und einer Lib, nach der er gefragt hat, nachgeladen. Das war leider alles, was ihm dazu einfiel:
Code:
root@fritz:/var/tmp# ./tcpdump 
tcpdump: SIOCGIFFLAGS: .: No such device
In die Richtung bin ich leider nicht schlauer geworden, was die Nachricht zu sagen hat..

Was ich vorhin noch getestet habe: Wenn ich die FritzBox wieder direkt ins Netzwerk hänge, meldet sich der SIP-Client an, das funktioniert also auch mit der gepatchten Freetz-Version, nicht dass ich da was falsches deaktiviert habe...
 
Zuletzt bearbeitet:
Ein weiteres Update:
Ich habe vermutlich einen Fehler gefunden, die FB geht zwar schon richtig zum Server und findet ihn auch, dann hab ich jedoch mal mit wireshark den Traffic durchgescannt und habe von der FB aus mehrere solche Pakete gesehen, die ordnungsgemäß übers tun-Interface gehen:
Code:
EGISTER sip:10.233.180.1 SIP/2.0
Via: SIP/2.0/UDP 172.16.0.22:5060;branch=z9hG4bKD701401189660383
Route: <sip:10.233.180.1;lr>
From: <sip:[email protected]>;tag=3076141570
To: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 34 REGISTER
Contact: <sip:[email protected];uniq=6CA49529FD8E42B9CC94943CE38B2>
Expires: 1800
Max-Forwards: 70
User-Agent: AVM FRITZ!Box Fon WLAN 7050 14.04.33 (May 10 2007)
Supported: 100rel,replaces,timer
Allow-Events: telephone-event,refer
Allow: INVITE,ACK,OPTIONS,CANCEL,BYE,UPDATE,PRACK,INFO,SUBSCRIBE,NOTIFY,REFER,MESSAGE
Accept: application/sdp, multipart/mixed
Accept-Encoding: identity
Content-Length: 0
Wie man jetzt aber sieht, schickt die Fritzbox als Absenderadresse 172.16.0.22, was aber die "unprivilegierte" Adresse ist, worüber ich ins VPN gehe (10.233.180.10 ist die VPN-Adresse, die aber auch auftaucht, er nutzt ja das VPN-Interface).
Asterisk hat sich nun auch gemeldet und folgendes gesagt:
Code:
[Oct 30 23:01:45] WARNING[29680]: chan_sip.c:1859 __sip_xmit: sip_xmit of 0x40547c98 (len 390) to 172.16.0.22:5060 returned -1: Operation not permitted                                                                                                                                           
[Oct 30 23:01:45] WARNING[29680]: chan_sip.c:1859 __sip_xmit: sip_xmit of 0x40547458 (len 487) to 172.16.0.22:5060 returned -1: Operation not permitted                                                                                                                                           
[Oct 30 23:01:49] WARNING[29680]: chan_sip.c:1859 __sip_xmit: sip_xmit of 0x40547c98 (len 390) to 172.16.0.22:5060 returned -1: Operation not permitted                                                                                                                                           
[Oct 30 23:01:49] WARNING[29680]: chan_sip.c:1859 __sip_xmit: sip_xmit of 0x40547458 (len 487) to 172.16.0.22:5060 returned -1: Operation not permitted                                                                                                                                           
[Oct 30 23:01:53] WARNING[29680]: chan_sip.c:1859 __sip_xmit: sip_xmit of 0x40547c98 (len 390) to 172.16.0.22:5060 returned -1: Operation not permitted                                                                                                                                           
[Oct 30 23:01:53] WARNING[29680]: chan_sip.c:1859 __sip_xmit: sip_xmit of 0x40547458 (len 487) to 172.16.0.22:5060 returned -1: Operation not permitted                                                                                                                                           
[Oct 30 23:01:57] WARNING[29680]: chan_sip.c:1859 __sip_xmit: sip_xmit of 0x40547c98 (len 390) to 172.16.0.22:5060 returned -1: Operation not permitted                                                                                                                                           
[Oct 30 23:01:57] WARNING[29680]: chan_sip.c:1859 __sip_xmit: sip_xmit of 0x40547458 (len 487) to 172.16.0.22:5060 returned -1: Operation not permitted
Asterisk schickt die Daten natürlich an die falsche Adresse, weil der Absender nicht passt.

Jetzt kann ich meine Frage also umformulieren: Wie bringe ich die FB dazu, dass sie den Absender anpasst?
 
Da man voipd nicht an ein if binden kann sehe ich im Moment keine praktikable Lösungsmöglichkeit.
 
Ich hab das Problem dennoch gelöst, ich schreibs mal auf, falls noch wer ähnliche Probleme hat:
Es wird eine Angabe vom STUN-Server in der Fritz-Box benötigt. Das Softphone war noch in der Lage, als absendende IP die vom VPN-Interface anzugeben, während es die Fritzbox nicht geschafft hat (siehe oben mit 172.16.0.22).
Ein Stun-Server ist dafür zuständig, dem SIP-Client seine IP mitzuteilen, wie sie von "außen" erreichbar ist, in meinem Fall also die vom tun0-Interface 10.233.180.10.

Ein einfacher, Linux-basierender Dienst wäre "stund", eine gute Seite zur Einrichtung wäre folgende: http://www.magenbrot.net/wiki/linux/voip/stun/stun-server_einrichten

So nimmt die Fritzbox die VPN-IP an...
 
Cool, genial einfach gelöst. Auf die Idee STUN zu verwenden bin ich leider nicht gekommen.
 
@ l1800turbo
Wenn ich das richtig verstanden habe hast du bloß den Stun-Server in der /var/flash/voip.cfg ergänzt, ja?
Ich stehe nämlich mit einer 7390er FBF vor genau dem selben Problem: Auf dem Asterisk-Vserver läuft auch der OpenVPN-Server und von der FBF aus (=OpenVPN-Client) lässt sich der Server auch anpingen - alles wunderbar, aber VoIP über den VPN-Tunnnel bekomme ich nicht zum Laufen.
Habe auch Stun-Server "stun.sipgate.net" (und andere versucht) in der FBF eingetragen - ohne Erfolg. Auch in meinem Fall bleibt Asterisk-CLI stumm. Was mache ich falsch?
 
Zuletzt bearbeitet:
Schon eine Weile her, meine momentane Konfiguration läuft zwar über openVPN, braucht aber keinen Stun-Server, da die Box diesmal direkt an der DSL-Dose hängt.

Hast du denn einen funktionierenden Stun-Server auf dem Asterisk-PC am laufen? Wie man den Server einrichtet, hab ich ja als Link hinterlegt gehabt.

Ob ein sipgate-Stunserver funktioniert, kann ich dir so nicht sagen. Vermutlich aber nicht, da der Stun-Server ja für die Ermittlung deiner IP steht, mir der der Asterisk-Server antworten kann, in diesem Falle keine Provider-IP, sondern die VPN-IP.

In meinem Falle war das "falsche" IP-Netz 172.16.x.x, dies ist das offene Netz und das richtige war 10.233.180.x, da dies die getunnelten Daten waren.
 
Ja, ich habe schon vermutet, dass ich eigenen Stun-Server brauche und habe einen eingerichtet. Allerdings mag ihn die FBF irgendwie wohl nicht benutzt. Vermutlich, weil die direkt an der DSL-Dose hängt.
Ich verstehe das nicht: Eine 7270er FBF mit der letzten international-stable-firmware habe ich ohne Probleme eingerichtet und VoIP läuft da über OpenVPN ohne dass ich großartig was einstellen musste. Bei meiner 7390er mit der letzten Firmware (hängt am DSL und ist als Router eingestellt) will das nicht. Asterisk-CLI bleibt stumm, als käme da nie auch nur irgendein Packet an. Telnet an der FBF auf: Der OpenVPN-Server lässt sich anpingen. Im log der FBF steht der Threadtitel: "Gegenstelle anwortet nicht. Zeitüberschreitung". In der /var/flash/voip.cfg habe ich schon alles mögliche ausprobiert - ohne Erfolg. Macht es vielleicht einen Unterschied ob man ein tun oder tap - device einsetzt? Oder sonst noch Ideen?
 
Zuletzt bearbeitet:
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.