Grundlegende VoIP Konfiguration

Oftmals gehen die VoIP Angebote davon aus, das die Internettelefonie entsprechend dem SIP Verfahren erfolgt.

SIP bedeutet „Session Initialisation Protokoll“ und ist ein Adressierungs-, Authentifizierungs- und Vermittlungsverfahren um Datenverbindungen im Internet aufzubauen. Es baut auf dem Internet Protokoll auf.

Beim Entwurf des SIP Verfahrens wurden aber die NAT-Paketfilter nicht bedacht. (NAT = Network Adress Translation) Fast alle haushaltsüblichen Router arbeiten heute jedoch mit NAT-Paktefiltern. SIP Geräte übermitteln ihre IP Adressen innerhalb der SIP Datenpakete, und dies sind, wenn sich das SIP Telefon hinter einem Router mit NAT-Paketfilter befindet, private und im Internet ungültige IP Adressen. Zudem werden mit SIP im allgemeinen für den Verbindungsaufbau und für jede Sprachübertragung mehrere und in jeder Verbindungsrichtung verschiedene Ports verwendet. Anders als z.B. beim IAX (Interasterisk) Protokoll, das effizient mit einem Port für alle Signalisierungen und Sprachübertragungen auskommt.

Es stellt sich daher in der Praxis die Frage:

Wie nimmt man ein SIP Telefon in Betrieb, damit es auch funktioniert?

1. Am Besten SIP Telefon zunächst ganz ohne „NAT“, „STUN“,“keep alive“ oder „outbound proxy“ Optionen konfigurieren.

Wenn eine öffentlichen IP Adresse genutzt wird, oder wenn man sich hinter einem Router mit einem NAT Paketfilter befindet, der auch die SIP und RTP Pakete umschreibt, so besitzt das SIP Telefon sofort eine international erreichbare SIP-Adresse und alles funktioniert.

Wenn Sie sich ihr SIP Telefon bei einem SIP Registrar registriert, können Sie über diesen Telefonnummern anwählen. (Der SIP Registrar autentifiziert sie und vermittelt das Gespräch entsprechend der Telefonnummer an andere SIP Adressen bzw. ein SIP zu Festnetz Gateway einer Telefongesellschaft weiter.)

Unabhängig von einem SIP Registrar können sie von ihrer SIP-Adresse beliebige andere SIP-Adressen anrufen. Solange sie an einem SIP Registrar registiert sind sie aber auch über diesen zu erreichen. Unter Umständen nicht nur über ihre Registrierungsnummer bei diesem SIP Registrar, sondern auch über eine reguläre Festnetznummer, die von einer Telefongesellschaft an den SIP Registrar vermittelt wird.

Sein SIP Phone an einem SIP Registrar zu registrieren ist vor allem dann vorteilhaft wenn sie ihr SIP-Telefon an verschieden Orten betreiben oder sich ihre IP-Adresse sich von Zeit zu Zeit ändert, wie z.B. bei Einwahlverbindungen (Modem,ISDN,DSL). Dann können sie immer über den SIP Registrar erreicht werden.

Jedenfalls sofern sie hinter einem NAT Router auch eine funktionierende SIP-Adresse erhalten.

Getestet werden sollte mindestes folgendes:

  • Ausgehender Anruf auf eine Festnetznummer. (Über die Gateways an die der SIP Registrar vermittelt.)
  • Eingehender Anruf vom Festnetz. (Über die Gateways des SIP Registrars.)
  • Ausgehender Anruf auf ein anderes SIP Telefon. (Das sich nicht hinter dem selben Routerbefindet.)
  • Eingehender Anruf von einem anderen SIP Telefon.

