SlideShare une entreprise Scribd logo
1  sur  138
Télécharger pour lire hors ligne
Fachhochschule Köln
           University of Applied Sciences Cologne

   07      Fakultät für Informations-, Medien- und Elektrotechnik,
           Studiengang Elektrotechnik/NT

           Institut für Nachrichtentechnik
           Labor für Datennetze




                    Diplomarbeit

Erweitertes Accounting in VoIP-Netzen auf der Basis von
                  SIP und RADIUS




                    Student: Lotfi Faik
                Matrikelnummer: 11023333
                Abgabedatum: 25.02.2005




            Referent: Prof. Dr.-Ing. Andreas Grebe
                Korreferent : Dr. Andreas Kumpf
Hiermit versichere ich, daß ich die Diplomarbeit selbständig angefertigt und keine anderen
als die angegebenen und bei Zitaten kenntlich gemachten Quellen und Hilfsmittel benutzt
habe.




                Lotfi Faik
Inhaltsverzeichnis                                                                                                                           i




                                         Inhaltsverzeichnis

1. Einleitung .......................................................................................................... 1
   1.1 Begriffserklärung ............................................................................................................. 2
   1.2 Motivation und Zielsetzung ............................................................................................. 3
   1.3 Aufbau der Arbeit............................................................................................................. 3
2. VoIP (IP-Telefonie)........................................................................................... 5
   2.1 Grundsätzliche Unterschiede zu PSTN ............................................................................ 5
   2.2 VoIP-Varianten ................................................................................................................ 6
      2.2.1 PC-zu-PC-Telefonie .................................................................................................. 6
      2.2.2 PC-zu-Telefon-Verbindungen................................................................................... 7
      2.2.3 Telefon-zu-Telefon-Verbindungen ........................................................................... 8
   2.3 Funktionsweise der IP-Telefonie ..................................................................................... 9
      2.3.1 Netzaufbau ................................................................................................................ 9
      2.3.2 Komponenten .......................................................................................................... 10
      2.3.3 Anrufsignalisierung................................................................................................. 12
      2.3.4 Medienübertragung ................................................................................................. 13
      2.3.5 Transportprotokolle ................................................................................................. 13
   2.4 Quality of Service........................................................................................................... 15
      2.4.1 Verzögerung (Latency) ........................................................................................... 15
      2.4.3 Jitter......................................................................................................................... 18
      2.4.4 Echo......................................................................................................................... 19
      2.4.5 Paketverluste (Packet Loss) .................................................................................... 20
      2.4.6 Sprach-Aktivitäts-Entdeckung (Voice Activity Detection) .................................... 21
   2.5 Codecs ............................................................................................................................ 22
      2.5.1 Kodierungsverfahren............................................................................................... 24
      2.5.2 Sprachdaten-Komprimierung .................................................................................. 26
      2.5.3 Standards der Sprachkodierung............................................................................... 27
      2.5.4 Qualität der Codecs ................................................................................................. 28
   2.6 H.323-Standard .............................................................................................................. 30
      2.6.1 Architektur .............................................................................................................. 30
      2.6.2 H.323-Protokollsuite ............................................................................................... 31
         2.6.2.1 RAS-(Registration Admission Status) Signalisierung ..................................... 31
         2.6.2.2 Anruf-Kontroll-Signalisierung (H.225) ........................................................... 35
         2.6.2.3 Medien-Kontroll-Signalisierung (H.245)......................................................... 35
         2.6.2.4 Anruf-Signalisierung (Q.931) .......................................................................... 35
         2.6.2.5 Unterstützung von Datenanwendungen nach T.120 ........................................ 36
         2.6.2.6 Struktur von Anruf-SIG-Nachrichten beim H.225.0........................................ 36
      2.6.3 H.323-Verbindungsablauf ....................................................................................... 37
      2.6.4 Zusammenfassung................................................................................................... 38
   2.7 SIP (Session Initiation Protocol) .................................................................................... 39
      2.7.1 SIP-Protokollhierarchie........................................................................................... 39
      2.7.1 SIP-Architektur ....................................................................................................... 39
      2.7.2 Grundlegende Funktionsweise ................................................................................ 42
         2.7.2.1 Adressierung..................................................................................................... 42
Inhaltsverzeichnis                                                                                                                      ii

         2.7.2.2 Das Auffinden eines Servers ............................................................................ 42
         2.7.2.3 SIP-Transaktionen............................................................................................ 43
         2.7.2.4 Das Auffinden eines Benutzers ........................................................................ 43
      2.7.3 SIP-Message............................................................................................................ 43
         2.7.3.1 SIP-Request...................................................................................................... 48
         2.7.3.2 SIP-Response ................................................................................................... 49
      2.7.4 SIP-Registrierung .................................................................................................... 50
      2.7.4 SIP-Verbindungsablauf ........................................................................................... 52
   2.8 SIP im Vergleich zu H.323 ............................................................................................ 53
      2.8.1 Auf- und Abbau einer Verbindung.......................................................................... 53
      2.8.2 Komplexität............................................................................................................. 53
      2.8.3 Erweiterbarkeit ........................................................................................................ 54
      2.8.4 Skalierbarkeit .......................................................................................................... 54
3. AAA (Authentication, Authorization, Accounting) und Billing .................... 55
   3.1 AAA-Komponenten ....................................................................................................... 57
      3.1.1 AAA-Clients............................................................................................................ 57
      3.1.2 AAA-Server ............................................................................................................ 57
      3.1.3 AAA-Proxies........................................................................................................... 57
   3.2 AAA-Architektur ........................................................................................................... 58
   3.3 AAA-Protokolle ............................................................................................................. 60
      3.3.1 RADIUS .................................................................................................................. 60
      3.3.2 TACACS ................................................................................................................. 60
      3.3.3 DIAMETER ............................................................................................................ 60
4. RADIUS .......................................................................................................... 62
   4.1 Einführung...................................................................................................................... 62
   4.2 Radius-Eigenschaften..................................................................................................... 62
   4.3 RADIUS-Spezifikationen............................................................................................... 64
      4.3.1 Paketformat ............................................................................................................. 64
      4.3.2 Pakettypen ............................................................................................................... 65
      4.3.3 Attributformat.......................................................................................................... 66
      4.3.4 Proxying .................................................................................................................. 67
   4.4 Arbeitsablauf der RADIUS-Authentifizierung .............................................................. 67
   4.5 RADIUS-Accounting ..................................................................................................... 69
      4.5.1 Wie funktioniert Radius-Accounting? .................................................................... 69
      4.5.2 Accounting-Pakettypen ........................................................................................... 69
      4.5.3 Arbeitsablauf des RADIUS-Accounting................................................................. 70
5. Entwicklungsumgebung .................................................................................. 72
   5.1 VoIP-Netz....................................................................................................................... 72
   5.1 SER (SIP-Express-Router)............................................................................................. 73
      5.2.1 Was ist SER?........................................................................................................... 73
      5.2.2 Installation............................................................................................................... 74
      5.2.3 Konfiguration .......................................................................................................... 75
         a) Konfigurationsdatei.................................................................................................. 75
         b) Datenbank und Datenbankbibliothek erstellen ........................................................ 77
      5.2.4 Anwendung ............................................................................................................. 77
         5.2.4.1 SER starten....................................................................................................... 77
         5.2.4.2 Benutzer anlegen .............................................................................................. 77
         5.2.4.3 Registrierte Benutzer ansehen.......................................................................... 78
      5.2.5 SERWEB (Web-Interface von SER)....................................................................... 78
Inhaltsverzeichnis                                                                                                                       iii

         5.2.5.1 Installation........................................................................................................ 78
         5.2.5.2 Konfiguration ................................................................................................... 78
         5.2.5.3 Anwendung ...................................................................................................... 79
   5.3 Freeradius ....................................................................................................................... 81
      5.3.1 Was ist Freeradius? ................................................................................................. 81
      5.3.2 Installation und Grundkonfiguration....................................................................... 81
         a) Radiusclient.............................................................................................................. 81
         b) Radiusserver............................................................................................................. 82
      5.3.4 Radius-Server starten und testen ............................................................................. 84
   5.4 SER und Freeradius........................................................................................................ 85
   5.5 MySQL-Datenbank ........................................................................................................ 86
6. Implementierung ............................................................................................. 88
   6.1 Erweiterungsanforderungen ........................................................................................... 88
   6.2 Mobilität ......................................................................................................................... 89
      6.2.1 Nomaden-IP-Adresse .............................................................................................. 89
      6.2.1 Anschluss-IP-Adresse ............................................................................................. 91
   6.3 Verbindungsdauer .......................................................................................................... 91
   6.4 Type of Service .............................................................................................................. 93
   6.5 Quality of Service........................................................................................................... 93
      6.5.1 Verwendete Codecs................................................................................................. 93
      6.5.2 Bandbreite ............................................................................................................... 94
   6.6 Übertragenes Volumen................................................................................................... 95
   6.7 Instant Messaging........................................................................................................... 96
   6.8 Konferenz ....................................................................................................................... 98
7. Fazit ............................................................................................................... 100
Abbildungs- und Tabellenverzeichnis............................................................... 102
Literaturverzeichnis........................................................................................... 104
Abkürzungenverzeichnis................................................................................... 106
Anhang 1: SIP Status Code ............................................................................... 110
Anhang 2: Dictionary File................................................................................. 111
Anhang 3: RADIUS-Attribut-Typen................................................................. 117
Anhang 4: Quell-Code-Änderungen ................................................................. 119
1. Einleitung                                                                                               1



1. Einleitung


Der in der ganzen Menschengeschichte unvergleichbare Fortschritt der Wissenschaft und
Technik     im letzten       Jahrhundert     ist   ohne    die    explosionsartige      Entwicklung       der
Kommunikation nicht vorzustellen.
Sichere und zuverlässige Kommunikation ist eines der wichtigsten Bestandteile der heutigen
Gesellschaft. Dabei handelt es sich sowohl um die verbale Kommunikation als auch um den
Austausch von Informationen über Fax oder Internet.
Auf das Telefon kann man heutzutage nicht mehr verzichten. Es bietet eine schnelle
Möglichkeit, direkt zu einer Person Kontakt aufzunehmen, und durch den Einsatz des mobilen
Telefons ist das Wissen des Aufenthaltsorts irrelevant geworden.
In den letzten zwanzig Jahren nahmen die technischen Möglichkeiten im Telefonieumfeld in
sehr kurzen Abständen rasant zu. So bietet z.B. ISDN1 vielfältige technische Möglichkeiten
neben dem „Nur-Telefonieren“.
Für die Übermittlung von nonverbalen Informationen bietet die Telefonie-Infrastruktur den
Fax-Service an, der jedoch primär für Texte, und nicht für Bilder geeignet ist.
Parallel dazu hat das Internet auch in den vergangenen zwanzig Jahren immer mehr an
Bedeutung gewonnen, vor allem beim nonverbalen Informationsaustausch.
Telefon und Internet sind jedoch zwei voneinander unabhängige Netzinfrastrukturen, die
getrennt gepflegt werden müssen.
Seit einigen Jahren bietet IP-Telefonie Sprachübertragung über IP2-basierte Netze, also über
das Internet, mit dem langfristigen Ziel, das separate Telefonnetz einsparen zu können.
Zunächst wird die Migration beider Netze nötig, wobei sich Komponenten beider Netze (IP-
Netz und PSTN3) gemeinsam nutzen lassen.




1
  ISDN: Integrated Services Digital Network: Digitale Variante des herkömmlichen Telefonnetzes. ISDN stellt
die Integration vieler einzelner Dienste wie Telefonie, Fax, Telex, typische leitungs- oder paketvermittelte
Datendienste etc. in ein einheitliches Mehrdienstenetz dar.
 Die Vorteile liegen in einer besseren Sprachqualität, einer höheren Datendurchsatzrate und ein schnelleres
Anwählen andere Telefonnummern. Die Telekomfirmen bieten in der Regel bei einem ISDN-Anschluss eine
zweite Leitung sowie drei Rufnummern und weitere Serviceleistungen an.
2
  IP: Internet Protocol: Die Aufgabe des Internet-Protokolls (IP) besteht darin, Datenpakete von einem Sender
über mehrere Netze hinweg zu einem Empfänger zu transportieren. Die Übertragung ist paketorientiert,
verbindungslos und nicht garantiert. IP garantiert weder die Einhaltung einer bestimmten Reihenfolge noch eine
Ablieferung beim Empfänger. Empfangsquittungen gibt es auf IP-Schicht nicht. Die maximale Länge von IP-
Datenpaketen ist auf 65.535 Bytes beschränkt.
3
  PSTN: Public Switched Telephne Network. Öffentliches Telefonnetz, oft mit digitalen Vermittlungsstellen
(Switches).
1. Einleitung                                                                                             2




                              Abbildung 1: IP-Netz-PSTN-Migration

        Legende:         PSTN:       Public Switched Telephone Network,
                         POTS4:      Plain Old Telephone Service,
                         SIP5:       Session Initiation Protocol,
                         IP Phone:   Internet-Protocol-Telefon.
                         Gateway:    Verbindungseinrichtung zur Kopplung von Netwerken
                                     unterschiedlichster Art.


1.1 Begriffserklärung

Bevor eine eindeutige Zielsetzung für diese Arbeit formuliert werden kann, sind grobe
Erklärungen der im gewählten Diplomarbeitstitel vorkommenden Begriffe unerlässlich.
Ganz am Anfang ist der Begriff „AAA“ kurz zu erklären, damit andere von ihm abhängige
Begriffe deutlich werden.
„AAA“ (Authentication, Authorization, Accounting) bezieht sich auf die Aufgaben
Authentication: Authentifikation, Echtheit des Benutzers feststellen,
Authorization: Autorisierung, Zugriffsberechtigung zu den gewünschten Diensten/Inhalten
prüfen und
Accounting: Kontierung/Leistungserfassung, also die Protokollierung von Art und Umfang
der genutzten Leistungen.

4
  Unter POTS ist die analoge Telefonie zu verstehen, die eine Bandbreite von 3,1 kHz hat, die im
Frequenzbereich von 300 Hz bis 3,4 kHz liegt. Dieser Frequenzumfang ist so gewählt, dass die
Sprachübertragung verständlich ist und der Sprechende mit seinen Stimmcharakteristiken erkannt werden kann.
5
  Das SIP-Protokoll ist ein Signalisierungsprotokoll für die IP-Telefonie, das im Rahmen dieser Diplomarbeit
noch tiefer behandelt wird.
1. Einleitung                                                                               3

„VoIP“ ist die Abkürzung von „Voice over IP“ und wird auch auf Deutsch IP-Telefonie
genannt.
„SIP“ ist das „Session Initiation Protocol“: Protokoll zur Verbindungssteuerung für VoIP.
„RADIUS“ kürzt „Remote Authentication Dial-In User Service“ ab, und ist das wichtigste
AAA-Protokoll.
„Billing“ Unter diesem weit gefassten Begriff versteht man die Abrechnung der IT-
Leistungen für die Nutzung unterschiedlicher Netze und Dienste. Das Billing umfasst die
Sammlung der Verbindungs- und Übertragungsdaten, die Zuordnung der Daten, das so
genannte Accounting, das Rating mit der Zuordnung der verschiedenen Tarife, die
Rechnungsstellung, das Controlling und das Inkasso.
Für die Bezahlung von Einkäufen im Web bietet sich das Online-Billing an, von dem es
mehrere Bezahlsysteme gibt.

1.2 Motivation und Zielsetzung

Diese Diplomarbeit ist eine Zusammenarbeit der Fachhochschule Köln mit der Firma TECON
Systems AG.
Diese entwickelt eigene Produkte und Software-Lösungen im Kundenauftrag, wobei das IT-
Accountig einer der Schwerpunkte ist.
Im IP-Telefonie-Bereich hat TECON ein Verfahren entwickelt (GEOVIPA), das ursprünglich
für die geographische Verzonung von VoIP-Verbindungen erdacht wurde und während der
Entwicklung verbessert und erweitert werden dürfte.
Mit neuen und innovativen Abrechnungslösungen für VoIP will TECON für die zukünftigen
Anforderungen im internationalen Markt „Akzente setzen“.
Da das Billing Ziel aller Prozesse ist, gerade bei Service Providern, die für ihre Leistungen
schließlich vergütet werden wollen, beabsichtigt TECON ihnen bei den neuen
Abrechnungslösungen genügend Accounting-Daten anzubieten.
Dies war der Hintergrund der Unterstützung dieser Diplomarbeit durch die Firma TECON.
Ihrerseits wurde das RADIUS-Protokoll als Basis der Entwicklung vorgeschlagen, um im
Rahmen dieser Arbeit detaillierte Accounting-Daten gewinnen zu können.

1.3 Aufbau der Arbeit

Im ersten Teil dieser Diplomarbeit wird das nötige theoretische Wissen vorgestellt:
Kapitel 2: Voice over IP und seine Standards,
Kapitel 3: AAA, seine Architektur und seine Protokolle,
1. Einleitung                                                                                              4

Kapitel 4: Die Funktionalität von RADIUS und deren Attribute, sowie das RADIUS-
Accounting und deren Konfigurationsoptionen.
Im Zweiten Teil wird die Entwicklungsumgebung vorgestellt, dies erfolgt in dem Kapitel 5.
In diesem Kapitel wird die Realisierung im Rahmen der Arbeit zusammengefasst, dabei
wurde eine Open-Source6-RADIUS-Variante (freeradius) installiert und in Betrieb
genommen.
Einen Open-Source-SIP-Server7, der eine einwandfreie Interoperabilität mit dem Freeradius-
Server zeigt, wurde ebenfalls installiert und konfiguriert. Hier wurde der SIP-Express-Router
eingesetzt.
Im Dritten Teil (Kapitel 6) wurden die eigentlichen Entwicklungen und der Kern dieser
Diplomarbeit vorgestellt. Die Arbeit umfasst insgesamt über 700 Zeilen selbst geschriebenen
Quellcode.
Kapitel 7 fasst die wesentlichen Ergebnisse zusammen und schließt mit einem Ausblick auf
weiterführende Arbeiten.




6
  Der englische Ausdruck Open Source steht für quelloffen, einerseits in dem Sinne, dass der Quelltext eines
Programms frei erhältlich ist, andererseits für 'offene Quelle', also dass ein Werk frei zur Verfügung steht.
7
  SIP-Server ist eine Vermittlungsstelle der Teilnehmer im VoIP-Netz
2. VoIP (IP-Telefonie)                                                                                       5



2. VoIP (IP8-Telefonie)

Unter IP-Telefonie im klassischen Sinn wird die Übertragung von Gesprächen direkt über das
Internet durch die Nutzung des Internet-Protokolls (IP) verstanden. Man verwendet dafür
verschiedene Begriffe, wie Internet Telefonie, IP Telefonie, Packet Voice und auch Voice
over IP.
Die erste Lösung für die Sprachübertragung über das IP-Daten-Netz führte die israelische
Firma VocalTec im Jahr 1995 vor.

2.1 Grundsätzliche Unterschiede zu PSTN

Im klassischen Telefonnetz wird die Sprache in Form von unterschiedlich starken
elektrischen Impulsen über eine Leitung von einem Teilnehmer zum anderen übermittelt,
dabei wird ein Kanal während der Kommunikation durchgehend durchgeschaltet und nach
Kommunikationsende wieder für andere Teilnehmer freigegeben.
Bei VoIP wird die analoge Sprache in digitale Signale umgewandelt, die zu Paketen
zusammengefasst und an den Telefonpartner verschickt werden. Zwischen zwei Paketen ist
die Leitung frei für anderweitige Nutzung. Im Vergleich zur Telefonleitung, die für die Dauer
des gesamten Gesprächs belegt ist, können so Kapazitäten gewonnen werden.
Außerdem ist grundsätzlich von der Digitalisierung der Sprachsignale eine im Vergleich zur
analogen Telefontechnik Verminderung der Sprachqualitätsverlusten zu erwarten.
Doch in der Praxis macht das Telefonieren über das Internet die User noch nicht ganz
glücklich, da die Qualität der Audioübertragung und die Fähigkeit des Internets
Audioübertragung zu bieten, noch zu wünschen lässt. Das Problem liegt dabei vor allem in
der „veralteten“ Internet-Infrastruktur. Trotzdem ist das Interesse der Industrie an dieser Art
der Kommunikation sehr hoch. Organisationen rund um die Erde suchen Lösungen, um die
Kosten der immer wachsenden Kommunikation zu reduzieren. Viele Firmen suchen auch
Lösungen die Daten- und Audioübertragung auf ein Netzwerk zu legen und dadurch Kosten
zu sparen. Dies kann erreicht werden, wenn ein paketvermitteltes Netzwerk wie IP verwendet
wird, welches Daten und zur gleichen Zeit auch Audiodaten übertragen kann. Auch die
Video-Kommunikation im IP-Umfeld wird erleichtert.
Durch Softwarelösungen lassen sich noch zusätzliche Funktionen sehr einfach realisieren. An
Kosten wird auch gespart, da nicht in neue Hardware investiert werden muss. Individuelle

8
  IP: Internet Protocol, eines der Basisprotokolle des Internet. Es gehört zu den verbindungslosen Protokollen,
d.h. zwischen dem Sender und Empfänger der Daten muss keine direkte Verbindung bestehen.
2. VoIP (IP-Telefonie)                                                                               6

Kundenanforderungen            sind   ebenso     leichter    zu    realisieren,   da   durch   modulare
Programmierung Arbeitsabläufe und Strukturen leichter verändert werden.

2.2 VoIP-Varianten

Es lassen sich drei VoIP-Varianten unterscheiden: Computer-zu-Computer, Computer-zu-
Telefon und Telefon-zu-Telefon.
Als das Thema Internet-Telefonie Ende 1994 aufkam, wurde darunter nur die Möglichkeit
verstanden, kostengünstige Telefonate zwischen zwei Computern über das Internet zu führen.
VoIP-Gateways ermöglichen seit 1996 Gespräche zwischen Computern und herkömmlichen
Telefonen. Sie verbinden das Telefonnetz (PSTN) mit einem IP-Netz und integrieren
Computer und Telefone in einem System.

2.2.1 PC-zu-PC-Telefonie
Die Sprachdaten werden zwischen zwei Computern ausgetauscht, die über das Internet bzw.
ein anderes IP-Netz miteinander verbunden sind. Bei dieser Variante müssen beide
Teilnehmer online sein, damit ein Gespräch zustande kommen kann.




                                Abbildung 2: PC-zu-PC-Verbindungen

Als weitere Voraussetzung müssen beide Computer „sprachfähig“ sein, was gewisse
Anforderungen an Hard- und Software stellt. Neben einem Zugang zu einem IP-Netz und der
notwendigen IP-Telefonie-Software wird im Allgemeinen lediglich vorausgesetzt, dass die
Computer über eine Soundkarte, ein Mikrophon und die Möglichkeit zur Sprachausgabe
verfügen.
Anstelle der Kombination von Mikrophon und Lautsprecher wird sehr gerne ein Headset
eingesetzt. Dadurch steigt die Verständlichkeit der Kommunikation, der Benutzer hat mehr
Kopffreiheit und die Gefahr der Rückkopplung wird geringer.
Ein schneller Netzzugang, ein schneller Prozessor (einige Verfahren zur Sprachcodierung
benötigen diese Leistungsfähigkeit zur Echtzeitcodierung9) sowie spezielle DSP10-Karten

9
    Dabei muss das Signal mit minimaler Verzögerung kodierbar und dekodierbar sein.
2. VoIP (IP-Telefonie)                                                                                        7

tragen ebenfalls zur Verbesserung der Qualität bei. Diese Karten sind speziell für IP-Telefonie
entwickelt worden. Es lässt sich ein normales Telefon anschließen, um über das Internet zu
telefonieren, und die Karte verfügt über einen DSP-Chip zur Schnellen Codierung und
Decodierung der Sprache.

2.2.2 PC-zu-Telefon-Verbindungen
Um     PC-zu-Telefon-Verbindungen             oder    Telefon-zu-Telefon-Verbindungen             mit    VoIP
realisieren zu können, sind auf jeden Fall VoIP-Gateways notwendig, da sie das
leitungsvermittelte Telefonnetz mit dem paketorientierten Internet verbinden.




                            Abbildung 3: PC-zu-Telefon-Verbindungen

VoIP-Gateways lösen das Problem der Kontaktaufnahme, da sie nur noch die Eingabe der
herkömmlichen Telefonnummer des Gesprächspartners erwarten. Ein Gateway verfügt über
eine    Schnittstelle    zum     Anschluss       an    das    TCP/IP-Netz       sowie     eine    ISDN-oder
Analogschnittstelle für den Anschluss an das Telefonnetz oder eine Nebenstellenanlage
(PBX11).
Auf der einen Seite erhält das Gateway das Telefonsignal, digitalisiert dieses, komprimiert es
(wenn nötig), teilt es in Paketen auf und überträgt es über das IP-Netz. Beim Empfang von
Daten aus dem IP-Netz führt der Gateway die Aufgaben in umgekehrter Reihenfolge aus.
Komprimierte Sprachdaten werden dekomprimiert und dann an das Telefonnetz geleitet.
Die Anwendung (Application) eines Gateways verwaltet die Verbindungen und sorgt für die
Umwandlung zwischen Telefonnummer und IP-Adresse.




