Sebastian Schellenberg Hauptseminar „Softwarebasierte TK-Anlagen für VoIP mit offenem Quellcode“ Verantwortlicher Professor: Prof. Dr. Jochen Seitz Betreuer: Dipl.-Ing. Yevgeniy Yeriomin 1 Inhaltsverzeichnis 1 Einleitung 1.1 Voice over IP . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 TK-Anlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Überblick über OpenSource-Varianten . . . . . . . . . . . . . . 2 Asterisk 2.1 Allgemeines . . . . . . . . . . . . . . . . 2.2 Protokolle . . . . . . . . . . . . . . . . . 2.2.1 H.323 . . . . . . . . . . . . . . . 2.2.2 Inter Asterisk Exchange Protocol 2.2.3 Session Initiation Protocol . . . . 2.2.4 Media Gateway Control Protocol 2.2.5 Skinny Client Control Protocol . 2.2.6 Skype . . . . . . . . . . . . . . . 2.3 Codecs . . . . . . . . . . . . . . . . . . . 2.4 Dienste . . . . . . . . . . . . . . . . . . . 2.5 Installation und Bedienung . . . . . . . . 3 SIP 3.1 3.2 3.3 3 3 4 6 . . . . . . . . . . . 7 7 8 8 9 9 10 10 11 11 12 13 Express Router (SER) Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . Funktionen und Dienste . . . . . . . . . . . . . . . . . . . . . Bedienung und Konfiguration . . . . . . . . . . . . . . . . . . 14 14 15 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Integrationsmöglichkeiten 17 4.1 Vergleich von Asterisk und SER . . . . . . . . . . . . . . . . . 17 4.2 Einsatzszenarien . . . . . . . . . . . . . . . . . . . . . . . . . 17 5 Anhang 18 5.1 Quellen- und Literaturverzeichnis . . . . . . . . . . . . . . . . 18 5.2 Abkürzungsverzeichnis . . . . . . . . . . . . . . . . . . . . . . 19 2 1 1.1 Einleitung Voice over IP Die Datenkommunikation hat in den letzten Jahrzehnten drastisch zugenommen. Die Sprachkommunikation über das normale Festnetz spielt mittlerweile nur noch eine untergeordnete Rolle. Da die Netzbetreiber daran interessiert sind, möglichst ein Netz für alle Arten von Anwendungen, wie z.B. Daten, Sprache & Fernsehen, zu erstellen, war es nötig die Sprache ins Internet zu bringen. Da man im Internet vornehmlich mit dem Internet Protocol (IP) arbeitet, ist es notwendig die Sprache in ein IP-Netz zu speisen - dies nennt man „Voice over IP“. Das Verfahren dazu läuft in drei Phasen ab. Erst wird die Sprache von analog in digital konvertiert. Danach wird das digitale Signal mit einem geeigneten Codec kodiert, um Übertragungsrate zu sparen. Nun wird die kodierte Sprache in IP-Pakete gepackt und zum Empfänger gesendet. Abbildung 1: Funktionsweise von VoIP [9] 3 Die Telekommunikationsanlagen müssen dementsprechend eine Fülle an Übertragungsprotokollen und Codecs, sowie Dienste unterstützten. In diesem Hauptseminar wird auf softwarebasierte TK-Anlagen eingegangen und Funktionsweisen sowie Einsatzmöglichkeiten analysiert. 1.2 TK-Anlagen Eine Telefonanlage ist eine Vermittlungseinrichtung, die mehrere Endgeräte wie z.B. Telefon und Fax sowohl untereinander als auch mit dem öffentlichen Telefonnetz verbindet. Eine VoIP-TK-Anlage kann sich statt mit dem Festnetz auch mit dem Internet verbinden, je nachdem welches Einsatzszenario verfolgt wird. Eine VoIP-Anlage kann auch als eine Schnittstelle zwischen einem größeren IP-Netz und dem Festnetz/Internet betrieben werden. Beispiel hierfür wäre ein größeres Firmennetzwerk. Ein mögliches Szenario ist hier abgebildet: Abbildung 2: Aufbau eines Beispielnetzwerks [10] 4 Hierbei ist das Internet das „Hintergrundnetzwerk“. An diesem sind z.B. ein „DSL-Modem mit VoIP-Router“ angeschlossen. Dieses fungiert als TKAnlage und verbindet z.B. ein Festnetztelefon mit dem Netz. Grundsätzlich unterscheidet man TK-Anlagen in software- und hardwarebasiert. Hardware-TK-Anlagen werden meist von größeren Herstellern als IT-Lösung angeboten und besitzen ein starres Portfolio an Funktionen und unterstützten Protokollen. Als Beispiel ist hier eine VoIP-TK-Anlage vom Anbieter 1&1 dargestellt. Abbildung 3: Fritzbox [11] Als Alternative zu einer Hardware-TK-Anlage gibt es Softwarebasierte Lösungen. Dies ist eine Software, die die Funktionen einer herkömmlichen Hardwareanlage voll und ganz erfüllt. Sie läuft auf einem Server-PC und ist über LAN bzw. WLAN mit dem jeweiligen Endgerät/Endgeräten verbunden. Die Endgeräte unterscheidet man noch in Hard- und Softphones. Hardphones sehen aus wie herkömmliche Telefone und lassen sich auch wie solche bedienen. Dies ermöglicht die Umstellung auf IP-Technologie, ohne dass sich der Anwender umgewöhnen muss. Besonders für ältere Kunden ist dies ein wesentlicher Vorteil beim Umstieg. 5 Abbildung 4: VoIP-Telefon [12] Softphones bestehen z.B. aus einem Headset oder Mikrophon. Anwendung finden diese bei Internettelefonie über den Computer, wie z.B. mit dem Programm „Skype“. 1.3 Überblick über OpenSource-Varianten Die Software-TK-Anlagen unterscheidet man noch in Closed-Source und OpenSource Varianten. Die Vertreter mit geschlossenem Quellcode werden ebenfalls von einigen großen Anbietern anboten, so z.B. von Alcatel, Siemens & Swyx. Sie sind fast ausschließlich kostenpflichtig und lassen sich nicht abändern. Open-Source-Varianten sind einseh- und veränderbar und sind damit besonders für die Forschung interessant. Außerdem rüsten viele Interessenten ihr Netzwerk mit diesen Varianten aus um Kosten zu sparen. Open-Source-Vertreter sind Asterisk, SIP Express Router (SER), Bayonne, Vocal und PBX4Linux. Andere Vertreter sind weitgehend unbekannt oder nicht weit verbreitet. Ich beziehe mich in dieser Arbeit hauptsächlich auf Asterisk und SER. 6 2 2.1 Asterisk Allgemeines Der Name Asterisk leitet sich aus dem griechischem ab und bedeutet so viel wie Sternchen. In der IT-Welt wird, z.B. bei der Dateisuche, das Sternchen „*“ als Platzhalter für alle möglichen Bezeichnungen gesetzt. Sucht man nach *.mp3, durchsucht man den Ordner nach allen mp3-Dateien. Dies ist auch die Prämisse von Asterisk, nämlich möglichst vielseitig zu sein und alles abzudecken. Hier das offizielle Logo des Programms: Abbildung 5: Asterisk Logo [13] Entwickelt wurde das Programm von Marc Spencer. Er schrieb neben dem Programm auch noch das Inter Asterisk Exchange Protocol (IAX). Die heutigen zahlreichen Weiterentwickelungen stammen aber nicht mehr von Ihm sondern von anderen Entwicklern. Dies wurde durch den offenen Quellcode und die Verbreitung möglich. Abbildung 6: Mark Spencer [14] 7 Ursprünglich wurde Asterisk für UNIX-Systeme wie Linux entwickelt. Es ist aber auch auf Mac OS und Sun Solaris lauffähig. Für den Betrieb auf Windows-Systeme müssen spezielle Emulatoren installiert werden. Das Hauptmerkmal von Asterisk ist die Vielseitigkeit im Hinblick auf die unterstützten Protokolle und Dienste. Diese werden in den nachfolgenden Unterpunkten näher beleuchtet. Eine Datenbankanbindung für hinterlegte Benutzerdaten ist sowohl über MySQL als auch ODBC möglich. 2.2 Protokolle Um die Funktionsweisen von Asterisk am besten einschätzen zu können, sind die unterstützten Protokolle am aussagekräftigsten. In diesem Unterkapitel wird auf die wesentlichen Gesichtspunkte der von Asterisk unterstützten Protokolle, eingegangen. 2.2.1 H.323 Das Protokoll H.323 ist aus der der H.32X-Protkollfamilie, in der auch ISDN und das öffentliche Telefonnetz spezifiziert sind. H.323 ist eine Empfehlung der bekannten ITU-T. In der Empfehlung werden Protokolle für die audiovisuelle Kommunikation auf paketübertragenden Netzten definiert. H.323 ist der erste IP-Telefonie-Standard, der das Realtime Transport Protocol (RTP) adaptiert hat, um Audio und Video über IP-Netzwerke zu transportieren. Es nutzt auch andere ITU-T-Empfehlungen: • H.225.0 zur Rufsignalisierung, Umwandlung des Datenstroms in Pakete, Synchronisierung des Datenstroms und Kontrolle des Nachrichtenformats • H.245 zum Öffnen und Schließen logischer Kanäle und der Kontrolle von Übertragungskapazitäten • H.450 um zusätzliche Telefoniefunktionen um Leistungsmerkmale von ISDN auf IP abzubilden • H.235 zur Sicherung und Authentifizierung. 8 Es basiert auf dem ISDN-Protokoll Q.931 und hat ein Rufmodell, dass dem ISDN-Rufmodell sehr ähnlich ist. Deshalb eignet es sich für Kommunikation zwischen IP-basierten Systemen und ISDN. Dies ist ein wesentlicher Gesichtspunkt der sogenannten „sanften Migration“: VoIP wird langsam integriert, ohne dass vorhandene Netzte sofort abgeschafft werden. 2.2.2 Inter Asterisk Exchange Protocol Das IAX (Inter Asterisk Exchange Protocol ) dient sowohl zur Verbindung zwischen einzelnen Asterisk-Servern als auch zur Kommunikation zu Endgeräten, mit denen somit Voice-over-IP-Gespräche möglich sind. Für den Signalisierungsprozess und für die Übertragung des Audiostream wird nur ein Port benötigt, der von Seiten des Clients offengehalten wird. Dadurch entstehen keine NAT- bzw. Firewall-Probleme. Ein wesentliches Merkmal des Protokolls ist der geringe Overhead. Dadurch wird die Verwendung von Schmalbandcodecs ermöglicht, wodurch VoIP-Gepspräche auch über ein Analog-Modem geführt werden können. Das Protokoll ist unkompliziert strukturiert. Hauptziele der Entwicklung waren ein geringer Bandbreitebedarf, die Steuerung einer einzelnen Sprachverbindung und die NAT-Unterstützung. IAX kann daher über eine einzelne UDP-Verbindung Steuersignale und mehrere Gespräche bzw. Videobotschaften zwischen zwei Computern bzw. Endgeräten übertragen. 2.2.3 Session Initiation Protocol Das SIP (Session Initiation Protocol ) wurde von der IETF entwickelt und kann benutzt werden, um beliebige Sessions mit einem oder mehreren Teilnehmern zu verwalten. Sessions können beliebige Multimediaströme, Konferenzen, Computerspiele u.a. sein. Das Protokoll ist dadurch nicht auf InternetTelefonie beschränkt. SIP dient dazu, die Kommunikationsmodalitäten zu vereinbaren bzw. auszuhandeln. Der eigentliche Datenstrom wird dann z.B. über das Real Time Protocol (RTP) gesendet. SIP gilt als Standard-Protokoll für VoIP und wird auch bei UMTS verwendet. Ebenfalls wird es im geplanten NGN (Next Generation Network ) Verwendung finden. SIP ist http, z.B. in der Header-Struktur, ähnlich. 9 2.2.4 Media Gateway Control Protocol Das MGCP (Media Gateway Control Protocol ) wird zur Steuerung von VoIP-Gateways verwendet. Es ist als Master/Slave Protokoll aufgebaut und überträgt Steuerinformationen in Klartext (wie SIP). Als Slave fungiert der VoIP-Gateway, als Master die Vermittlungseinheit. Die MGCP-Gateways werden über acht unterschiedliche Kommandos gesteuert. Es hat eine zentrale Steuerung, da die Vermittlungseinheit für alle VoIPGateways Master ist. 2.2.5 Skinny Client Control Protocol Das SCCP (Skinny Client Control Protocol ) ist ein von Cisco entwickelter Standard für IP-Telefonie und IP-Konferenzen in Echtzeit. Es wird für die Kommunikation zwischen dem Call-Manager des TelefonieServers und den Skinny-Clients, den IP-Telefonen, eingesetzt. Die Call-Manager fungieren als Signalisierungs-Proxys für die Sprachkommunikation, die über die bekannten Protokolle ISDN, H.323, MGCP oder das SIP-Protokoll initiiert wird. Endgeräte arbeiten als Skinny-Clients und benötigen nur einen geringen Anteil an der Prozessorleistung. Die Skinny-Clients kommunizieren mit dem Call-Manager über die verbindungsorientierten TCP/IP-Protokolle und können darüber Verbindungen zu anderen H.323-Proxys aufbauen. Wenn der Call-Manager eine Verbindung aufgebaut hat, erfolgt die Übertragung der Trägerdienste zwischen den beiden H.323-Endstationen verbindungslos über das UDP-Protokoll. 10 2.2.6 Skype Das aus dem gleichnamigen Programm bekannte Skype-Protokoll kann über eine kostenpflichtige Zusatzsoftware ebenfalls genutzt werden. Skype benutzt eine Peer-to-Peer-Verbindung zum Aufbau der Sprachverbindung. Durch Skype können Leistungsmerkmale wie die Konferenzschaltung oder Abbildung 7: Skype Logo [15] der Dateitransfer realisiert werden. Es zeigt auch an welche Kontakte gerade erreichbar sind. 2.3 Codecs Für die Codieren/Entcodierung werden verschiedene Codecs benutzt. Auch hier ist Asterisk vielseitig. Auf die Verfahrensweisen der einzelnen Codecs wird hier verzichtet. Hier eine Übersicht: • ADPCM • G.711 (ISDN Qualität) • G.723.1 (pass through) • G.726 • G.729 (unfrei) • GSM • iLBC • Linear • LPC10 • Speex 11 2.4 Dienste Neben den unterstützten Protokollen sind besonders die Diensten von hoher Wichtigkeit. Da Asterisk opensource ist, wurden auch hier zahlreiche Möglichkeiten geschaffen. Neben den Basisdiensten des herkömmlichen Festnetzes (ISDN) sind hier auch einige Zusatzdienste implementiert. Durch die breite Auswahl lassen sich auch viele Einsatzszenarien ableiten. Diese werden in einem späteren Kapitel behandelt. Hier eine Übersicht über einige Dienste: - Authentifikation Interaktive Sprachmenüs Sprachmailboxen Weiterleitung bei Besetzt Weiterleitung bei Unerreichbarkeit Parken von Anrufen Übergabe mit Rückfrage Übergabe ohne Rückfrage Call Center Funktionalität Least Cost Routing Aufzeichnen von Anrufen Heranholen Anzeige der Anrufer-ID Blockieren von Anrufern Konferenzräume Datenbankunterstützung Einwahl in die Anlage (DISA) Distributed Universal Number Discovery ENUM Music on Hold Makrounterstützung Protokollumsetzung Zusammenschaltung von Anlagen Roaming Extensions Flexibles Gesprächsrouting SMS Spracherkennung Text zu Sprache Transkodierung Skype Integration Anbindung von SIP Providern 12 2.5 Installation und Bedienung Bei der Installation einer Soft-TK-Anlage sollten folgende Gesichtspunkte beachtet werden: - Welche Internetverbindung ist vorhanden (Upstream)? Mit welchem Tarif bin ich im Internet? Wie viele VoIP-Gespräche möchte ich gleichzeitig führen? Welche Endgeräte sind angeschlossen? Welches TK-System möchte ich benutzen? Anhand dieser Fragen kann daraufhin die optimale Konfiguration vorgenommen werden. 13 3 3.1 SIP Express Router (SER) Allgemeines Der SIP Express Router, im Folgenden SER abgekürzt, ist wie Asterisk eine opensource-TK-Anlage. Er basiert hauptsächlich, wie der Name vermuten lässt auf dem bereits erwähnten SIP Protokoll. SER ist ein komplett in Software implementierter, konfigurierbarer SIP Router. Entwickelt wurde SER 2001 vom Fraunhofer-Institut für Offene Kommunikationssysteme (FOKUS). Weitergeführt wurde das Projekt von der Firma iptel.org. Abbildung 8: SIP Express Router Logo [16] SER ist, wie auch Asterisk, eigentlich für Linux konzipiert. Er wird als Registrar-, Proxy- oder Redirectserver betrieben. Dabei vermittelt SER über SIP-Protokoll zwei Endgeräte. Userdaten zieht es aus einer Datenbank. Die Dateiübertragung erfolgt dann über das Real-Time Transfer Protocol (RTP). Abbildung 9: Aufbau eines SIP Express Routers [17] 14 3.2 Funktionen und Dienste SER ist ein reiner SIP Server. Die Anbindung von anderen Protokollen sowie an ISDN ist nur über kostenpflichtige Zusatzsoftware möglich. SER unterstützt XML und als Datenbank neben MySQL auch RADIUS (Akronym für Remote Authentication Dial-In User Service). RADIUS bedeutet sinngemäß „Authentifizierungsdienst für sich einwählende Benutzer“. Es ist ein Client-Server-Protokoll, das zur Authentifizierung, Autorisierung und zum Accounting von Benutzern bei Einwahlverbindungen in ein Computernetzwerk dient. RADIUS ist der De-facto-Standard bei der zentralen Authentifizierung von Einwahlverbindungen. SER unterstützt auch eine Vielzahl an Diensten. So hat es z.B. eine „Weiterleiten“Funktion und unterstützt Accounting und Billing, sowie Authentifizierung und Autorisierung. 3.3 Bedienung und Konfiguration SER lässt sich sehr einfach installieren und ist auch bei geringen Systemanforderungen sehr gut skalierbar und leistungsfähig. Im Folgenden ist ein Installationsbeispiel kurz zusammengefasst. Voraussetzungen: - ein 300MHz PC mit Linux - weitere PCs mit Softphones - die Rechner müssen vernetzt sein Installation: Auf dem Linux System müssen bestimmte Server und Software installiert werden. So z.B. Webserver und verschiedene Module zur Unterstützung von z.B. MySQL oder php4. All diese Komponenten sind über „apt-get“ erhältlich. Der SER und das Zubehör sind im Internet zum Download frei verfügbar und müssen heruntergeladen und installiert werden. Mit dpkg –i ser-0.8.14_i386.deb wird der SIP Router gestartet und mit dpkg –i ser_mysql_module die Datenbank gekoppelt. Dann werden mit export SIP_DOMAIN=„Domänenname“ die Umgebungsvariablen gesetzt. Mit dem Befehl usr/sbin/ser_mysql create wird die entsprechende Datenbank für den Router angelegt. Nun existieren ein SIP-Router und eine zugehörige Datenbank. Der Router weiß aber noch nicht, dass es diese Datenbank 15 gibt und er ihre Einträge benutzen soll. Dies wird in der config Datei des SER festgelegt. Um nur Benutzer zu akzeptieren, die auch in der Datenbank hinterlegt sind müssen in einigen Einträge der Zugriff auf die Datenbank und das Autorisieren der Benutzer festgelegt werden. Mit dem Befehl „serctl add benutzername passwort benutzername@domäne“ werden Benutzer hinzugefügt. Nach einem Neustart des SER ist er funktionsbereit. Ausführliche Anleitungen hierzu sind im Internet verfügbar. 16 4 4.1 Integrationsmöglichkeiten Vergleich von Asterisk und SER SER ist für größere VoIP-Installationen geeignet, weil es viele stabile Verbindungen gleichzeitig unterstützt. Asterisk hingegen unterstützt mehr Protokolle und ist deshalb vielseitiger in der Anwendung. Als Lösung kann man beide Programme kombiniert benutzten. So übernimmt SER die Funktion einer Vermittlungsstelle und Asterisk wird verwendet um die Sprachdaten zu routen. Dies wird auch heute schon genutzt. 4.2 Einsatzszenarien Eine Soft-TK-Anlage kann in zwei Verschiedenen Varianten eingesetzt werden. Man kann sie als Ergänzung zu vorhandenen TK-Anlagen benutzen. Hierbei wird die Soft-TK-Anlage parallel zu einem bereits vorhandenen Netz betrieben und über einem Gateway angeschlossen. Gründe hierfür sind, dass die vorhandene Infrastruktur in der Anschaffung teuer war und gegebenenfalls funktioniert. Deshalb will man einen Komplettumstieg vermeiden. Die andere Möglichkeit ist, die Soft-TK-Anlage als kompletten Ersatz zur vorhandenen Infrastruktur zu benutzen. Die Einsatzszenarien für Asterisk sind dank seiner Vielseitigkeit auch vielfältig. So kann man es an alle gängigen TK-Systemen, wie z.B. IDSN, bzw. Schnittstellen problemlos anschließen. Besonders gut eignet es sich im Einsatz in Firmennetzen. Es kann aber auch als Callcenter genutzt werden. SER eignet sich im Einsatz mit vielen gleichzeitigen Gesprächen. Das Programm ist in verschiedene Versionen erhältlich, wie z.B. für PDAs oder für PCs. Die PC-Version vermittelt bis zu 3.500 Gespräche pro Sekunde, was einem Gesprächsaufkommen einer 7-Millionen-Stadt wie San Francisco entspricht. 17 5 5.1 Anhang Quellen- und Literaturverzeichnis [1] Ebner, Erhard - „VoIP - Grundlagen, Einrichtung & Konfiguration“, Heidelberg, Hüthig, 2006 [2] Flaig, Gerd & Hoffmann, Martin & Langauf, Siggi & Tichy, Stefan „Internet-telefonie: VoIP mit Asterisk und SER“, Open Source Press, 2008 [3] Kiefer, Roland & Reif, Marc-Aurel - „VoIP-Projekte in lokalen Netzen“, Renningen, Expert-Verl., 2006 [4] Van Meggelen, Jim & Smith, Jared & Madsen, Leif - „Internet-Telefonie mit Asterisk“, O’Reilly Germany, 2006 [5] http://www.ip-phone-forum.de/ [6] http://www.itwissen.info/ [7] http://www.seceidos.de/de/produkte/technologien-undloesungen/open-source/asterisk/ [8] http://www.wikipedia.de [9] http://www.heike-wiesner.de/wiki/images/Iptelefonie.JPG [10] http://www.debitel.de/img/privat/dsl/voip_netzwerk_grafik.gif [11] https://dsl.1und1.de/dslorder-de/img/content/hardware/details/ hw_fritzbox_fon_wlan_plus.jpg [12] http://www.voiptelefonie.net/images/sipura-spa-841.jpg [13] http://zfoneproject.com/images/logos/Asterisk.png [14] http://upload.wikimedia.org/wikipedia/commons/e/ee/Mark_Spencer.jpg [15] http://neuerdings.com/wp-content/uploads/2008/04/skypelogo.jpg [16] http://webscripts.softpedia.com/thumbnails/SIP-Express-Router0.png [17] http://developers.sun.com/solaris/articles/solaris_as_sip/sip_fig1.gif 18 5.2 Abkürzungsverzeichnis TK-Anlage: VoIP: DSL: LAN: WLAN: SQL: ODBC: ITU: RTP: ISDN: IAX: NAT: TCP: UDP: SIP: IETF: http: NGN: MGCP: SCCP: DISA: ENUM: SMS: ADPCM: iLBC: GSM: FOKUS: XML: PDA: Telekommunikations-Anlage Voice over Internet Protocol Digital Subscriber Line Local Area Network Wireless Local Area Network Structured Query Language Open Database Connectivity International Telecommunication Union Real-Time Transport Protocol Integrated Services Digital Network Inter Asterisk Exchange Protocol Network Address Translation Transmission Control Protocol User Datagram Protocol Session Initiation Protocol Internet Engineering Task Force Hypertext Transfer Protocol Next Generation Network Media Gateway Control Protocol Skinny Client Control Protocol Direct Inward System Access tElephone NUmber Mapping Short Message Service Adaptive Differential Pulse Code Modulation internet Low Bitrate Codec Global System for Mobile Communications Fraunhofer-Institut für Offene Kommunikationssysteme Extensible Markup Language Personal Digital Assistant 19