Und zwar einmal gleich nach dem sich das SIP Telefon beim SIP Registrar registriert hat und dann kurz bevor die Registrierung erneuert werden muss. (Möglichst einen Zeitraum wählen an dem sich die IP Adresse nicht ändert. (T-DSL Zwangstrennung)

Falls Ihr NAT-Router auch mit den neuesten Aktualisierungen keine SIP/RTP Verbindungen automatisch umsetzen kann, kann man versuchen das SIP-Telefon oder einen SIP Registrar so zu konfigurieren, so dass das SIP-Telefon auch hinter dem NAT Router erreichbar bleibt, oder es kann manuell eine feste Weiterleitung am NAT Router konfiguriert werden.

Falls sie nicht wissen hinter was für einer Art von NAT Konfiguration sich das SIP Phone befindet, kann das SIP Telefon dies mit Hilfe eines STUN Servers selbst ermitteln.

Hinter manchen NAT Routern kann das IP Phone selbst seine gewisse Erreichbarkeit herstellen, indem es periodisch Pakete rausschickt. Dieses dynamische offenhalten von Ports hilft aber nur bei solchen NAT Routern, die auf ein ausgehendes Paket hin eine Zeitlang Pakete von verschiedenen IP:Port Kombinationen aus in das private Netz durchleiten. (Solche Geräte sollten sie aus sicherheitsgründen aber vielleicht lieber ersetzen oder aktualisieren wollen.)

Bei den NAT-Paketfiltern die mehr rein lassen als rausgegangen (asymetrisches NAT), kann es für eine gewisse Erreichbarkeit mit „symetrischem RTP“ ausreichen, wenn das SIP-Telefon anstatt seiner eigenen Adresse aus dem privaten Netz die extern verwendete Adresse in die SIP Pakete schreibt. Die Adressen auf die der NAT-Router die ausgehenden Pakete umsetzt kann das SIP Telefon vom STUN Server erfahren, sie werden aber auch von vielen SIP Registraren als „VIA received“ Information in die Antwortpaketen geschrieben. (Da die VIA received Information mit jedem regulären Paket vom SIP Registrar aktualisiert wird, werden IP Adresswechsel (DSL Zwangstrennung) damit unter Umständen schneller erkannt als mit STUN abfragen, die manche SIP Telefone nur einmal nach dem einschalten durchführen.)

Doch gleichgültig wie das SIP Telefon von seiner externen Adresse erfährt, wenn der NAT-Paketfilter seine Aufgabe ordentlich erfüllt, ist diese Adresse nur von bestimmten IP:Port Kombinationen aus zu erreichen. Mit STUN sollte diese Situation erkannt und gemeldet werden können, und das umschreiben der Adressen in den SIP Paketen und das keep alive vom SIP Telefon auch automatisch unterlassen werden, wenn kein NAT vorliegt. Wenn Sie wissen, das sie sich hinter einem ordentlichen symetrischem NAT-Paketfilter befinden (z.B. hinter einem der vielen handelsüblichen Linux Router) brauchen sie das STUN Verfahren aber auch gar nicht erst zu aktivieren. (Für Linux Router gibt es SIP NAT Unterstützung bzw. „connection tracking“ und auch SIP/RTP Outbound Proxy Programme die auf dem Router laufen können.)

Eine eher zentralistische „Lösung“ ist es alle Verbindungen nicht nur über einen SIP Vermittlungs Server (Registrar) sondern auch zwingend über einen (Outbound) RTP Proxy Server eines Anbieters laufen zu lassen (echte Umwege einzubauen). Wenn ständig eine Verbindung zwischen disen SIP und RTP Servern und dem SIP Telefon offen gehalten wird, kann das SIP Telefon über diese Server erreicht werden.

Im Grunde aber sind Sie so nicht von Überall erreichbar und sind nicht vom Anbieter unabhängig. Was man bei ordentlichen symetrischen NAT-Paketfiltern also benötigt ist entweder eine SIP Unterstützung, die automatisch Ports für RTP Pakete von Adressen öffnet mit denen gerade über SIP eine Verbindung vermittelt wird, oder eine statische Weiterleitung der Ports die ihr SIP Telefon für die SIP und RTP Kommunikation verwendet.

Aber nun zur Anpassung entstsprchend der konkreten:

Konfigurationsalternativen

A) Wenn der NAT-Paketfilter die SIP/RTP Umsetzung unterstützt, brauchen Sie gar nichts spezielles zu konfigurieren. STUN, VIA Handling, NAT Mapping etc. bleibt im SIP Phone alles ausgeschaltet.

B) Wenn Sie einen SIP/RTP Proxy (z.B. asterisk oder sipproxd) auf ihrem NAT-Router, vor ihrem NAT-Router, oder in einer abgetrennten DMZ laufen haben, dann wird dieser im SIP Telefon als „outbound proxy“ eingetragen. Alle anderen NAT Hilfen am SIP Telefon bleiben ausgeschaltet.

C) Wenn Sie im NAT-Paketfilter eine Portweiterleitung konfigurieren muss das SIP Telefon so konfiguriert werden, dass es die externe Adresse und die externen Ports in seine ausgehenden Pakete schreibt. (Also z.B. „Handle VIA received: yes“ und „Handle VIA rport: yes“.) Für das SIP Telefon eine statische private IP Adresse konfigurieren. (MAC im DHCP Registrar des Routers eintragen oder am SIP Telefon einstellen.) Auf dem Router müssen dann die Ports die das SIP Telefon verwendet an die statische private IP Adresse des SIP Telefons weitergeleitet werden. (z.B. 6050-6051(TCP/UDP) und 16384-16482(UDP)) Dann sind Sie unter ihrer öffentlichen Adresse auch allgemein erreichbar. Veränderliche IP Adressen können über einen statischen Domain Namen erreichbar gemacht werden (sog. dynamisches DNS). Keep alive Pakete brauchen nicht verschickt werden.