10
   DSP: Digital Signal Processor, spezieller Chip, der sinusförmige Signale (z.B. Sprache, Musik) durch
mehrfaches Abtasten digitalisiert. Er wird z.B. in Soundkarten eingesetzt. [20]
11
   PBX: Private Branch Exchange: ist eine Nebenstellenanlage, die via Telefonleitungen das öffentliche
Telefonnetz mit den Endgeräten (Telefone, Faxgeräten) einer Firma oder eines großen Hauses verbindet, für
Privathaushalte sind solche Lösungen oft überdimensioniert.
Mit solchen Anlagen kann man viele Endgeräte gezielt miteinander verschalten und so ein eigenes Telefonnetz
aufbauen. Speziell die Möglichkeit, innerhalb der Telefonanlage kostenlos telefonieren zu können, ist gerade für
Firmen sehr interessant.
2. VoIP (IP-Telefonie)                                                                    8

Weitere Aufgaben, die von der Anwendung übernommen werden können, sind die
Organisation   von   Datenbankzugriffen,    die   Gebührenverwaltung,    das   Führen   von
Verbindungsnachweisen und das Protokollieren von Fehlern.

2.2.3 Telefon-zu-Telefon-Verbindungen
Bei dieser Variante werden die Gespräche zwischen zwei herkömmlichen Telefonen geführt.
An den Übergangspunkten zwischen Internet und Telefonnetz arbeiten jeweils Telefon-
Gateways.




                     Abbildung 4: Telefon-zu-Telefon-Verbindungen


Bei Internet-Telefonaten zwischen Telefonen werden die Daten zunächst über das
Telefonnetz an einen VoIP-Gateway in der Nähe des Empfängers übertragen. Die Auswahl
des Zielgateways kann nach unterschiedlichen Kriterien erfolgen (Zuverlässigkeit,
Geschwindigkeit oder Kosten der Verbindung). Der Zielgateway stellt die Verbindung in das
öffentliche oder private Telefonnetz her und leitet die Daten zum Empfänger weiter.
Die deutsche Telekom ermöglichte Ende 1997 in einem Pilotprojekt ausgewählte Kunden das
Führen von Telefonaten über das Internet. Bei diesem Projekt arbeitete die Deutsche Telekom
mit dem Internet-Telefonie-Pionier VocalTec zusammen. Das Projekt wurde nach einer
Testphase wieder eingestellt.
Die deutsche ABC Bücherdienst GmbH in Regensburg setzte ein VoIP-Gateway-System des
amerikanischen Unternehmens Lucent Technologies ein, um Telefongespräche zwischen
Standorten in Deutschland und den USA über das Internet zu leiten. Die Qualität der
Verbindungen wird von Seiten des deutschen Unternehmens positiv beurteilt.
Wie bei allen Varianten, steht auch bei der Telefon-zu-Telefon-Variante mögliche
Kosteneinsparungen im Vordergrund. Potentielle Dienstanbieter sind neben den traditionellen
Telefongesellschaften Unternehmen wie IDT, Global Exchange oder Delta Three, die als so
2. VoIP (IP-Telefonie)                                                                                 9

genannt Internet Telephony Service Provider (ITSP) VoIP-Dienste anbieten und sich zu den
Telefongesellschaften der nächsten Generation entwickeln könnten. Als in Betracht
kommende Kunden für deren Dienste sieht die ITU12 die über 700 Millionen
Telefonteilnehmer.


Alle drei verschiedenen VoIP-Varianten (PC-zu-PC, PC-zu-Telefon und Telefon-zu-Telefon)
können in einem integrierten Kommunikationssystem kombiniert werden. Ein System, in dem
mehrere Gateways zu einem großen System verbunden sind, wird auch als Virtual Unified
Network bezeichnet.

2.3 Funktionsweise der IP-Telefonie

Dieser Abschnitt erläutert einige Begriffe aus der IP-Telefonie und stellt den Netzaufbau und
verschiedene Komponenten vor. Ferner wird erläutert, wie Endpunkte kontaktiert und
Mediendaten übertragen werden.
Grundsätzlich müssen zwei Arten von Datenströmen unterschieden werden:
        •   Signalisierungsdaten        dienen     zum     Verbindungsaufbau,         Steuerung     von
            Verbindungseigenschaften und zum Verbindungsabbau.
        •   Mediendaten enthalten die eigentlichen Sprachinformationen.


Für beide Datenströme werden separate Verbindungen verwendet.



2.3.1 Netzaufbau

Abbildung 5 zeigt ein Beispiel für ein IP-Telefonie-Netz mit einem Telefonie-Server,
Arbeitsplatz-Rechnern, die über IP-Telefonie-Software verfügen und IP-Telefonen. Über
einen Gateway kann eine Verbindung in das PSTN hergestellt werden.




12
   ITU: International Telecommunications Union (Sitz in Genf): seit Jahrzehnten bestehende internationale
Organisation von Herstellern und staatlichen Einrichtungen im Bereich der Telekommunikation, die auch
Standards und Normen definieren.
2. VoIP (IP-Telefonie)                                                                      10




                          Abbildung 5: IP-Telefonie-Netzaufbau
Anders als bei der herkömmlichen Telefonie kann bei der IP-Telefonie ein Endpunkt direkt
eine Verbindung zu einem anderen Endpunkt aufbauen. Den Endpunkten ist es freigestellt, ob
sie den Telefonie-Server nutzen oder nicht. Wenn sie es tun, müssen sie sich dort registrieren.
Eine Registrierung enthält unter anderem Informationen über den Endpunkt und dessen
Benutzer. Eine der wichtigsten Informationen ist die Adresse für die Anrufsignalisierung.

2.3.2 Komponenten
Endpunkt

An einem Endpunkt kann ein Benutzer ein Telefonat annehmen oder initiieren.
Ein Endpunkt für Benutzerinteraktion kann ein IP-Telefon, also ein Telefon mit
Netzanschluss
und IP-Telefonie-Software, oder ein Rechner mit einer solchen Software sein. Endpunkte
verwenden eine Hierarchie von Protokollen zur Anrufsignalisierung, Medienaushandlung und
Mediendatenerzeugung und -Paketisierung. Über ein GUI (Graphical User Interface) kann
Benutzerinteraktion stattfinden.
Telefonie-Server

Ein Telefonie-Server ist eine zentrale Instanz einer IP-Telefonie-Umgebung. Endpunkte
können sich bei ihm registrieren und erhalten Dienste von ihm wie z. B. die Lokalisierung
2. VoIP (IP-Telefonie)                                                                      11

eines Benutzers. Dies ist wichtig, da nicht immer klar ist, an welchem Rechner sich der
Benutzer gerade aufhält, da er eine IP-Telefonie-Anwendung auf jedem Rechner verwenden
kann. Für die Benutzerlokalisierung befragt der Server eine Datenbank. Bei einer
Registrierung teilt der Benutzer einem Telefonie-Server mit, unter welchen Aliasnamen er
erreichbar sein möchte. Ein Benutzer kann über eine Menge von Aliasnamen verfügen, die in
der Regel ein Name gefolgt von einer Domäne, z. B. faik@dn.fh-koeln.de, sind. Ein Anrufer
kann bei einem Telefonie-Server erfragen, wo sich der gewünschte Gesprächspartner
befindet. Der Server ist in der Lage, einem Aliasnamen eine entsprechende Transportadresse
zuzuordnen. In einem IP-Telefonnetz können mehrere Telefonie-Server parallel arbeiten.
Sollte der gewünschte Benutzer bei einem anderen Server registriert sein, so kann der erste
Server bei dem anderen die Transportadresse des Benutzers erfragen, da er selber keine
Informationen über den Benutzer besitzt. Für den Anrufer bleibt dieser Vorgang verborgen.
Ein Telefonie-Server kann Anrufe genehmigen oder ablehnen. Die Entscheidung kann von
unterschiedlichen Faktoren abhängig sein. Denkbar sind Faktoren wie:
   -   Wer ist der Benutzer? Hat dieser spezielle Privilegien?
   -   Wie stark ist das Netz ausgelastet? Überschreitet ein weiteres Gespräch die Kapazität
       des Netzes?
   -   Verursacht das Gespräch Kosten, die nicht entstehen dürfen?
Gateway

Ein Gateway verbindet verschiedene Netze miteinander, wodurch z. B. ein Telefonat von
einem IP-Netz in das PSTN möglich ist. Ein Gateway übersetzt dazu die Anrufsignalisierung
des einen Netzes in die des anderen. Auch die Datenströme werden aufeinander abgebildet
und übersetzt.




                     Abbildung 6: Anrufbeispiel von PSTN nach IP
2. VoIP (IP-Telefonie)                                                                   12



Abbildung 6 zeigt ein Anrufbeispiel von einem Anschluss im PSTN zu einem Rechner mit IP-
Telefonie-Software. Betrachtet wird dabei nur die Anrufsignalisierung. Der Anrufer wählt die
gewünschte Nummer. Da er von einem normalen Telefon anruft, stehen ihm nur Ziffern zur
Verfügung. Die Nummer 218-9999 ist einem Gateway des Betreibers des IP-Netzes
zugeordnet. Dort wird festgestellt, dass der Benutzer mit dem Aliasnamen 2800 gewünscht
wird. Der Gateway wendet sich an einen Telefonie-Server, der feststellt, dass die Nummer
2800 dem Benutzer „bunti“ zugeordnet ist, und dass dieser sich an dem Rechner mit der IP-
Adresse 134.102.218.70 befindet. Daraufhin wird die Verbindung hergestellt.

2.3.3 Anrufsignalisierung

Bei der Anrufsignalisierung baut der anrufende Endpunkt eine Verbindung zum angerufenen
Endpunkt auf. In erster Linie geht es dabei darum, dass der angerufene Endpunkt weiß, dass
eine Gesprächsverbindung aufgebaut werden soll. Er kann dabei zusätzliche Informationen
über den anrufenden Endpunkt erfahren, z. B. den Namen oder die Telefonnummer des
Anrufers. In der IP-Telefonie ist der Kanal für die Anrufsignalisierung getrennt von dem
Kanal für die Mediendaten.




                             Abbildung 7: Anrufsignalisierung


Abbildung 7 zeigt vereinfacht, wie der Verbindungsaufbau abläuft. Der anrufende Endpunkt
(Endpunkt 1) signalisiert dem angerufenen Endpunkt (Endpunkt 2) seinen Verbindungs-
Wunsch. Endpunkt 2 signalisiert Endpunkt 1, dass er den Wunsch verstanden hat (Ringing)
und jetzt reagiert. Sobald der Benutzer das Gespräch angenommen hat, signalisiert Endpunkt
an Endpunkt 1, dass die Verbindung zustande gekommen ist (Connect). Nachdem Endpunkt 2
2. VoIP (IP-Telefonie)                                                                                  13

über den Verbindungswunsch Bescheid weiß, handeln die beiden Endpunkte den Codec13 aus,
mit dem die Sprachinformationen übertragen werden. Anders als im PSTN können bei der IP-
Telefonie verschiedene Kodierungsverfahren verwendet werden.
Wenn die Anrufsignalisierungsphase beendet ist, bleibt der Kanal dennoch bestehen, da
Steuerinformationen für das Gespräch weiterhin über diesen Kanal ausgetauscht werden.
Diese Steuerinformationen können z. B. Übergabe an einen anderen Gesprächspartner oder
Beenden des Gespräches sein.

2.3.4 Medienübertragung
Die Verbindung für die Mediendaten wird nach der Codec-Aushandlung geöffnet und erst
beim Beenden des Gespräches oder bei einer Änderung des Codecs wieder geschlossen.
Bei der herkömmlichen Telefonie gibt es nur einen Kanal für die Mediendaten, der
leitungsorientiert ist. VoIP ist hingegen - wie vorhin erwähnt - paketorientiert, wobei die zu
übertragenen Daten (Pakete) verschiedene Wege nehmen.

2.3.5 Transportprotokolle
Die Nutzer von TCP/IP-Netzwerken haben grundsätzlich die Wahl zwischen TCP
(Transmission Control Protocol, RFC14 793) und UDP (User Datagram Protocol, RFC 768)
als Transportprotokoll.




                   Abbildung 8: TCP und UDP im TCP/IP-Protokollstack15


Der Unterschied zwischen den Transportprotokollen TCP und UDP liegt darin, dass das TCP
ein verbindungsorientiertes Protokoll ist. Das heißt, beim TCP-Protokoll wird zwischen zwei


13
   Codec: Abkürzung für Coder/Decoder oder Compressor/Decompressor [20] (siehe Kapitel 2.5)
14
   RFC: Die Requests for Comments (kurz RFCs; zu Deutsch etwa „Bitten um Kommentare“) sind eine Reihe
von technischen und organisatorischen Dokumenten zum Internet, die am 7. April 1969 begonnen wurde.
15
   Standard von IEEE zum Aufbau lokaler Netzwerke, IEEE (Institute of Electrical and Electonicss Engineers)
ist der weltweit größter professioneller Zusammenschluss von Ingenieuren.
2. VoIP (IP-Telefonie)                                                                                     14

Sockets (Verbindungsendpunkten)                eine Verbindung aufrechterhalten, solange die
Kommunikation zwischen Client und Server anhält.
Beim UDP-Protokoll muss keine schon aufgebaute Verbindung zwischen Client und Server
bestehen, sondern dem so genannten Datagramm (Nutzinformation) wird nur der Endadressat
mitgegeben, ob dieser nun erreichbar ist oder nicht.
Es ist somit direkt eingeplant, dass das Datagramm seinen Kommunikationspartner gar nicht
erreicht, falls dieser zurzeit nicht bereit ist, Daten zu empfangen.
TCP ist zur Übertragung von Datenströmen gut geeignet und effizient, solange der
Datentransport nicht an Zeitgrenzen gekoppelt ist. Eine eigentlich positive Eigenschaft des
TCP-Protokolls, nämlich nicht eingetroffene Datenpakete erneut anzufordern, hat eine
zeitverzögernde Wirkung auf den Datentransport, so dass man zumeist das UDP-Protokoll bei
VoIP-Applikationen einsetzt.
TCP wird dagegen in den meisten VoIP-Signalisierungsprotokollen für den Anrufaufbau
verwendet.
Da aber UDP ohne weitere Mittel zur Übertragung von isochronen16 Audio- und Videodaten
nicht ausreicht, benutzt man z.B. die IETF17-Empfehlungen RTP (Real Time Transfer
Protocol, RFC 1889) bzw. RTCP (Real Time Control Protocol).
RTP und RTCP wurden als Echtzeit-Transportprotokolle entwickelt und dienen dem Ende-zu-
Ende-Transport von Echtzeitdaten. Innerhalb des RTP-Headers befindet sich unter anderem
ein Datenfeld, das einen Zeitstempel (Timestamp) enthält, um die Echtzeitdaten zu
synchronisieren.

Die im folgenden kommenden Abschnitte 2.7 und 2.8 stellen zwei verschiedene Standards der
IP-Telefonie vor: H.323 und SIP. Beide Standards definieren eine Anrufsignalisierung für IP-
basierte Netze. Für den Transport der Mediendaten verwenden beide Standards RTP.




16
   Eine isochrone Übertragung zeichnet sich dadurch aus, dass die vom Sender zu übertragenden Datenpakete in
einem gleichmäßigen Abstand gesendet werden und beim Empfänger in gleichmäßigem Abstand ankommen.
Die Verzögerung der zu übertragenden Daten muss in so engen Grenzen liegen, dass dies zu keinem
Fehlverhalten der Anwendung führt.
Isochrone Anwendungen sind z.B. Sprach und Videoübertragungen von Live-Ereignissen.
17
   IETF ist eine internationale Organisation, die Standards für Internetprotokolle definiert. Die von der IETF
festgeschriebenen Standards werden in so genannten RFC’s veröffentlicht.
2. VoIP (IP-Telefonie)                                                                                15


2.4 Quality of Service

Den Begriff Quality of Service (QoS) kann man definieren als die Fähigkeit, eine gewisse
Sicherheit bezüglich der Erfüllung von Dienstanforderungen (z.B.: Verständlichkeit der
Sprache, kein Echo etc) bieten zu können. Hinsichtlich der Sprachqualität könnte man QoS
als eine Anzahl der folgenden Bedingungen für eine ausreichende Verständlichkeit der
Sprache definieren:
         Die Bandbreite muss ausreichend sein und dauerhaft zur Verfügung stehen
         Zeitdingungen wie Verzögerung (Delay) und Verzögerungsschwankung (Jitter)
         müssen eingehalten werden
         Geringer Prozentsatz an verloren gegangenen Daten und gute Sprachkodierer
Diese Bedingungen gelten sowohl für kanalorientierte GSTN-Netze18 als auch für die
paketorientierte IP-Telefonie. Eine QoS sollte immer Ende zu Ende zwischen zwei
kommunizierenden Partnern zur Verfügung stehen. Das bedeutet, dass QoS auf dem gesamten
Weg durch das Netz von allen Netzelementen unterstützt werden muss. Die paketoreintierte
IP-Telefonie hat spezielle Eigenschaften wie lange Verzögerungen, Jitter und Paketverluste.
Das Thema QoS ist einerseits durch viele ITU-Empfehlungen, Arbeiten von ETSI TIPHON19
(Work Group 5) bzw. in der IETF und durch viele Forschungsprojekte abgedeckt. [18]

2.4.1 Verzögerung (Latency)
Ein großes Problem bei der Übertragung von Audio- oder Videodaten sind die Verzögerungs-
(delay time) oder Wartezeiten des Empfängers während der er auf gesendete Daten warten
muss.
Es gibt zwei arten von Verzögerungen: die Ausbreitungsverzögerung (Propagation-Delay)
und die Verarbeitungszögerung (Handling-Delay). Die Ausbreitungs-Verzögerung wird durch
die Lichtgeschwindigkeit in Glasfaser oder kupferbasierte Netzwerken verursacht.
Die     Verarbeitungsverzögerung,       auch    Prozess-Verzögerung        genannt,    umfasst     viele
verschiedene Verzögerungsursachen (momentane Paketrate, Komprimierung und Paket-
Switching) und wird durch Geräte verursacht, die den Frame durch das Netzwerk

18
   GSTN: General Switched Telefone Network, Bezeichnung für kanalorientierte Telefonnetze. Diese gliedern
sich in das öffentliche Festnetz (PSTN) und das öffentliche Mobilfunknetz, das Public Land Mobile Network
PLMN.
19
   TIPHON: Abkürzung für Telecommunications and Internet Protocol Harmonization Over Networks.
Projekt des ETSI (European Telecommunications Standards Institute) zur Erarbeitung von Schnittstellen und
Rahmenvereinbarungen für die Architektur der Zusammenschaltung von leistungsvermittelnden und
paketorientierten öffentlichen Netzen. Dies dient v.a. der Internet-Telefonie auf der Basis der H.323-
Protokollfamilie.
2. VoIP (IP-Telefonie)                                                                                       16

weiterleiten.
Für die Sprachübertragung im klassischen Telefonnetz wurden maximale Ende-zu-Ende-
Laufzeiten definiert, die für den nationalen Bereich 25 ms und für den internationalen Bereich
150 ms betragen dürfen.
Innerhalb eines normalen TCP/IP-Netzwerks kommt es bei der Datenübertragung zu
Verzögerungen von bis zu mehreren 100 ms, die auf der Einteilung der Nutzinformationen in
einzelne Datenpakete sowie auf dem Zusammensetzen einzelner Datenpakete zu einem
Ganzen basieren.
Auch aktive Netzwerkkomponenten, wie z.B. Switches oder Router beeinflussen die
Verzögerungszeiten der zu übertragenden Datenpakete innerhalb eines TCP/IP-Netwerks
sehr.


                                            Verursachte
     Netzwerk-Hardware                                                        Bemerkungen
                                           Verzögerung
Netzwerkkarte                                  0,2 – 1 ms           Abhängig vom Netzwerk-
                                                                    karten-Typ (1000 – 10 MBit/s)
Router                                        35 – 200 ms           Abhängig vom Router-Typ
Switch (Layer 2)                              35 – 100 ms           Abhängig vom Switch-Typ
Switch (Layer 3)                              70 – 250 ms           Hardware-basierter Switch
Switch (Layer 3)                                > 120 ms            Software-basierter Switch
Firewalls oder Proxy-Server                     > 400 ms

        Tabelle 1: Typische Verzögerungszeiten durch klassische Netzwerkhardware


Dagegen übertrug Cisco den Hauptteil des Framing und der Paketformung auf den DSP
(siehe Kapitel 2.2.1), um den Router-Overhead möglichst gering zu halten. Der Real Time
Transport-Protokoll-(RTP)Header wird z.B. im DSP auf den Frame gesetzt, anstatt dem
Router diese Aufgabe zu überlassen.
Kommt es wegen mangelnder Bandbreite innerhalb eines TCP/IP-Netzwerks zu erhöhten
Kollisionen20 und somit zu einer erhöhten Anzahl von Datenpaketen, die wiederholt vom


20
  Grund für Kollisionen ist es, dass bei dem CSMA/CD-Verfahren (Carreir Sense Muliple Access with Collision
Detection) eine sendwillige Station im Netzwerk horcht, ob Datenpakete übertragen werden. Ist dies nicht der
Fall, so fängt sie an, ihre Daten auf das Netzwerk zu geben. Tut dies gleichzeitig eine andere Station, kommt es
zu einer Kollision, die zu einer Verwerfung der zu übertragenen Daten und zu einem Abbruch der Übertragung
führt, sowie zu einer weiteren Verzögerung, bis die Stationen erneut versuchen, ihr Daten zu übertragen.
2. VoIP (IP-Telefonie)                                                                      17

Sender zum Empfänger übertragen werden müssen, so wird die gesammte Verzögerungszeit
rasant anwachsen.
Die einfachste Art, für ausreichende Bandbreite zu sorgen, ist die Überdimensionierung des
Netzes. Sie ist heute kurzfristig durchaus einsetzbar, in der Zukunft bei immer höher
werdenden Zugangsdatenraten und bei der hohen Konkurenzsituation zwischen den
Betreibern allerdings teuer.
Weiter Grund für die Verzögerung der Datenübertragung ist das Queuing. Wenn Pakete
wegen Datenstau an einer ausgehenden Schnittstelle in eine Queue (Warteschlange) gesetzt
werden, resultiert daraus eine Queuing-Verzögerung. Die Queuing-Verzögerung tritt auf,
wenn mehr Pakete ausgesendet werden, als die Schnittstelle in einem bestimmten Zeitraum
verarbeiten kann. Dagegen werden Bandbreitenreservierungen und Verkehrspriorisierungen
eingesetzt.
Um eine Bandbreite reservieren zu können, benötigt man eine Einteilung des Verkehrs in
verschiedene Qualitätsklassen. Dazu dienen Protokollfelder von TCP/IP wie das Type-of-
Service-Feld im IPv4-Header bzw. das Trafic-Class-Feld im IPv6-Header. Abbildung 9 zeigt
das Type-of-Service (TOS)-Feld von IPv4.


                                                       Precedence: Rangordnung
                                                       D: Deley, Verzögerung
                                                          Normal (0), Low (1)
                                                       T: Throughput,
                                                          Datenübertragungsbandbreite,
                                                          Normal (0), High (1)
                                                       R: Reability, Zuverlässigkeit
                                                          Normal (0), High (1)
                                                       C: Cost, Kosten
                                                          Normal (0), Minimale Kosten (1)

          Abbildung 9: Type of Servise des IP-Headers des RFC 791 (IPv4) [16]

Der Precedence-Bereich erlaubt es Routern in Zeiten großen Datenaufkommens, diejenigen
Daten herauszufiltern und als erste weiterzutransportieren, die den höchsten Rang oder die
höchste Priorität haben. Der Bereich Type of Service beschreibt die Eigenschaft der
gewünschten Datenübertragung.
Es ist auch notwendig verschiedene Prioritätsklassen in Routern zu realisieren, dafür besitzen
moderne Router hardwaremäßig eine bestimmte Anzahl von Warteschlangen (Queues).
2. VoIP (IP-Telefonie)                                                                                     18

Außerdem erfolgt die Steuerung der einzelnen Warteschlangen über einen Mechanismus, der
entscheidet, welche Pakete welcher Warteschlangen für die Einhaltung der QoS-
Anforderungen als Nächstes nach einer festgelegten Regel gesendet werden (Scheduling).
Man muss Scheduling-Methoden einsetzen, die den Spachverkehr bevorzugen. Dazu gehört
LLQ21, die von vielen genutzt wird, die VoIP-Netzwerke in Umgebungen mit geringen
Bandbreiten einsetzen (weniger als 768 Kbps).

2.4.3 Jitter
Einfach ausgedrückt ist Jitter die Zeitschwankung zwischen der Ankunft einzelner Pakete.
Jitter tritt nur in paketbasierten Netzwerken auf. In einer Paket-Sprach-Umgebung wird
erwartet, dass der Sender die Sprachpakete zuverlässig in einem regelmäßigen Intervall
überträgt (z.B. alle 20 ms ein Frame). Diese Sprachpakete können verzögert werden und nicht
im selben regelmäßigen Intervall an der empfangenden Station ankommen. Der Unterschied
zwischen dem Zeitpunkt, wann das Paket erwartet und dem Zeitpunkt, zu dem es wirklich
empfangen wird, ist Jitter. [16]
Daher wird ein Jitter-Puffer benötigt, der diese dynamische Paketverzögerung verschleiert.




              Abbildung 10: Delay und Jitter im paketbasierten Netzwerk [15]


Viele Hersteller haben sich für den Einsatz von statischen Jitter entschieden, im Gegensatz zu
Cisco. In der Cisco IOS22-Software werden RTP-Zeitstempel verwendet, um zu bestimmen,
wie groß der Jitter innerhalb des Netzwerks ist. Der Jitter-Puffer von Cisco wächst oder




21
   LLQ: Low Latency Queuing, dieser Queuing-Mechanismus wurde entwickelt, um Sprachverkehr absolute
Priorität vor jedem anderen Verkehr auf einer Schnittstelle einzuräumen.
22
   IOS: Internetwork Operating System ist das Betriebssystem von Cisco-Routern und Switches. Dieses wird
beim Einschalten des Gerätes aus dem nichflüchtigen Flash-Speicher in den Hautspeicher geladen und stellt die
grundlegenden Funktionen des Routing und/oder Switching zur Verfügung.
2. VoIP (IP-Telefonie)                                                                  19

schrumpft dynamisch, je nach Verzögerungsvarianz der letzten empfangenen Paketen und ist
somit ein dynamischer Jitter-Puffer.

2.4.4 Echo
Unter Echo versteht man das zeitversetzte Hören seiner eigenen Stimme durch Verzögerung
auf der Übertragungsleitung und Rückkopplung beim Empfänger. Alle heutigen
Sprachdienste reflektieren einen gewissen Anteil des Signals zurück zum Sender.
Man kann drei Arten von Echo unterscheiden:
   •   Das elektrische Echo stammt aus einer Fehlanpassung der Impedanzen beim Übergang
       vom vieradrigen Netzwerk-Switch auf die Zweiadrige lokale Schleife (wie in
       Abbildung 11 gezeigt). Eine Impedanzanpassung ist wegen der unbekannten
       Impedanz der Zweidrahtleitung nicht möglich.
   •   Das akustische Echo stammt aus der akustischen Rückkopplung zwischen
       Lautsprecher und Mikrofon.
   •   Das einzige erwünschte Echo ist der so genannte „Sidetone“, der das Hören der
       eigenen Sprache im Lautsprecher des Telefons mit geringer Verzögerung
       bezeichnet.[18]




        Abbildung 11: Durch nicht abgestimmte Impedanzen erzeugtes Echo [16]


Das Echo beeinflusst ganz wesentlich die Sprachqualität, wobei diese negative Beeinflussung
von der Verzögerung im Hin und Rückrichtung und dem Amplitudenunterschied zwischen
dem Ursprungs- und Echosignal ab. Dieser Amplitudenunterschied wird durch den Faktor
TELR (Talker Echo Loudness Rating) in der ITU G.122 beschrieben.
Maßnahmen zur Echokompensation sind ab einer Echo-Verzögerung von 20 – 30 ms
unausweichlich; eine billige Variante zur Echokompensation sind Echounterdrücker (Echo
Supressors), die eine hohe Dämpfung in den Sendepfad einschalten, wenn der andere
Teilnehmer spricht. Diese Methode wird vor allem in billigen Endgeräten bei
2. VoIP (IP-Telefonie)                                                                    20

Freisprecheinrichtungen angewendet und hat den Nachteil einer Sprachunterdrückung, wenn
beide Teilnehmer gleichzeitig sprechen.
In der öffentlichen Telefonie werden Echosperren (Echo Cancellers) eingesetzt, die viel
komplexer als Echounterdrücker sind, Echosperren schätzen den Echoanteil des Empfängers
im Retoureweg zum Sender und subtrahieren diesen Anteil vom tatsächlichen Signal. Dazu
wird ein mathematisches Model zusammen mit dem Ursprungssignal dazu verwendet, das
Echo abzuschätzen. Moderne Echosperren können sich an das Signal und die Empfänger-
Eigenschaften anpassen und werden mit digitalen Signalprozessoren (DSP’s) realisiert.
Grundsätzlich sind Echosperren adaptive digitale Filter (FIR: Finite Impulse Response). Beim
Beginn eines Gesprächs benötigt der Echokompensierer eine gewisse Zeit, um sich optimal
einzustellen. Für eine Echofreie Verbindung in beide Richtungen ist eine Echosperre an
beiden Enden notwendig.

2.4.5 Paketverluste (Packet Loss)
Verluste von Sprachpaketen sind in TCP/IP-Netzen keine Besonderheiten und haben zwei
Ursachen:
Die erste Ursache sind Verstopfungen im Netz, die zu einem hohen Füllgrad der
Warteschlangen in den Routern und damit zu einem Verwurf von Paketen führen. Bei der
Verwendung von TCP führ ein Paketverlust zu einer Wiederholung der Übertragung. Bei der
Übertragung der Sprache über TCP/IP würde eine wiederholte Übertragung nichts nützen, da
nur ein kleines Zeitfenster zu Rekonstruktion der Sprachinformation zu Verfügung steht und
daher UDP ohne Übertragungssicherheit verwendet wird. Um Paketverluste zu vermeiden,
sind Mechanismen wie beispielsweise DiffServe für den hochprioren Sprachverkehr
erforderlich, die einen garantierten Durchsatz bei minimalen Paketverlusten für priorisierten
Verkehr ermöglichen.
Die zweite Ursache für den Verlust von Sprachpaketen sind hohe Verzögerungen, wodurch
die Pakete außerhalb des Jittebufferbereichs verzögert eintreffen und daher verworfen werden.
Eine Verbesserung kann durch einen genügend großen Jitterbuffer erzielt werden, was
allerdings die Gesamtverzögerung vergrößert. [18]
Verluste, die 5 – 10 Prozent aller Sprachpakete überschreiten, können die Sprachqualität
signifikant verschlechtern wie folgende Abbildung 12 zeigt, dabei ist MOS (Mean Opinion
Score) eine Größe zur Bewertung der Sprachqualität (1: Schlecht bis 5: exzellent), (siehe
Kapitel 2.5.3).
2. VoIP (IP-Telefonie)                                                                    21



            5


            4
      MOS




            3


            2


            1
                1   3     5       7          9   11     13      15      17     19
                                 Verlust von Sprachdaten [%]


     Abbildung 12: Verschlechterung der Sprachqualität durch Paketverluste [18]


Wie aus der Abbildung ersichtlich ist, führen schon geringe Paketverlustraten kleiner 5
Prozent zu Qualitätseinbußen. Daher ist ein geringer Paketverlust kleiner 2 Prozent
anzustreben.
Für die Erkennung von verloren gegangenen Paketen verwenden die Gateways die
Sequenznummer im RTP-Headers. Die verlorenen Sprachpakete können zur Verbesserung
der Sprachqualität rekonstruiert oder versteckt werden (Packet Loss Concealment – PLC).
Die einfachste PLC-Methode ist die Stummschaltung (Silence Substitution) für Verlustraten
unter 1 Prozent, indem bei Paketverlust einfach stumm geschaltet wird. Eine bessere,
ebenfalls einfache Methode ist die Wiederholung des letzten Pakets (Packet Repetition), bei
der bei Paketverlust das letzte korrekt empfangene Sprachpaket wiedergegeben wird. Auch
dieses häufig verwendete Verfahren ist nur bei geringeren Paketverlusten anwendbar.
Bei höheren Paketverlusten sind ausgeklügeltere Maßnahmen notwendig: Eine Möglichkeit
ist die Paketinterpolation (Packet Interleaving), die die verlorenen Sprachpakete durch ein
synthetisches Sprachmodell abschätzt. [18]

2.4.6 Sprach-Aktivitäts-Entdeckung (Voice Activity Detection)

Bei normalen Gesprächen spricht eine Person und die andere hört zu. Die heutigen
gebührenpflichtigen Netzwerke enthalten einen bidirektionalen Kanal mit 64000 Bit pro
Sekunde (Bps), ganz gleich, ob irgendjemand spricht. Das bedeutet, dass bei einem normalen
Gespräch etwa 50 Prozent der gesamten Bandbreite verschwendet wird. Die Menge der
2. VoIP (IP-Telefonie)                                                                   22

verschwendeten Bandbreite kann in Wahrheit noch viel höher sein, wie sich herausstellt,
wenn Sie eine statistische Aufzeichnung der Unterbrechungen und Pausen im normalen
Sprachmuster einer Person vornehmen.
Beim Einsatz des VoIP man diese „verschwendete“ Bandbreite für andere Zwecke nutzen,
wenn die Sprach-Aktivitäts-Entdeckung (VAD: Voice-Activity-Detection) aktiviert ist. Wie
in Abbildung 13 gezeigt, funktioniert VAD durch eine Messung der Sprachstärke in Dezibel
(dB) und durch die Entscheidung, wann die Sprache nicht mehr in Frames eingebunden wird.




                       Abbildung 13: Sprach-Aktivitäts-Entdeckung [16]
Wenn die VAD einen Abfall der Sprachamplitude bemerkt, wartet sie gewöhnlich eine
bestimmte Zeitdauer, bevor sie aufhört, die Sprachframes in Pakete zu verpacken. Diese feste
Zeitdauer wird als Überhang {Hangover) bezeichnet und beträgt in der Regel 200 ms.
Bei jeder Technologie treten Nachteile auf. VAD erfährt bestimmte innere Probleme bei der
Bestimmung, wann Sprache endet bzw. beginnt und bei der Unterscheidung zwischen
Sprache und Hintergrundrauschen. Wenn sich ein Gesprächsteilnehmer also in einem Raum
voller Geräusche befindet, kann VAD nicht zwischen Sprache und Hintergrundrauschen
unterscheiden. Dies wird auch als Signal/Rausch-Grenzwert (Signal-to-Noise Threshold;
siehe 13) bezeichnet. In diesen Szenarien deaktiviert sich die VAD zu Beginn des Anrufs
selbständig.

Ein weiteres Problem der VAD ist die Erkennung, wann die Sprache einsetzt. Gewöhnlich
wird der Beginn eines Satzes abgeschnitten. Dieses Phänomen wird als Front-End-Speech-
Clipping bezeichnet. Normalerweise bemerkt die zuhörende Person das Front-End-Speech-
Clipping nicht. [16]

2.5 Codecs
2. VoIP (IP-Telefonie)                                                                                 23

In Kapitel 2.1 wurde schon darauf hingewiesen, dass bevor ein Telefongespräch über das
Internet geführt werden kann, muss das analoge Audiosignal in ein digitales Signal
umgewandelt werden.
Dieser Prozess, sinnigerweise „Digitalisierung“ genannt, unterteilt sich in drei Schritte:
Abtastung (oder auch Sampling), Quantisierung und Kodierung.
Beim Sampling wird das analoge Signal in einer bestimmten Frequenz über die Zeit
abgetastet und nur die zu diesen diskreten Zeitpunkten gemessenen Werte werden weiter
berücksichtigt, alle anderen verworfen. Somit haben wir eine endliche Anzahl von Werten,
die aber immer noch potentiell beliebig genau sein können. Dieses Problem wird durch den
zweiten Schritt, die Quantisierung, gelöst. Die beliebig genauen Werte werden schlicht auf
den nächsten diskreten Wert gerundet, die so genannten Quantisierungsintervalle. Bei diesem
Runden entstehen natürlich Fehler, da nicht der exakte, sondern nur der gerundete Wert
abgespeichert wird. Sind zu wenig Quantisierungsintervalle vorhanden, kann dieser Fehler zu
hörbaren         Qualitätseinbußen        führen.     Man       nennt       diesen   Effekt   daher   auch
Quantisierungsrauschen oder Quantisierungsfehler.
Unter Kodierung versteht man ganz einfach die Beschreibung der Quantisierungsintervalle
durch bestimmte binäre Codewörter. Dies schließt den Prozess analog-digital-Wandlung ab
und wir haben nun ein rein digitales Signal vorliegen. Das Wiederherstellen der analogen
Signale aus den digitalen wird als Dekodierung bezeichnet.
Ein Codec (Coder/Decoder) ist ein Algorithmus, der die Aufgabe der Kodierung und
Dekodierung erfüllt. Die Abkürzung Codec steht aber auch für (Compressor/Decompressor).




                 Abbildung 14: Sprachkodierung für die Internetübtragung23 [27]
Da oft nur eine geringe Bandbreite zur Verfügung steht, ist auch eine entsprechende
Komprimierung des Signals notwendig. Dabei wird eine möglichst hohe Sprachqualität bei

23
     De-Jitter-Buffer zur Paketverzögerungsverschleierung (Kapitel 2.4.3)
2. VoIP (IP-Telefonie)                                                                   24

einer möglichst niedrigen Datenrate angestrebt. Wählt man dabei ein Kodierverfahren mit
niedriger Bitrate und hoher Kompression, so ist beim Kodieren und Dekodieren viel
Rechenleistung notwendig. Steht diese nicht zur Verfügung, so muss zwangsläufig ein
Verfahren verwendet werden, bei dem die Bitrate höher ist.
Das Sprachsignal wird beim Sender kodiert, über das Internet übertragen und beim
Empfänger dekodiert, also für die Wiedergabe in ein analoges Signal umgewandelt. Die
wichtigste Forderung an das verwendete Kodierungsverfahren ist: das Signal muss in
Echtzeit, das heißt mit minimaler Verzögerung, kodierbar und dekodierbar sein.
Taugliche Verfahren lassen sich in den im kommenden Kapitel folgenden Hauptgruppen
einteilen.




             Abbildung 15: Sampling und 8-Bit-Kodierung eines Analogsignals [15]

2.5.1 Kodierungsverfahren
        •     Signalformkodierung

    Dabei wird das Analogsignal mit einer geeigneten Quantisierung, um die Originalform
    des Signals möglichst fehlerfrei zu reproduzieren. Die einfachste und am weitesten
    verbreitete Möglichkeit zur Realisierung dieses Verfahrens ist die Pulse Code Modulation
    (PCM).
    Das Nyquist-Theorem besagt, dass bei einer Aufnahme eines analogen Signals mit der
    doppelten Rate der höchsten noch interessanten Frequenz dieses Signals aus der
    Aufnahme heraus wieder genau in seiner analogen Form rekonstruiert werden kann. Da
    der meiste Sprachinhalt unter 4000 Hz liegt, ist eine Aufzeichnungsrate von        8000
    Aufnahmen pro Sekunde (125 ms zwischen den Aufnahmen) erforderlich.
2. VoIP (IP-Telefonie)                                                                  25

   PCM benutzt diese Abtastrate und eine 7- oder 8-Bit-Quantisierung. Das Ergebnis ergibt
   eine Datenrate von 56 Kbit/s (7Bits/Abtastung * 8 kHz) oder 64 Kbit/s (8Bits/Abtastung *
   8 kHz). Bei PCM wird auf eine Komprimierung der Daten verzichtet, wodurch man auf
   breitbandige Übertragunswege angewiesen ist. Allgemein werden zwei grundlegende
   Varianten der PCM verwendet: µ-law (Nordamerika) und a-law (Europa). Diese
   Methoden erzielen eine Komprimierung durch eine            logarithmische Einteilung der
   Quantisierungsintervalle.
   Eine andere häufig verwendete Möglichkeit der Signalkodierung ist die Differential Puls
   Code Modulation (DPCM). Im Unterschied zur PCM werden bei DPCM nicht die
   Amplituden der Sprachsignale kodiert, sondern die Unterschiede der Amplitude. Bei den
   Differenzen der Amplituden ist der Wertebereich naturgemäß kleiner, was zu weniger
   Datenaufkommen gegenüber der Standard-PCM führt. Nachteil dieses Verfahrens ist, dass
   bei       schnellen Signalschwankungen schwerwiegende Quantisierungsfehler auftreten
   können. Durch anpassen der Schrittgröße des Quantisierers erreicht man eine
   Verbesserung der Sprachqualität, und dies ist das Prinzip der Adaptive Differential Puls
   Code Modulation (ADPCM).

         •   Quellenkodierung (Analyse-Synthese-Verfahren)

   Quellenkodierer werden auch als Vocoder bezeichnet. Sie Versuchen das Eingangssignal
   durch Generierung eines künstlichen Signals in der Form zu reproduzieren, dass es sich
   dem Eingangssignal annähert. Dabei werden nur die Parameter eines Sprachmodels
   übertragen, somit sind die Datenraten extrem niedrig.
   Die leistungsfähigsten Vocoder sind die LPC-Vocoder (Linear Predictive Coding), sie
   arbeiten im Allgemeinen mit Bandbreiten von 2,4 Kbit/s.
   Quellenkodierer haben den niedrigsten Bandbreitenbedarf, werden in der IP-Telefonie
   jedoch nicht eingesetzt, da sie eine künstlich klingende Sprache erzeugen.

         •   Hybride Verfahren

   Stellen eine Mischung aus den beiden oben genannten Verfahren dar und vereinen die
   Vorteile von Signalform- und Quellenkodierern.
   Die bekanntesten Methoden der hybriden Verfahren sind die CELP-Kodierung (Code
   Excitation Linear Predictive Coding), die ACELP (Algebraic Code Excitation Linear
   Predictive Coding), die auf kurze Verzögerungszeiten (<5 ms) optimierte LD-CELP
   (Low Delay Code Excitation Linear Predictive Coding), die CS-CELP (Conjugate
2. VoIP (IP-Telefonie)                                                                                      26

       Structure Code Excitation Linear Predictive Coding) und die MPMLQ (Multiple
       Maximum Likelihood Quantization).
       Die Bandbreiten erreichen zwischen 5,3 und 16 Kbit/s, die erzeugten Sprachqualitäten
       liegen zwischen „akzeptabel“ und „sehr gut“.



2.5.2 Sprachdaten-Komprimierung

Die Komprimierung (Reduktion der Datenmenge) der kodierten Daten ist unumgänglich, um
eine vertretbare Übertragungszeit oder gar Streaming24 sicherzustellen.
Man unterscheidet Grundsätzlich zwei Arten der Audiokomprimierung: Die verlustfreie
Komprimierung und die verlustbehaftete Komprimierung.


           Verlustfreie Komprimierung: Bei dieser Komprimierungsart ist das Ursprungssignal
           auch nach der Komprimierung noch eindeutig widerherstellbar und es treten keinerlei
           qualitätsmindernde Effekte auf. Das Grundprinzip der verlustfreien Komprimierung ist
           die Differenzkodierung mit linearer Prediktion. Differenzkodierung wurde schon in
           Kapitel 2.5.1 erläutert. Unter Prediktion versteht man das Nutzen des Wissens über
           das bereits kodierten Signals zur Vorhersage des Folgesignals. Auch hier speichert
           man nur die Differenz zwischen dem Signal und seiner Vorhersage. Wendet man nun
           noch eine Hufmann-Kodierung25 an, kann man auf diese Weise eine Kompressionsrate
           von immerhin 1:2 erreichen. Auch wenn diese Datenreduktion bereits beachtlich ist,
           reicht sie jedoch nicht aus um eine effiziente Übertragung über das Internet zu
           ermöglichen.


           Verlustbehaftete Komprimierung: Bei dieser Methode verringert man die Qualität
           gezielt, um sehr hohe Kompressionsraten zu erreichen. Das Grundprinzip: Nicht oder
           kaum wahrnehmbare Anteile der Audiodaten müssen nicht mitkodiert werden. Wie
           bereits eher erwähnt hat das menschliche Gehör einen Wahrnehmungsbereich von ca.
           20 bis 22 kHz. Das heißt, Signale die außerhalb dieses Bereiches liegen, müssen gar
           nicht    erst   mitkodiert     werden.     Aber     auch    Signale,     die      innerhalb   dieses
           Frequenzbereiches        liegen    können     unter    Umständen        vom       Menschen     nicht
           wahrgenommen werden. Ein solches Phänomen ist die so genannte „Verdeckung“.


24
     Streaming: Echtzeitübertragung (man hört, während man gleichzeitig noch herunterlädt)
25
     Häufig vorkommende Kodewörter werden kürzer kodiert als selten vorkommende
2. VoIP (IP-Telefonie)                                                                    27

       Allgemein versteht man unter Verdeckung die Überlagerung eines leisen Signals
       durch ein lautes Signal, so dass das leise Signal nicht mehr wahrnehmbar ist (man sagt
       auch, das Signal liegt unter der so genannten Verdeckungsschwelle).




                            Abbildung 16: Signalverdeckung



2.5.3 Standards der Sprachkodierung
Im diesem Unterkapitel werden die populärsten VoIP-Kodierungsstandards erläutert und kurz
beschrieben (nach [16]).


       –   G.711 – Beschreibt die bereits angesprochene PCM-Sprachkodierungstechnik. Die
           G.711-kodierte Sprache ist bereits in der korrekten Form für die digitale
           Sprachübertagung im öffentlichen Telefonnetzwerk oder durch Private Branch
           Exchanges (PBX’s)


       –   G.726 – ADPCM-Kodierung mit 40, 32, 24 und 16 Kbps. Der Austausch der
           ADPCM-Sprache ist auch zwischen Paket-Sprach- und öffentlichen Telefon- oder
           PBX-Netzwerken unter der Voraussetzung möglich, dass Letztere über ADPCM-
           Fähigkeiten verfügen.


       –   G.728 – Beschreibt eine 16 Kbps-Variante der CELP-Sprachkomprimierung mit
           geringer Verzögerung.


       –   G.729 – Beschreibt die CELP-Komprimierung, mit der Sprache in 8 Kbps-
           Strömen kodiert werden kann. Zwei Varianten dieser Standards (G.729 und
2. VoIP (IP-Telefonie)                                                                   28

           G.729a) unterscheiden sich stark in Hinsicht auf die Komplexität der Berechnung
           und beide ermöglichen im Allgemeinen Sprachqualitäten, die mit der 32 Kbps-
           ADPCM vergleichbar sind.


       –   G.723.1 – Beschreibt eine Komprimierungstechnik, mit der Sprache mit einer
           geringen Bitrate komprimieren werden kann. Zwei Bitraten sind mit dieser
           Kodierung verbunden: 5,3 und 6,3 Kbps. Die höhere Bitrate basiert auf der MP-
           MLQ-Technologie und bietet eine bessere Qualität, Die geringere Bitrate basiert
           auf CELP, sie bietet gute Qualität und verleiht Systemdesignern zusätzliche
           Flexibilität.

2.5.4 Qualität der Codecs

Die Qualität der Codecs lässt sich nach den folgenden Qualitätsmerkmalen beurteilen.

       •   Datenrate

   Die Datenrate ist ein wichtiges Qualitätsmerkmal, da eine Leitung nur eine begrenzte
   Bandbreite besitzt und bei einer geringen Datenrate entsprechend mehr Kapazität anderen
   Teilnehmern oder Anwendungen zur Verfügung steht.

       •   Sprachqualität

   Ein Maß für die Sprachqualität wurde als Mean Opinion Score (MOS) definiert. Er
   beschreibt das statische Empfinden der Sprachqualität eines Benutzers als Zahlenwert
   (von 1: Schlecht bis 5: exzellent).
   Die Sprachqualität soll möglichst verständlich und natürlich klingen, sodass der Sprecher
   nicht nur verstanden, sondern auch anhand der Stimme identifiziert werden kann.

       •   Verzögerung

   Das Dekodieren und Enkodieren ist je nach Verfahren mehr oder weniger aufwändig.
   Entsprechend wird Zeit zum Dekodieren und Enkodieren benötigt, wobei eine
   wahrnehmbare Verzögerung beim Telefonieren nicht akzeptabel ist. Insgesamt dürfen
   nicht mehr als 150 ms inklusive Transport benötigt werden.[18]
   Je aufwändiger ein Codec ist, desto länger dauern Encodieren wie auch Decodieren, und
   desto größer ist die Verzögerung. Es gibt auch einen Zusammenhang mit der Datenrate. Je
2. VoIP (IP-Telefonie)                                                                           29

       stärker ein Signal komprimiert wurde, desto kleiner ist das Datenaufkommen und somit
       die Datenrate.

           •   Komplexität des Verfahrens

       Das Verfahren darf nicht so komplex sein, dass der Aufwand, der betreiben werden muss,
       um einen Codec zu implementieren, die Grenze des Wirtschaftlichen übersteigt.
       Normalerweise ist dies kein Hindernis, das Hardware nicht teuer ist und ständig durch
       billigere und leistungsfähigere Nachfolger abgelöst wird.[18]


       In der Praxis gibt es keinen idealen Codec, der all diesen Erfordernissen am besten gerecht
       wird. Jeder Codec hat seine Vor- und Nachteile, so dass man nur den optimalen
       auswählen kann.




            Codec              Nutzdatenrate Verzögerung Prozessorlast MOS
                                  (Kbps)         ms         MIPS26
 G.711 (PCM)                             64           0,125                  0             4,1
 G.726 (ADPCM)                           32           0,125                6,5            3,85
 G.728 (LD-CELP)                         15              2                 37,5           3,61
 G.729 (CS-ACELP)                        8              20                  34            3,92
 G.729a (CS-ACELP)                       8              20                  17             3,7
 G.723.1 (MP-MLQ)                       6,3             70                  25             3,9
 G.723.1 (ACELP)                        5,3             70                  25            3,65


      Tabelle 2: Vergleich von Qualität und Komplexität verschiedener ITU-Codecs [18]




26
     MIPS: Million Instructions per Second
2. VoIP (IP-Telefonie)                                                                    30


2.6 H.323-Standard

Der H.323 Standart (Packet Based Multimedia Communications Systems) ist eine
Rahmenempfehlung der ITU-T27 von 1996 bzw. 1998 (Rev. 2) welche auf ca. 50 Standards
verweist. Diese legen die technischen Voraussetzungen für die multimediale Kommunikation
über nonguaranteed QoS-Netzwerke fest. Wobei besonders auf Beschreibung der
Komponenten,            Verarbeitung       der      Medienströme   (Audio,   Video,   Daten),
Verbindungsmanagment und Interworking verschiedener Netzwerke eingegangen wird.



2.6.1 Architektur
H.323 beschreibt die Architektur und die Funktionen von einzelnen Systemkomponenten für
die Übermittlung von Audio und Video in IP-Netzen. Die Summe aller Elemente (H.323
Entities) in einem Netzwerk wird als H.323 Netzwerk bezeichnet.
H.323 unterscheidet zwischen folgenden Komponenten


Terminal

Ein H.323 Terminal ist ein Endgerät, mit dem eine bidirektionale Echtzeitkommunikation mit
anderen Terminals bzw. Gateways oder einer MCU möglich ist.


Gateway

Wie Terminals, so sind auch Gateways Endgeräte in einem H.323 Netzwerk. Gateways
ermöglichen die Verbindung eines H.323 Netzwerks zu anderen Netzwerken, wie z. B. dem
SCN.


MCU (Multipoint Controler)

Eine MCU ermöglicht den Aufbau einer Konferenzschaltung (Multipoint-Konferenz)
zwischen mehreren Endgeräten.


Gatekeeper

Als zentrale Stelle in einem H.323 Netzwerk übernimmt der Gatekeeper verschiedene
Kontroll- und Verwaltungsaufgaben für alle registrierten Endgeräte. Eine Gruppe von
Terminals, die von einem Gatekeeper kontrolliert wird, bildet eine H.323-Zone (kurz Zone).

27
     ITU-T: Telecommunication Standardization Sector of ITU
2. VoIP (IP-Telefonie)                                                                    31




                           Abbildung 17: H.323-Komponenten

2.6.2 H.323-Protokollsuite
Die H.323-Protokollsuite basiert auf mehreren Protokollen, die in Abbildung 18 gezeigt sind.
Die Protokollfamilie unterstützt Erlaubnis, Aufbau, Zustand, Trennung, Medienströme und
Meldungen vom Anrufen in H.323-Systemen.




                         Abbildung 18: H.323-Protokollhierarchie

2.6.2.1 RAS-(Registration Admission Status) Signalisierung

Es handelt sich hier um die Steuerung, die zwischen Terminals und Gatekeeper abläuft. Der
Gatekeeper stellt quasi eine Zentrale innerhalb einer H.323-Zone dar. Ein Terminal kann nur
2. VoIP (IP-Telefonie)                                                                  32

dann eine Verbindung initiieren, wenn es beim Gatekeeper bereits registriert ist. Beim
Verbindungsaufbau muss jedes Terminal jede neue Verbindung beim Gatekeeper anmelden,
falls keine sog. pre-granted Admission, also eine „Vorausbewilligung“ vorliegt. Damit wird
auch die benötigte Bandbreite beim Gatekeeper angemeldet.
Dafür wird ein RAS-Kanal zwischen Endpunkten und dem Gatekeeper über ein IP-Netzwerk
eingerichtet. Diese unzuverlässige UDP-Verbindung überträgt die RAS-Meldungen, die die
Registrierungs-, Erlaubnis-, Bandbreitenänderungs- und Zustandsprozeduren ausführen.

Gatekeeper-Entdeckung

Innerhalb einer Zone können mehrere Gatekeeper eingesetzt werden, um die Ausfallsicherheit
zu erhöhen. Jeder Endpunkt einer Zone wird von einem Gatekeeper dieser Zone verwaltet.
Somit muss jeder neue Endpunkt bei einem Gatekeeper registriert werden. Hierfür muss
zuerst ermittelt werden, welcher Gatekeeper für die Verwaltung des neuen Endpunktes
zuständig ist. Jeder neue Endpunkt muss somit seinen Gatekeeper entdecken (auffinden).
Abbildung 19 illustriert die Gatekeeper-Entdeckung.
Um den Gatekeeper zu entdecken, sendet ein Endpunkt eine Multicast-Nachricht
GatekeeperRequest (GRQ). Ein oder mehrere Gatekeeper können mit einer Nachricht
GatekeeperConfirmation (GCF) antworten, in der sie dem Endpunkt ihre Bereitschaft
signalisieren, als dessen Gatekeeper zu fungieren. Falls mehrere Gatekeeper auf die Anfrage
antworten, steht es dem Endpunkt frei, für welchen er sich entscheidet. Der Gatekeeper, der
für den Endpunkt nicht zuständig ist, antwortet mit GatekeeperReject (GRJ).




            Abbildung 19: Endeckung des zuständigen Gatekeeper (GK) [1]

Registrierung

Die Registrierung beim Gatekeeper ist der Prozess, während dessen Ablauf ein neuer
Endpunkt    einer   Zone   den    Gatekeeper   über   seine   Adresse    für   Audio-   und
Videokommunikation informiert. Sie wird bei H.323 als Alias-Adresse bezeichnet.
Da jedes IP-Telefon über eine Telefonnummer bzw. eine Alias-Adresse, in der Form
2. VoIP (IP-Telefonie)                                                                 33

Tel-Nr@xyz.de, verfügen muss, handelt es sich hierbei um die Bekanntgabe seiner Alias-
Adresse.
Abbildung 20 illustriert die Registrierung. Ein Endpunkt sendet eine Nachricht
RegistrationRequest (RRQ) zum Gatekeeper mit der Angabe seiner Alias-Adresse. Der
Gatekeeper muss bei der Registrierung die Alias-Adresse des Endpunktes zu seiner IP-
Adresse zuordnen und dies in einer speziellen Tabelle mit den Zuordnungen Alias-Adresse
=> IPAdresse eintragen.
Der Gatekeeper kann entweder mit RegistrationConfirm (RCF) die Registrierung annehmen
oder mit RegistrationReject (RRJ) die Registrierung ablehnen. Wie Abbildung 20 zeigt, kann
sich ein Endpunkt beim Gatekeeper durch das Absenden von UnregistrationRequest (URQ)
deregistrieren (abmelden). Der Gatekeeper kann die Deregistrierung entweder mit
UnregistrationConfirm (UCF) bestätigen oder mit UnregistrationReject (URJ) ablehnen.




           Abbildung 20: Ablauf: a) der Registrierung, b) der Deregistrierung [1]

Lokalisierung der Endpunkte

Eine Aufgabe jedes Gatekeepers besteht in der Verwaltung einer Tabelle mit der Zuordnung
Alias-Adresse => IP-Adresse. Die Abfrage der IPAdresse eines Endpunktes wird bei H.225.0
als Location-Prozess bezeichnet. Abbildung 21 veranschaulicht die Bedeutung dieses
Prozesses.
Hier fragt der Endpunkt A seinen Gatekeeper GK1 nach der IP-Adresse des Endpunktes B,
d.h. seines Kommunikationspartners, bereits bei der Anmeldung der zu initiierenden
Verbindung mit der Nachricht ARQ ab.
Befindet sich der Endpunkt B aber in einer anderen (H.323-)Zone, so muss GK1 die IP-
Adresse des Endpunktes B vom Gatekeeper dieser Zone abfragen. Hierfür definiert H.225.0
entsprechende Nachrichten.
Wie Abbildung 21 zeigt, sendet der GK1 der Zone 1 an den GK2 der fremden Zone 2 die
Nachricht LocationRequest (LRQ), in der er die Alias-Adresse des Endpunktes B angibt und
nach seiner IP-Adresse fragt. Der GK2 antwortet normalerweise mit LocationConfirm (LCF),
2. VoIP (IP-Telefonie)                                                                   34

in der die gewünschte IPAdresse enthalten ist. Falls der GK2 die gewünschte IP-Adresse nicht
liefern kann, antwortet er mit LocationReject (LRJ).




                   Abbildung 21: Verlauf eines Location-Prozesses [1]

Zulassung von Verbindungen

Jeder   Endpunkt    darf   nur   dann   eine   abgehende   Verbindung   für   Audio-   bzw.
Videokommunikation initiieren bzw. eine ankommende Verbindung annehmen, wenn dies
vom Gatekeeper zugelassen wurde (Admission). Damit kann der Verbrauch der
Übertragungskapazität (Bandbreite) im IP-Netz vom Gatekeeper kontrolliert werden. Nach
dem Ablauf der Kommunikation muss eine abgebaute Verbindung beim Gatekeeper
abgemeldet werden, sodass er die reservierte Bandbreite für andere Verbindungen freigeben
kann. Abbildung 22 zeigt die Zulassung (Admission) einer Verbindung für Audio- bzw.
Videokommunikation und Freigabe         der reservierten Bandbreite (Disengage) nach dem
Abbau der Verbindung.




                 Abbildung 22: Funktionen Admission und Disengage [1]
2. VoIP (IP-Telefonie)                                                                                     35


2.6.2.2 Anruf-Kontroll-Signalisierung (H.225)

Um eine Verbindung zwischen zwei Endpunkten für die Übermittlung von Echtzeitmedien
(Audio/Sprache, Video) aufbauen zu können, werden zwei Signalisierungsprotokolle H.225.0
und H.245 als H.323-Signalisierung (kurz H.323-SIG) verwendet. H.225.0 definiert ein
Anruf-Signalisierungs-Protokoll (Anruf-SIG-Protokoll), nach dem der H.245-Kanal aufgebaut
und abgebaut wird. Über den H.245-Kanal werden logische RTP- und RTCP-Kanäle für die
Audio/Video-Kommunikation eingerichtet. H.225.0 nutzt einige Nachrichten des D-Kanal-
Protokolls Q.930/Q931 vom ISDN. Bei H.225.0 handelt es sich im Prinzip um eine
Realisierung des D-Kanal-Protokolls über TCP-Verbindungen.

2.6.2.3 Medien-Kontroll-Signalisierung (H.245)

Es handelt sich hier um die Steuerung beim Auf- und Abbau logischer Kanäle für die Audio-
und Video-Übermittlung. Diese logischen Kanäle stellen die RTP-Sitzungen (Real Time
Transport Protocol) dar und entsprechen weitgehend den B-Kanälen im ISDN. Die Steuerung
beim Auf- und Abbau logischer Kanäle wird zwischen jeweils zwei Terminals über den
H.245-Steuerungskanal ausgetauscht. Für die Übermittlung von H.245-Nachrichten wird das
Protokoll TCP verwendet
Die wichtigsten Funktionen von H.245 sind:
        Austausch der Terminal-Fähigkeiten (Capability Exchange),
        Master/Slave-Festlegung28 (Master/Slave Determination),
        Aufbau und Abbau logischer RTP/RTCP-Kanäle für die Übermittlung verschiedener
        Medien (Audio, Video, Daten),

2.6.2.4 Anruf-Signalisierung (Q.931)

Der Q.931 Standard der ITU beinhaltet Prozeduren für den Auf- und Abbau einer Verbindung
im ISDN. Die Signalisierung verläuft dabei über den D-Kanal des ISDN-Anschlusses.
Für die Signalisierung in H.323 wird ebenfalls Q.931 verwendet. Diese Designentscheidung
ist historisch bedingt, da zu Beginn von H.323 versucht wurde, Standards und Protokolle aus
dem ISDN (bzw. von H.320) zu übernehmen.




28
  Mit der Master/Slave-Festlegungsprozedur wird für einen bestimmten Anruf bestimmt, welcher Endpunkt der
Master und welcher der Slave ist. Die Beziehung bleibt für die Dauer des Anrufs bestehen und sie ist zuständig
für die Auflösung von Konflikten zwischen den Endpunkten. Die Master/Slave-Regeln kommen zum Einsatz,
wenn beide Endpunkte zum selben Zeitpunkt ähnliche Aktionen anfordern.
2. VoIP (IP-Telefonie)                                                               36


2.6.2.5 Unterstützung von Datenanwendungen nach T.120

Der ITU-T-Standard T.120 beschreibt die Prinzipien der Datenkommunikation bei den PC-
basierten Videokonferenzen und ist integrierbar in H.323. Parallel zur Sprach- und
Videokommunikation kann zwischen jeweils zwei Terminals auch die Datenkommunikation
nach T.120 stattfinden.

2.6.2.6 Struktur von Anruf-SIG-Nachrichten beim H.225.0

Als Anruf-SIG-Nachrichten beim H.225.0 werden die Q.931-Nachrichten in einer erweiterten
Form verwendet. Abbildung 23 zeigt, wie die Anruf-SIG-Nachrichten strukturiert sind und
wie sie in IP-Paketen übermittelt werden.




            Abbildung 23: H.225.0-Anruf-SIG-Nachrichten in IP-Paketen [1]


Für den H.225.0-Einsatz werden die Q.931-Nachrichten um zusätzliche und H.225.0-
spezifische Angaben erweitert, die man als User-to-User Information Elements (UUIEs)
bezeichnet. UUIEs werden am Ende einer Q.931-Nachricht angehängt. Um die Länge der
erweiterten Q.931-Nachricht, die eine H.225.0-Anruf-SIG-Nachricht darstellt, angeben zu
können, wird der Header des Protokolls TPKT (Transport PacKeT) nach RFC 2126 der
Q.931-Nachricht vorangestellt.
Somit wird ein TPKT-Paket aus einer H.225.0-SIG-Nachricht gebildet und über eine TCP-
Verbindung übermittelt.
2. VoIP (IP-Telefonie)                                                                    37

Jede Q.931-Nachricht enthält immer folgende Angaben:

       Message type als Angabe des Nachrichtentyps (Setup, Alerting, ...).
       Call reference als Identifikation des Anrufes, d.h. auf welchen Anruf sich diese
       Signalisierung bezieht.
       Protocol discriminator als Identifikation des Protokolls Q.931.
       Informationselemente IEs (Information Elements) als Parameter der Nachricht, die oft
       optional sind.


Die folgenden Q.931-Meldungen sind die am häufigsten verwendeten Signalisierungs-
Meldungen in H.323-Netwerken:


Setup: (Einrichtung)        wird von der anrufenden Einheit zur angerufenen gesendet. Mit
                            „Setup“ wird versucht, eine Verbindung einzurichten.
Call-Proceeding:            wird von der angerufenen Einheit zur anrufenden gesendet. Mit
(Anruffortschritt)          Call-Proceeding wird angezeigt, dass die Prozeduren zur
                            Anrufeinrichtung gestartet wurden.
Alerting: (Alarmierung)     wird von der angerufenen Einheit gesendet, um mitzuteilen,
                            dass das Klingeln an der angerufenen Seite gestartet wurde.
Connect: (Verbinden)        wird von der anrufenden Einheit zur angerufenen gesendet, die
                            anzeigt, dass die angerufene Seite den Anruf beantwortete.


Die Q.931-Nachrichten und UUIEs werden mit Hilfe von ASN.1 spezifiziert. ASN.1
(Abstract Syntax Notation No. 1) spezifiziert. ASN.1 dient als Sprache für die Beschreibung
von Nachrichten der Protokolle in den Telekommunikationssystemen.



2.6.3 H.323-Verbindungsablauf
Abbildung 24 stellt ein Beispiel eines Verbindungsablaufes dar, bei dem die H.323-
Protokollfamilie die Einrichtung eines Anrufs zwischen zwei Endpunkten erreicht. Wir gehen
davon aus, dass es sich um einen Sprachanruf handelt und dass beide Endpunkte die
Registrierung beim Gatekeeper bereits abgeschlossen haben.
2. VoIP (IP-Telefonie)                                                                                     38




                          Abbildung 24: H.323-Verbindungsablauf [16]

2.6.4 Zusammenfassung
H.323 ist ein hybrides System, das aus zentralisierten intelligenten Gatekeepern, MCUs und
weniger intelligenten Endpunkte zusammengesetzt ist. Obwohl der H.323-Standard in
neueren Veröffentlichungen vervollständigt wurde, sind Probleme aufgetreten, wie z.B. lange
Anruf Einrichtungszeiten, Overhead29 bei einem mit allen Features ausgestatteten Konferenz-
Protokoll viele erforderliche Funktionen in jedem Gatekeeper und Skalierungsprobleme bei
Implementierungen, bei denen Anrufe durch Gatekeeper geroutet werden. Wenn High-
Density-Gateways für die Anbindung ans PSTN benötigt werden, werden Alternativen wie
das Simple Gateway Control Protocol (SGCP) und das Media Gateway Control Protocol
(MGCP) entwickelt. Diese Anruf-Kontroll-Systeme ermöglichen eine effektivere und
skalierbarere Lösung, um Implementierungen für Carrier befriedigen zu können.
Entsprechend löst SIP (Session-lnitiation-Protokoll) einige Probleme des H.323 für
intelligente Endpunktkonfiguration und es wird als Alternative zu H.323 eingesetzt. SIP wird
ausführlich in Kapitell 2.7 diskutiert.
29
  In der Kommunikation werden mit Overhead alle Informationen bezeichnet, die zusätzlich zu den Nutzdaten
übertragen werden. Das sind Daten, die technisch erforderlich sind, wie Header in Datenpaketen, Routing- und
Kontrolldaten, Prüfzeichen usw.
2. VoIP (IP-Telefonie)                                                                    39


2.7 SIP (Session Initiation Protocol)

Das Session Initiation Protocol (SIP, RFC 2543, RFC 3261) wurde 1999 durch die IETF
(Internet Engineering Task Force) standardisiert und wird zur Kommunikation zwischen SIP
fähigen Endgeräten und Servern oder zwischen Endgeräten genutzt.
SIP wurde in Anlehnung an die Struktur des Internets entwickelt. Die Architektur ist verteilt
beziehungsweise modular. Das Protokoll ist im Klartext kodiert und der Aufbau ähnelt HTTP
oder SMTP. Dadurch ist SIP im Gegensatz zu H.323 besser skalier- und erweiterbar (siehe
Kapitel 2.9)
SIP wurde nicht ausschließlich für die Verwendung bei VoIP vorgesehen. Ziel bei der
Entwicklung von SIP war die Definition eines umfassenden Kommunikationssystems. SIP
kann beispielsweise auch bei der Steuerung von Geräten, zum Versenden von
Kurznachrichten oder auch zum Verbindungsaufbau bei Onlinespielen zum Einsatz kommen.

2.7.1 SIP-Protokollhierarchie
Das Versenden von SIP Nachrichten erfolgt bevorzugt über UDP; TCP ist jedoch optional
möglich. Dabei wird zur Kommunikation zwischen Endgerät und Server standardmäßig der
Port 5060 verwendet. Bei Sprachverbindungen werden die Audiodaten mittels Real Time
Transport Protocol RTP transportiert, dieses Protokoll versendet seine Pakete über UPD.
Das Session Description Protocol (SDP) ist schwieriger einzuordnen. Es setzt auf dem SIP
und dem RTP Protokoll auf, indem es seine Informationen im Body einer SIP-Nachricht
verpackt bzw. das RTP Protokoll ansteuert.




                         Abbildung 25: SIP-Protokollhierarchie

2.7.1 SIP-Architektur
Gegenüber H.323-Systemen werden für SIP-Systeme nur zwei Komponenten benötigt: User
Agent und SIP-Server, wobei SIP drei Server-Typen unterscheidet: Proxy-Server, Location
Server und Redirect Server.
2. VoIP (IP-Telefonie)                                                                                 40



User Agent

Als User Agent (UA) werden alle SIP-fähigen Endgeräte (d.h. Softwaretelefon am PC,
PDAs30, SIP-Telefone, aber auch PSTN-Gateways etc.) bezeichnet. Dabei wird meist noch
eine (rein logische) Aufteilung in User Agent Client (UAC) und User Agent Server (UAS)
vorgenommen, wobei jedoch jeder UA immer aus einem UAC und einem UAS besteht. Diese
haben folgende Aufgaben:
     -   UAC’s stellen Anfragen und verarbeiten Antworten
     -   UAS’s empfangen Anfragen und versende Antwortnachrichten




                                     Abbildung 26: User Agent

Proxy Server

Diese spielen eine zentrale Rolle in einem SIP-Netzwerk. Ihre Aufgabe ist es, das Routing der
SIP-Nachrichten zum Aufbau einer SIP-Verbindung zu übernehmen. Verbindungsgesuche
eines Anrufers können über mehrere Proxies bis zum Aufenthaltsort des Angerufenen geleitet
werden.
Es wird dabei zwischen Stateless und Stateful Proxies unterschieden. Stateless Proxies leiten
empfangene Nachrichten einfach weiter. Sie sind deshalb schneller als Stateful Proxies und
finden vor allem Verwendung als Loadbalancer und einfache Router. Allerdings sind sie nicht
in der Lage, anspruchvolleres Routing wie z.B. Call Forking (mehrere Endgeräte können
gleichzeitig angerufen werden) zu betreiben.
Stateful Proxies generieren für eine Anfrage einen Zustand (''State'') und behalten diesen, bis
die entsprechende Transaktion31 beendet ist. Dies kann im Falle einer INVITE (Einladung)-
Nachricht relativ lang dauern (nämlich so lange, bis der Angerufene den Anruf annimmt oder


30
   Unter dem Begriff PDA (Personal Digital Assistent) werden handliche elektronische Geräte mit Kalender-,
Adress-, Notiz- und ähnlichen Funktionen zusammengefasst
31
   Transaktion: Kompletter Zyklus einer Datenverarbeitung.
2. VoIP (IP-Telefonie)                                                                    41

abweist). Aufgrund der Tatsache, dass Stateful Proxies diese Zustände für die Dauer der
Anfrage aufrecht erhalten müssen, sind an diese höhere Leistungsanforderungen gestellt.
Dafür sind sie aber auch in der Lage, weitergehende Dienste anzubieten und können auch von
einem Endgerät mehrfach versandte Nachrichten abfangen, da sie ja wissen, ob diese bereits
empfangen wurde.

Location Server (Registrar)

Damit ein Proxy weiß, wo der betreffende Benutzer zu finden ist, muss sich sein UA an
einem Location Server angemeldet haben. Dieser speichert dann den derzeitigen
Aufenthaltsort (d.h. IP-Adresse, Port und Benutzername) in einer sog. ''location database''.
Auf diese kann dann der Proxy-Server des Angerufenen zugreifen, um den Aufenthaltsort
herauszufinden. Bei einem Registrar handelt es sich allerdings für gewöhnlich nur um eine
logische Einheit - wegen der engen Verzahnung von Registrar und Proxy sind diese meist in
einem Gerät (Soft- oder Hardware) zusammengefasst.

Redirect Server

Aufgabe dieses Servers ist es, bei eingehenden Anfragen den gewünschten Empfänger in der
location database nachzuschlagen. Die gefundenen Aufenthaltsorte - es ist bei SIP möglich,
dass man sich zur gleichen Zeit mit verschiedenen Endgeräten von verschieden Orten aus mit
dem gleichen Benutzer anmelden kann - werden dann dem Sender der Anfrage mit einer
entsprechenden Nachricht zurückgesandt.




                   Abbildung 27: Interaktion verschiedener SIP-Server
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005
Diplom arbeit lotfi_faik_2005

Contenu connexe

Similaire à Diplom arbeit lotfi_faik_2005

53045 ba dpt 3000 v6.17
53045 ba dpt 3000 v6.1753045 ba dpt 3000 v6.17
53045 ba dpt 3000 v6.17
Teo Dor
 
Final Opentrans 2.0 Rfq
Final Opentrans 2.0   RfqFinal Opentrans 2.0   Rfq
Final Opentrans 2.0 Rfq
guest6f1fb4
 
Hackers Undergroundbook
Hackers UndergroundbookHackers Undergroundbook
Hackers Undergroundbook
prasadpsrh
 
2014 gnepper,tom entwicklung eines application programming interface, bachelo...
2014 gnepper,tom entwicklung eines application programming interface, bachelo...2014 gnepper,tom entwicklung eines application programming interface, bachelo...
2014 gnepper,tom entwicklung eines application programming interface, bachelo...
Markus Schneider
 
Manual atevio av 7500_hd_pvr_v10111_ger_
Manual atevio av 7500_hd_pvr_v10111_ger_Manual atevio av 7500_hd_pvr_v10111_ger_
Manual atevio av 7500_hd_pvr_v10111_ger_
bodrog1953
 
Hacking in german
Hacking in germanHacking in german
Hacking in german
Cr CRays
 
Bedienungsanleitung LG P990 OPTIMUS Speed
Bedienungsanleitung LG P990 OPTIMUS SpeedBedienungsanleitung LG P990 OPTIMUS Speed
Bedienungsanleitung LG P990 OPTIMUS Speed
LG Electronics Germany
 
Fi Fi Webserver Hardwaredokumentation
Fi Fi Webserver HardwaredokumentationFi Fi Webserver Hardwaredokumentation
Fi Fi Webserver Hardwaredokumentation
guest0ac90f
 

Similaire à Diplom arbeit lotfi_faik_2005 (20)

Linux advanced
Linux advancedLinux advanced
Linux advanced
 
53045 ba dpt 3000 v6.17
53045 ba dpt 3000 v6.1753045 ba dpt 3000 v6.17
53045 ba dpt 3000 v6.17
 
Final Opentrans 2.0 Rfq
Final Opentrans 2.0   RfqFinal Opentrans 2.0   Rfq
Final Opentrans 2.0 Rfq
 
Masterarbeit / Fakultät für Mathematik und Informatik / Lehrgebiet Datenverar...
Masterarbeit / Fakultät für Mathematik und Informatik / Lehrgebiet Datenverar...Masterarbeit / Fakultät für Mathematik und Informatik / Lehrgebiet Datenverar...
Masterarbeit / Fakultät für Mathematik und Informatik / Lehrgebiet Datenverar...
 
BSI Audit
BSI AuditBSI Audit
BSI Audit
 
Stack- und Heap-Overflow-Schutz bei Windows XP und Windows Vista
Stack- und Heap-Overflow-Schutz bei Windows XP und Windows Vista Stack- und Heap-Overflow-Schutz bei Windows XP und Windows Vista
Stack- und Heap-Overflow-Schutz bei Windows XP und Windows Vista
 
Hackers Undergroundbook
Hackers UndergroundbookHackers Undergroundbook
Hackers Undergroundbook
 
Whitepaper Indoor Positionsbestimmung im Gesundheitswesen
Whitepaper Indoor Positionsbestimmung im GesundheitswesenWhitepaper Indoor Positionsbestimmung im Gesundheitswesen
Whitepaper Indoor Positionsbestimmung im Gesundheitswesen
 
2014 gnepper,tom entwicklung eines application programming interface, bachelo...
2014 gnepper,tom entwicklung eines application programming interface, bachelo...2014 gnepper,tom entwicklung eines application programming interface, bachelo...
2014 gnepper,tom entwicklung eines application programming interface, bachelo...
 
Berliner Open-Data-Strategie
Berliner Open-Data-StrategieBerliner Open-Data-Strategie
Berliner Open-Data-Strategie
 
Manual atevio av 7500_hd_pvr_v10111_ger_
Manual atevio av 7500_hd_pvr_v10111_ger_Manual atevio av 7500_hd_pvr_v10111_ger_
Manual atevio av 7500_hd_pvr_v10111_ger_
 
Hacking in german
Hacking in germanHacking in german
Hacking in german
 
Bedienungsanleitung LG P990 OPTIMUS Speed
Bedienungsanleitung LG P990 OPTIMUS SpeedBedienungsanleitung LG P990 OPTIMUS Speed
Bedienungsanleitung LG P990 OPTIMUS Speed
 
Das "Privacy Handbuch"
Das "Privacy Handbuch"Das "Privacy Handbuch"
Das "Privacy Handbuch"
 
German Original
German OriginalGerman Original
German Original
 
Homematic
HomematicHomematic
Homematic
 
Homematic
HomematicHomematic
Homematic
 
Solution Guide
Solution GuideSolution Guide
Solution Guide
 
Whitepaper: Indoor Positionsbestimmung in Büros & intelligenten Gebäuden
Whitepaper: Indoor Positionsbestimmung in Büros & intelligenten GebäudenWhitepaper: Indoor Positionsbestimmung in Büros & intelligenten Gebäuden
Whitepaper: Indoor Positionsbestimmung in Büros & intelligenten Gebäuden
 
Fi Fi Webserver Hardwaredokumentation
Fi Fi Webserver HardwaredokumentationFi Fi Webserver Hardwaredokumentation
Fi Fi Webserver Hardwaredokumentation
 

Diplom arbeit lotfi_faik_2005

  • 1. Fachhochschule Köln University of Applied Sciences Cologne 07 Fakultät für Informations-, Medien- und Elektrotechnik, Studiengang Elektrotechnik/NT Institut für Nachrichtentechnik Labor für Datennetze Diplomarbeit Erweitertes Accounting in VoIP-Netzen auf der Basis von SIP und RADIUS Student: Lotfi Faik Matrikelnummer: 11023333 Abgabedatum: 25.02.2005 Referent: Prof. Dr.-Ing. Andreas Grebe Korreferent : Dr. Andreas Kumpf
  • 2. Hiermit versichere ich, daß ich die Diplomarbeit selbständig angefertigt und keine anderen als die angegebenen und bei Zitaten kenntlich gemachten Quellen und Hilfsmittel benutzt habe. Lotfi Faik
  • 3. Inhaltsverzeichnis i Inhaltsverzeichnis 1. Einleitung .......................................................................................................... 1 1.1 Begriffserklärung ............................................................................................................. 2 1.2 Motivation und Zielsetzung ............................................................................................. 3 1.3 Aufbau der Arbeit............................................................................................................. 3 2. VoIP (IP-Telefonie)........................................................................................... 5 2.1 Grundsätzliche Unterschiede zu PSTN ............................................................................ 5 2.2 VoIP-Varianten ................................................................................................................ 6 2.2.1 PC-zu-PC-Telefonie .................................................................................................. 6 2.2.2 PC-zu-Telefon-Verbindungen................................................................................... 7 2.2.3 Telefon-zu-Telefon-Verbindungen ........................................................................... 8 2.3 Funktionsweise der IP-Telefonie ..................................................................................... 9 2.3.1 Netzaufbau ................................................................................................................ 9 2.3.2 Komponenten .......................................................................................................... 10 2.3.3 Anrufsignalisierung................................................................................................. 12 2.3.4 Medienübertragung ................................................................................................. 13 2.3.5 Transportprotokolle ................................................................................................. 13 2.4 Quality of Service........................................................................................................... 15 2.4.1 Verzögerung (Latency) ........................................................................................... 15 2.4.3 Jitter......................................................................................................................... 18 2.4.4 Echo......................................................................................................................... 19 2.4.5 Paketverluste (Packet Loss) .................................................................................... 20 2.4.6 Sprach-Aktivitäts-Entdeckung (Voice Activity Detection) .................................... 21 2.5 Codecs ............................................................................................................................ 22 2.5.1 Kodierungsverfahren............................................................................................... 24 2.5.2 Sprachdaten-Komprimierung .................................................................................. 26 2.5.3 Standards der Sprachkodierung............................................................................... 27 2.5.4 Qualität der Codecs ................................................................................................. 28 2.6 H.323-Standard .............................................................................................................. 30 2.6.1 Architektur .............................................................................................................. 30 2.6.2 H.323-Protokollsuite ............................................................................................... 31 2.6.2.1 RAS-(Registration Admission Status) Signalisierung ..................................... 31 2.6.2.2 Anruf-Kontroll-Signalisierung (H.225) ........................................................... 35 2.6.2.3 Medien-Kontroll-Signalisierung (H.245)......................................................... 35 2.6.2.4 Anruf-Signalisierung (Q.931) .......................................................................... 35 2.6.2.5 Unterstützung von Datenanwendungen nach T.120 ........................................ 36 2.6.2.6 Struktur von Anruf-SIG-Nachrichten beim H.225.0........................................ 36 2.6.3 H.323-Verbindungsablauf ....................................................................................... 37 2.6.4 Zusammenfassung................................................................................................... 38 2.7 SIP (Session Initiation Protocol) .................................................................................... 39 2.7.1 SIP-Protokollhierarchie........................................................................................... 39 2.7.1 SIP-Architektur ....................................................................................................... 39 2.7.2 Grundlegende Funktionsweise ................................................................................ 42 2.7.2.1 Adressierung..................................................................................................... 42
  • 4. Inhaltsverzeichnis ii 2.7.2.2 Das Auffinden eines Servers ............................................................................ 42 2.7.2.3 SIP-Transaktionen............................................................................................ 43 2.7.2.4 Das Auffinden eines Benutzers ........................................................................ 43 2.7.3 SIP-Message............................................................................................................ 43 2.7.3.1 SIP-Request...................................................................................................... 48 2.7.3.2 SIP-Response ................................................................................................... 49 2.7.4 SIP-Registrierung .................................................................................................... 50 2.7.4 SIP-Verbindungsablauf ........................................................................................... 52 2.8 SIP im Vergleich zu H.323 ............................................................................................ 53 2.8.1 Auf- und Abbau einer Verbindung.......................................................................... 53 2.8.2 Komplexität............................................................................................................. 53 2.8.3 Erweiterbarkeit ........................................................................................................ 54 2.8.4 Skalierbarkeit .......................................................................................................... 54 3. AAA (Authentication, Authorization, Accounting) und Billing .................... 55 3.1 AAA-Komponenten ....................................................................................................... 57 3.1.1 AAA-Clients............................................................................................................ 57 3.1.2 AAA-Server ............................................................................................................ 57 3.1.3 AAA-Proxies........................................................................................................... 57 3.2 AAA-Architektur ........................................................................................................... 58 3.3 AAA-Protokolle ............................................................................................................. 60 3.3.1 RADIUS .................................................................................................................. 60 3.3.2 TACACS ................................................................................................................. 60 3.3.3 DIAMETER ............................................................................................................ 60 4. RADIUS .......................................................................................................... 62 4.1 Einführung...................................................................................................................... 62 4.2 Radius-Eigenschaften..................................................................................................... 62 4.3 RADIUS-Spezifikationen............................................................................................... 64 4.3.1 Paketformat ............................................................................................................. 64 4.3.2 Pakettypen ............................................................................................................... 65 4.3.3 Attributformat.......................................................................................................... 66 4.3.4 Proxying .................................................................................................................. 67 4.4 Arbeitsablauf der RADIUS-Authentifizierung .............................................................. 67 4.5 RADIUS-Accounting ..................................................................................................... 69 4.5.1 Wie funktioniert Radius-Accounting? .................................................................... 69 4.5.2 Accounting-Pakettypen ........................................................................................... 69 4.5.3 Arbeitsablauf des RADIUS-Accounting................................................................. 70 5. Entwicklungsumgebung .................................................................................. 72 5.1 VoIP-Netz....................................................................................................................... 72 5.1 SER (SIP-Express-Router)............................................................................................. 73 5.2.1 Was ist SER?........................................................................................................... 73 5.2.2 Installation............................................................................................................... 74 5.2.3 Konfiguration .......................................................................................................... 75 a) Konfigurationsdatei.................................................................................................. 75 b) Datenbank und Datenbankbibliothek erstellen ........................................................ 77 5.2.4 Anwendung ............................................................................................................. 77 5.2.4.1 SER starten....................................................................................................... 77 5.2.4.2 Benutzer anlegen .............................................................................................. 77 5.2.4.3 Registrierte Benutzer ansehen.......................................................................... 78 5.2.5 SERWEB (Web-Interface von SER)....................................................................... 78
  • 5. Inhaltsverzeichnis iii 5.2.5.1 Installation........................................................................................................ 78 5.2.5.2 Konfiguration ................................................................................................... 78 5.2.5.3 Anwendung ...................................................................................................... 79 5.3 Freeradius ....................................................................................................................... 81 5.3.1 Was ist Freeradius? ................................................................................................. 81 5.3.2 Installation und Grundkonfiguration....................................................................... 81 a) Radiusclient.............................................................................................................. 81 b) Radiusserver............................................................................................................. 82 5.3.4 Radius-Server starten und testen ............................................................................. 84 5.4 SER und Freeradius........................................................................................................ 85 5.5 MySQL-Datenbank ........................................................................................................ 86 6. Implementierung ............................................................................................. 88 6.1 Erweiterungsanforderungen ........................................................................................... 88 6.2 Mobilität ......................................................................................................................... 89 6.2.1 Nomaden-IP-Adresse .............................................................................................. 89 6.2.1 Anschluss-IP-Adresse ............................................................................................. 91 6.3 Verbindungsdauer .......................................................................................................... 91 6.4 Type of Service .............................................................................................................. 93 6.5 Quality of Service........................................................................................................... 93 6.5.1 Verwendete Codecs................................................................................................. 93 6.5.2 Bandbreite ............................................................................................................... 94 6.6 Übertragenes Volumen................................................................................................... 95 6.7 Instant Messaging........................................................................................................... 96 6.8 Konferenz ....................................................................................................................... 98 7. Fazit ............................................................................................................... 100 Abbildungs- und Tabellenverzeichnis............................................................... 102 Literaturverzeichnis........................................................................................... 104 Abkürzungenverzeichnis................................................................................... 106 Anhang 1: SIP Status Code ............................................................................... 110 Anhang 2: Dictionary File................................................................................. 111 Anhang 3: RADIUS-Attribut-Typen................................................................. 117 Anhang 4: Quell-Code-Änderungen ................................................................. 119
  • 6. 1. Einleitung 1 1. Einleitung Der in der ganzen Menschengeschichte unvergleichbare Fortschritt der Wissenschaft und Technik im letzten Jahrhundert ist ohne die explosionsartige Entwicklung der Kommunikation nicht vorzustellen. Sichere und zuverlässige Kommunikation ist eines der wichtigsten Bestandteile der heutigen Gesellschaft. Dabei handelt es sich sowohl um die verbale Kommunikation als auch um den Austausch von Informationen über Fax oder Internet. Auf das Telefon kann man heutzutage nicht mehr verzichten. Es bietet eine schnelle Möglichkeit, direkt zu einer Person Kontakt aufzunehmen, und durch den Einsatz des mobilen Telefons ist das Wissen des Aufenthaltsorts irrelevant geworden. In den letzten zwanzig Jahren nahmen die technischen Möglichkeiten im Telefonieumfeld in sehr kurzen Abständen rasant zu. So bietet z.B. ISDN1 vielfältige technische Möglichkeiten neben dem „Nur-Telefonieren“. Für die Übermittlung von nonverbalen Informationen bietet die Telefonie-Infrastruktur den Fax-Service an, der jedoch primär für Texte, und nicht für Bilder geeignet ist. Parallel dazu hat das Internet auch in den vergangenen zwanzig Jahren immer mehr an Bedeutung gewonnen, vor allem beim nonverbalen Informationsaustausch. Telefon und Internet sind jedoch zwei voneinander unabhängige Netzinfrastrukturen, die getrennt gepflegt werden müssen. Seit einigen Jahren bietet IP-Telefonie Sprachübertragung über IP2-basierte Netze, also über das Internet, mit dem langfristigen Ziel, das separate Telefonnetz einsparen zu können. Zunächst wird die Migration beider Netze nötig, wobei sich Komponenten beider Netze (IP- Netz und PSTN3) gemeinsam nutzen lassen. 1 ISDN: Integrated Services Digital Network: Digitale Variante des herkömmlichen Telefonnetzes. ISDN stellt die Integration vieler einzelner Dienste wie Telefonie, Fax, Telex, typische leitungs- oder paketvermittelte Datendienste etc. in ein einheitliches Mehrdienstenetz dar. Die Vorteile liegen in einer besseren Sprachqualität, einer höheren Datendurchsatzrate und ein schnelleres Anwählen andere Telefonnummern. Die Telekomfirmen bieten in der Regel bei einem ISDN-Anschluss eine zweite Leitung sowie drei Rufnummern und weitere Serviceleistungen an. 2 IP: Internet Protocol: Die Aufgabe des Internet-Protokolls (IP) besteht darin, Datenpakete von einem Sender über mehrere Netze hinweg zu einem Empfänger zu transportieren. Die Übertragung ist paketorientiert, verbindungslos und nicht garantiert. IP garantiert weder die Einhaltung einer bestimmten Reihenfolge noch eine Ablieferung beim Empfänger. Empfangsquittungen gibt es auf IP-Schicht nicht. Die maximale Länge von IP- Datenpaketen ist auf 65.535 Bytes beschränkt. 3 PSTN: Public Switched Telephne Network. Öffentliches Telefonnetz, oft mit digitalen Vermittlungsstellen (Switches).
  • 7. 1. Einleitung 2 Abbildung 1: IP-Netz-PSTN-Migration Legende: PSTN: Public Switched Telephone Network, POTS4: Plain Old Telephone Service, SIP5: Session Initiation Protocol, IP Phone: Internet-Protocol-Telefon. Gateway: Verbindungseinrichtung zur Kopplung von Netwerken unterschiedlichster Art. 1.1 Begriffserklärung Bevor eine eindeutige Zielsetzung für diese Arbeit formuliert werden kann, sind grobe Erklärungen der im gewählten Diplomarbeitstitel vorkommenden Begriffe unerlässlich. Ganz am Anfang ist der Begriff „AAA“ kurz zu erklären, damit andere von ihm abhängige Begriffe deutlich werden. „AAA“ (Authentication, Authorization, Accounting) bezieht sich auf die Aufgaben Authentication: Authentifikation, Echtheit des Benutzers feststellen, Authorization: Autorisierung, Zugriffsberechtigung zu den gewünschten Diensten/Inhalten prüfen und Accounting: Kontierung/Leistungserfassung, also die Protokollierung von Art und Umfang der genutzten Leistungen. 4 Unter POTS ist die analoge Telefonie zu verstehen, die eine Bandbreite von 3,1 kHz hat, die im Frequenzbereich von 300 Hz bis 3,4 kHz liegt. Dieser Frequenzumfang ist so gewählt, dass die Sprachübertragung verständlich ist und der Sprechende mit seinen Stimmcharakteristiken erkannt werden kann. 5 Das SIP-Protokoll ist ein Signalisierungsprotokoll für die IP-Telefonie, das im Rahmen dieser Diplomarbeit noch tiefer behandelt wird.
  • 8. 1. Einleitung 3 „VoIP“ ist die Abkürzung von „Voice over IP“ und wird auch auf Deutsch IP-Telefonie genannt. „SIP“ ist das „Session Initiation Protocol“: Protokoll zur Verbindungssteuerung für VoIP. „RADIUS“ kürzt „Remote Authentication Dial-In User Service“ ab, und ist das wichtigste AAA-Protokoll. „Billing“ Unter diesem weit gefassten Begriff versteht man die Abrechnung der IT- Leistungen für die Nutzung unterschiedlicher Netze und Dienste. Das Billing umfasst die Sammlung der Verbindungs- und Übertragungsdaten, die Zuordnung der Daten, das so genannte Accounting, das Rating mit der Zuordnung der verschiedenen Tarife, die Rechnungsstellung, das Controlling und das Inkasso. Für die Bezahlung von Einkäufen im Web bietet sich das Online-Billing an, von dem es mehrere Bezahlsysteme gibt. 1.2 Motivation und Zielsetzung Diese Diplomarbeit ist eine Zusammenarbeit der Fachhochschule Köln mit der Firma TECON Systems AG. Diese entwickelt eigene Produkte und Software-Lösungen im Kundenauftrag, wobei das IT- Accountig einer der Schwerpunkte ist. Im IP-Telefonie-Bereich hat TECON ein Verfahren entwickelt (GEOVIPA), das ursprünglich für die geographische Verzonung von VoIP-Verbindungen erdacht wurde und während der Entwicklung verbessert und erweitert werden dürfte. Mit neuen und innovativen Abrechnungslösungen für VoIP will TECON für die zukünftigen Anforderungen im internationalen Markt „Akzente setzen“. Da das Billing Ziel aller Prozesse ist, gerade bei Service Providern, die für ihre Leistungen schließlich vergütet werden wollen, beabsichtigt TECON ihnen bei den neuen Abrechnungslösungen genügend Accounting-Daten anzubieten. Dies war der Hintergrund der Unterstützung dieser Diplomarbeit durch die Firma TECON. Ihrerseits wurde das RADIUS-Protokoll als Basis der Entwicklung vorgeschlagen, um im Rahmen dieser Arbeit detaillierte Accounting-Daten gewinnen zu können. 1.3 Aufbau der Arbeit Im ersten Teil dieser Diplomarbeit wird das nötige theoretische Wissen vorgestellt: Kapitel 2: Voice over IP und seine Standards, Kapitel 3: AAA, seine Architektur und seine Protokolle,
  • 9. 1. Einleitung 4 Kapitel 4: Die Funktionalität von RADIUS und deren Attribute, sowie das RADIUS- Accounting und deren Konfigurationsoptionen. Im Zweiten Teil wird die Entwicklungsumgebung vorgestellt, dies erfolgt in dem Kapitel 5. In diesem Kapitel wird die Realisierung im Rahmen der Arbeit zusammengefasst, dabei wurde eine Open-Source6-RADIUS-Variante (freeradius) installiert und in Betrieb genommen. Einen Open-Source-SIP-Server7, der eine einwandfreie Interoperabilität mit dem Freeradius- Server zeigt, wurde ebenfalls installiert und konfiguriert. Hier wurde der SIP-Express-Router eingesetzt. Im Dritten Teil (Kapitel 6) wurden die eigentlichen Entwicklungen und der Kern dieser Diplomarbeit vorgestellt. Die Arbeit umfasst insgesamt über 700 Zeilen selbst geschriebenen Quellcode. Kapitel 7 fasst die wesentlichen Ergebnisse zusammen und schließt mit einem Ausblick auf weiterführende Arbeiten. 6 Der englische Ausdruck Open Source steht für quelloffen, einerseits in dem Sinne, dass der Quelltext eines Programms frei erhältlich ist, andererseits für 'offene Quelle', also dass ein Werk frei zur Verfügung steht. 7 SIP-Server ist eine Vermittlungsstelle der Teilnehmer im VoIP-Netz
  • 10. 2. VoIP (IP-Telefonie) 5 2. VoIP (IP8-Telefonie) Unter IP-Telefonie im klassischen Sinn wird die Übertragung von Gesprächen direkt über das Internet durch die Nutzung des Internet-Protokolls (IP) verstanden. Man verwendet dafür verschiedene Begriffe, wie Internet Telefonie, IP Telefonie, Packet Voice und auch Voice over IP. Die erste Lösung für die Sprachübertragung über das IP-Daten-Netz führte die israelische Firma VocalTec im Jahr 1995 vor. 2.1 Grundsätzliche Unterschiede zu PSTN Im klassischen Telefonnetz wird die Sprache in Form von unterschiedlich starken elektrischen Impulsen über eine Leitung von einem Teilnehmer zum anderen übermittelt, dabei wird ein Kanal während der Kommunikation durchgehend durchgeschaltet und nach Kommunikationsende wieder für andere Teilnehmer freigegeben. Bei VoIP wird die analoge Sprache in digitale Signale umgewandelt, die zu Paketen zusammengefasst und an den Telefonpartner verschickt werden. Zwischen zwei Paketen ist die Leitung frei für anderweitige Nutzung. Im Vergleich zur Telefonleitung, die für die Dauer des gesamten Gesprächs belegt ist, können so Kapazitäten gewonnen werden. Außerdem ist grundsätzlich von der Digitalisierung der Sprachsignale eine im Vergleich zur analogen Telefontechnik Verminderung der Sprachqualitätsverlusten zu erwarten. Doch in der Praxis macht das Telefonieren über das Internet die User noch nicht ganz glücklich, da die Qualität der Audioübertragung und die Fähigkeit des Internets Audioübertragung zu bieten, noch zu wünschen lässt. Das Problem liegt dabei vor allem in der „veralteten“ Internet-Infrastruktur. Trotzdem ist das Interesse der Industrie an dieser Art der Kommunikation sehr hoch. Organisationen rund um die Erde suchen Lösungen, um die Kosten der immer wachsenden Kommunikation zu reduzieren. Viele Firmen suchen auch Lösungen die Daten- und Audioübertragung auf ein Netzwerk zu legen und dadurch Kosten zu sparen. Dies kann erreicht werden, wenn ein paketvermitteltes Netzwerk wie IP verwendet wird, welches Daten und zur gleichen Zeit auch Audiodaten übertragen kann. Auch die Video-Kommunikation im IP-Umfeld wird erleichtert. Durch Softwarelösungen lassen sich noch zusätzliche Funktionen sehr einfach realisieren. An Kosten wird auch gespart, da nicht in neue Hardware investiert werden muss. Individuelle 8 IP: Internet Protocol, eines der Basisprotokolle des Internet. Es gehört zu den verbindungslosen Protokollen, d.h. zwischen dem Sender und Empfänger der Daten muss keine direkte Verbindung bestehen.
  • 11. 2. VoIP (IP-Telefonie) 6 Kundenanforderungen sind ebenso leichter zu realisieren, da durch modulare Programmierung Arbeitsabläufe und Strukturen leichter verändert werden. 2.2 VoIP-Varianten Es lassen sich drei VoIP-Varianten unterscheiden: Computer-zu-Computer, Computer-zu- Telefon und Telefon-zu-Telefon. Als das Thema Internet-Telefonie Ende 1994 aufkam, wurde darunter nur die Möglichkeit verstanden, kostengünstige Telefonate zwischen zwei Computern über das Internet zu führen. VoIP-Gateways ermöglichen seit 1996 Gespräche zwischen Computern und herkömmlichen Telefonen. Sie verbinden das Telefonnetz (PSTN) mit einem IP-Netz und integrieren Computer und Telefone in einem System. 2.2.1 PC-zu-PC-Telefonie Die Sprachdaten werden zwischen zwei Computern ausgetauscht, die über das Internet bzw. ein anderes IP-Netz miteinander verbunden sind. Bei dieser Variante müssen beide Teilnehmer online sein, damit ein Gespräch zustande kommen kann. Abbildung 2: PC-zu-PC-Verbindungen Als weitere Voraussetzung müssen beide Computer „sprachfähig“ sein, was gewisse Anforderungen an Hard- und Software stellt. Neben einem Zugang zu einem IP-Netz und der notwendigen IP-Telefonie-Software wird im Allgemeinen lediglich vorausgesetzt, dass die Computer über eine Soundkarte, ein Mikrophon und die Möglichkeit zur Sprachausgabe verfügen. Anstelle der Kombination von Mikrophon und Lautsprecher wird sehr gerne ein Headset eingesetzt. Dadurch steigt die Verständlichkeit der Kommunikation, der Benutzer hat mehr Kopffreiheit und die Gefahr der Rückkopplung wird geringer. Ein schneller Netzzugang, ein schneller Prozessor (einige Verfahren zur Sprachcodierung benötigen diese Leistungsfähigkeit zur Echtzeitcodierung9) sowie spezielle DSP10-Karten 9 Dabei muss das Signal mit minimaler Verzögerung kodierbar und dekodierbar sein.
  • 12. 2. VoIP (IP-Telefonie) 7 tragen ebenfalls zur Verbesserung der Qualität bei. Diese Karten sind speziell für IP-Telefonie entwickelt worden. Es lässt sich ein normales Telefon anschließen, um über das Internet zu telefonieren, und die Karte verfügt über einen DSP-Chip zur Schnellen Codierung und Decodierung der Sprache. 2.2.2 PC-zu-Telefon-Verbindungen Um PC-zu-Telefon-Verbindungen oder Telefon-zu-Telefon-Verbindungen mit VoIP realisieren zu können, sind auf jeden Fall VoIP-Gateways notwendig, da sie das leitungsvermittelte Telefonnetz mit dem paketorientierten Internet verbinden. Abbildung 3: PC-zu-Telefon-Verbindungen VoIP-Gateways lösen das Problem der Kontaktaufnahme, da sie nur noch die Eingabe der herkömmlichen Telefonnummer des Gesprächspartners erwarten. Ein Gateway verfügt über eine Schnittstelle zum Anschluss an das TCP/IP-Netz sowie eine ISDN-oder Analogschnittstelle für den Anschluss an das Telefonnetz oder eine Nebenstellenanlage (PBX11). Auf der einen Seite erhält das Gateway das Telefonsignal, digitalisiert dieses, komprimiert es (wenn nötig), teilt es in Paketen auf und überträgt es über das IP-Netz. Beim Empfang von Daten aus dem IP-Netz führt der Gateway die Aufgaben in umgekehrter Reihenfolge aus. Komprimierte Sprachdaten werden dekomprimiert und dann an das Telefonnetz geleitet. Die Anwendung (Application) eines Gateways verwaltet die Verbindungen und sorgt für die Umwandlung zwischen Telefonnummer und IP-Adresse. 10 DSP: Digital Signal Processor, spezieller Chip, der sinusförmige Signale (z.B. Sprache, Musik) durch mehrfaches Abtasten digitalisiert. Er wird z.B. in Soundkarten eingesetzt. [20] 11 PBX: Private Branch Exchange: ist eine Nebenstellenanlage, die via Telefonleitungen das öffentliche Telefonnetz mit den Endgeräten (Telefone, Faxgeräten) einer Firma oder eines großen Hauses verbindet, für Privathaushalte sind solche Lösungen oft überdimensioniert. Mit solchen Anlagen kann man viele Endgeräte gezielt miteinander verschalten und so ein eigenes Telefonnetz aufbauen. Speziell die Möglichkeit, innerhalb der Telefonanlage kostenlos telefonieren zu können, ist gerade für Firmen sehr interessant.
  • 13. 2. VoIP (IP-Telefonie) 8 Weitere Aufgaben, die von der Anwendung übernommen werden können, sind die Organisation von Datenbankzugriffen, die Gebührenverwaltung, das Führen von Verbindungsnachweisen und das Protokollieren von Fehlern. 2.2.3 Telefon-zu-Telefon-Verbindungen Bei dieser Variante werden die Gespräche zwischen zwei herkömmlichen Telefonen geführt. An den Übergangspunkten zwischen Internet und Telefonnetz arbeiten jeweils Telefon- Gateways. Abbildung 4: Telefon-zu-Telefon-Verbindungen Bei Internet-Telefonaten zwischen Telefonen werden die Daten zunächst über das Telefonnetz an einen VoIP-Gateway in der Nähe des Empfängers übertragen. Die Auswahl des Zielgateways kann nach unterschiedlichen Kriterien erfolgen (Zuverlässigkeit, Geschwindigkeit oder Kosten der Verbindung). Der Zielgateway stellt die Verbindung in das öffentliche oder private Telefonnetz her und leitet die Daten zum Empfänger weiter. Die deutsche Telekom ermöglichte Ende 1997 in einem Pilotprojekt ausgewählte Kunden das Führen von Telefonaten über das Internet. Bei diesem Projekt arbeitete die Deutsche Telekom mit dem Internet-Telefonie-Pionier VocalTec zusammen. Das Projekt wurde nach einer Testphase wieder eingestellt. Die deutsche ABC Bücherdienst GmbH in Regensburg setzte ein VoIP-Gateway-System des amerikanischen Unternehmens Lucent Technologies ein, um Telefongespräche zwischen Standorten in Deutschland und den USA über das Internet zu leiten. Die Qualität der Verbindungen wird von Seiten des deutschen Unternehmens positiv beurteilt. Wie bei allen Varianten, steht auch bei der Telefon-zu-Telefon-Variante mögliche Kosteneinsparungen im Vordergrund. Potentielle Dienstanbieter sind neben den traditionellen Telefongesellschaften Unternehmen wie IDT, Global Exchange oder Delta Three, die als so
  • 14. 2. VoIP (IP-Telefonie) 9 genannt Internet Telephony Service Provider (ITSP) VoIP-Dienste anbieten und sich zu den Telefongesellschaften der nächsten Generation entwickeln könnten. Als in Betracht kommende Kunden für deren Dienste sieht die ITU12 die über 700 Millionen Telefonteilnehmer. Alle drei verschiedenen VoIP-Varianten (PC-zu-PC, PC-zu-Telefon und Telefon-zu-Telefon) können in einem integrierten Kommunikationssystem kombiniert werden. Ein System, in dem mehrere Gateways zu einem großen System verbunden sind, wird auch als Virtual Unified Network bezeichnet. 2.3 Funktionsweise der IP-Telefonie Dieser Abschnitt erläutert einige Begriffe aus der IP-Telefonie und stellt den Netzaufbau und verschiedene Komponenten vor. Ferner wird erläutert, wie Endpunkte kontaktiert und Mediendaten übertragen werden. Grundsätzlich müssen zwei Arten von Datenströmen unterschieden werden: • Signalisierungsdaten dienen zum Verbindungsaufbau, Steuerung von Verbindungseigenschaften und zum Verbindungsabbau. • Mediendaten enthalten die eigentlichen Sprachinformationen. Für beide Datenströme werden separate Verbindungen verwendet. 2.3.1 Netzaufbau Abbildung 5 zeigt ein Beispiel für ein IP-Telefonie-Netz mit einem Telefonie-Server, Arbeitsplatz-Rechnern, die über IP-Telefonie-Software verfügen und IP-Telefonen. Über einen Gateway kann eine Verbindung in das PSTN hergestellt werden. 12 ITU: International Telecommunications Union (Sitz in Genf): seit Jahrzehnten bestehende internationale Organisation von Herstellern und staatlichen Einrichtungen im Bereich der Telekommunikation, die auch Standards und Normen definieren.
  • 15. 2. VoIP (IP-Telefonie) 10 Abbildung 5: IP-Telefonie-Netzaufbau Anders als bei der herkömmlichen Telefonie kann bei der IP-Telefonie ein Endpunkt direkt eine Verbindung zu einem anderen Endpunkt aufbauen. Den Endpunkten ist es freigestellt, ob sie den Telefonie-Server nutzen oder nicht. Wenn sie es tun, müssen sie sich dort registrieren. Eine Registrierung enthält unter anderem Informationen über den Endpunkt und dessen Benutzer. Eine der wichtigsten Informationen ist die Adresse für die Anrufsignalisierung. 2.3.2 Komponenten Endpunkt An einem Endpunkt kann ein Benutzer ein Telefonat annehmen oder initiieren. Ein Endpunkt für Benutzerinteraktion kann ein IP-Telefon, also ein Telefon mit Netzanschluss und IP-Telefonie-Software, oder ein Rechner mit einer solchen Software sein. Endpunkte verwenden eine Hierarchie von Protokollen zur Anrufsignalisierung, Medienaushandlung und Mediendatenerzeugung und -Paketisierung. Über ein GUI (Graphical User Interface) kann Benutzerinteraktion stattfinden. Telefonie-Server Ein Telefonie-Server ist eine zentrale Instanz einer IP-Telefonie-Umgebung. Endpunkte können sich bei ihm registrieren und erhalten Dienste von ihm wie z. B. die Lokalisierung
  • 16. 2. VoIP (IP-Telefonie) 11 eines Benutzers. Dies ist wichtig, da nicht immer klar ist, an welchem Rechner sich der Benutzer gerade aufhält, da er eine IP-Telefonie-Anwendung auf jedem Rechner verwenden kann. Für die Benutzerlokalisierung befragt der Server eine Datenbank. Bei einer Registrierung teilt der Benutzer einem Telefonie-Server mit, unter welchen Aliasnamen er erreichbar sein möchte. Ein Benutzer kann über eine Menge von Aliasnamen verfügen, die in der Regel ein Name gefolgt von einer Domäne, z. B. faik@dn.fh-koeln.de, sind. Ein Anrufer kann bei einem Telefonie-Server erfragen, wo sich der gewünschte Gesprächspartner befindet. Der Server ist in der Lage, einem Aliasnamen eine entsprechende Transportadresse zuzuordnen. In einem IP-Telefonnetz können mehrere Telefonie-Server parallel arbeiten. Sollte der gewünschte Benutzer bei einem anderen Server registriert sein, so kann der erste Server bei dem anderen die Transportadresse des Benutzers erfragen, da er selber keine Informationen über den Benutzer besitzt. Für den Anrufer bleibt dieser Vorgang verborgen. Ein Telefonie-Server kann Anrufe genehmigen oder ablehnen. Die Entscheidung kann von unterschiedlichen Faktoren abhängig sein. Denkbar sind Faktoren wie: - Wer ist der Benutzer? Hat dieser spezielle Privilegien? - Wie stark ist das Netz ausgelastet? Überschreitet ein weiteres Gespräch die Kapazität des Netzes? - Verursacht das Gespräch Kosten, die nicht entstehen dürfen? Gateway Ein Gateway verbindet verschiedene Netze miteinander, wodurch z. B. ein Telefonat von einem IP-Netz in das PSTN möglich ist. Ein Gateway übersetzt dazu die Anrufsignalisierung des einen Netzes in die des anderen. Auch die Datenströme werden aufeinander abgebildet und übersetzt. Abbildung 6: Anrufbeispiel von PSTN nach IP
  • 17. 2. VoIP (IP-Telefonie) 12 Abbildung 6 zeigt ein Anrufbeispiel von einem Anschluss im PSTN zu einem Rechner mit IP- Telefonie-Software. Betrachtet wird dabei nur die Anrufsignalisierung. Der Anrufer wählt die gewünschte Nummer. Da er von einem normalen Telefon anruft, stehen ihm nur Ziffern zur Verfügung. Die Nummer 218-9999 ist einem Gateway des Betreibers des IP-Netzes zugeordnet. Dort wird festgestellt, dass der Benutzer mit dem Aliasnamen 2800 gewünscht wird. Der Gateway wendet sich an einen Telefonie-Server, der feststellt, dass die Nummer 2800 dem Benutzer „bunti“ zugeordnet ist, und dass dieser sich an dem Rechner mit der IP- Adresse 134.102.218.70 befindet. Daraufhin wird die Verbindung hergestellt. 2.3.3 Anrufsignalisierung Bei der Anrufsignalisierung baut der anrufende Endpunkt eine Verbindung zum angerufenen Endpunkt auf. In erster Linie geht es dabei darum, dass der angerufene Endpunkt weiß, dass eine Gesprächsverbindung aufgebaut werden soll. Er kann dabei zusätzliche Informationen über den anrufenden Endpunkt erfahren, z. B. den Namen oder die Telefonnummer des Anrufers. In der IP-Telefonie ist der Kanal für die Anrufsignalisierung getrennt von dem Kanal für die Mediendaten. Abbildung 7: Anrufsignalisierung Abbildung 7 zeigt vereinfacht, wie der Verbindungsaufbau abläuft. Der anrufende Endpunkt (Endpunkt 1) signalisiert dem angerufenen Endpunkt (Endpunkt 2) seinen Verbindungs- Wunsch. Endpunkt 2 signalisiert Endpunkt 1, dass er den Wunsch verstanden hat (Ringing) und jetzt reagiert. Sobald der Benutzer das Gespräch angenommen hat, signalisiert Endpunkt an Endpunkt 1, dass die Verbindung zustande gekommen ist (Connect). Nachdem Endpunkt 2
  • 18. 2. VoIP (IP-Telefonie) 13 über den Verbindungswunsch Bescheid weiß, handeln die beiden Endpunkte den Codec13 aus, mit dem die Sprachinformationen übertragen werden. Anders als im PSTN können bei der IP- Telefonie verschiedene Kodierungsverfahren verwendet werden. Wenn die Anrufsignalisierungsphase beendet ist, bleibt der Kanal dennoch bestehen, da Steuerinformationen für das Gespräch weiterhin über diesen Kanal ausgetauscht werden. Diese Steuerinformationen können z. B. Übergabe an einen anderen Gesprächspartner oder Beenden des Gespräches sein. 2.3.4 Medienübertragung Die Verbindung für die Mediendaten wird nach der Codec-Aushandlung geöffnet und erst beim Beenden des Gespräches oder bei einer Änderung des Codecs wieder geschlossen. Bei der herkömmlichen Telefonie gibt es nur einen Kanal für die Mediendaten, der leitungsorientiert ist. VoIP ist hingegen - wie vorhin erwähnt - paketorientiert, wobei die zu übertragenen Daten (Pakete) verschiedene Wege nehmen. 2.3.5 Transportprotokolle Die Nutzer von TCP/IP-Netzwerken haben grundsätzlich die Wahl zwischen TCP (Transmission Control Protocol, RFC14 793) und UDP (User Datagram Protocol, RFC 768) als Transportprotokoll. Abbildung 8: TCP und UDP im TCP/IP-Protokollstack15 Der Unterschied zwischen den Transportprotokollen TCP und UDP liegt darin, dass das TCP ein verbindungsorientiertes Protokoll ist. Das heißt, beim TCP-Protokoll wird zwischen zwei 13 Codec: Abkürzung für Coder/Decoder oder Compressor/Decompressor [20] (siehe Kapitel 2.5) 14 RFC: Die Requests for Comments (kurz RFCs; zu Deutsch etwa „Bitten um Kommentare“) sind eine Reihe von technischen und organisatorischen Dokumenten zum Internet, die am 7. April 1969 begonnen wurde. 15 Standard von IEEE zum Aufbau lokaler Netzwerke, IEEE (Institute of Electrical and Electonicss Engineers) ist der weltweit größter professioneller Zusammenschluss von Ingenieuren.
  • 19. 2. VoIP (IP-Telefonie) 14 Sockets (Verbindungsendpunkten) eine Verbindung aufrechterhalten, solange die Kommunikation zwischen Client und Server anhält. Beim UDP-Protokoll muss keine schon aufgebaute Verbindung zwischen Client und Server bestehen, sondern dem so genannten Datagramm (Nutzinformation) wird nur der Endadressat mitgegeben, ob dieser nun erreichbar ist oder nicht. Es ist somit direkt eingeplant, dass das Datagramm seinen Kommunikationspartner gar nicht erreicht, falls dieser zurzeit nicht bereit ist, Daten zu empfangen. TCP ist zur Übertragung von Datenströmen gut geeignet und effizient, solange der Datentransport nicht an Zeitgrenzen gekoppelt ist. Eine eigentlich positive Eigenschaft des TCP-Protokolls, nämlich nicht eingetroffene Datenpakete erneut anzufordern, hat eine zeitverzögernde Wirkung auf den Datentransport, so dass man zumeist das UDP-Protokoll bei VoIP-Applikationen einsetzt. TCP wird dagegen in den meisten VoIP-Signalisierungsprotokollen für den Anrufaufbau verwendet. Da aber UDP ohne weitere Mittel zur Übertragung von isochronen16 Audio- und Videodaten nicht ausreicht, benutzt man z.B. die IETF17-Empfehlungen RTP (Real Time Transfer Protocol, RFC 1889) bzw. RTCP (Real Time Control Protocol). RTP und RTCP wurden als Echtzeit-Transportprotokolle entwickelt und dienen dem Ende-zu- Ende-Transport von Echtzeitdaten. Innerhalb des RTP-Headers befindet sich unter anderem ein Datenfeld, das einen Zeitstempel (Timestamp) enthält, um die Echtzeitdaten zu synchronisieren. Die im folgenden kommenden Abschnitte 2.7 und 2.8 stellen zwei verschiedene Standards der IP-Telefonie vor: H.323 und SIP. Beide Standards definieren eine Anrufsignalisierung für IP- basierte Netze. Für den Transport der Mediendaten verwenden beide Standards RTP. 16 Eine isochrone Übertragung zeichnet sich dadurch aus, dass die vom Sender zu übertragenden Datenpakete in einem gleichmäßigen Abstand gesendet werden und beim Empfänger in gleichmäßigem Abstand ankommen. Die Verzögerung der zu übertragenden Daten muss in so engen Grenzen liegen, dass dies zu keinem Fehlverhalten der Anwendung führt. Isochrone Anwendungen sind z.B. Sprach und Videoübertragungen von Live-Ereignissen. 17 IETF ist eine internationale Organisation, die Standards für Internetprotokolle definiert. Die von der IETF festgeschriebenen Standards werden in so genannten RFC’s veröffentlicht.
  • 20. 2. VoIP (IP-Telefonie) 15 2.4 Quality of Service Den Begriff Quality of Service (QoS) kann man definieren als die Fähigkeit, eine gewisse Sicherheit bezüglich der Erfüllung von Dienstanforderungen (z.B.: Verständlichkeit der Sprache, kein Echo etc) bieten zu können. Hinsichtlich der Sprachqualität könnte man QoS als eine Anzahl der folgenden Bedingungen für eine ausreichende Verständlichkeit der Sprache definieren: Die Bandbreite muss ausreichend sein und dauerhaft zur Verfügung stehen Zeitdingungen wie Verzögerung (Delay) und Verzögerungsschwankung (Jitter) müssen eingehalten werden Geringer Prozentsatz an verloren gegangenen Daten und gute Sprachkodierer Diese Bedingungen gelten sowohl für kanalorientierte GSTN-Netze18 als auch für die paketorientierte IP-Telefonie. Eine QoS sollte immer Ende zu Ende zwischen zwei kommunizierenden Partnern zur Verfügung stehen. Das bedeutet, dass QoS auf dem gesamten Weg durch das Netz von allen Netzelementen unterstützt werden muss. Die paketoreintierte IP-Telefonie hat spezielle Eigenschaften wie lange Verzögerungen, Jitter und Paketverluste. Das Thema QoS ist einerseits durch viele ITU-Empfehlungen, Arbeiten von ETSI TIPHON19 (Work Group 5) bzw. in der IETF und durch viele Forschungsprojekte abgedeckt. [18] 2.4.1 Verzögerung (Latency) Ein großes Problem bei der Übertragung von Audio- oder Videodaten sind die Verzögerungs- (delay time) oder Wartezeiten des Empfängers während der er auf gesendete Daten warten muss. Es gibt zwei arten von Verzögerungen: die Ausbreitungsverzögerung (Propagation-Delay) und die Verarbeitungszögerung (Handling-Delay). Die Ausbreitungs-Verzögerung wird durch die Lichtgeschwindigkeit in Glasfaser oder kupferbasierte Netzwerken verursacht. Die Verarbeitungsverzögerung, auch Prozess-Verzögerung genannt, umfasst viele verschiedene Verzögerungsursachen (momentane Paketrate, Komprimierung und Paket- Switching) und wird durch Geräte verursacht, die den Frame durch das Netzwerk 18 GSTN: General Switched Telefone Network, Bezeichnung für kanalorientierte Telefonnetze. Diese gliedern sich in das öffentliche Festnetz (PSTN) und das öffentliche Mobilfunknetz, das Public Land Mobile Network PLMN. 19 TIPHON: Abkürzung für Telecommunications and Internet Protocol Harmonization Over Networks. Projekt des ETSI (European Telecommunications Standards Institute) zur Erarbeitung von Schnittstellen und Rahmenvereinbarungen für die Architektur der Zusammenschaltung von leistungsvermittelnden und paketorientierten öffentlichen Netzen. Dies dient v.a. der Internet-Telefonie auf der Basis der H.323- Protokollfamilie.
  • 21. 2. VoIP (IP-Telefonie) 16 weiterleiten. Für die Sprachübertragung im klassischen Telefonnetz wurden maximale Ende-zu-Ende- Laufzeiten definiert, die für den nationalen Bereich 25 ms und für den internationalen Bereich 150 ms betragen dürfen. Innerhalb eines normalen TCP/IP-Netzwerks kommt es bei der Datenübertragung zu Verzögerungen von bis zu mehreren 100 ms, die auf der Einteilung der Nutzinformationen in einzelne Datenpakete sowie auf dem Zusammensetzen einzelner Datenpakete zu einem Ganzen basieren. Auch aktive Netzwerkkomponenten, wie z.B. Switches oder Router beeinflussen die Verzögerungszeiten der zu übertragenden Datenpakete innerhalb eines TCP/IP-Netwerks sehr. Verursachte Netzwerk-Hardware Bemerkungen Verzögerung Netzwerkkarte 0,2 – 1 ms Abhängig vom Netzwerk- karten-Typ (1000 – 10 MBit/s) Router 35 – 200 ms Abhängig vom Router-Typ Switch (Layer 2) 35 – 100 ms Abhängig vom Switch-Typ Switch (Layer 3) 70 – 250 ms Hardware-basierter Switch Switch (Layer 3) > 120 ms Software-basierter Switch Firewalls oder Proxy-Server > 400 ms Tabelle 1: Typische Verzögerungszeiten durch klassische Netzwerkhardware Dagegen übertrug Cisco den Hauptteil des Framing und der Paketformung auf den DSP (siehe Kapitel 2.2.1), um den Router-Overhead möglichst gering zu halten. Der Real Time Transport-Protokoll-(RTP)Header wird z.B. im DSP auf den Frame gesetzt, anstatt dem Router diese Aufgabe zu überlassen. Kommt es wegen mangelnder Bandbreite innerhalb eines TCP/IP-Netzwerks zu erhöhten Kollisionen20 und somit zu einer erhöhten Anzahl von Datenpaketen, die wiederholt vom 20 Grund für Kollisionen ist es, dass bei dem CSMA/CD-Verfahren (Carreir Sense Muliple Access with Collision Detection) eine sendwillige Station im Netzwerk horcht, ob Datenpakete übertragen werden. Ist dies nicht der Fall, so fängt sie an, ihre Daten auf das Netzwerk zu geben. Tut dies gleichzeitig eine andere Station, kommt es zu einer Kollision, die zu einer Verwerfung der zu übertragenen Daten und zu einem Abbruch der Übertragung führt, sowie zu einer weiteren Verzögerung, bis die Stationen erneut versuchen, ihr Daten zu übertragen.
  • 22. 2. VoIP (IP-Telefonie) 17 Sender zum Empfänger übertragen werden müssen, so wird die gesammte Verzögerungszeit rasant anwachsen. Die einfachste Art, für ausreichende Bandbreite zu sorgen, ist die Überdimensionierung des Netzes. Sie ist heute kurzfristig durchaus einsetzbar, in der Zukunft bei immer höher werdenden Zugangsdatenraten und bei der hohen Konkurenzsituation zwischen den Betreibern allerdings teuer. Weiter Grund für die Verzögerung der Datenübertragung ist das Queuing. Wenn Pakete wegen Datenstau an einer ausgehenden Schnittstelle in eine Queue (Warteschlange) gesetzt werden, resultiert daraus eine Queuing-Verzögerung. Die Queuing-Verzögerung tritt auf, wenn mehr Pakete ausgesendet werden, als die Schnittstelle in einem bestimmten Zeitraum verarbeiten kann. Dagegen werden Bandbreitenreservierungen und Verkehrspriorisierungen eingesetzt. Um eine Bandbreite reservieren zu können, benötigt man eine Einteilung des Verkehrs in verschiedene Qualitätsklassen. Dazu dienen Protokollfelder von TCP/IP wie das Type-of- Service-Feld im IPv4-Header bzw. das Trafic-Class-Feld im IPv6-Header. Abbildung 9 zeigt das Type-of-Service (TOS)-Feld von IPv4. Precedence: Rangordnung D: Deley, Verzögerung Normal (0), Low (1) T: Throughput, Datenübertragungsbandbreite, Normal (0), High (1) R: Reability, Zuverlässigkeit Normal (0), High (1) C: Cost, Kosten Normal (0), Minimale Kosten (1) Abbildung 9: Type of Servise des IP-Headers des RFC 791 (IPv4) [16] Der Precedence-Bereich erlaubt es Routern in Zeiten großen Datenaufkommens, diejenigen Daten herauszufiltern und als erste weiterzutransportieren, die den höchsten Rang oder die höchste Priorität haben. Der Bereich Type of Service beschreibt die Eigenschaft der gewünschten Datenübertragung. Es ist auch notwendig verschiedene Prioritätsklassen in Routern zu realisieren, dafür besitzen moderne Router hardwaremäßig eine bestimmte Anzahl von Warteschlangen (Queues).
  • 23. 2. VoIP (IP-Telefonie) 18 Außerdem erfolgt die Steuerung der einzelnen Warteschlangen über einen Mechanismus, der entscheidet, welche Pakete welcher Warteschlangen für die Einhaltung der QoS- Anforderungen als Nächstes nach einer festgelegten Regel gesendet werden (Scheduling). Man muss Scheduling-Methoden einsetzen, die den Spachverkehr bevorzugen. Dazu gehört LLQ21, die von vielen genutzt wird, die VoIP-Netzwerke in Umgebungen mit geringen Bandbreiten einsetzen (weniger als 768 Kbps). 2.4.3 Jitter Einfach ausgedrückt ist Jitter die Zeitschwankung zwischen der Ankunft einzelner Pakete. Jitter tritt nur in paketbasierten Netzwerken auf. In einer Paket-Sprach-Umgebung wird erwartet, dass der Sender die Sprachpakete zuverlässig in einem regelmäßigen Intervall überträgt (z.B. alle 20 ms ein Frame). Diese Sprachpakete können verzögert werden und nicht im selben regelmäßigen Intervall an der empfangenden Station ankommen. Der Unterschied zwischen dem Zeitpunkt, wann das Paket erwartet und dem Zeitpunkt, zu dem es wirklich empfangen wird, ist Jitter. [16] Daher wird ein Jitter-Puffer benötigt, der diese dynamische Paketverzögerung verschleiert. Abbildung 10: Delay und Jitter im paketbasierten Netzwerk [15] Viele Hersteller haben sich für den Einsatz von statischen Jitter entschieden, im Gegensatz zu Cisco. In der Cisco IOS22-Software werden RTP-Zeitstempel verwendet, um zu bestimmen, wie groß der Jitter innerhalb des Netzwerks ist. Der Jitter-Puffer von Cisco wächst oder 21 LLQ: Low Latency Queuing, dieser Queuing-Mechanismus wurde entwickelt, um Sprachverkehr absolute Priorität vor jedem anderen Verkehr auf einer Schnittstelle einzuräumen. 22 IOS: Internetwork Operating System ist das Betriebssystem von Cisco-Routern und Switches. Dieses wird beim Einschalten des Gerätes aus dem nichflüchtigen Flash-Speicher in den Hautspeicher geladen und stellt die grundlegenden Funktionen des Routing und/oder Switching zur Verfügung.
  • 24. 2. VoIP (IP-Telefonie) 19 schrumpft dynamisch, je nach Verzögerungsvarianz der letzten empfangenen Paketen und ist somit ein dynamischer Jitter-Puffer. 2.4.4 Echo Unter Echo versteht man das zeitversetzte Hören seiner eigenen Stimme durch Verzögerung auf der Übertragungsleitung und Rückkopplung beim Empfänger. Alle heutigen Sprachdienste reflektieren einen gewissen Anteil des Signals zurück zum Sender. Man kann drei Arten von Echo unterscheiden: • Das elektrische Echo stammt aus einer Fehlanpassung der Impedanzen beim Übergang vom vieradrigen Netzwerk-Switch auf die Zweiadrige lokale Schleife (wie in Abbildung 11 gezeigt). Eine Impedanzanpassung ist wegen der unbekannten Impedanz der Zweidrahtleitung nicht möglich. • Das akustische Echo stammt aus der akustischen Rückkopplung zwischen Lautsprecher und Mikrofon. • Das einzige erwünschte Echo ist der so genannte „Sidetone“, der das Hören der eigenen Sprache im Lautsprecher des Telefons mit geringer Verzögerung bezeichnet.[18] Abbildung 11: Durch nicht abgestimmte Impedanzen erzeugtes Echo [16] Das Echo beeinflusst ganz wesentlich die Sprachqualität, wobei diese negative Beeinflussung von der Verzögerung im Hin und Rückrichtung und dem Amplitudenunterschied zwischen dem Ursprungs- und Echosignal ab. Dieser Amplitudenunterschied wird durch den Faktor TELR (Talker Echo Loudness Rating) in der ITU G.122 beschrieben. Maßnahmen zur Echokompensation sind ab einer Echo-Verzögerung von 20 – 30 ms unausweichlich; eine billige Variante zur Echokompensation sind Echounterdrücker (Echo Supressors), die eine hohe Dämpfung in den Sendepfad einschalten, wenn der andere Teilnehmer spricht. Diese Methode wird vor allem in billigen Endgeräten bei
  • 25. 2. VoIP (IP-Telefonie) 20 Freisprecheinrichtungen angewendet und hat den Nachteil einer Sprachunterdrückung, wenn beide Teilnehmer gleichzeitig sprechen. In der öffentlichen Telefonie werden Echosperren (Echo Cancellers) eingesetzt, die viel komplexer als Echounterdrücker sind, Echosperren schätzen den Echoanteil des Empfängers im Retoureweg zum Sender und subtrahieren diesen Anteil vom tatsächlichen Signal. Dazu wird ein mathematisches Model zusammen mit dem Ursprungssignal dazu verwendet, das Echo abzuschätzen. Moderne Echosperren können sich an das Signal und die Empfänger- Eigenschaften anpassen und werden mit digitalen Signalprozessoren (DSP’s) realisiert. Grundsätzlich sind Echosperren adaptive digitale Filter (FIR: Finite Impulse Response). Beim Beginn eines Gesprächs benötigt der Echokompensierer eine gewisse Zeit, um sich optimal einzustellen. Für eine Echofreie Verbindung in beide Richtungen ist eine Echosperre an beiden Enden notwendig. 2.4.5 Paketverluste (Packet Loss) Verluste von Sprachpaketen sind in TCP/IP-Netzen keine Besonderheiten und haben zwei Ursachen: Die erste Ursache sind Verstopfungen im Netz, die zu einem hohen Füllgrad der Warteschlangen in den Routern und damit zu einem Verwurf von Paketen führen. Bei der Verwendung von TCP führ ein Paketverlust zu einer Wiederholung der Übertragung. Bei der Übertragung der Sprache über TCP/IP würde eine wiederholte Übertragung nichts nützen, da nur ein kleines Zeitfenster zu Rekonstruktion der Sprachinformation zu Verfügung steht und daher UDP ohne Übertragungssicherheit verwendet wird. Um Paketverluste zu vermeiden, sind Mechanismen wie beispielsweise DiffServe für den hochprioren Sprachverkehr erforderlich, die einen garantierten Durchsatz bei minimalen Paketverlusten für priorisierten Verkehr ermöglichen. Die zweite Ursache für den Verlust von Sprachpaketen sind hohe Verzögerungen, wodurch die Pakete außerhalb des Jittebufferbereichs verzögert eintreffen und daher verworfen werden. Eine Verbesserung kann durch einen genügend großen Jitterbuffer erzielt werden, was allerdings die Gesamtverzögerung vergrößert. [18] Verluste, die 5 – 10 Prozent aller Sprachpakete überschreiten, können die Sprachqualität signifikant verschlechtern wie folgende Abbildung 12 zeigt, dabei ist MOS (Mean Opinion Score) eine Größe zur Bewertung der Sprachqualität (1: Schlecht bis 5: exzellent), (siehe Kapitel 2.5.3).
  • 26. 2. VoIP (IP-Telefonie) 21 5 4 MOS 3 2 1 1 3 5 7 9 11 13 15 17 19 Verlust von Sprachdaten [%] Abbildung 12: Verschlechterung der Sprachqualität durch Paketverluste [18] Wie aus der Abbildung ersichtlich ist, führen schon geringe Paketverlustraten kleiner 5 Prozent zu Qualitätseinbußen. Daher ist ein geringer Paketverlust kleiner 2 Prozent anzustreben. Für die Erkennung von verloren gegangenen Paketen verwenden die Gateways die Sequenznummer im RTP-Headers. Die verlorenen Sprachpakete können zur Verbesserung der Sprachqualität rekonstruiert oder versteckt werden (Packet Loss Concealment – PLC). Die einfachste PLC-Methode ist die Stummschaltung (Silence Substitution) für Verlustraten unter 1 Prozent, indem bei Paketverlust einfach stumm geschaltet wird. Eine bessere, ebenfalls einfache Methode ist die Wiederholung des letzten Pakets (Packet Repetition), bei der bei Paketverlust das letzte korrekt empfangene Sprachpaket wiedergegeben wird. Auch dieses häufig verwendete Verfahren ist nur bei geringeren Paketverlusten anwendbar. Bei höheren Paketverlusten sind ausgeklügeltere Maßnahmen notwendig: Eine Möglichkeit ist die Paketinterpolation (Packet Interleaving), die die verlorenen Sprachpakete durch ein synthetisches Sprachmodell abschätzt. [18] 2.4.6 Sprach-Aktivitäts-Entdeckung (Voice Activity Detection) Bei normalen Gesprächen spricht eine Person und die andere hört zu. Die heutigen gebührenpflichtigen Netzwerke enthalten einen bidirektionalen Kanal mit 64000 Bit pro Sekunde (Bps), ganz gleich, ob irgendjemand spricht. Das bedeutet, dass bei einem normalen Gespräch etwa 50 Prozent der gesamten Bandbreite verschwendet wird. Die Menge der
  • 27. 2. VoIP (IP-Telefonie) 22 verschwendeten Bandbreite kann in Wahrheit noch viel höher sein, wie sich herausstellt, wenn Sie eine statistische Aufzeichnung der Unterbrechungen und Pausen im normalen Sprachmuster einer Person vornehmen. Beim Einsatz des VoIP man diese „verschwendete“ Bandbreite für andere Zwecke nutzen, wenn die Sprach-Aktivitäts-Entdeckung (VAD: Voice-Activity-Detection) aktiviert ist. Wie in Abbildung 13 gezeigt, funktioniert VAD durch eine Messung der Sprachstärke in Dezibel (dB) und durch die Entscheidung, wann die Sprache nicht mehr in Frames eingebunden wird. Abbildung 13: Sprach-Aktivitäts-Entdeckung [16] Wenn die VAD einen Abfall der Sprachamplitude bemerkt, wartet sie gewöhnlich eine bestimmte Zeitdauer, bevor sie aufhört, die Sprachframes in Pakete zu verpacken. Diese feste Zeitdauer wird als Überhang {Hangover) bezeichnet und beträgt in der Regel 200 ms. Bei jeder Technologie treten Nachteile auf. VAD erfährt bestimmte innere Probleme bei der Bestimmung, wann Sprache endet bzw. beginnt und bei der Unterscheidung zwischen Sprache und Hintergrundrauschen. Wenn sich ein Gesprächsteilnehmer also in einem Raum voller Geräusche befindet, kann VAD nicht zwischen Sprache und Hintergrundrauschen unterscheiden. Dies wird auch als Signal/Rausch-Grenzwert (Signal-to-Noise Threshold; siehe 13) bezeichnet. In diesen Szenarien deaktiviert sich die VAD zu Beginn des Anrufs selbständig. Ein weiteres Problem der VAD ist die Erkennung, wann die Sprache einsetzt. Gewöhnlich wird der Beginn eines Satzes abgeschnitten. Dieses Phänomen wird als Front-End-Speech- Clipping bezeichnet. Normalerweise bemerkt die zuhörende Person das Front-End-Speech- Clipping nicht. [16] 2.5 Codecs
  • 28. 2. VoIP (IP-Telefonie) 23 In Kapitel 2.1 wurde schon darauf hingewiesen, dass bevor ein Telefongespräch über das Internet geführt werden kann, muss das analoge Audiosignal in ein digitales Signal umgewandelt werden. Dieser Prozess, sinnigerweise „Digitalisierung“ genannt, unterteilt sich in drei Schritte: Abtastung (oder auch Sampling), Quantisierung und Kodierung. Beim Sampling wird das analoge Signal in einer bestimmten Frequenz über die Zeit abgetastet und nur die zu diesen diskreten Zeitpunkten gemessenen Werte werden weiter berücksichtigt, alle anderen verworfen. Somit haben wir eine endliche Anzahl von Werten, die aber immer noch potentiell beliebig genau sein können. Dieses Problem wird durch den zweiten Schritt, die Quantisierung, gelöst. Die beliebig genauen Werte werden schlicht auf den nächsten diskreten Wert gerundet, die so genannten Quantisierungsintervalle. Bei diesem Runden entstehen natürlich Fehler, da nicht der exakte, sondern nur der gerundete Wert abgespeichert wird. Sind zu wenig Quantisierungsintervalle vorhanden, kann dieser Fehler zu hörbaren Qualitätseinbußen führen. Man nennt diesen Effekt daher auch Quantisierungsrauschen oder Quantisierungsfehler. Unter Kodierung versteht man ganz einfach die Beschreibung der Quantisierungsintervalle durch bestimmte binäre Codewörter. Dies schließt den Prozess analog-digital-Wandlung ab und wir haben nun ein rein digitales Signal vorliegen. Das Wiederherstellen der analogen Signale aus den digitalen wird als Dekodierung bezeichnet. Ein Codec (Coder/Decoder) ist ein Algorithmus, der die Aufgabe der Kodierung und Dekodierung erfüllt. Die Abkürzung Codec steht aber auch für (Compressor/Decompressor). Abbildung 14: Sprachkodierung für die Internetübtragung23 [27] Da oft nur eine geringe Bandbreite zur Verfügung steht, ist auch eine entsprechende Komprimierung des Signals notwendig. Dabei wird eine möglichst hohe Sprachqualität bei 23 De-Jitter-Buffer zur Paketverzögerungsverschleierung (Kapitel 2.4.3)
  • 29. 2. VoIP (IP-Telefonie) 24 einer möglichst niedrigen Datenrate angestrebt. Wählt man dabei ein Kodierverfahren mit niedriger Bitrate und hoher Kompression, so ist beim Kodieren und Dekodieren viel Rechenleistung notwendig. Steht diese nicht zur Verfügung, so muss zwangsläufig ein Verfahren verwendet werden, bei dem die Bitrate höher ist. Das Sprachsignal wird beim Sender kodiert, über das Internet übertragen und beim Empfänger dekodiert, also für die Wiedergabe in ein analoges Signal umgewandelt. Die wichtigste Forderung an das verwendete Kodierungsverfahren ist: das Signal muss in Echtzeit, das heißt mit minimaler Verzögerung, kodierbar und dekodierbar sein. Taugliche Verfahren lassen sich in den im kommenden Kapitel folgenden Hauptgruppen einteilen. Abbildung 15: Sampling und 8-Bit-Kodierung eines Analogsignals [15] 2.5.1 Kodierungsverfahren • Signalformkodierung Dabei wird das Analogsignal mit einer geeigneten Quantisierung, um die Originalform des Signals möglichst fehlerfrei zu reproduzieren. Die einfachste und am weitesten verbreitete Möglichkeit zur Realisierung dieses Verfahrens ist die Pulse Code Modulation (PCM). Das Nyquist-Theorem besagt, dass bei einer Aufnahme eines analogen Signals mit der doppelten Rate der höchsten noch interessanten Frequenz dieses Signals aus der Aufnahme heraus wieder genau in seiner analogen Form rekonstruiert werden kann. Da der meiste Sprachinhalt unter 4000 Hz liegt, ist eine Aufzeichnungsrate von 8000 Aufnahmen pro Sekunde (125 ms zwischen den Aufnahmen) erforderlich.
  • 30. 2. VoIP (IP-Telefonie) 25 PCM benutzt diese Abtastrate und eine 7- oder 8-Bit-Quantisierung. Das Ergebnis ergibt eine Datenrate von 56 Kbit/s (7Bits/Abtastung * 8 kHz) oder 64 Kbit/s (8Bits/Abtastung * 8 kHz). Bei PCM wird auf eine Komprimierung der Daten verzichtet, wodurch man auf breitbandige Übertragunswege angewiesen ist. Allgemein werden zwei grundlegende Varianten der PCM verwendet: µ-law (Nordamerika) und a-law (Europa). Diese Methoden erzielen eine Komprimierung durch eine logarithmische Einteilung der Quantisierungsintervalle. Eine andere häufig verwendete Möglichkeit der Signalkodierung ist die Differential Puls Code Modulation (DPCM). Im Unterschied zur PCM werden bei DPCM nicht die Amplituden der Sprachsignale kodiert, sondern die Unterschiede der Amplitude. Bei den Differenzen der Amplituden ist der Wertebereich naturgemäß kleiner, was zu weniger Datenaufkommen gegenüber der Standard-PCM führt. Nachteil dieses Verfahrens ist, dass bei schnellen Signalschwankungen schwerwiegende Quantisierungsfehler auftreten können. Durch anpassen der Schrittgröße des Quantisierers erreicht man eine Verbesserung der Sprachqualität, und dies ist das Prinzip der Adaptive Differential Puls Code Modulation (ADPCM). • Quellenkodierung (Analyse-Synthese-Verfahren) Quellenkodierer werden auch als Vocoder bezeichnet. Sie Versuchen das Eingangssignal durch Generierung eines künstlichen Signals in der Form zu reproduzieren, dass es sich dem Eingangssignal annähert. Dabei werden nur die Parameter eines Sprachmodels übertragen, somit sind die Datenraten extrem niedrig. Die leistungsfähigsten Vocoder sind die LPC-Vocoder (Linear Predictive Coding), sie arbeiten im Allgemeinen mit Bandbreiten von 2,4 Kbit/s. Quellenkodierer haben den niedrigsten Bandbreitenbedarf, werden in der IP-Telefonie jedoch nicht eingesetzt, da sie eine künstlich klingende Sprache erzeugen. • Hybride Verfahren Stellen eine Mischung aus den beiden oben genannten Verfahren dar und vereinen die Vorteile von Signalform- und Quellenkodierern. Die bekanntesten Methoden der hybriden Verfahren sind die CELP-Kodierung (Code Excitation Linear Predictive Coding), die ACELP (Algebraic Code Excitation Linear Predictive Coding), die auf kurze Verzögerungszeiten (<5 ms) optimierte LD-CELP (Low Delay Code Excitation Linear Predictive Coding), die CS-CELP (Conjugate
  • 31. 2. VoIP (IP-Telefonie) 26 Structure Code Excitation Linear Predictive Coding) und die MPMLQ (Multiple Maximum Likelihood Quantization). Die Bandbreiten erreichen zwischen 5,3 und 16 Kbit/s, die erzeugten Sprachqualitäten liegen zwischen „akzeptabel“ und „sehr gut“. 2.5.2 Sprachdaten-Komprimierung Die Komprimierung (Reduktion der Datenmenge) der kodierten Daten ist unumgänglich, um eine vertretbare Übertragungszeit oder gar Streaming24 sicherzustellen. Man unterscheidet Grundsätzlich zwei Arten der Audiokomprimierung: Die verlustfreie Komprimierung und die verlustbehaftete Komprimierung. Verlustfreie Komprimierung: Bei dieser Komprimierungsart ist das Ursprungssignal auch nach der Komprimierung noch eindeutig widerherstellbar und es treten keinerlei qualitätsmindernde Effekte auf. Das Grundprinzip der verlustfreien Komprimierung ist die Differenzkodierung mit linearer Prediktion. Differenzkodierung wurde schon in Kapitel 2.5.1 erläutert. Unter Prediktion versteht man das Nutzen des Wissens über das bereits kodierten Signals zur Vorhersage des Folgesignals. Auch hier speichert man nur die Differenz zwischen dem Signal und seiner Vorhersage. Wendet man nun noch eine Hufmann-Kodierung25 an, kann man auf diese Weise eine Kompressionsrate von immerhin 1:2 erreichen. Auch wenn diese Datenreduktion bereits beachtlich ist, reicht sie jedoch nicht aus um eine effiziente Übertragung über das Internet zu ermöglichen. Verlustbehaftete Komprimierung: Bei dieser Methode verringert man die Qualität gezielt, um sehr hohe Kompressionsraten zu erreichen. Das Grundprinzip: Nicht oder kaum wahrnehmbare Anteile der Audiodaten müssen nicht mitkodiert werden. Wie bereits eher erwähnt hat das menschliche Gehör einen Wahrnehmungsbereich von ca. 20 bis 22 kHz. Das heißt, Signale die außerhalb dieses Bereiches liegen, müssen gar nicht erst mitkodiert werden. Aber auch Signale, die innerhalb dieses Frequenzbereiches liegen können unter Umständen vom Menschen nicht wahrgenommen werden. Ein solches Phänomen ist die so genannte „Verdeckung“. 24 Streaming: Echtzeitübertragung (man hört, während man gleichzeitig noch herunterlädt) 25 Häufig vorkommende Kodewörter werden kürzer kodiert als selten vorkommende
  • 32. 2. VoIP (IP-Telefonie) 27 Allgemein versteht man unter Verdeckung die Überlagerung eines leisen Signals durch ein lautes Signal, so dass das leise Signal nicht mehr wahrnehmbar ist (man sagt auch, das Signal liegt unter der so genannten Verdeckungsschwelle). Abbildung 16: Signalverdeckung 2.5.3 Standards der Sprachkodierung Im diesem Unterkapitel werden die populärsten VoIP-Kodierungsstandards erläutert und kurz beschrieben (nach [16]). – G.711 – Beschreibt die bereits angesprochene PCM-Sprachkodierungstechnik. Die G.711-kodierte Sprache ist bereits in der korrekten Form für die digitale Sprachübertagung im öffentlichen Telefonnetzwerk oder durch Private Branch Exchanges (PBX’s) – G.726 – ADPCM-Kodierung mit 40, 32, 24 und 16 Kbps. Der Austausch der ADPCM-Sprache ist auch zwischen Paket-Sprach- und öffentlichen Telefon- oder PBX-Netzwerken unter der Voraussetzung möglich, dass Letztere über ADPCM- Fähigkeiten verfügen. – G.728 – Beschreibt eine 16 Kbps-Variante der CELP-Sprachkomprimierung mit geringer Verzögerung. – G.729 – Beschreibt die CELP-Komprimierung, mit der Sprache in 8 Kbps- Strömen kodiert werden kann. Zwei Varianten dieser Standards (G.729 und
  • 33. 2. VoIP (IP-Telefonie) 28 G.729a) unterscheiden sich stark in Hinsicht auf die Komplexität der Berechnung und beide ermöglichen im Allgemeinen Sprachqualitäten, die mit der 32 Kbps- ADPCM vergleichbar sind. – G.723.1 – Beschreibt eine Komprimierungstechnik, mit der Sprache mit einer geringen Bitrate komprimieren werden kann. Zwei Bitraten sind mit dieser Kodierung verbunden: 5,3 und 6,3 Kbps. Die höhere Bitrate basiert auf der MP- MLQ-Technologie und bietet eine bessere Qualität, Die geringere Bitrate basiert auf CELP, sie bietet gute Qualität und verleiht Systemdesignern zusätzliche Flexibilität. 2.5.4 Qualität der Codecs Die Qualität der Codecs lässt sich nach den folgenden Qualitätsmerkmalen beurteilen. • Datenrate Die Datenrate ist ein wichtiges Qualitätsmerkmal, da eine Leitung nur eine begrenzte Bandbreite besitzt und bei einer geringen Datenrate entsprechend mehr Kapazität anderen Teilnehmern oder Anwendungen zur Verfügung steht. • Sprachqualität Ein Maß für die Sprachqualität wurde als Mean Opinion Score (MOS) definiert. Er beschreibt das statische Empfinden der Sprachqualität eines Benutzers als Zahlenwert (von 1: Schlecht bis 5: exzellent). Die Sprachqualität soll möglichst verständlich und natürlich klingen, sodass der Sprecher nicht nur verstanden, sondern auch anhand der Stimme identifiziert werden kann. • Verzögerung Das Dekodieren und Enkodieren ist je nach Verfahren mehr oder weniger aufwändig. Entsprechend wird Zeit zum Dekodieren und Enkodieren benötigt, wobei eine wahrnehmbare Verzögerung beim Telefonieren nicht akzeptabel ist. Insgesamt dürfen nicht mehr als 150 ms inklusive Transport benötigt werden.[18] Je aufwändiger ein Codec ist, desto länger dauern Encodieren wie auch Decodieren, und desto größer ist die Verzögerung. Es gibt auch einen Zusammenhang mit der Datenrate. Je
  • 34. 2. VoIP (IP-Telefonie) 29 stärker ein Signal komprimiert wurde, desto kleiner ist das Datenaufkommen und somit die Datenrate. • Komplexität des Verfahrens Das Verfahren darf nicht so komplex sein, dass der Aufwand, der betreiben werden muss, um einen Codec zu implementieren, die Grenze des Wirtschaftlichen übersteigt. Normalerweise ist dies kein Hindernis, das Hardware nicht teuer ist und ständig durch billigere und leistungsfähigere Nachfolger abgelöst wird.[18] In der Praxis gibt es keinen idealen Codec, der all diesen Erfordernissen am besten gerecht wird. Jeder Codec hat seine Vor- und Nachteile, so dass man nur den optimalen auswählen kann. Codec Nutzdatenrate Verzögerung Prozessorlast MOS (Kbps) ms MIPS26 G.711 (PCM) 64 0,125 0 4,1 G.726 (ADPCM) 32 0,125 6,5 3,85 G.728 (LD-CELP) 15 2 37,5 3,61 G.729 (CS-ACELP) 8 20 34 3,92 G.729a (CS-ACELP) 8 20 17 3,7 G.723.1 (MP-MLQ) 6,3 70 25 3,9 G.723.1 (ACELP) 5,3 70 25 3,65 Tabelle 2: Vergleich von Qualität und Komplexität verschiedener ITU-Codecs [18] 26 MIPS: Million Instructions per Second
  • 35. 2. VoIP (IP-Telefonie) 30 2.6 H.323-Standard Der H.323 Standart (Packet Based Multimedia Communications Systems) ist eine Rahmenempfehlung der ITU-T27 von 1996 bzw. 1998 (Rev. 2) welche auf ca. 50 Standards verweist. Diese legen die technischen Voraussetzungen für die multimediale Kommunikation über nonguaranteed QoS-Netzwerke fest. Wobei besonders auf Beschreibung der Komponenten, Verarbeitung der Medienströme (Audio, Video, Daten), Verbindungsmanagment und Interworking verschiedener Netzwerke eingegangen wird. 2.6.1 Architektur H.323 beschreibt die Architektur und die Funktionen von einzelnen Systemkomponenten für die Übermittlung von Audio und Video in IP-Netzen. Die Summe aller Elemente (H.323 Entities) in einem Netzwerk wird als H.323 Netzwerk bezeichnet. H.323 unterscheidet zwischen folgenden Komponenten Terminal Ein H.323 Terminal ist ein Endgerät, mit dem eine bidirektionale Echtzeitkommunikation mit anderen Terminals bzw. Gateways oder einer MCU möglich ist. Gateway Wie Terminals, so sind auch Gateways Endgeräte in einem H.323 Netzwerk. Gateways ermöglichen die Verbindung eines H.323 Netzwerks zu anderen Netzwerken, wie z. B. dem SCN. MCU (Multipoint Controler) Eine MCU ermöglicht den Aufbau einer Konferenzschaltung (Multipoint-Konferenz) zwischen mehreren Endgeräten. Gatekeeper Als zentrale Stelle in einem H.323 Netzwerk übernimmt der Gatekeeper verschiedene Kontroll- und Verwaltungsaufgaben für alle registrierten Endgeräte. Eine Gruppe von Terminals, die von einem Gatekeeper kontrolliert wird, bildet eine H.323-Zone (kurz Zone). 27 ITU-T: Telecommunication Standardization Sector of ITU
  • 36. 2. VoIP (IP-Telefonie) 31 Abbildung 17: H.323-Komponenten 2.6.2 H.323-Protokollsuite Die H.323-Protokollsuite basiert auf mehreren Protokollen, die in Abbildung 18 gezeigt sind. Die Protokollfamilie unterstützt Erlaubnis, Aufbau, Zustand, Trennung, Medienströme und Meldungen vom Anrufen in H.323-Systemen. Abbildung 18: H.323-Protokollhierarchie 2.6.2.1 RAS-(Registration Admission Status) Signalisierung Es handelt sich hier um die Steuerung, die zwischen Terminals und Gatekeeper abläuft. Der Gatekeeper stellt quasi eine Zentrale innerhalb einer H.323-Zone dar. Ein Terminal kann nur
  • 37. 2. VoIP (IP-Telefonie) 32 dann eine Verbindung initiieren, wenn es beim Gatekeeper bereits registriert ist. Beim Verbindungsaufbau muss jedes Terminal jede neue Verbindung beim Gatekeeper anmelden, falls keine sog. pre-granted Admission, also eine „Vorausbewilligung“ vorliegt. Damit wird auch die benötigte Bandbreite beim Gatekeeper angemeldet. Dafür wird ein RAS-Kanal zwischen Endpunkten und dem Gatekeeper über ein IP-Netzwerk eingerichtet. Diese unzuverlässige UDP-Verbindung überträgt die RAS-Meldungen, die die Registrierungs-, Erlaubnis-, Bandbreitenänderungs- und Zustandsprozeduren ausführen. Gatekeeper-Entdeckung Innerhalb einer Zone können mehrere Gatekeeper eingesetzt werden, um die Ausfallsicherheit zu erhöhen. Jeder Endpunkt einer Zone wird von einem Gatekeeper dieser Zone verwaltet. Somit muss jeder neue Endpunkt bei einem Gatekeeper registriert werden. Hierfür muss zuerst ermittelt werden, welcher Gatekeeper für die Verwaltung des neuen Endpunktes zuständig ist. Jeder neue Endpunkt muss somit seinen Gatekeeper entdecken (auffinden). Abbildung 19 illustriert die Gatekeeper-Entdeckung. Um den Gatekeeper zu entdecken, sendet ein Endpunkt eine Multicast-Nachricht GatekeeperRequest (GRQ). Ein oder mehrere Gatekeeper können mit einer Nachricht GatekeeperConfirmation (GCF) antworten, in der sie dem Endpunkt ihre Bereitschaft signalisieren, als dessen Gatekeeper zu fungieren. Falls mehrere Gatekeeper auf die Anfrage antworten, steht es dem Endpunkt frei, für welchen er sich entscheidet. Der Gatekeeper, der für den Endpunkt nicht zuständig ist, antwortet mit GatekeeperReject (GRJ). Abbildung 19: Endeckung des zuständigen Gatekeeper (GK) [1] Registrierung Die Registrierung beim Gatekeeper ist der Prozess, während dessen Ablauf ein neuer Endpunkt einer Zone den Gatekeeper über seine Adresse für Audio- und Videokommunikation informiert. Sie wird bei H.323 als Alias-Adresse bezeichnet. Da jedes IP-Telefon über eine Telefonnummer bzw. eine Alias-Adresse, in der Form
  • 38. 2. VoIP (IP-Telefonie) 33 Tel-Nr@xyz.de, verfügen muss, handelt es sich hierbei um die Bekanntgabe seiner Alias- Adresse. Abbildung 20 illustriert die Registrierung. Ein Endpunkt sendet eine Nachricht RegistrationRequest (RRQ) zum Gatekeeper mit der Angabe seiner Alias-Adresse. Der Gatekeeper muss bei der Registrierung die Alias-Adresse des Endpunktes zu seiner IP- Adresse zuordnen und dies in einer speziellen Tabelle mit den Zuordnungen Alias-Adresse => IPAdresse eintragen. Der Gatekeeper kann entweder mit RegistrationConfirm (RCF) die Registrierung annehmen oder mit RegistrationReject (RRJ) die Registrierung ablehnen. Wie Abbildung 20 zeigt, kann sich ein Endpunkt beim Gatekeeper durch das Absenden von UnregistrationRequest (URQ) deregistrieren (abmelden). Der Gatekeeper kann die Deregistrierung entweder mit UnregistrationConfirm (UCF) bestätigen oder mit UnregistrationReject (URJ) ablehnen. Abbildung 20: Ablauf: a) der Registrierung, b) der Deregistrierung [1] Lokalisierung der Endpunkte Eine Aufgabe jedes Gatekeepers besteht in der Verwaltung einer Tabelle mit der Zuordnung Alias-Adresse => IP-Adresse. Die Abfrage der IPAdresse eines Endpunktes wird bei H.225.0 als Location-Prozess bezeichnet. Abbildung 21 veranschaulicht die Bedeutung dieses Prozesses. Hier fragt der Endpunkt A seinen Gatekeeper GK1 nach der IP-Adresse des Endpunktes B, d.h. seines Kommunikationspartners, bereits bei der Anmeldung der zu initiierenden Verbindung mit der Nachricht ARQ ab. Befindet sich der Endpunkt B aber in einer anderen (H.323-)Zone, so muss GK1 die IP- Adresse des Endpunktes B vom Gatekeeper dieser Zone abfragen. Hierfür definiert H.225.0 entsprechende Nachrichten. Wie Abbildung 21 zeigt, sendet der GK1 der Zone 1 an den GK2 der fremden Zone 2 die Nachricht LocationRequest (LRQ), in der er die Alias-Adresse des Endpunktes B angibt und nach seiner IP-Adresse fragt. Der GK2 antwortet normalerweise mit LocationConfirm (LCF),
  • 39. 2. VoIP (IP-Telefonie) 34 in der die gewünschte IPAdresse enthalten ist. Falls der GK2 die gewünschte IP-Adresse nicht liefern kann, antwortet er mit LocationReject (LRJ). Abbildung 21: Verlauf eines Location-Prozesses [1] Zulassung von Verbindungen Jeder Endpunkt darf nur dann eine abgehende Verbindung für Audio- bzw. Videokommunikation initiieren bzw. eine ankommende Verbindung annehmen, wenn dies vom Gatekeeper zugelassen wurde (Admission). Damit kann der Verbrauch der Übertragungskapazität (Bandbreite) im IP-Netz vom Gatekeeper kontrolliert werden. Nach dem Ablauf der Kommunikation muss eine abgebaute Verbindung beim Gatekeeper abgemeldet werden, sodass er die reservierte Bandbreite für andere Verbindungen freigeben kann. Abbildung 22 zeigt die Zulassung (Admission) einer Verbindung für Audio- bzw. Videokommunikation und Freigabe der reservierten Bandbreite (Disengage) nach dem Abbau der Verbindung. Abbildung 22: Funktionen Admission und Disengage [1]
  • 40. 2. VoIP (IP-Telefonie) 35 2.6.2.2 Anruf-Kontroll-Signalisierung (H.225) Um eine Verbindung zwischen zwei Endpunkten für die Übermittlung von Echtzeitmedien (Audio/Sprache, Video) aufbauen zu können, werden zwei Signalisierungsprotokolle H.225.0 und H.245 als H.323-Signalisierung (kurz H.323-SIG) verwendet. H.225.0 definiert ein Anruf-Signalisierungs-Protokoll (Anruf-SIG-Protokoll), nach dem der H.245-Kanal aufgebaut und abgebaut wird. Über den H.245-Kanal werden logische RTP- und RTCP-Kanäle für die Audio/Video-Kommunikation eingerichtet. H.225.0 nutzt einige Nachrichten des D-Kanal- Protokolls Q.930/Q931 vom ISDN. Bei H.225.0 handelt es sich im Prinzip um eine Realisierung des D-Kanal-Protokolls über TCP-Verbindungen. 2.6.2.3 Medien-Kontroll-Signalisierung (H.245) Es handelt sich hier um die Steuerung beim Auf- und Abbau logischer Kanäle für die Audio- und Video-Übermittlung. Diese logischen Kanäle stellen die RTP-Sitzungen (Real Time Transport Protocol) dar und entsprechen weitgehend den B-Kanälen im ISDN. Die Steuerung beim Auf- und Abbau logischer Kanäle wird zwischen jeweils zwei Terminals über den H.245-Steuerungskanal ausgetauscht. Für die Übermittlung von H.245-Nachrichten wird das Protokoll TCP verwendet Die wichtigsten Funktionen von H.245 sind: Austausch der Terminal-Fähigkeiten (Capability Exchange), Master/Slave-Festlegung28 (Master/Slave Determination), Aufbau und Abbau logischer RTP/RTCP-Kanäle für die Übermittlung verschiedener Medien (Audio, Video, Daten), 2.6.2.4 Anruf-Signalisierung (Q.931) Der Q.931 Standard der ITU beinhaltet Prozeduren für den Auf- und Abbau einer Verbindung im ISDN. Die Signalisierung verläuft dabei über den D-Kanal des ISDN-Anschlusses. Für die Signalisierung in H.323 wird ebenfalls Q.931 verwendet. Diese Designentscheidung ist historisch bedingt, da zu Beginn von H.323 versucht wurde, Standards und Protokolle aus dem ISDN (bzw. von H.320) zu übernehmen. 28 Mit der Master/Slave-Festlegungsprozedur wird für einen bestimmten Anruf bestimmt, welcher Endpunkt der Master und welcher der Slave ist. Die Beziehung bleibt für die Dauer des Anrufs bestehen und sie ist zuständig für die Auflösung von Konflikten zwischen den Endpunkten. Die Master/Slave-Regeln kommen zum Einsatz, wenn beide Endpunkte zum selben Zeitpunkt ähnliche Aktionen anfordern.
  • 41. 2. VoIP (IP-Telefonie) 36 2.6.2.5 Unterstützung von Datenanwendungen nach T.120 Der ITU-T-Standard T.120 beschreibt die Prinzipien der Datenkommunikation bei den PC- basierten Videokonferenzen und ist integrierbar in H.323. Parallel zur Sprach- und Videokommunikation kann zwischen jeweils zwei Terminals auch die Datenkommunikation nach T.120 stattfinden. 2.6.2.6 Struktur von Anruf-SIG-Nachrichten beim H.225.0 Als Anruf-SIG-Nachrichten beim H.225.0 werden die Q.931-Nachrichten in einer erweiterten Form verwendet. Abbildung 23 zeigt, wie die Anruf-SIG-Nachrichten strukturiert sind und wie sie in IP-Paketen übermittelt werden. Abbildung 23: H.225.0-Anruf-SIG-Nachrichten in IP-Paketen [1] Für den H.225.0-Einsatz werden die Q.931-Nachrichten um zusätzliche und H.225.0- spezifische Angaben erweitert, die man als User-to-User Information Elements (UUIEs) bezeichnet. UUIEs werden am Ende einer Q.931-Nachricht angehängt. Um die Länge der erweiterten Q.931-Nachricht, die eine H.225.0-Anruf-SIG-Nachricht darstellt, angeben zu können, wird der Header des Protokolls TPKT (Transport PacKeT) nach RFC 2126 der Q.931-Nachricht vorangestellt. Somit wird ein TPKT-Paket aus einer H.225.0-SIG-Nachricht gebildet und über eine TCP- Verbindung übermittelt.
  • 42. 2. VoIP (IP-Telefonie) 37 Jede Q.931-Nachricht enthält immer folgende Angaben: Message type als Angabe des Nachrichtentyps (Setup, Alerting, ...). Call reference als Identifikation des Anrufes, d.h. auf welchen Anruf sich diese Signalisierung bezieht. Protocol discriminator als Identifikation des Protokolls Q.931. Informationselemente IEs (Information Elements) als Parameter der Nachricht, die oft optional sind. Die folgenden Q.931-Meldungen sind die am häufigsten verwendeten Signalisierungs- Meldungen in H.323-Netwerken: Setup: (Einrichtung) wird von der anrufenden Einheit zur angerufenen gesendet. Mit „Setup“ wird versucht, eine Verbindung einzurichten. Call-Proceeding: wird von der angerufenen Einheit zur anrufenden gesendet. Mit (Anruffortschritt) Call-Proceeding wird angezeigt, dass die Prozeduren zur Anrufeinrichtung gestartet wurden. Alerting: (Alarmierung) wird von der angerufenen Einheit gesendet, um mitzuteilen, dass das Klingeln an der angerufenen Seite gestartet wurde. Connect: (Verbinden) wird von der anrufenden Einheit zur angerufenen gesendet, die anzeigt, dass die angerufene Seite den Anruf beantwortete. Die Q.931-Nachrichten und UUIEs werden mit Hilfe von ASN.1 spezifiziert. ASN.1 (Abstract Syntax Notation No. 1) spezifiziert. ASN.1 dient als Sprache für die Beschreibung von Nachrichten der Protokolle in den Telekommunikationssystemen. 2.6.3 H.323-Verbindungsablauf Abbildung 24 stellt ein Beispiel eines Verbindungsablaufes dar, bei dem die H.323- Protokollfamilie die Einrichtung eines Anrufs zwischen zwei Endpunkten erreicht. Wir gehen davon aus, dass es sich um einen Sprachanruf handelt und dass beide Endpunkte die Registrierung beim Gatekeeper bereits abgeschlossen haben.
  • 43. 2. VoIP (IP-Telefonie) 38 Abbildung 24: H.323-Verbindungsablauf [16] 2.6.4 Zusammenfassung H.323 ist ein hybrides System, das aus zentralisierten intelligenten Gatekeepern, MCUs und weniger intelligenten Endpunkte zusammengesetzt ist. Obwohl der H.323-Standard in neueren Veröffentlichungen vervollständigt wurde, sind Probleme aufgetreten, wie z.B. lange Anruf Einrichtungszeiten, Overhead29 bei einem mit allen Features ausgestatteten Konferenz- Protokoll viele erforderliche Funktionen in jedem Gatekeeper und Skalierungsprobleme bei Implementierungen, bei denen Anrufe durch Gatekeeper geroutet werden. Wenn High- Density-Gateways für die Anbindung ans PSTN benötigt werden, werden Alternativen wie das Simple Gateway Control Protocol (SGCP) und das Media Gateway Control Protocol (MGCP) entwickelt. Diese Anruf-Kontroll-Systeme ermöglichen eine effektivere und skalierbarere Lösung, um Implementierungen für Carrier befriedigen zu können. Entsprechend löst SIP (Session-lnitiation-Protokoll) einige Probleme des H.323 für intelligente Endpunktkonfiguration und es wird als Alternative zu H.323 eingesetzt. SIP wird ausführlich in Kapitell 2.7 diskutiert. 29 In der Kommunikation werden mit Overhead alle Informationen bezeichnet, die zusätzlich zu den Nutzdaten übertragen werden. Das sind Daten, die technisch erforderlich sind, wie Header in Datenpaketen, Routing- und Kontrolldaten, Prüfzeichen usw.
  • 44. 2. VoIP (IP-Telefonie) 39 2.7 SIP (Session Initiation Protocol) Das Session Initiation Protocol (SIP, RFC 2543, RFC 3261) wurde 1999 durch die IETF (Internet Engineering Task Force) standardisiert und wird zur Kommunikation zwischen SIP fähigen Endgeräten und Servern oder zwischen Endgeräten genutzt. SIP wurde in Anlehnung an die Struktur des Internets entwickelt. Die Architektur ist verteilt beziehungsweise modular. Das Protokoll ist im Klartext kodiert und der Aufbau ähnelt HTTP oder SMTP. Dadurch ist SIP im Gegensatz zu H.323 besser skalier- und erweiterbar (siehe Kapitel 2.9) SIP wurde nicht ausschließlich für die Verwendung bei VoIP vorgesehen. Ziel bei der Entwicklung von SIP war die Definition eines umfassenden Kommunikationssystems. SIP kann beispielsweise auch bei der Steuerung von Geräten, zum Versenden von Kurznachrichten oder auch zum Verbindungsaufbau bei Onlinespielen zum Einsatz kommen. 2.7.1 SIP-Protokollhierarchie Das Versenden von SIP Nachrichten erfolgt bevorzugt über UDP; TCP ist jedoch optional möglich. Dabei wird zur Kommunikation zwischen Endgerät und Server standardmäßig der Port 5060 verwendet. Bei Sprachverbindungen werden die Audiodaten mittels Real Time Transport Protocol RTP transportiert, dieses Protokoll versendet seine Pakete über UPD. Das Session Description Protocol (SDP) ist schwieriger einzuordnen. Es setzt auf dem SIP und dem RTP Protokoll auf, indem es seine Informationen im Body einer SIP-Nachricht verpackt bzw. das RTP Protokoll ansteuert. Abbildung 25: SIP-Protokollhierarchie 2.7.1 SIP-Architektur Gegenüber H.323-Systemen werden für SIP-Systeme nur zwei Komponenten benötigt: User Agent und SIP-Server, wobei SIP drei Server-Typen unterscheidet: Proxy-Server, Location Server und Redirect Server.
  • 45. 2. VoIP (IP-Telefonie) 40 User Agent Als User Agent (UA) werden alle SIP-fähigen Endgeräte (d.h. Softwaretelefon am PC, PDAs30, SIP-Telefone, aber auch PSTN-Gateways etc.) bezeichnet. Dabei wird meist noch eine (rein logische) Aufteilung in User Agent Client (UAC) und User Agent Server (UAS) vorgenommen, wobei jedoch jeder UA immer aus einem UAC und einem UAS besteht. Diese haben folgende Aufgaben: - UAC’s stellen Anfragen und verarbeiten Antworten - UAS’s empfangen Anfragen und versende Antwortnachrichten Abbildung 26: User Agent Proxy Server Diese spielen eine zentrale Rolle in einem SIP-Netzwerk. Ihre Aufgabe ist es, das Routing der SIP-Nachrichten zum Aufbau einer SIP-Verbindung zu übernehmen. Verbindungsgesuche eines Anrufers können über mehrere Proxies bis zum Aufenthaltsort des Angerufenen geleitet werden. Es wird dabei zwischen Stateless und Stateful Proxies unterschieden. Stateless Proxies leiten empfangene Nachrichten einfach weiter. Sie sind deshalb schneller als Stateful Proxies und finden vor allem Verwendung als Loadbalancer und einfache Router. Allerdings sind sie nicht in der Lage, anspruchvolleres Routing wie z.B. Call Forking (mehrere Endgeräte können gleichzeitig angerufen werden) zu betreiben. Stateful Proxies generieren für eine Anfrage einen Zustand (''State'') und behalten diesen, bis die entsprechende Transaktion31 beendet ist. Dies kann im Falle einer INVITE (Einladung)- Nachricht relativ lang dauern (nämlich so lange, bis der Angerufene den Anruf annimmt oder 30 Unter dem Begriff PDA (Personal Digital Assistent) werden handliche elektronische Geräte mit Kalender-, Adress-, Notiz- und ähnlichen Funktionen zusammengefasst 31 Transaktion: Kompletter Zyklus einer Datenverarbeitung.
  • 46. 2. VoIP (IP-Telefonie) 41 abweist). Aufgrund der Tatsache, dass Stateful Proxies diese Zustände für die Dauer der Anfrage aufrecht erhalten müssen, sind an diese höhere Leistungsanforderungen gestellt. Dafür sind sie aber auch in der Lage, weitergehende Dienste anzubieten und können auch von einem Endgerät mehrfach versandte Nachrichten abfangen, da sie ja wissen, ob diese bereits empfangen wurde. Location Server (Registrar) Damit ein Proxy weiß, wo der betreffende Benutzer zu finden ist, muss sich sein UA an einem Location Server angemeldet haben. Dieser speichert dann den derzeitigen Aufenthaltsort (d.h. IP-Adresse, Port und Benutzername) in einer sog. ''location database''. Auf diese kann dann der Proxy-Server des Angerufenen zugreifen, um den Aufenthaltsort herauszufinden. Bei einem Registrar handelt es sich allerdings für gewöhnlich nur um eine logische Einheit - wegen der engen Verzahnung von Registrar und Proxy sind diese meist in einem Gerät (Soft- oder Hardware) zusammengefasst. Redirect Server Aufgabe dieses Servers ist es, bei eingehenden Anfragen den gewünschten Empfänger in der location database nachzuschlagen. Die gefundenen Aufenthaltsorte - es ist bei SIP möglich, dass man sich zur gleichen Zeit mit verschiedenen Endgeräten von verschieden Orten aus mit dem gleichen Benutzer anmelden kann - werden dann dem Sender der Anfrage mit einer entsprechenden Nachricht zurückgesandt. Abbildung 27: Interaktion verschiedener SIP-Server