Wissensdatenbank: VoIP > Störungen und Probleme
NAT Problematik: Wie funktioniert VoIP über Router hinweg
Gepostet von Support it factory ag, Letzte Änderung durch Daniel Jörg an 01 May 2015 11:03 AM

Begriffserklärung:

  • NAT (Network Address Translation) übersetzt interne IP Adressen zu öffentlichen IP Adressen. Praktisch jeder Router und jede Firewall macht NAT.

Situation:

  • Router oder Firewall mit NAT
  • SIP Client im lokalen Netzwerk (LAN-Schnittstelle Router)
  • SIP Provider im Internet (WAN-Schnittstelle Router)

Ein VoIP-Nutzer registriert sich mit einem Softphone oder spezieller VoIP-Hardware (z.B. Fritz!Box etc.) bei einem SIP-Provider ("registered"). Ruft nun ein anderer Nutzer an, soll der eingehende Anruf beim Angerufenen signalisiert werden ("Klingeln").

Problematik:
Auf den ersten Blick scheint dieser Fall unproblematisch zu sein. Immerhin besteht bzw. bestand auf  Grund der Registrierung beim SIP-Server bereits eine ausgehende Verbindung ("Session") zum SIP-Server, so dass das NAT eingehende Datenpakete für die Anrufsignalisierung akzeptieren würde. Denn das NAT-System müsste auf Grund eines entsprechenden Eintrags in der Routingtabelle von eben diesem SIP-Server kommende Datenpakete passieren lassen.

Man muss sich allerdings klar machen, dass das nur so lange funktionieren kann, wie auch tatsächlich noch ein entsprechender Eintrag in der Routingtabelle besteht. Nur dann würde das NAT diese Datenpakete ohne weiteres passieren lassen. Da aber ein NAT-System Einträge in der Routingtabelle nicht unbegrenzt aufrecht erhält sondern die Session nach einer z.B. vom Protokoll abhängigen Zeitspanne wieder schliesst (indem der Eintrag in der Routingtabelle gelöscht wird), würden Datenpakete für eine Anrufsignalisierung immer dann und nur so lange vom NAT-System akzeptiert werden, wie die Session noch offen ist. Der Knackpunkt aber ist, dass VoIP-Endgeräte zwar in regelmässigen Abständen (teilweise abhängig vom Endgerät; z.B. alle 5 Minuten) die bereits erfolgte Registrierung "bestätigen" und dabei wiederum kurzzeitig eine Session geöffnet wird, das Zeitintervall zwischen den erneuten Registrierungen aber deutlich länger ist als der Zeitraum, in dem die dadurch geöffnete Session besteht (abhängig vom NAT-Router; z.B. 2 Minuten).

Entsprechend würden nur solche eingehende Anrufe signalisiert werden können, die mehr oder weniger zufällig unmittelbar nach einer Registrierung eingehen (alos z.B. innerhalb der 2 Minuten seit der Registrierung). Das aber ist offensichtlich nicht praxistauglich. Die Antwort-Pakete auf die Registrierung sind davon nicht tangiert, weil sie zeitlich unmittelbar folgen. Daher gibt es auch in der Regel keine Probleme bei der Registrierung ( = Anmeldung beim SIP-Server), sofern nicht eine Firewall (siehe dazu dort) diese Antwortpakete gesondert blockiert.

Die naheliegende Lösung: das jeweilige VoIP-Endgerät (Software / Hardware) muss so konfiguriert werden, dass das Registrierungsintervall kürzer ist als das Session-Intervall des NAT-Systems. Leider kann man das aber nicht bei jedem SIP Client einstellen.


Kommentare (0)