Falls ihr Internetprovider Zwangstrennungen durchführt können sie das Registrierungsintervall kurz halten (z.B. alle 300 Sekunden bzw. 5 Minuten), verursachen dadurch aber wieder viel unötiges Paketaufkommen. Mit einigen Routern können feste Zeiten für die Zwangstrennung und Neuregistrierung festgelegt werden, sie können aber auch Router und SIP Adapter an eine Zeitschaltuhr hängen, die die Geräte jede Nacht einmal kurz ausschaltet.

Wenn sie nun aber mit ihrem SIP Telefon unterwegs sind und keinen Einfluss auf den NAT-Paketfilter haben über den Sie mit dem Internet verbunden sind, dann können sie probieren ob ihr SIP Telefon mit der Hilfe eines STUN Servers und und ständigen keep alive Paketen in der Lage ist erreichbar zu bleiben und auch noch beliebige ein- und ausgehende Verbindungen ordentlich aufbauen zu können. Sie könnten Glück haben und der NAT-Paketfilter lässt von mehr Adressen Pakete rein als raus gingen. Aber für eine stabile Erreichbarkeit sollten sie eher auf eine der drei obigen Konfigurationsalternativen zählen. Sie bieten Ihnen zudem auch Ruhe vor dem ständigen und unnötigen „keep alive traffic“.

Neben den gerade genannten Einstellungen gibt es noch einige zusätzliche SIP Einstellungen, die Sie zwar nicht unbedingt selbst benötigen, die es aber Gegenstellen hinter ungünstigen NAT-Paketfiltern ermöglichen kann, doch erfolgreich Peer-to-Peer Verbindungen mit Ihnen aufzubauen. Wie immer können sich die einzelnen Peers sehr gut untereinander helfen.

Entsprechend zu aktivierende Einstellungen sind etwa: „Insert VIA received“ „Insert VIA rport“ und „Send Resp To Src Port“. Womit ihr SIP Telefon, genauso wie die oben genannten SIP Vermittlungsserver, VIA received Header in seine Antwortpakete einfügt und die Antwort an die Vermittleradresse schickt, anstatt an die angegebene (ungültige/private) Absenderadresse.

Kurzübersicht über die Alternativen

Für den Betrieb von SIP Telefonen oder Telefonadaptern hinter Routern mit NAT-Paketfiltern (die standardmäßig in Heim- und Firmennetzwerken eingesetzt werden) gibt es 3+2 verschiedene Alternativen.

Voller SIP-Anschluss:

  1. NAT-Paketfilter, die die SIP und RTP Umsetzung unterstützt (ggf. durch Aktualisierungen)
  2. Vorhandener (eigener) outbound SIP und RTP Proxy (auf dem Router oder in DMZ)

oder

  1. Portweiterleitung der vom SIP Telefon genutzten Ports vom Router auf das SIP Telefon und Berücksichtigung der „VIA received“ Header des SIP Registrars.

(Bei Zwangstrennungen sind zusätzlich kurze (keep alive) Registrierungsintervalle, ein Registrierungstrigger oder feste Zeiten zu konfigurieren.)

Für den vorübergehenden Betrieb unterwegs, oder in Netzen in denen obige 3 Alternativen nicht möglich sind, besteht evtl. noch die Möglichkeit eine automatische NAT Erkennung mit Hilfe eines STUN Servers zu konfigurieren, was dann aber ggf. ständige „keep alive“ Pakete zur Folge hat. Mit diesem Verfahren ist es jedoch nicht möglich alle NAT-Paketfilter sicher offen zu halten. Die Erreichbarkeit kann unterbrochen sein und die Audioübertragung teilweise einseitig.

Des Weiteren wäre es noch möglich immer alle Gespräche über einen RTP Proxy eines VoIP anbieters zu führen, sofern dieser dies zulässt oder sogar erzwingt.

Vorzuziehen ist aber eine der ersten drei Alternativen.

Und wenn zudem die SIP Antwortpakete auch vom SIP Telefon mit VIA received Headern versehen werden, und diese statt an die (private) Absenderadresse and die Vermittleradresse des Pakets (den NAT Paketfilter der anderen Seite) geschickt werden und „symetrisches RTP“ verwendet wird, ist es auch noch möglich mit Gegenstellen Direktverbindungen aufzubauen, die sich hinter ungünstigen NAT-Paketfiltern befinden. (Relevante Einstellungen: (SIP) „Insert VIA received“, „Insert VIA rport“, „Resp To Src Port“ sowie „Symetric RTP“)

 
telefonie/voip/konfiguration.txt · Zuletzt geändert: 2009/07/29 02:05 von zooloo
 
Impressum
Recent changes RSS feed Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki