Benutzer-Werkzeuge

Webseiten-Werkzeuge


Action disabled: source
network:oeff_netze:voip_allg

VoIP-Arbeitsblatt in PDF

Einführung VoIP allgemein

Überblick

In der Geschichte der Telekommunikation gab es immer wieder Technologiewechsel, die die Netze leistungsfähiger oder kostengünstiger im Aufbau bzw. Betrieb machten. Die vorerst letzte große Revolution liegt in der Einführung von VoIP, bei dem erstmals die klassischen leitungsorientierten Sprachverbindungen (analog o. ISDN) nicht zum Einsatz kommen. Bei einer VoIP-Verbindung wird die Sprache wie im klassischen Netz zunächst digitalisiert (s. PCM/G.711) anschließend ggf. komprimiert 1) und dann auf einzelne IP-Pakete verteilt und zum Ziel transportiert. Dort werden die Daten in ein hörbares Signal umgewandelt.

Sprachtransport über IP-Netze

Dieser Ansatz wurde bereits in den 90er Jahre (damals ohne Markterfolg) von einigen Herstellern verfolgt. Unter Windows kam beispielsweise das Programm netmeeting zum Einsatz. Das größte Hindernis war damals die zu geringen Übertragungsraten bei den Anschlüssen sowie die nach Minuten abgerechneten Datentarife. Erst Anfang der 0er konnte dieser Engpass durch die flächendeckende Einführung von DSL und entsprechender Flatrates beseitigt werden. Auch im Bereich der Standards für VoIP kam durch die Einführung von SIP 2) Bewegung. Bis dahin galt der ITU-Standard H.3233) als „der VoIP-Standard“. Der Markterfolg für H.3232 allerdings blieb aus, da der Standard bereits im kleinsten Aufbau sehr viele Netzkomponenten und die Implementierung eines sehr komplexen Protokolls voraussetzte. SIP hingegen hat sich an den HTTP-Standard angelehnt und sich auf das Wesentliche beschränkt. Unter anderem hat diese Einfachheit SIP zum großen Durchbruch verholfen.

SIP als Basis für moderne VoIP-Netze

Neben SIP gibt es eine Fülle weiterer VoIP-Protokolle. Die Folgenden Protokolle zählen zu den wichtigsten bzw. bekanntesten

Name Einsatzgebiet
H.323 ITU-Standard keine große Verbreitung; sehr stabil
Skinny Propietäres Cisco Protokoll, vor allem in diesen Netzen anzutreffen
Skype Propietäres Microsoft Protokoll; ursprünglich von ehemaligen Kazaa Programmierern
Teamspeak Keine Vermittlung möglich; hauptsächlich im Online-Gaming-Bereich eingesetzt (s.a. Ventrilo)

SIP hat sich vor allem auf der Strecke hinaus zum Kunden und im LAN-Bereich durchgesetzt. Prominente Beispiele für SIP-basierte Soft- und Hardware sind:

  • AVM (Fritz!Box), Grandstream (IP-Phones), Cisco (Phones und Server),
  • OpenSource (Asterisk, TK‑Software), Snom (IP‑Phones)

Innerhalb der Carrier-Netze wird SIP zum Teil durch andere Protokolle wie MGCP/Megaco 4) ergänzt. Durch den Einsatz von SIP ergaben sich neue Aufgabenstellungen, die im H.323 bereits gelöst waren. Eines dieser Probleme ist das sogenannte Session-Handling in und aus lokalen Netzen.

Netzkomponenten in VoIP-Systemen

Die folgende Abbildung zeigt die einfachste Variante in einem VoIP-Netz bei der die reinen IP‑Phones (Soft- oder Hardphone) direkt über ein vermittelndes Netzelement verbindet. Die nächst Abbildung zeigt die Anbindung der VoIP-Netze über ein Media-Gateway an das klassische Telefonnetz (POTS bzw. ISDN)5), womit Telefonate zwischen der alten und der neuen Technologie ermöglicht werden. Ein ATA 6) ist ein Adapter, der die Nutzung von analogen oder ISDN-Telefonen am IP‑Netz ermöglicht. Er ist vergleichbar mit dem TA im ISDN-Netz.

 Vereinfachter Aufbau eines VoIP-Netz

Verbindung zwischen VoIP- und klassischen Netzen

Eigenschaften von SIP

  • Standard: IETF RFC 2543
  • Protokoll ist ähnlich wie HTTP/SMTP aufgebaut (s. Fehler/Statuscodes)
  • User Agent7) zur Identifikation des Clients
  • Authentifikation über username/password notwendig (wegen Ortsungebundenheit)
  • Adressierung des Ziels über URL (vgl. HTTP)
  • SDP zur Beschreibung der RTP-Inhalte 8) (Was wird wie übertragen?)

VoIP-Verbindungen

Einfacher Auf-/Abbau

Das folgende Bild zeigt den prinzipiellen Verbindungsauf-/abbau direkt zwischen zwei Clients. Dabei wird vorausgesetzt, dass die Clients ihre jeweilige IP-Adresse kennen.

