Audio-via-IP - MAYAH Communications

Transcription

Audio-via-IP - MAYAH Communications
Audio-via-IP Kompendium
Audio-via-IP
Grundlagen, Praxis und
Anwendungen
The MAYAH range –
Professional Audio & Video Encoding/Decoding, Recording,
Mixing and Transmission Products
CENTAURI®II
Multichannel Audio Gateway Codec
Sporty
Portable Reporter Codec
MERK II
Portable Audio Codec Mixer
IO [io]
Audio Video Encoder/Decoder
ganymed
IP Audio Encoder/Decoder
Flashman II
Portable Audio Recorder/Codec
MAYAH Communications
Am Soeldnermoos 17
85399 Hallbergmoos, Germany
Tel.: +49 8115517-0, Fax: -55
E-Mail: [email protected]
www.mayah.com
AUDIOVIAIPEXPERTS
AUDIOVIAIPEXPERTSGROUP
GROUP
Impressum
Herausgeber: MAYAH Communications GmbH, Copyright 2007,
Redaktion: Daniel Adasinsky
Autoren: Hans-Heinrich Hansen, Christian Diehl, Uwe Andersen,
Jan Simon, Werner Ludwig, Jörg Rimkus, Detlef Wiese
1. Auflage
Flashman, Centauri, Mayah sind eingetragene Warenzeichen
Layer 2 licensed from Audio MPEG, Coding Technologies
Layer 3/mp3Pro licensed from Thomson/Fraunhofer Institute
AAC / AAC HE licensed from VIA, Coding Technologies
*working name of MPEG 4, implementation from Coding Technologies
© Copyright MAYAH Communications GmbH, 2007. All rights reserved. CENTAURI®,
FLASHMAN® and MAYAH are registered trademarks. Patents pending.
Product information and technical specifications are subject to change without notice.
Audio-via-IP Kompendium
Audio-via-IP
Grundlagen, Praxis und Anwendungen
Professionell aber einfach
Zusammenfassung
Audio-over-IP nimmt einen wachsenden Stellenwert im Bereich des Rundfunkleitungsnetzwerks ein. Die Verfügbarkeit und Bandbreite von IP-Netzwerken steigen während gleichzeitig die Kosten nahezu kontinuierlich sinken. Das Angebot
an Festverbindungen und ISDN ist weltweit rückläufig und damit zu rechnen,
dass es bestimmte Angebote der Telekommunikationskonzerne früher oder später nicht mehr geben wird. Zum Beispiel werden schon heute ISDN Übertragungen in Europa teilweise über den IP Backbone geführt.
Dieses Kompendium nimmt sich dieser wichtigen Thematik an, und zwar von
den Grundlagen bis zu den Anwendungen ohne Anspruch auf Vollständigkeit.
Vielmehr sollen dem Neueinsteiger, Quereinsteiger und Fortgeschrittenen Anregungen gegeben werden.
Bevor auf alle Punkte sehr detailliert eingegangen wird soll das Kapitel „IP Audio
Kompakt“ die wesentlichen Punkte in kurzer Form übersichtlich darstellen.
1
IP Audio Kompakt
UDP, RTP, SIP… – IP Protokolle, welches wofür?
HE AACv2 usw. - Audio Codier Formate, wann brauche ich welches?
Das gewählte IP Protokoll bestimmt maßgeblich die Art und Weise wie das Audiosignal über ein Netzwerk transportiert wird. Da an ein Rundfunksignal höchste
Anforderungen bezüglich Qualität und Sicherheit gestellt werden, muß das Protokoll entsprechend ausgewählt sein. Während RTP/UDP in Corporate Networks
mit VPNs und festen Kommunikationspartnern verwendet wird, kommt zusätzlich
SIP im öffentlichen Internet zum Zug und ist insbesondere durch VoIP-Anwendungen bekannt geworden.
Die Vielzahl an Audio Codier Formaten kann durchaus manchmal Verwirrung stiften. Die Auswahl geschieht nach Kriterien wie Kompatibilität, Qualität und Verzögerungszeit. Während HE AACv2 aufgrund der hohen Qualität und niedrigen
Bitrate von deutlich unter 48kbps stereo immer mehr zur Anwendung kommt,
wird bei Netzen mit größerer Bandbreite auch gerne die verlustfreie transparente
AES/EBU Übertragung mit bis zu 3 MBit/s verwendet.
SIP Session Initiation Protocol
Für den Übergang der bestehenden ISDN- in die neue IP-Infrastruktur wird eine
Migrationszeit benötigt. Es muß Gerätetechnik mit beiden Schnittstellen geben,
sowie Transcodiermöglichkeiten, sogenannte Gateways geschaffen werden.
SIP ist ein textbasiertes Verhandlungsprotokoll, mit dem Verbindungen auf Basis
des Internet Protokolls (IP) verhandelt werden können. SIP wird lediglich genutzt,
um die Signalisierung zwischen den Partnern abzuwickeln. Der Transport der
Mediendaten erfolgt - wie im klassischen ISDN auch – getrennt von der Verhandlung. Meist werden die Nutzdaten über eine andere Route und mit einem anderen Transportprotokoll übermittelt. Während für die Verhandlung TCP oder UDP
zur Wahl stehen, geschieht der Transport der Nutzdaten meist mit RTP.
SIP-Wählverbindungen als ISDN Ersatz
Die neuen SIP Wählverbindugnen im öffentlichen Internet sind dann als gleichwertig zu den bekannten ISDN Verbindugnen zu betrachten, wenn eine verlustfreie Übertragung der Daten möglich und eine kurze Verzögerungszeit zu erreichen ist. Dies funktioniert mit garantierter Bandbreite, z.B. durch Verwendung
von RSVP und FEC. Mehr in Kapitel
VPNs mit garantierter Bandbreite als Ersatz für E1 und X.21 Verbindungen
Virtual Private Networks, die sogennanten VPNs können die heute genutzten E1
oder X.21 Strecken dann ersetzen, wenn für eine entsprechende stabile Bandbreite gesorgt wird.
Verwendung von IP über vorhandene E1 oder ATM Netze
Über bestehende E1- oder ATM-Strecken kann ein IP-Protokoll gelegt werden.
Damit ist z.B. die gleichzeitige Nutzung für Audio/Video- und Datensignale möglich. Bei den verwendeten Router wird eine Bandbreitenreservierung entsprechend eingerichtet.
2
Der Übergang von ISDN zu IP und umgekehrt
FEC – Fehlerschutz wie eingesetzt
Vorwärtsfehlerkorrektur oder Forward Error Correction (FEC) bietet die Möglichkeit, durch das Hinzufügen redundanter Daten, Übertragungsfehler aufzuspüren
und/oder zu korrigieren. So können in der Regel erneute Übertragungen oder
Datenverluste, die entsprechend höhere Kosten der Verbindung oder höhere
Verzögerungszeiten verursachen, vermieden werden.
IP Overhead
Bei IP-Übertragungen besteht der Datenstrom grundsätzlich aus zwei Teilen:
Nutzdaten (english Payload), z.B. ein oder mehrere MPEG-Frames, und Zusatzdaten (english Overhead). Beim UDP-Protokoll ist der absolute IP-Overhead 46
Bytes lang, und er setzt sich folgendermaßen zusammen: 8 Bytes UDP-Header,
20 Bytes IP-Header, 18 Bytes IEEE802.3 (Ethernet). Der relative IP Overhead
wird prozentual von dem Original-Payload berechnet.
MPEG TS über ASI, MPEG TS über IP
Der MPEG Transportstream, kurz MPEG TS wird überwiegend in DVB und ipTV
Umgebungen eingesetzt. Es handelt sich um eine Formatierung von einem oder
mehreren Audio- und/oder Videosignalen mit typischerweise Setop-Boxen als
Empfänger.
3
Gibt es schon Standards?
Um einheitliche Implementierungen voranzutreiben und zu unterstützen, wurde
die N/ACIP Arbeitsgruppe der EBU gegründet. Im September 2007 soll der erste
Entwurf einer Empfehlung offiziell herausgegeben werden.
RTP (Realtime Transport Protocol)
ist ein Protokoll zur kontinuierlichen Übertragung von audiovisuellen Daten über
IP-basierte Netzwerke. Es benutzt UDP (User Datagram Protocol), aber im Gegensatz zur reinen UDP-Implementation garantiert RTP die richtige Reihenfolge
der Pakete auf der Empfängerseite.
RTCP (RTP Control Protocol)
basiert auf dem periodischen Austausch von Kontrollpaketen unter den Sitzungsteilnehmern. Durch RTCP wird der Multimedia Datenstrom nicht gestört. Informationen wie die Zahl der gesendeten und verlorenen Pakete, Round Trip Delay,
Jitter usw. dienen dazu, das Streaming an die aktuellen Netzwerkbedingungen
anzupassen.
SDP (Session Description Protocol)
dient dazu, Multimedia-Sitzungen zu beschreiben. Diese Beschreibung kann
verwendet werden, die Sitzung anzukündigen, Teilnehmer zu dieser Sitzung
einzuladen oder auf andere Weise eine Verbindung zu initiieren.
SAP (Session Announcement Protocol)
dient dazu, eine SDP Information an einer Multicast-Adresse bekannt zu machen. Somit kann ein potentieller Empfänger sich einen Gesamtüberblick aller im
(Sub-) Netz angebotenen Inhalte verschaffen und sich dann den gewünschten
auswählen. MAYAH unterstützt, entgegen der Norm, auch SAP-Unicast.
RTSP (Real Time Streaming Protocol)
ist ein Anwendungsprotokoll, das die Auslieferung, Kontrolle und Steuerung von
Multimedia-Daten auf Basis von Unicast und Multicast unterstützt. Damit kann
man einen Streaming Server mit den typischen Befehlen wie zum Beispiel „Wiedergabe“ oder „Pause“ steuern.
4
5
Inhaltsverzeichnis
1
Audio und der Einstieg in IP
Praktische Voraussetzungen für SIP und
Audio-via-IP
1.1
IP Grundlagen
1.2
Packet Switching versus digitaler Festverbindung
5.1
Voraussetzungen für SIP-basierte Verbindungen
über öffentliches Internet
Audio Codierung für IP:
Verzögerungszeit versus Bitrate
5.2
Voraussetzungen für sonstige IP-basierte Verbindungen –
Unicast vs. Multicast
2
2.1
G.711
2.2
G.722
2.3
MPEG Layer 2
2.4
MPEG Layer 3
2.5
MPEG 4 HE AAC
2.6
apt-X und Enhanced apt-X
2.7
Lineares Audio und AES/EBU transparent
3
3.1
4
6
5
6
Typische IP oder gemischte IP/ISDN Anwendungen
7
Referenzen
7.1
R. Wagner, „Das neue Verteilnetz von Telekom Austria
und ORF“, FKT, Nr. 56, 7 / 2002, S. 387 – 390
7.2
G. Stoll, F. Kozamernik, „EBU subjective listening tests
on low-bitrate audio codecs“, EBU, 2003
7.3
IP als Plattform moderner Media- und Telekom
Netze
“Too many audio codecs“, Detlef Wiese,
Tonmeistertagung, 2002
7.4
Voraussetzungen für Mediatransport / Echtzeit
Fähigkeiten nachgerüstet
White Paper „Diskussion von Codierverfahren“,
Detlef Wiese, 2002
7.5
White Paper „NAT Traversal for Multimedia over IP“,
Newport Networks, 2005
Wählverbindungen im Public Internet
7.6
White Paper „Understanding SIP“, D. Sisale, J. Kutan,
GMD Fokus, 2000
7.7
CENTAURI II Handbuch, Werner Ludwig, 2006
4.1
ISDN – SIP ein Vergleich
4.2
SIP – und wie es funktioniert
4.3
Betriebssicherheit
4.4
SIP für hochqualitative Medialinks
4.5
Ausblick
7
1
Audio und der Einstieg in IP
1.1
IP Grundlagen
In Anlehnung an OSI Schichtenmodell wurde für das Internet Protokoll auch ein
Referenzmodell definiert. Es beschreibt den Aufbau und die Wechselwirkung der
verschiedenen Netzwerkprotokolle in vier Schichten: Netzwerkschicht, Vermittlungsschicht, Transportschicht und Anwendungsschicht.
Die Anwendungsschicht enthält aufgabenbezogene Protokolle, wie z.B. Telnet
oder FTP, s. Abbildung 1.
Abb. 1
)3//3)REFERENCEMODEL
Layer 7
Application Layer
Defining application protocols
(e.g. FTP, TELNET, mail...)
Layer 6
Presentation Layer
Describing the data presentation
(e.g. ASCII, Unicode)
Layer 5
Session Layer
Connecting and disconnecting interlinks, login, logout,
handshake for non duplex connects ...
Layer 4
Transport Layer
Data transport between communication partners or applications
(e.g. TCP, UDP)
Layer 3
Network Layer
Interconnecting network stations or segments (IP)
Layer 2
Datalink Layer
Transfer protocol for data framing and secure transfer
(e.g. HDLC, SLIP, PPP)
Layer 1
Physical Layer
Specifying the bit transportation on the link media
(e.g. modulation, pin assignment of the connector...)
)3//3)REFERENCEMODELTO4#0)0REFERENCEMODEL
Application Layer
&40(440
Transport Layer
Transport Layer
2405$0FOR
-EDIA4RANSPORT
Network Layer
Internet Layer
)NTERNET0ROTOCOL
Network Layer
)%%%ON%THERNET
OR)%%%ONW,AN
Application Layer
Presentation Layer
Session Layer
Datalink Layer
Physical Layer
9
Um Informationen von Anwendung zu Anwendung zwischen verschiedenen
Netzteilnehmern zu übertragen, sind mindestens drei Adressen erforderlich. Die
einzelnen Teilnehmer eines physikalischen Netzsegments (Ethernet IEEE802.3)
werden über ihre 6 Byte lange MAC Adresse (Media Access Control) identifiziert.
Diese Adresse muss innerhalb eines Segments eindeutig sein. MAC Adressen
werden vielfach bereits von den Herstellern vergeben, wobei die ersten drei Byte
den Hersteller identifizieren.
Um im Internet einen Teilnehmer eindeutig erkennen zu können, wird die vier
(IPv4) bzw. 16 (IPv6) Byte lange Internetadresse verwendet.
Der Bezug zwischen physikalischer MAC und logischer IP Adresse wird über
das Address Resolution Protocol (ARP), ein Protokoll der Vermittlungsschicht,
hergestellt. Die IP Adressen des Senders als auch des Empfängers werden im IP
Protocol Header beschrieben.
Die dritte Adresse ist die so genannte Port- oder Socket-Nummer. Sie identifiziert
eine bestimmte Anwendung des Teilnehmers. Die Portnummer (16 Bit) befindet
sich innerhalb der Transportschicht, wobei eine Reihe an Portnummern bereits
bestimmten Anwendungen fest zugeordnet sind, so verwendet z.B. FTP grundsätzlich den Port 20/TCP für Daten und 21/TCP für Steuerinformationen. Telnet
verwendet Port 23 und für SMTP wird immer Port 25 genutzt. Die vollständige
Liste der Portdefinitionen ist unter www.iana.org/assignments/port-numbers zu
finden. Die IANA (Internet Assigned Numbers Authority) ist auch zuständig für
die Vergabe registrierter Portnummern.
1.2
Packet Switching versus digitaler Festverbindung
Heute werden für den Weitverkehrtransport von Mediadaten im Rundfunk meistens digitale Festverbindungen, Frame Relay oder Satellitenverbindungen verwendet: Leitungsarten mit in der Regel hoher Verfügbarkeit, konstanter Laufzeit
und vernachlässigbarem Jitter. Sequenzfehler oder Paketverluste treten artbedingt gar nicht auf.
Für den Dateitransfer und zunehmend auch für die Echtzeitübertragung im Bereich der Distribution und Contribution werden Internet-Dienste herangezogen.
Der ORF begann mit der Realisierung des L-NETs bereits im Jahr 2001, also vor
über sechs Jahren. Während auch danach der Schwerpunkt für die Echtzeit-
10
übertragung so genannte Corporate Networks waren, die vollständig kontrolliert
werden konnten, soll heute mehr und mehr auch das öffentliche Internet genutzt
werden. Insbesondere durch die abnehmende Verfügbarkeit von ISDN müssen
im Audiobereich vermehrt paketvermittelte Verbindungen genutzt werden, obwohl dies ursprünglich so nicht geplant war. Die Väter des Internet haben mit
dem 1981 festgeschriebenen Internet Protocol einige Möglichkeiten hinzugefügt,
die eine eingeschränkte Nutzung in Echtzeit ermöglichen, allerdings werden
diese Eigenschaften heute auf Standardanschlüssen nicht unterstützt. So verfügt
der IP Header über ein Type-of-Service Flag, welches zur Kennzeichnung der
Priorität der enthaltenen Daten dient, allerdings werden diese Flags entweder
von den Routern im Internet ignoriert oder gar zurückgesetzt. Der Grund dafür
ist klar, würde das Type-of-Service Flag tatsächlich Wirkung zeigen, kann man
sicher davon ausgehen, dass z.B. die „Internet Gamer Community“ dies sehr
schnell herausgefunden hätte und dann alle Internet Spiele mit priorisierten
Datagrammen arbeiten würden.
Um Mediadaten zuverlässig über ein paketvermitteltes Netz übertragen zu
können, sind bestimmte Voraussetzungen zu erfüllen: Latenz, Jitter und Verfügbarkeit des Netzes müssen sich in einem bekannten und der Anwendung
entsprechenden Rahmen bewegen. Die für die Signalübertragung erforderliche
Bandbreite muss zu jedem Zeitpunkt zur Verfügung stehen, außerdem muss
bekannt sein, ob Sequenzfehler, also Fehler in der Reihenfolge der eintreffenden
Datagramme auftreten können.
Es sind für einen gesicherten Betrieb geeignete Hilfsmittel einzusetzen; der maximale Jitter legt die Größe eines Kompensationspuffers auf der Empfangsseite
fest. Mögliche Paketverluste können durch den Einsatz eines Forward Error Correction Verfahrens (FEC) ausgeglichen werden. Sequenzfehlern wird durch den
Einsatz eines geeigneten Protokolls auf der Transportschicht entgegengewirkt
(RTP, Realtime Transport Protocol), s. Abbildung 2.
Der Einsatz all dieser Massnahmen hat allerdings eine teilweise erhebliche Auswirkung auf die Latenz der Übertragungsstrecke.
Ein weiterer wesentlicher Unterschied zu digitalen Direktverbindungen stellt der
durch die verschiedenen Protokoll-Header bedingte Overhead einer paketvermittelten Verbindung dar.
11
So werden pro Datagramm in
einem Ethernet 18 Byte für den
IEEE802.3 Header plus 8 Byte
für dessen Präambel benötigt.
Ethernet
IP
TCP/UPD Application
Der IP Header belegt 20 Byte,
RTP
Application
Layer
der UDP Header weitere 8 Byte
Data
Transport
und ein ggfs. verwendeter RTP
$ATA
Layer
Header
Header nochmals 12 Byte.
Internet
$ATA
Header
Header
Layer
Insgesamt werden 66 Byte
Network
Header Daten pro RTP Data$ATA
Header
Header
(EADER
Layer
gramm übertragen. Wird nun
z.B. in einem RTP Datagramm
jeweils genau ein MPEG 2 Layer 3 Audioframe mit 16 kHz Samplerate und einer
Bitrate von 24 kBit/sec transportiert (48 Byte), wird für den Transport eines 24
kBit/s Signals eine Bandbreite von 57 kBit/s benötigt.
Wird statt des MPEG2 Layer 3 jetzt MPEG4 AAC verwendet ist eine genaue
Berechnung der tatsächlich benötigten Transport Bandbreite aufgrund der signalbedingt wechselnden Länge der Audioframes nicht mehr möglich, da nicht
vorherzusehen ist, in welchem Verhältnis Nutzdaten zu Header Overhead stehen.
Segments hinaus, z.B. über ein Gateway ist nicht möglich, da keine logische
Adresse vorhanden ist. Auch, wenn die MAC-Adresse des anderen Teilnehmers
in einem anderen Netzwerk Segment bekannt wäre, so können die Router keinen
Pfad dorthin ermitteln, da zumindest die logische Adresse des fernen Netzwerksegments fehlt.
0ROTOCOLSTRUCTURES
Data Encapsulation
Abb. 3
IP Overhead in %
25%
12
19,7%
19,17%
15,97%
15%
15,97%
13,69%
11,98%
9,58%
7,99%
MPEG L3 UDP
6,85%
fs=48 kHz
5,99%
Bit rate = 256 Kbit/s
4,79%
Frame length = 256 (bit rate) /48 (sample rate) * 144 (Byte) = 768 Byte
IP Overhead = ((768 Byte + 46 Byte)/768 Byte –1) * 100 % = approx. 6 %
13,69%
10%
5%
Bitrate in Kbit/s
Um die Auswirkungen des Protokoll Overheads zu verringern, können ggfs. mehrere Audioframes pro Datagramm zu Lasten der Latenz übertragen werden, da
auf der Senderseite die notwendige Menge an Audioframes zuerst gesammelt
werden muss.
32
40
48
IP Overhead in %
25%
23,96%
56
64
80
96
112
128
160
192
224
256
320
e.g. apt-X (16 bit only) / Eapt-X, UDP
23,96%
23,96%
23,00%
23,96%
19,17%
20%
IP Overhead
Eine andere Möglichkeit, den Protokoll Overhead zu reduzieren, ist es, IP, UDP
und RTP Header einfach wegzulassen, ein Verfahren, dass sich Techniken wie
Ethersound und Cobranet zu Nutze machen. Hier werden die Mediadaten als
Payload der IEEE802.3 Pakete übermittelt. Da aber die IP-Adressen fehlen,
können nur Netzteilnehmer innerhalb des eigenen Netzwerksegments über die
MAC-Adressen identifiziert werden. Eine Übertragung über die Grenzen des
23,96%
23,7%
20%
0%
Für das oben erwähnte MPEG 2 Layer 3 Signal würde dies bedeuten, dass bei
optimal genutzter Payload insgesamt 30 komplette Audioframes pro Datagramm
transportiert werden würden. Jeder Audioframe enthält 576 Sample und damit
bei einer Abtastrate von 16 kHz 36 mSec Audio. Somit entsteht eine zusätzliche
Latenz 1044 mSec, s. Abbildung 3.
e.g. (MPEG Layer3, 48 KHz. packet size = 180 Bytes)
30%
IP Overhead
Abb. 2
15%
11,06%
10,27%
11,50%
11,50%
10,65%
10%
5%
0%
4,49%
16 bit
Mono
4,49%
16 bit
Stereo
4,42%
20 bit
Mono
4,42%
20 bit
Stereo
4,36%
24 bit
Mono
9,58%
4,36%
24 bit
Stereo
at packet size 180
at packet size 390
at packet size 1024
apt-X /Eapt-X,fixed block size, Resolution = 20 Bit Stereo
Payload = (180 [packet size] / 80 [block size] rounded up to the next integer) * 80 = 240 Byte
IP Overhead = ((240 Byte + 46 Byte)/240 Byte –1) * 100 % = approx. 19,7 %
13
2
Audio Codierung für IP: Verzögerungszeit versus Bitrate
Im Rundfunk wurden während der letzten fünfundzwanzig Jahre verschiedene
Codierverfahren eingeführt, wie z.B. J.41, J.57, MPEG Layer 2 und 3, sowie auch
nicht standardisierte Verfahren wie z.B. apt-X, Eapt-X oder ADPCM4SB (Micda).
Aufgrund unterschiedlicher Anforderungen wird dem Betreiber die Wahl der
korrekten Bitrate, Betriebsart und Abtastrate nicht leicht gemacht wird. Erschwerend ist, dass viele weitere Verfahren in den letzten Jahren hinzugekommen sind.
Neben den oben genannten Formaten werden die aus der Telefonie bekannten
G.711 und G.722 im Rundfunk ebenso eingesetzt wie die sich seit ca. 5 Jahren
sehr erfolgreich verbreitenden AAC Varianten, wie MPEG 2 und 4 AAC, HE AAC
(früher aacPlus), HE AACv2, AAC ELD*, sowie auch lineares Audio oder AES/
EBU transparent zur Anwendung; alles Formate mit vielen möglichen Abtastund Bitraten, manche nur mono und stereo, manche per Definition auch in dual
mono, joint stereo oder in 5.1/7.1 Technik.
Im Rahmen der Entwicklung von Codierverfahren wird auf die Optimierung der
Parameter Bitrate, Qualität, auch nach mehrfacher En-/Decodierung (Kaskadierbarkeit), Verzögerungszeit und Kompatibilität Wert gelegt.
Die hier beschriebenen Verfahren lassen sich auch dahingehend klassifizieren.
Während zum Beispiel HE AACv2 ausschließlich zur Reduktion der Bitrate bei
gleichzeitiger sehr guter Tonqualität entwickelt wurde, so stand bei apt‑X die
möglichst geringe Verzögerungszeit im Vordergrund.
Zunehmend kommen aufgrund der mehr und mehr zur Verfügung stehenden
Bandbreite auch lineare Übertragungsverfahren, wie 16, 20 oder 24 Bit lineares Audio oder sogar gleich die transparente Übertragung des gesamten 3,072
MBit/s AES/EBU Signals in Betracht. Hier steht die Qualität und die Verzögerungszeit im Vordergrund, was natürlich zu Lasten der Bandbreite geht.
Genaue Untersuchungen zum Marktanteil der verschiedenen Codierverfahren im
Rundfunk gibt es nicht. Man geht jedoch allgemein immer noch von einer Dominanz des MPEG Layer 2 und G.722 aus, wobei Verfahren, wie lineares Audio, das
4SB ADPCM Verfahren, apt-X und Enhanced apt-X, sowie der MPEG 4 Standard
HE AAC und HE AACv2 bei entsprechenden Anwendungen zunehmen, letzterer
sehr deutlich.
14
*work item of MPEG
15
Eine ausführliche Diskussion muss eine Darstellung der Verfahren hinsichtlich
Qualität, Flexibilität, Bandbreite, Verzögerungszeiten, Kompatibilität, Standardisierung, Marktanteil und –aussichten beinhalten. Tatsächlich gibt es für nahezu
jedes Verfahren eine optimale Anwendung.
2.1
Es gibt zwei verschiedenen Methoden, um Audiocodecs mit G.722 zu synchronisieren.
G.722 mit H.221 Inband-Signalisierung (G.722/H.221):
Bei G.722/H.221 werden 1,6 kbit/s des 64 kbit/s B-Kanals für das Versenden
von Inbandinformation verwendet. Diese Inbandinformation wird zur Synchronisation des Audiodatenstroms verwendet.
G.722 mit statistischer Synchronisation (G.722/SRT):
Bei G.722/SRT (SRT = Statistical Recovery Timing) wird durch statische Untersuchung der Byteanfang gefunden. Hierbei ist zu beachten, dass dies nur bei
wirklichen statistische Signalen wie Musik oder Sprache funktioniert, nicht aber
bei Sinustönen.
16
MPEG Layer 2 erlaubt die Datenraten von 8 bis 384 Kbit/s, Zielbitrate für Stereo
ist 256 Kbit/s
2.4
MPEG Layer 3
Viel mehr als mp3 bekannt, wird dieses Format auch verwendet. Zum Beispiel
wenn kleinere Datenraten gefordert sind, als die, die mit MPEG Layer 2 bei einer
gewünschten Audioqualität erreichbar sind.
G.722
Ein weiterer Standard der ITU-T. Im Vergleich zu G.711 bietet G.722 eine höhere
Audioqualität, indem das Signal mit 16 kHz abgetastet wird. Dennoch wird es mit
64 Kbit/s (z.B. über ein ISDN B-Kanal) übertragen. Ähnlich wie bei G.711 entsteht bei der G.722 Codierung keine bedeutende Verzögerung.
MPEG Layer 2
Bis jetzt bleibt der Anfang 1990-er Jahre standardisierte Algorithmus ein sehr
verbreitetes Codierverfahren für qualitative Audioübertragung über verschiedene
Netzwerke im Rundfunkbereich. Im wesentlichen tragen zur Popularität des
Formats seine für ein verlustbehaftetes (psychoakustisches) Codierverfahren
relativ hohe Kaskadierbarkeit und die breite Unterstützung in diversen Soft- und
Hardware Audiocodecs der früheren Generationen bei.
G.711
Ein der grundlegenden Standards der ITU-T. G.711 erlaubt Digitalisierung von
Audio in Mono mit einer Abtastrate von 8 kHz. Damit wird der Bereich zwischen
300 und 3400 Hz codiert. Übertragen wird mit 64 Kbit/s in Europa und mit 56
Kbit/s in Nordamerika. G.711 wird vor allem in der klassischen Telefonie verwendet. Bei IP-Übertragungen kann das Format, dann zum Einsatz kommen, wenn
ein herkömmliches Telefon über VoIP erreicht werden muss. Bei der Codierung
ins G.711 entsteht keine bemerkbare Verzögerungszeit.
2.2
2.3
MPEG Layer 3 erlaubt die Datenraten von 8 bis 320 Kbit/s. Zielbitrate für Stereo
liegt zwischen 128 und 192 Kbit/s
2.5
MPEG 4 HE AAC
HE AAC ist eine Weiterentwicklung von AAC unter Verwendung der SBR-Technologie von Coding Technologies ( www.codingtechnologies.com ). AAC, das
innerhalb MPEG2 und 4 standardisierte Verfahren zählt zu den qualitativ hochwertigsten Codieralgorithmen mit der Zieldatenrate von 128kBit/s.
Viele Anwendungen benötigen so geringe Bitraten, die von AAC nicht mehr mit
hoher Qualität encodiert werden können. Deshalb hat man bei Coding Technologies, einer schwedisch-deutschen Kooperation, eine Technologie namens SBR,
der so genannten Spectral Band Replication entwickelt, die genau hier entgegenwirkt und nun erlaubt, AAC auch bei niedrigen Bitraten, z.B. 32, oder 48kBit/s
joint stereo zu verwenden.
Dabei werden über 90% der verwendeten Bitrate weiterhin für die klassische
AAC-Codierung und nur ein sehr kleiner Teil (<4kBit/s) für die SBR-Information
verwendet. Der konventionell codierte AAC-Teil der Codierung wird mit halber
Abtastrate, also 16, 22.05 oder 24kHZ durchgeführt. Dies resultiert in einer Erhöhung der Codiereffizienz,
17
Schlüsselfunktionen sind:
Die Verbindung von SBR und AAC ist ein qualitativ hochwertiges Format. Man
verabschiedet sich zwar vom Anspruch der Transparenz, da die Frequenzen
oberhalb 7, bzw. 8 kHz nicht mehr transparent übertragen werden, man erreicht
jedoch mit wesentlich niedrigeren Bitraten eine CD-ähnliche Qualität. CD-ähnlich
heißt im Fall von HE AAC sehr gut, was sich insbesondere durch die mittlerweile
sehr weite Verbreitung dieses Formats im Rundfunk, aber auch bei Übertragungssystemen zeigt.
Da SBR die Bitrate generell um ca. 30-50% optimiert hat HE AAC eine Zieldatenrate von 48 kBit/s für Stereosignale. In Verbindung mit einer sogenannten
„parametric stereo“ Codierung heißt das Verfahren HE AACv2 und es werden
auch die für das stereofone Bild notwendigen Daten parametrisiert übertragen.
Die Zieldatenraten gehen damit sogar auf 16, 20 und 24 kBit/s.
2.6
2.7
4:1:4 Datenreduktion
■■
Mono/stereo audio encoder/decoder
■■
Flexible Abtastrate bis zu 96kHz
■■
Zusatzdaten bis zu 12kbit/s
Lineares Audio und AES/EBU transparent
Mit zunehmender Verfügbarkeit an Bandbreite kommen auch die Übertragung
von linearem Audio und „AES/EBU Transparent“ in Betracht. Unter linearem
Audio versteht man ein PCM Signal mit einer bestimmten Wortbreite von 16, 20
oder 24 Bit sowie einer festgelegten Abtastrate von im Rundfunk stets 48 oder
96kHz. Die resultierende Bitrate beträgt bei einem Stereosignal demnach zwischen 1,5 bis 4,5 MBit/s.
apt-X und Enhanced apt-X
Bei der Übertragung von AES/EBU Transparent geht es darum, dass im AES/
EBU Signal auch encodierte Datensignale wie Dolby E oder DTS, etc. enthalten
sein können und dieses Signal keiner Abtastratenkonvertierung unterzogen wird,
da ansonsten die encodierte Datensignale irreversible manipuliert wären. Die
Datenrate des AES/EBU Signals beträgt 3,072 MBit/s.
Apt-X wurde erstmalig 1990 als Tonübertragungsverfahren mit sehr kurzer Verzögerungszeit bekannt und hat sich seit dem als de-facto Industriestandard insbesondere in privaten Produktionsstudios hervorgetan. Die Stärken liegen in der
hohen Tonqualität verbunden mit sehr kurzen Verzögerungszeiten.
Es kommt die ADPCM (Adaptive Differential Pulse Code Modulation) zum Einsatz, die bei den verwendeten Datenraten selbst bei mehreren En-/DecodierProzessen, der so genannten Kaskadierung noch eine sehr gute Qualität hat. Die
theoretische Verzögerungszeit liegt bei 3ms mit eine Abtastrate von 48kHz.
Der Algorithmus ist bei vielen Abtastraten einsetzbar und wurde erst kürzlich
um den sogenannten Enhanced apt-X Algorithmus erweitert. Enhanced apt-X™
bringt eine signifikante Verbesserung, speziell bei der Verzögerungszeit und dem
Dynamikumfang, da hier Abtastwerte mit einer Wortbreite von bis zu 24 Bit verarbeitet werden.
■■
Sollen Mehrkanalsignale, z.B. 5.1 oder 7.1 übertragen werden erhöhen sich die
Bitraten entsprechend.
2.8 Mehrkanalton
Die Encodierung von 5.1 oder 7.1 Mehrkanalsignalen wird von vielen Audioformaten unterstützt. Hervorzuheben sind HE AAC mit sehr effizienter Codierung
und geringen Bitraten bis 128 kbps, Eapt-X mit diskret encodierten Signalen und
Bitraten von 1-2 Mbit/s sowie linearen Formaten mit Bitraten bis zu 18 MBit/s.
apt-X ist heute eines der weltweit verbreitetsten Systeme für kurze Verzögerungszeiten. 18
19
!UDIO#ODIER&ORMATE!BTASTRATENINK(Z
!UDIO#ODIER&ORMATE1UALITÊTUND,ATENZ
'
'
SG
'
'
SEHRGERING
-0%',AYER
-0%',AYER
-0%',AYER
-0%',AYER
-0%',AYER
-0%',AYER
-0%',AYER
-0%',AYER
-0%'
,AYER
-0%'
,AYER
MS
VARIABELBISK(Z
MP02/
MP02/
MS
VARIABELBISK(Z
-0%'!!#
-0%'!!#
-0%'!!#,$
-0%'!!#,$
-0%'!!#(%V
-0%'!!#(%V
*
*
SEHRGERING
K(Z
!$0#-3"-)#$!
!$0#-3"-)#$!
SEHRGERING
K(Z
%APT8APT8
%APT8APT8
SEHRGERING
*
*
SEHRGERING
,INEAR!UDIO
,INEAR!UDIO
SEHRGERING
!%3%"54RANSPARENT
!%3%"54RANSPARENT
!!#UND!!#(%V
!!#UND!!#(%V
+ANALLINEAR!UDIO
+ANALLINEAR!UDIO
SEHRGERING
VARIABELK(ZMÚGLICH
+ANALAPT8%APT8
+ANALAPT8%APT8
SEHRGERING
VARIABELK(ZMÚGLICH
PROPRIETÊRE%RWEITERUNGVON&RAUNHOFER
K(Z
K(Z
MS
VARIABELBISK(Z
MS
VARIABELBISK(Z
MS
VARIABELBISK(Z
MS
VARIABELBISK(Z
MS
VARIABELBISK(Z
MS
VARIABELBISK(Z
MS
VARIABELBISK(Z
VARIABELK(ZMÚGLICH
K(Z
VARIABELK(ZMÚGLICH
MS
VARIABELBISK(Z
PROPRIETÊRE%RWEITERUNGVON&RAUNHOFER
Audio Codier Formate: Bitraten in kBit/s
*proprietäre Erweiterung von Fraunhofer
20
21
3
IP als Plattform moderner Media- und Telekom Netze
3.1
Voraussetzungen für Mediatransport / Echtzeit Fähigkeiten nachgerüstet
Während klassische Broadcasting-Angebote aus ökonomischer Sicht eine möglichst
große Reichweite anstreben, werden Streaming-Media-Angebote mit wachsender
Teilnehmerzahl teurer, denn die Daten müssen an jeden Empfänger einzeln versendet werden. In der Netzwerktechnik ist zwar der Multicast-Modus bekannt, bei
dem ein vom Streaming-Server ausgehender Datenstrom bei geringer Netzbelastung
gleichzeitig an verschiedene Empfänger gesendet werden kann; dieser wird jedoch
bis heute praktisch nicht benutzt, weil ihn viele Router im Internet nicht unterstützen. Statt dessen werden für Streaming-Angebote mit einem Massenpublikum (z.
B. Übertragungen der Fußballbundesliga, grosse Events, etc.), so genannte OverlayNetze genutzt, welche die zu übertragenden Daten netztopologisch betrachtet an
vielen Orten gleichzeitig zur Verfügung stellen.
Hochqualitatives Streaming setzt als Transportprotokoll das RTP/RTCP- Protokoll
voraus. Dieses Protokoll ist die Grundlage für alle echtzeitfähige Übertragungen. Zur
Steuerung von Streaming- Inhalten existieren die Protokolle SIP, SAP, RTSP, HTTP.
Diese Protokolle werden über unterschiedliche Ports angesprochen und stellen
entsprechende Steuerungsfunktionen zur Verfügung, greifen aber wiederum gemeinsam auf das RTP-Protokoll zum Austausch von Informationsinhalten zurück.
Abb. 5
RTP/TCP: Protokoll-Architektur
Applikation (Sender)
RTCP
Encoder
22
RTP
Applikation (Empfänger)
Feedback
RTCP
Data
RTP
Decoder
23
4
Wählverbindungen im Public Internet
4.1
ISDN – SIP ein Vergleich
Beim Verbindungsaufbau in einem verbindungsorientierten Netz (z.B. ISDN)
wählt der Initiator seinen Kommunikationspartner an, woraufhin dem Netz der
Verbindungswunsch angezeigt wird. Das Netz akzeptiert diesen Wunsch, falls es
über genügend Kanäle oder entsprechende Bandbreite verfügt, indem es eine
Belegungsquittung zurücksendet und reserviert den Kanal bzw. die Bandbreite.
Da ein solches Netz klassischerweise in mehrere Netzabschnitte unterteilt ist,
wird ein Belegungswunsch und die Quittung zwischen jedem Netzabschnitt
mit dem darauffolgenden ausgetauscht. So kann der Verbindungswunsch aus
einem Lokalnetz in Regionalnetze und das Weitverkehrsnetz gelangen oder wird
sogar zwischen nationalen Weitverkehrsnetzen ausgetauscht. Wird der angerufene Kommunikationspartner gefunden und ist er in der Lage die Verbindung
anzunehmen, so werden die Kommunikationspartner direkt über die reservierten
Kanäle verbunden. Das Telekommunikationsnetz ist, um diesen Mechanismus
effizient umzusetzen, in zwei Netze unterteilt: das Zeichengabe- (Signalisierungs-)Netz und das Nutzkanalnetz. Während über das Signalisierungsnetz alle
zum Kommunikationsaufbau notwendigen Nachrichten geschickt werden, besteht das Nutzkanalnetz aus frei schaltbaren (Nutz-) Datenkanälen, die bei ISDN
eine Übertragungsgeschwindigkeit von 64 kbit/s haben.
Mit der flächendeckenden Verbreitung von paketbasierten Netzen in höherer
Bandbreite entstehen nun für viele Dienste Möglichkeiten auf diese Netze überzusiedeln. Ein Netz, das mit reiner Datenübertragung und Nachrichtenaustausch
wie z.B. über Email angefangen hat, ermöglicht jetzt dank hinreichender Kapazitäten auch Dienstleistungen wie Fernsehen, Radio und Telefonie. „Voice over IP“
ist der designierte Nachfolger des heutigen Telefonnetzes.
Im Gegensatz zu ISDN werden in paketorientierten Netzen Datenpakete von den
Endstellen mit Ursprungs- und Zieladresse versehen und spontan, d.h. ohne
vorherigen Verbindungsaufbau versendet. Um in einem solchen nicht verbindungsorientierten Netzwerk ein Wählverbindungen zu ermöglichen, wurde das
Session Initiation Protocol (IP) entwickelt. Obwohl die Verbindungssteuerung von
SIP sehr an das D-Kanal Protokoll bei ISDN erinnert, wurde es nicht von einer
Telekommunikationsbehörde, sondern von der Internet Engineering Task Force
24
25
(IETF) erarbeitet und in einem Request For Comments (RFC 3261) festgehalten.
Die Arbeitsgruppe der IETF hat hierbei auf bewährte Protokollbausteine zurückgegriffen, so ist es nicht verwunderlich, dass viele Elemente des SIP an HTTP
oder SMTP erinnern.
Abb. 6
SIP - simple session establishment
1: INVITE fritz
2: 100 / Trying
4.2
SIP – und wie es funktioniert
2: 180 / Ringing
Das Session Initiation Protocol (SIP) ist also ein textbasiertes Verhandlungsprotokoll, mit dem Verbindungen auf Basis des Internet Protokolls (IP) verhandelt
werden können. Das SIP wird hierbei lediglich genutzt, um die Signalisierung
zwischen den einzelnen Verhandlungsstellen abzuwickeln. Der Transport der
Mediendaten erfolgt - wie bei ISDN auch – getrennt von der Verhandlung. Meist
werden die Nutzdaten über eine andere Route und mit einem anderen Transportprotokoll übermittelt. Während für die Verhandlung TCP oder UDP zur Wahl
stehen, geschieht der Transport der Nutzdaten meist mit RTP.
3: 200 / OK
SIP ist ein sogenanntes Peer-to–Peer Protokoll, mit dem einzelne Komponenten
im einfachsten Fall direkt miteinander verbunden werden können ohne eine
zentrale Einheit. Die Instanzen eines Peers innerhalb einer Session werden UserAgents (UAs) genannt. Ein UA kann zwei unterschiedliche Rollen übernehmen:
■■
Der User-Agent-Client (UAC) initiiert eine Session, und
■■
Der User-Agent-Server (UAS) beantwortet die Anfragen eines Clients.
Ein SIP-Gerät kann beide Rollen übernehmen. Im einfachsten Fall können also
zwei Endgeräte direkt miteinander kommunizieren.
Um eine solche Verhandlung zu starten wird vom Anrufer eine INVITE-Nachricht
an die SIP-Adresse des Empfängers geschickt. Das Schlüsselwort INVITE ist eine
der sogenannten Methoden, die ein UA beherrschen muss. Andere Methoden
sind z.B. ACK, BYE oder REGISTER. Möchte der Angerufene das Gespräch entgegennehmen, so kann er im einfachsten Falle direkt mit einer „OK“-Nachricht
antworten, die dann vom Anrufer mit einer „ACK“-Nachricht quittiert wird. Diese
drei Nachrichten reichen im einfachsten Fall aus, um eine Nutzdatenverbindung
aufbauen zu können. Die Besonderheit der drei oben beschriebenen Nachrichten ist, dass sie meist einen speziellen, zusätzlichen Inhalt im sogenannten Body
haben. Dieser Body enthält die Beschreibung der aufzubauenden Nutzdatenverbindung. Hier wird u.a. festgelegt, welche Audio- und Video-Codecs zum Einsatz
26
User
Agent 1
4: ACK
Media Connection (RTP)
User
Agent 2
1: BYE
2: 200 / OK
kommen, welche Parameter diese benutzen sollen und welche IP-Adressen und
Ports die Endpunkte der Nutzdatenverbindung haben. Zur Beschreibung der
Mediendatenverbindung nutzt man das Session Description Protocol (SDP); ein
Protokoll, das in vielen anderen Verhandlungs- und Übertragungsmechanismen
bereits erfolgreich eingesetzt wird und sich seit langem etabliert hat.
Eine der Stärken von SIP liegt darin, dass durch den oben beschriebenen Nachrichtenaustausch auch Eigenschaften der Nutzdatenverbindung verhandelt und
nicht etwa nur von der Anruferseite festgelegt werden können. Es ist durchaus
erlaubt, anstelle eines einzelnen gewünschten Audiocodecs eine Prioritätsliste
auszutauschen, die von der Gegenstelle verändert oder gar ersetzt werden darf.
Da der Nachrichtenaustausch beim Verbindungsaufbau aus mindestens drei
Nachrichten besteht, hat der Anrufer das letzte Wort und kann über den wirklich
zu nutzenden Audiocodec bestimmen.
Ein weiterer Vorteil von SIP offenbart sich, wenn man den Verbindungsaufbau
unter Zuhilfenahme von SIP-Servern genauer betrachtet.
Die Adressen der SIP-Teilnehmer sind durch ein vorgestelltes „sip:“ gekennzeichnet und meist in der Form „sip:user@host“, „sip:user@domain“ oder
„sip:<user>@<ip_address>“. Im einfachsten Fall, also bei einer direkten Verbin27
dung zwischen zwei Endgeräten, ist hier Host und Domain (bzw. IP-Adresse) des
Endgerätes gemeint, d.h. die IP-Adresse des Empfangsgerätes muss bekannt
sein, bzw. der Host- oder Domainname muss über übliche Mechanismen (z.B.
Domain Name Service DNS) auflösbar sein. Da dies in der Praxis jedoch selten
der Fall sein wird, gibt es die Möglichkeit ein Endgerät mit Hilfe von SIP-Servern
zu ermitteln.
Wie aus der Illustration ersichtlich wird, verhandeln die Endgeräte mit Ausnahme
der „ACK“ Nachricht nie direkt miteinander, sondern kommunizieren stets nur
mit dem SIP-Proxy. Trotzdem läuft die Verhandlung aus Sicht der Endgeräte
exakt so ab, wie eine direkte Verhandlung ohne Proxy – der SIP-Proxy ist also
transparent.
Abb. 7
SIP - Call Flow
1: INVITE
Location Service
3: [email protected]?
4: [email protected]
[email protected]
5: INVITE
2: 100 / Trying
User
Agent 1
[email protected]
SIP Proxy
6: 100 / Trying
8: 100/ Ringing
7: 100/ Ringing
10: 200/ OK
9: 200/ OK
User
Agent 2
11: ACK [email protected]
Betrachten wir ein Beispielszenario, in dem Endgerät 1 eine Verbindung zu
einem mobilen Endgerät 2 aufbauen möchte. Die IP-Adresse der Geräte sei
hierbei der jeweiligen Gegenstelle unbekannt. Es könnte sich z.B. um mobile
Geräte handeln, die sich über UMTS oder ADSL in ein Netz einwählen. Um
dennoch eine Verbindung aufbauen zu können, melden sich beide Endgeräte
bei einem SIP-Server mittels spezieller SIP-Nachrichten an. Hierzu identifiziert
sich der Benutzer anhand einer zuvor zugeteilten SIP-Adresse der Form user@
service-provider und meist auch einem Passwort. Der SIP-Server legt die Information unter welcher IP-Adresse der angemeldete Benutzer zu erreichen ist bei
einem Location-Server ab. Bei einem Verbindungswunsch von Endgerät 1 wird
als Ziel die registrierte Adresse des Endgerätes 2, also beispielsweise geraet2@
service-provider, angegeben. Die „INVITE” SIP-Nachricht wird deshalb an einen
SIP-Proxy geschickt, der seinerseits beim Location-Server die IP-Adresse des
angerufenen Endgerätes erfragt und dann die Nachricht in leicht veränderter
28
Form an Endgerät 2 weiterleitet. Endgerät 2 antwortet mit SIP-Nachrichten an
den SIP-Proxy, der diese wieder an Endgerät 1 weiterleitet. Die in Abbildung
gezeigten Nachrichten „100/Trying“ sind optional und dienen der Quittierung
einer Anfrage. Ebenfalls optional sind die gezeigten „180/Ringing“ Nachrichten,
die in der klassischen Telefonie das Ertönen eines Wecksignales beim Empfänger
an den Anrufer signalisieren.
Der Einfachheit halber wird in diesem Beispiel darauf verzichtet die Teilnehmer
an verschiedenen SIP-Servern anzumelden. Dies ist jedoch durchaus üblich und
natürlich problemlos möglich, da Verbindungsanfragen einfach von einem an
andere SIP-Proxies weitergeleitet werden können. Somit kann statt eines einzigen
Proxies auch eine Kette mehrerer Proxy-Server zwischen den Endgeräten liegen.
Proxy-Server müssen auch nicht gezwungenermaßen bei einem Provider stehen.
Dank Open-Source-Lösungen wie Asterisk oder Routern mit eingebauter SIPServer Funktionalität ist es einfach, eine solche Netzstruktur selbst aufzubauen.
Natürlich bringt ein neues Protokoll auch neue potentielle Probleme mit sich. Wie
bei jedem Peer-to-Peer Protokoll können Firewalls auch bei SIP-Verbindungen
eine gewünschte Kommunikation unterbinden. Eine Firewall definiert alle Pakete,
die zu einer Verbindung, die von außerhalb (d.h. meistens aus dem Internet) initiiert wird, gehören, als nicht erwünscht und verwirft diese. Sind also beide Endgeräte hinter einer Firewall, so kann von keiner Seite eine Verbindung aufgebaut
werden, da die Firewall der Gegenseite eingehende Verbindungsversuche immer
als unerwünscht interpretiert und somit unterbindet.
29
ressen im Header geändert; der Inhalt eines Paketes (also z.B. die Beschreibung
der Nutzdatenverbindung im SDP-Teil bei SIP) bleibt unverändert. Es existieren
unterschiedliche Möglichkeiten, wie diese Adressübersetzung geschieht. Diese
verschiedenen Mechanismen können zu unterschiedlichen Adressen oder Ports
im Absender eines übersetzten Paketes führen. Je nach Art der NAT scheinen
die übersetzten Pakete (also die Pakete, die in das öffentliche Netz gelangen)
von unterschiedlichen Adressen oder Ports zu kommen und sind nicht eindeutig vorhersehbar. Es ist also schwierig, im Inhalt (Body) einer SIP-Nachricht die
richtige IP-Adresse und den richtigen Port anzugeben, da diese je nach eingesetztem NAT-Mechanismus unterschiedlich sein können.
Abb. 8
3)0.!4&IREWALLS
4HEh&IREWALL0ROBLEMv
1.
1.
2.
4.
3.
Dieses Problem läßt sich jedoch durch entsprechende Firewalleinstellungen (z.B.
Port-Forwarding) umgehen.
Ein weiteres Problem entsteht dadurch, dass im Inhalt (Body) einer Nachricht,
genauer gesagt im SDP-Teil, eine IP-Adresse für die Nutzdatenverbindung angegeben werden muss. Das ist im Normalfall die IP-Adresse des Endgerätes. Sollte
im Netzwerk zwischen den Endgeräten jedoch Network Address Translation
(NAT) eingesetzt werden, wie es häufig in nichtöffentlichen Netzen der Fall ist,
so kann die in der Nachricht angegeben Adresse nicht von einem anderen Netz
erreicht werden und ist somit falsch.
Nichtöffentliche Netze nutzen nämlich meist IP-Adressen aus einem speziellen
Adressraum, der nur in privaten Netzen genutzt werden darf. Beispiele hierfür
sind Adressen, nach dem Schema 192.168.X.X oder 10.X.X.X. Gelangt ein solches Paket in ein öffentliches Netz wie das Internet, so wird es sofort verworfen.
NAT sorgt deshalb dafür, dass beim Übergang zwischen einem nichtöffentlichen
und dem öffentlichen Netz die Absenderadresse eines IP-Paketes aus dem
privaten Netz in eine des öffentlichen Netzes umgeschrieben wird. Bei einem
hereinkommenden Paket wird entsprechend die Zieladresse von der öffentlichen
in die private Adresse umgeschrieben. Wohlgemerkt werden hier nur die IP-Ad-
30
Lösung bietet hier das STUN (Simple Traversal of UDP over NATs) Protokoll, das
ermöglicht herauszufinden, welche Art von NAT vom Netzwerk verwendet wird
und wie die zu verwendende IP-Adresse und der zu verwendende Port lautet.
Hierzu werden einige Testpakete mit einem STUN-Server (z.B. stunserver.org)
gewechselt, anhand derer die gewünschte Information ermittelt wird.
2.
4.3
Betriebssicherheit
Grundsätzlich gibt es zwei Aspekte der Sicherheit bei solchen Verbindungen:
■■
Die Sicherheit der Übermittlung von Informationen
■■
Die Sicherheit gegenüber Angriffen von außen
Bei einer SIP-gestützten Verbindung werden über zwei Kanäle Informationen
ausgetauscht. Zum einen werden Registrierungs- und Signalisierungsdaten über
das SIP ausgetauscht und zum anderen Nutzdaten (z.B. über RTP). Beide Verbindungen könnten geheime, schützenswerte Informationen preisgeben.
Um die SIP Signalisierung zu schützen, definiert der SIP-Standard (RFC 3261)
das SIPS Protokoll, bei dem anhand von Schlüsselwörtern signalisiert wird, dass
eine Verschlüsselung der SIP Verhandlung gewünscht ist. Eine solche Verschlüsselung wird mit dem TLS Verfahren, das z.B. auch bei HTTPS eingesetzt wird,
vorgenommen. Um eine Transparenz der Nachrichten zu gewährleisten, wird hier
jedoch nur der Inhalt (Body) einer Nachricht, also im Regelfall die Information
über verwendete Audio- und Video-Codecs etc., geschützt.
Gerade bei der Übertragung von Mediendaten in hoher Qualität ist der Inhalt
der Nutzdaten meist besonders schützenswert. Einen Mechanismus für einen
31
darauffolgender Übertragung ermöglicht es auf einfache Weise die Nutzung von
beliebigen Audio- und Video-Codecs auszuhandeln – sofern sie von allen Endteilnehmern unterstützt werden.
solchen Schutz bietet der SIP Standard jedoch nicht, da hier Mechanismen eingesetzt werden können, die auch bei anderen IP-Verbindungen genutzt werden.
Beispiele hierfür sind:
■■
■■
■■
ATM oder MPLS: Dienste im darunter liegenden Transportnetz, basierend
auf Adressierungsmechanismen
IPSec: Tunnel basierend auf dem Internetprotokoll
Ein nicht zu unterschätzendes Sicherheitsrisiko stellen Angriffe von außen dar.
Solche aus Fremdnetzen initiierte Angriffe haben meist zum Ziel, den angegriffenen Dienst zu stören oder ganz zu blockieren (Denial of Service / DoS). Es wäre
z.B. denkbar, dass ein Angreifer versucht, einen RTP-Nutzdatenstrom auf ein
neues Ziel umzulenken und sich so Zugang zu enthaltenen Informationen schafft
und/oder den Dienst blockiert. Umgekehrt könnte ein Angreifer auch RTPNutzdatenströme durch eigene ersetzen und somit falsche oder unerwünschte
Information verbreiten. Solche Attacken lassen sich nicht allein mit den oben
beschriebenen Mitteln vereiteln, sondern erfordern vielmehr Netzstrukturen und
Sicherheitsanwendungen, wie Firewalls und Application Layer Gateways (ALG).
Jedoch ist das Erstellen solcher Netzwerkstrukturen alleine wirkungslos, solange
das Netz nicht kontinuierlich und fachgerecht überwacht und gewartet wird.
4.4
SIP für hochqualitative Medialinks
SIP hat bis dato hauptsächlich in Telefonieanwendungen Verbreitung gefunden.
In solchen VoIP Anwendungen hat es heute seinen festen Platz und ist als Standard für das kommende Next Generation Network (NGN) fest eingeplant.
Man kann also fest damit rechnen, dass die für einen problemlosen Betrieb notwendigen Netzstrukturen und -ressourcen durch die weite Verbreitung von SIP
als VoIP-Lösung von allen wichtigen Netzbetreibern zur Verfügung stehen.
Wie bereits erwähnt ist SIP auch eine sehr gute Grundlage für Medialinks in
professioneller Qualität. Vor allem die saubere Trennung von Verhandlung und
32
Das hierzu benutzte SDP wird ohnehin bereits in anderen Übertragungsmechanismen eingesetzt und wird von Codec-Herstellern die Audio-Over-IP ernsthaft
betreiben, bereits verwendet. Es handelt sich bei SIP also lediglich um eine neue
Art der Signalisierung.
VPN: Teilnehmer eines VPN können Daten wie in einem internen LAN austauschen. Die einzelnen Teilnehmer selbst müssen hierzu nicht direkt verbunden sein. Die Verbindung über das öffentliche Netz wird üblicherweise
verschlüsselt.
4.5
SIP Ausblick
Um SIP für einen reibungslosen Ablauf der Kommunikation zwischen Audio- und
Video-Codecs nutzen zu können, sind jedoch einige Festlegungen und Erweiterungen wünschenswert. Bei einem normalen SIP Verbindungsaufbau kann
höchstens dreimal eine Beschreibung der aufzubauenden Verbindung gesendet
werden – zweimal vom Anrufer und einmal vom Angerufenen. Für die klassische
Telefonieanwendung, für die SIP geschaffen wurde, ist dies sicher ausreichend,
denn hier kommen vorwiegend Algorithmen mit wenigen oder gar keinen Parametern (G.711, G.722, G.723, G.728, G.729a,...) zum Einsatz. In dieser sehr
knappen Verhandlung müssen die Kommunikationspartner für hochqualitative
Medialinks sich jedoch nicht nur auf den zu verwendenden Algorithmus einigen,
sondern auch unter anderem auf die Anzahl der Kanäle, die Sample- und Datenraten und ob die Verbindungen bi- oder unidirektional aufgebaut werden sollen.
Abhilfe könnte man hier beispielweise schaffen, indem man die Anzahl und
Parameter der über SIP verhandelbaren Audio- und Video-Codecs limitiert und
festlegt. Eine andere Möglichkeit wäre die Ausdehnung der Verhandlungsphase
auf mehr als drei Schritte. Hier wird sicher die von der EBU ins Leben gerufene
Arbeitsgruppe N/ACIP eine normative Rolle spielen.
Das große Interesse an SIP als Verhandlungsprotokoll für hochqualitative Medialinks haben wir den zuletzt in verschiedenen Ländern und durch verschiedene
Telekommunikationsanbieter verbreiteten Meldungen ISDN demnächst abschalten zu wollen, zu verdanken. Deutschland wird sicher für diese Umstellung noch
einige Jahre Zeit haben, da hier ISDN auch bei Privatanwendern weit verbreitet
ist. Dass eine innerdeutsche ISDN-Verbindung jedoch ab der Vermittlungsstelle
über eine IP-Strecke läuft, ist jedoch bereits heute durchaus üblich. Die bei der
Umsetzung entstehende Latenz und der Verlust eventuell mitgesendeter Zu33
Beim erstmaligen Arbeiten mit SIP, sollte man sich als SIP-user registrieren.
Alle anderen Einstellungen werden direkt beim Client (z.B. CENTAURI II) vorgenommen. Es ist ferner zu berücksichtigen, daß man an Stelle des eigenen auch
öffentliche SIP-registrars verwenden kann. Dabei ist zu berücksichtigen, daß alle
notwendigen Features unterstützt werden.
satzinformationen wäre durch eine Umstellung auf IP-basierte Übertragungen
vermeidbar. Natürlich ist auch eine IP-Strecke - teils mit erheblicher – Latenz
behaftet, die stark von der Qualität des darunterliegenden Netzes abhängt.
Die von der EBU eingesetzte Arbeitsgruppe N/ACIP beschäftigt sich mit dem
Thema Audio-Over-IP und versucht zusammen mit Herstellern, Netzbetreibern
und Anwendern Empfehlungen für die Kompatibilität zwischen Audio Codecs
bei IP Verbindungen auszusprechen. Auch hier wird SIP als ein obligatorisch zu
unterstützendes Protokoll aufgeführt.
Bei der Anpassung von SIP an die Anforderungen hochqualitativer Mediaverbindungen wird diese Arbeitsgruppe sicher das wichtigste Forum sein. Glücklicherweise sind sich alle an dieser Arbeitsgruppe Beteiligten einig darüber, dass
ein langwieriger und hindernisreicher Weg wie er bei der Einführung von ISDN
gegangen wurde, bei der Einführung von SIP verhindert werden muss.
5
Praktische Voraussetzungen für SIP und Audio-via-IP
5.1
Voraussetzungen für SIP-basierte Verbindungen über öffentliches Internet
Die erste Maßnahme für eine erfolgreiche SIP Verbindung ist die Auswahl einer
geeigneten IP-Verbindung. Z.B. gibt es in Deutschland viele verschiedene regionale und recht große Service Provider, die S-DSL Angebot mit 2 MBit/s und mehr
anbieten. Bei Kontaktaufnahme zu einem solchen Provider müssen folgende
Punkte abgeklärt werden:
■■
Kosten für die S-DSL Verbindung
■■
Minimum an Kapazität von 2 Mbit/s
■■
mindestens 3, besser 16 öffentliche IP-Adressen
■■
Auskunft über möglichen Quality-of-Service erhalten
Alle SIP-clients müssen sich bei einem speziellen SIP-registrar registrieren. Dies
kann im selben Netzwerk oder auch irgendeine IP-Adresse im öffentlichen Internet sein. Der SIP-registrar ist der Schlüssel für SIP-Verbindungen, da er wie eine
Art Telefonbuch oder Datenback mit allenverfügbaren SIP-clients funktioniert.
Es wird für SIP-Verbindungstests empfohlen sich seinen eigenen SIP registrar zu
besorgen. Dafür gibt es verschiedene Modelle, z.B. von LANCOM den 1722 VoIP,
mit dem bereits viele erfolgreiche Tests durchgeführt wurden.
34
5.2 Voraussetzungen für sonstige IP-basierte Verbindungen – Unicast versus
Multicast
Die IP Punkt-zu-Punktverbindungen werden Unicast genannt während man Multicast als Begriff für Punkt-zu-Mehrpunkt-Verbindungen verwendet. Unicast nutzt
UDP und TCP Als Transportprotokoll. Bei der Verwendung von Audio Codecs,
z.B. CENTAURI II können diese UDP Unicast Verbindungen uni- oder auch bidirektional sein. CENTAURI II TCP Verbindungen sind stets bi-direktional. Multicast verwendet UDP als Transportprotokoll. Multicast Übertragungen sind stets
uni-direktional.
Multicasting ist der richtige Weg zur Verbreitung von Multimediadaten zu den
Empfängern, da diese sich jederzeit zu- oder abschalten können. Während
Unicast für ein Kommunikationsmuster steht, welches Daten von einem zum
anderen Teilnehmer schickt, bedeutet Broadcast der Versand von einem zu allen
anderen innerhalb eines Netzwerks.
Multicast hingegen bedeutet die Bereitstellung von Daten für eine sich ändernde
Zahl an Teilnehmern, wobei diese Teilnehmer die Möglichkeit haben sich durch
Versand einer speziellen Multicastadresse in eine bestehende Multicastverbindung zu schalten.
Die Probleme mit Multicast entstehen bei der Wahl der Route vom Sender zum
Empfänger. Während normales Radio oder Fernsehen einfach Signale ausstrahlt
und diese abhängig von der Reichweite überall im Versorgungsgebiet empfangen
werden können, gibt es im Internet einige Restriktionen, wie Bandbreite und
Netzwerkauslastung. Ein richtiger Broadcast würde das Internet lahmlegen. Ein
anderes Problem ist es, die Router entsprechend richtig über die Teilnehmer an
einer Multicastverbindung zu informieren.
Die Idee des Multicast ist es möglichst wenig Bandbreite zu verwenden und
somit die Netzbelastung so gering als möglich zu halten. Anstelle Bandbreite
35
zu verbrauchen, wird das Signal nur an die Teilnehmer geschickt, die es auch
tatsächlich hören bzw. sehen wollen, diese Teilnehmer dann auf dem effizientesten und kürzesten Weg zu erreichen. Der Sender verschickt das Signal nur
einmal und es wird erst bei einem dem Empfänger nahen Router dupliziert. Das
dafür verantwortliche Protokoll nennt sich IGMP (Internet Group Management
Protocol), mit dem ein Teilnehmer mitteilt Mitglied einer Multicastgruppe werden
zu wollen. Die Multicastgruppe ist eine Anzahl an Sendern/Empfängern, die
bei deren Router für eine bestimmte Multicast-IP registriert sind. Es gibt einen
bestimmten Adressbereich der sogenannten Class-D Adressen für Multicast.
Die vier wichtigsten Bits der Class-D Adressen werden auf 1 1 1 0 gesetzt. Die
folgenden 28-bit werden „multicast group ID“ genannt und gehen von 224.0.0.0
bis 239.255.255.255.
6
Typische IP oder gemischte IP/ISDN Anwendungen
UMTS/3G/3.5G
2x Head2x
phones Line Out
MPEG-4 HE AACv2, 48 kbps
*/5&3/&5
SPORTY
stereo analogue or
digital AES/EBU
CENTAURI II
CENTAURI II
2x Mic
2x Line In
CENTAURI II
Request for Multicast
Receiving Multicast
Abb. 10
Sender
Sender
Sender
Sender
Sender
Sender
Sender
Sender
Sender
Sender
Sender
Sender
Sender
Sender
Sender
Receiver
Receiver
Head- Line
phones Out
Sender
Sender
Sender
Übertragung vom Reporter zu mehreren Studios mit IP Multicast über UMTS/3G
Receiver
Receiver
Receiver
WLAN
Hotspot
Receiver
Eapt-X
192 kbps
stereo analogue or
digital AES/EBU
*/5&3/&5
CENTAURI II
CENTAURI II
FLASHMAN II
Abb. 9
Jedes Multicast Datensignal wird durch eine Multicast group ID definiert. Falls
ein Teilnehmer zum Senden/Empfangen bestimmter Daten einer bestimmten Multicastgruppe beitreten möchte, muß er den nächsten Router darüber
informieren, und zwar durch Versant der bestimmten Multicast ID über ein
IGMP-Telegramm. Diese ID wird dann von Router zu Router weitergereicht, um
festzustellen, ob noch andere Multicastgruppenteilnehmer(s. Abb. 9: Request
for Multicast) existieren. Natürlich kann derselbe Teilnehmer auch als Sender
agieren. In diesem Fall wird der nächte Router die Daten an alle Teilnehmer der
Multicastgruppe verschicken.
36
CENTAURI II
2x Mic Line In
Abb. 11
Übertragung vom Reporter zu mehreren Studios mit IP Multicast über einen
Hotspot/ WLAN Zugang
37
stereo digital
AES/EBU
IP
MPEG 1/2, Layer 2
384 kbps
CENTAURI II
Backup Line
Abb. 12
ganymed 1002
DAB/DRM
FM/AM
stereo digital
AES/EBU
ganymed 1002
Abb. 15
*1
stereo digital
AES/EBU
CENTAURI II
CENTAURI II
*4%/
#1
CENTAURI II
SPORTY
#2
*1
*/5&3/&5
e.g. MPEG Layer 2
192 kbps
SIP
SIP
SIP<->ISDN
Gateway 2250
up to 8x
64 kbps
e.g. MPEG-4
HE AACv2
64 kbps
*4%/
CENTAURI II
CENTAURI II
Audio Codec
#8
Audio
CENTAURI II
Abb. 16
5.1/7.1 Multichannel
4x AES/EBU
Audio
e.g. Layer 3, 128 kbps
Audio Codec
*4%/
8 Audiokanäle werden im AES/EBU Transparent Modus über IP übertragen.
Bitrate netto 12 Bit/s.
2
8
SIP<->ISDN
Gateway 2250
SIP
CENTAURI II
1
Multipoint SIP/ISDN Gateway Anwendung mit Audio kodierung Konvertierung
e.g. Eapt-X
192 kbps
5.1/7.1 Multichannel
4x AES/EBU
38
CENTAURI II
SIP
*1
Abb. 14
#n
Audio
CENTAURI II
Point-to-Multipoint Backup an bis zu 8 Gegenstellen mit einem CENTAURI mit integrierten
4 BRI Schnittstellen und HE AACv2 mit 64kbps stereo
AES Transparent
12,288 mbps
#2
SIP
MPEG-4 HE AACv2, 64 kbps
Backup Line
#1
Multicast Anwendung, Senderzuführung an viele IP Decoder
FLASHMAN II
Abb. 13
ganymed 1002
*4%/
apt-X / Eapt-X
up to 24 Bit/96 kHz, 448 kbps
stereo digital
AES/EBU
*1
CENTAURI II
Backup einer IP-via-Satellite-Strecke über ISDN mit automatischer Rückkehr zu IP
CENTAURI II
stereo digital
AES/EBU
CENTAURI II
MPEG-4 HE AACv2
64 kbps
stereo digital
AES/EBU
MPEG 2 AAC
128 kbps
CENTAURI II
Audio analogue or
digital AES/EBU
Abb. 17
ISDN/SIP Gateway Anwendung mit Audio Format Konvertierung
39
40
7
Referenzen
7.1
R. Wagner, „Das neue Verteilnetz von Telekom Austria und ORF“, FKT, Nr. 56, 7 / 2002, S. 387 – 390
7.2
G. Stoll, F. Kozamernik, “EBU subjective listening tests on low-bitrate audio codecs”, EBU, 2003
7.3
“Too many audio codecs”, Detlef Wiese, Tonmeistertagung, 2002
7.4
White Paper „Diskussion von Codierverfahren“, Detlef Wiese, 2002
7.5
White Paper “NAT Traversal for Multimedia over IP”, Newport Networks, 2005
7.6
White Paper „Understanding SIP“, D. Sisale, J. Kutan, GMD Fokus, 2000
7.7
CENTAURI II Handbuch, Werner Ludwig, 2006
Impressum
Herausgeber: MAYAH Communications GmbH, Copyright 2007,
Redaktion: Daniel Adasinsky
Autoren: Hans-Heinrich Hansen, Christian Diehl, Uwe Andersen,
Jan Simon, Werner Ludwig, Jörg Rimkus, Detlef Wiese
1. Auflage
Flashman, Centauri, Mayah sind eingetragene Warenzeichen
Layer 2 licensed from Audio MPEG, Coding Technologies
Layer 3/mp3Pro licensed from Thomson/Fraunhofer Institute
AAC / AAC HE licensed from VIA, Coding Technologies
*working name of MPEG 4, implementation from Coding Technologies
© Copyright MAYAH Communications GmbH, 2007. All rights reserved. CENTAURI®,
FLASHMAN® and MAYAH are registered trademarks. Patents pending.
Product information and technical specifications are subject to change without notice.
Audio-via-IP Kompendium
Audio-via-IP
Grundlagen, Praxis und
Anwendungen
The MAYAH range –
Professional Audio & Video Encoding/Decoding, Recording,
Mixing and Transmission Products
CENTAURI®II
Multichannel Audio Gateway Codec
Sporty
Portable Reporter Codec
MERK II
Portable Audio Codec Mixer
IO [io]
Audio Video Encoder/Decoder
ganymed
IP Audio Encoder/Decoder
Flashman II
Portable Audio Recorder/Codec
MAYAH Communications
Am Soeldnermoos 17
85399 Hallbergmoos, Germany
Tel.: +49 8115517-0, Fax: -55
E-Mail: [email protected]
www.mayah.com
AUDIOVIAIPEXPERTS
AUDIOVIAIPEXPERTSGROUP
GROUP