angerufenes telefon hört nicht auf zu klingeln

pfeffer

Mitglied
Mitglied seit
26 Okt 2004
Beiträge
755
Punkte für Reaktionen
0
Punkte
16
Hallo,

ich hatte jetzt schon mit mehreren Clients (SIP Communicator, Asterix, jemand anders auch mit xlite: http://www.ip-phone-forum.de/forum/viewtopic.php?t=6215&highlight=klingeln+xlite) folgendes Problem:
Ich kann rauswählen, das angerufene Telefon klingelt (Festnetz, Sipgate). Aber wenn ich auflege, hört das angerufene Telefon nicht auf zu klingeln.
Ich habe einige Analysen mit Ethereal durchgeführt ud mir scheint die Ursache zu sein:

Konstellaton:
Der Router macht symmetric NAT, d.h. jede Verbindung, die von einem internen Rechner nach außen hergestellt wird, erhält einen neuen Absender-Port, auch wenn der interne Rechner mit dem gleichen Absender-Port Pakete verschickt.
Auf dem Router ist eingetragen, dass der in dem Client eingetragene RTP-Port (und der RTCP-Port = RTP-Port +1) auf den entsprechenden Rechner weitergeleitet wird.

Der Client macht ein (unvollständiges) STUN-Discovery und stellt den Absender-Port (und die IP) fest, mit dem seine Pakete vom internen RTP-Port draußen ankommen.
Das Problem tritt nun auf, wenn zwei Bedingungen gleichzeitig erfüllt sind:

1. Der NAT-Router passt sein NATing nicht an das Port-Forwarding an. D.h. Pakete, die vom internen Rechner mit dem weitergeleiteten Port als Absender losgeschickt werden, werden beim NAT auf einen neuen Absender-Port geändert und nicht auf dem weitergeleiteten Port gelassen.

2. Das STUN-Discovery vom Client ist unvollständig. Er stellt nicht fest, dass Pakete, die von einer anderen IP kommen als von dort, wohin bereits von intern eine Paket verschickt wurde, nicht auf dem gleichen Port weitergeleitet werden. zum Beispiel: der Client schickt ein Paket von Port 20000 an den STUN-Server. Der meldet ihm zurück, dass das Paket bei ihm mit dem Absender-Port 30000 angekommen ist. Der STUN_server kann also auf Port 30000 antworten. Dieser Port wird im Router dann auf 20000 zurück übersetzt und kommt korrekt an. Symmetric NAT bedeutet nun: Wenn der Client eine Verbindung mit einer anderen IP-Adresse herstellt, wird vom NAT-Router ein neuer Absender-Port verwendet. Da der Client diese Untersuchung nicht vorgenommen hat, sendet er in der SIP-Nachricht dem anderen "Telefon", den Port, den er vom STUN-Server gesagt bekommen hat, als RTP-Port. Wegen Symmetric NAT kommen Daten auf dem Port aber nicht an. Der Router schickt (je nach Einstellung) ICMP-Port-unreachable-Nachrichten.

3. Aus irgendeinem Grund führt das dazu, dass Sipgate es ewig klingeln lässt. Interessanterweise erscheint der Anruf noch nichtmal in der Anrufliste. Vermutlich vergisst Sipgate durch die ICMP-Port-unreachable-Nachrichten einfach, dass da eine verbindung aufgebaut werden sollte... und akzeptiert deswegen auch die SIP-CANCEL-Nachricht nicht.

Ist das plausibel? - liegt es an etwas anderem?
Hat dazu irgendjemand eine Lösung? - In einem Fall (s.o) hat wohl das Update der Firmware des Routers geholfen. Aber die gibt's in meinem Fall nicht.

Gruß,
Pfeffer.
 
Nur eine Idee:

statt dem "stun-server" alternativ alles über den "outbound-proxy" laufen lassen?!
 
Ja, das müsste gehen. Nur kann man bei SIP Communicator leider keinen Outbound-Proxy für RTP einstellen :-(

Hoffen auf die nächste Version...?

Gruß,
Pfeffer.
 
Symmetric NAT Hilfe

Ich denke auch Du kannst Dein Problem mit Hilfe eines SIParators lösen. Schau mal unter www.voipconnection.de.
 
CSohn schrieb:
Ich denke auch Du kannst Dein Problem mit Hilfe eines SIParators lösen. Schau mal unter .....

Bist Du sicher, dass die Werbung für die eigene Webseite, hier etwas zu suchen hat?
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,696
Beiträge
2,216,701
Mitglieder
371,316
Neuestes Mitglied
realbluethunder
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.