voip_einfacher_call Vereinfachter Verbindungsaufbau

Im Normalfall wird allerdings wie bei den klassischen Telekommunikationsnetzen ein vermittelndes Netzelement (Vermittlung) benötigt. Dieses wird im SIP-Netzen SIP-Proxy9) genannt. Weiterhin wird zusätzlich noch ein Account-Verwaltungsnetzelement der sogenannte SIP-Registrar benötigt. Da anderes als im ISDN-Netz keine ortsgebundenen Anschlüsse für die Verbindung im VoIP-Netz verwendet werden, ist eine Lokalisation der Nutzer über deren IP-Adresse notwendig. Der Nutzer muss sich also zunächst am Registrar per username/password anmelden, damit er von anderen Teilnehmern über seine Rufnummer erreicht werden kann. In der User-DB werden die Daten:

  • username / password (statisch)
  • Rufnummern (statisch)
  • IP-Adresse (temporär)

miteinander verknüpft. Innerhalb des VoIP-Core-Netzes werden, wie oben erläutert, andere Protokolle als SIP verwendet (vgl. 1.2 und 3.4). Die vollständige Kommunikation mittels SIP-Proxy und Registrar wird im folgenden Kapitel dargestellt.

Verbindungsauf-/abbau über zentrale Elemente

Besonderheit bei SIP-Verbindungen

Gegenüber ISDN gibt es bei VoIP einige Besonderheit von denen hier exemplarisch das Reregister und das Forking erläutert werden. Da sich ein VoIP-Client aktiv am Registrar anmelden muss, damit dieser die IP-Adresse speichern kann, ist es notwendig in definierten Zeitabständen die Registrierung zu erneuern (Reregister). Hierzu teilt der Registrar per expire-Feld dem Client mit, nach welcher Zeit dieser sich erneut registrieren muss. Bleibt die Registrierung aus, markiert der Registrar den betreffenden Client als nicht verfügbar. Die Timer werden in der Regel auf einige Minuten gesetzt, damit der Register-Aufkommen nicht zu hoch wird. Dies hat den Nachteil, dass erst relativ spät das System einen Client als nicht verfügbar erkennt. Im ISDN-Netz passiert die innerhalb weniger Sekunden. Unter Forking versteht man das gleichzeitige Signalisieren eines Calls an mehreren VoIP-Clients, die unter unterschiedlichen IP-Adressen erreichbar sind. Eine solche Technik ist im ISDN-Netz auf Grund der festen Zuordnung zwischen Rufnummer und Anschluss nicht realisierbar.

SIP-Protokoll

Protokollstack

Die folgende Abbildung zeigt die jeweiligen Protokoll-Stacks von VoIP und ISDN. Da ISDN durch die Verkabelung bereits eine vorkonfigurierte Zuordnung von Rufnummern zu Teilnehmern hat, ist die zusätzliche Adressierungsebene der Endteilnehmer (IP) überflüssig. Ebenso ist durch die Multiplexstruktur die Zuordnung zu den einzelnen Kanälen (B bzw. D-Kanal) ebenfalls fix. Bei VoIP muss per UDP-Port diese Zuordnung vorgenommen werden. Insgesamt ist ISDN damit das schlankere System. Wenn auch aufwendiger in der Implementierung.

Aufbau von SIP-Nachrichten

Eine SIP-Nachricht ist sehr ähnlich einer HTTP-Nachricht aufgebaut. Es gibt im wesentlichen Requests und Responses. In einer Request-Nachricht werden Anfragen und teils auch Quittungen (ACK) transportiert. Insbesondere die Response-Nachrichten wurden stark an HTTP angelehnt. Die folgende Tabelle zeigt exemplarisch die wichtigsten Nachrichten (vgl. 2.1)

Code SIP HTTP Request/Response Klasse / Erläuterung
100 Trying Continue Response Informational
180 Ringing Response Informational
200 OK OK Response Success
401 Unauthorized Unauthorized Response Client-Error
404 Not Found Not Found Response Client-Error
INVITE Request Aufbauwunsch
BYE Request Abbauwunsch
ACK Request Quittung
REGISTER Request Anmeldung
SUBSCRIBE NOTIFY Request Presence Management

Informational10)

Request

Die folgende Tabelle zeigt den prinzipiellen Aufbau einer SIP-Request-Nachricht.

Erläuterung Request-Nachrichtenfelder
Start-Zeile: Method Request-URI SIP-Version
Message-Header: Header-Feld
Message-Header: . . .
Message-Header: Header-Feld
Leerzeile:
Optionale Nutzdaten: z.B. SDP„ Message-Body

!!HIER FEHLEN NOCH TABELLEN!!

Weitere Protokolle im VoIP-Umfeld

Die notwendige Kommunikation zum Verbindungsaufbau findet zwischen den vermittelnden Netzelementen (Proxy, Registrar, SBC11) , Media-Gateway, Media-Proxy) im Normalfall nicht über SIP statt, sondern über andere Protokoll, die auf die Wegefindung optimiert sind. Beispiele für diese Protokolle sind MGCP und Megaco. Auf eine detaillierte Darstellung dieser Protokolle wird hier verzichtet, da diese Protokoll nur innerhalb der Provider-Netze zum Einsatz kommen und sich damit außerhalb der betrieblichen Strukturen befinden.

Mögliche Probleme beim Einsatz von VoIP

Priorisierung / Paketverlust

Meist wird VoIP aus Kostengründen parallel zu weiteren Datendiensten auf einer DSL oder ähnlichen Verbindung verwendet. Damit ist zunächst nicht sichergestellt, dass der echtzeitsensitive VoIP-Anteil bei Engpässen immer mit Vorrang behandelt wird. Um dies zu erreichen gibt es mehrere Mechanismen.

  • VLAN (s. NGN12) VDSL)
  • ATM13) VCs14) (s. ADSL )
  • TOS-Feld15) in IP-Header

Bei VLAN und ATM ähnelt sich die Vorgehensweise. Hier wird auf Schicht 2 eine Aufteilung der Datenströme vorgenommen. Das bedeutet, der VoIP-Anteil erhält einen eigenen Kanal (VLAN bzw. VC). Dieser kann dann gegenüber dem Datenkanal priorisiert werden.

NAT-Probleme

Ein weiteres Problem kann durch NAT-Router entstehen. Das SIP-Protokoll sieht vor, dass die INVITE‑Nachricht die IP-Adresse des Absenders enthält. Da aber ein VoIP-Client im lokalen Netz normalerweise mit einer lokalen IP-Adresse arbeitet, kennt dieser die öffentliche IP-Adresse des NAT‑Routers nicht. Ein NAT-Router tauscht die lokale (private) IP-Adresse durch seine öffentliche (globale) IP-Adresse aus. Das Problem kann durch einen sogenannten STUN-Server gelöst werden. Dabei schickt der VoIP-Client eine Art „ping-Anfrage“. Die reply-Antwort enthält die öffentliche IP-Adresse über die die Anfrage an den STUN-Server gestellt wurde.

Jitter / Zeitverzögerung

Echtzeitanwendungen sind sehr empfindlich bezüglich der Synchronität der einzelnen Bits. Durch Jitter und unterschiedliche Laufzeiten können Störungen entstehen. Jitter bedeutet hierbei, dass die Bits nicht exakt erkannt werden können, da die senkrechten Bit-Flanken „verschmieren“. Dies kann soweit führen, dass es zu einem sogenannten Bit-Slip kommt. D.h. die Erkennung eines Bits „rutscht“ in das Zeitfenster des nächsten Bits. Die Folge sind Störgeräusche, weil die Empfangsseite falsche Abtastwerte für die Rekonstruktion des Audio-Signal verwendet. Auf Grund von unterschiedlichen Wegen der IP-Pakete, kann es zu Zeitverzögerungen kommen Dies äußert sich als Aussetzer. Insbesondere analoge FAX-Geräte reagieren auf die genannten Fehler sehr empfindlich bis hin zum Abbruch der Verbindung. Daher wurde speziell für diesen immer noch weitverbreiteten Anwendungsfall das T.38-Protokoll entwickelt. Dieses ist allerdings nicht weitverbreitet.

1)
Bekannte Codecs: G.729, GSM, Speex, iLBC, G.726
2)
SIP: Session Initiation Protocol; Signalierungsprotokoll ähnlich aufgebaut wie HTTP-Standard
3)
H.323: Als IP-basierter Nachfolger für ISDN entwickelt.
4)
MGCP / Megaco: Media Gateway Control Protocol; internes Protokoll zwischen vermittelnden Netzelementen
5)
POTS: plain old telephone service; analoger Telefonanschluss; ISDN: Integrated Servcies Digital Network digitales Telefonnetz
6)
ATA: Analoger Telefon Adapter; VoIP zu analog Adapter beinhaltet VoIP-Client
7)
UA: User Agent; Information über Client; vgl Browser UA-Information bei HTTP-Request
8)
RTP: Real-time Transport Protocol; Protokoll zur Übertragung von Echtzeitmedien wie Sprache oder Video
9)
SIP-Proxy: Vermittlungsanlage im VoIP-Netz; Vergleiche DIVO bzw. VSt im ISDN-Netz
10)
Informational wird manchmal auch als provisional bezeichnet.
11)
SBC: session boarder controller; vorgelagertes System, fungiert zur Entlastung von Proxy und Registrar
12)
NGN: Next Generation Network; moderne öffentliche Netzstruktur; wird auch als All-IP bezeichnet
13)
ATM: Asynchronous Transfer Mode; Übertragungstechnik; Nachfolgetechnologie zu ISDN
14)
VC: Virtual Channel; Datenkanal im ATM-System; vgl. B-Kanal bei ISDN
15)
TOS: Type of Service; Priorisationsfeld im IP-Header
network/oeff_netze/voip_allg.txt · Zuletzt geändert: 24.01.2020 08:10 von richard

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki