Konzipierung eines FMC-Clients für mobile Endgeräte
Transcription
Konzipierung eines FMC-Clients für mobile Endgeräte
Konzipierung eines FMC-Clients für mobile Endgeräte Studienarbeit Technische Universität Ilmenau Fakultät für Elektrotechnik und Informationstechnik vorgelegt von Guanzhou Lu II03 34708 Betreuer: Dipl.-Ing. Yevgeniy Yeryomin Abgabedatum: 30,04,08 Inhaltsverzeichnis 1. Einleitung 4 1.1. Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. Ziel dieser Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Grundlage 5 2.1. NGN-Next Generation Network . . . . . . . . . . . . . . . . . . . . . . . 5 2.2. IMS-IP Multimedia Subsystem . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.1. IMS Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3. VoIP-Voice over Internet Protocol . . . . . . . . . . . . . . . . . . . . . . 8 2.3.1. SIP-Session Initiation Protocol . . . . . . . . . . . . . . . . . . . 8 2.3.2. SDP-Session Description Protocol . . . . . . . . . . . . . . . . . . 10 2.3.3. VoWLAN-Voice over WLAN . . . . . . . . . . . . . . . . . . . . . 10 2.4. FMC-Fixed-Mobile Convergence . . . . . . . . . . . . . . . . . . . . . . . 11 2.4.1. Was ist FMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4.2. Vorteile von FMC . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.4.3. Technischer Status von FMC 3. FMC-Client . . . . . . . . . . . . . . . . . . . . 13 15 3.1. Technische Realisierung von FMC-Client . . . . . . . . . . . . . . . . . . 15 3.1.1. UMA basierte FMC . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.1.2. IMS-VCC basierte FMC . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.3. Vergleich UMA und IMS-VCC . . . . . . . . . . . . . . . . . . . . 20 3.2. Bestehende FMC-Lösungen von verschiedenen Firmen . . . . . . . . . . . 20 3.3. FMC-Clientarchitektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3.1. Analyse der Anforderungen an FMC-Client . . . . . . . . . . . . . 26 3.3.2. Realisierungsmethoden gemäß Anforderungen . . . . . . . . . . . 28 3.3.3. VoIP-Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.3.4. Clientkomponente . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.4. Funktionsablauf des FMC-Clients . . . . . . . . . . . . . . . . . . . . . . 35 3.5. Anforderungen an Mobile Endgeräte und Betriebssysteme . . . . . . . . . 36 2 Inhaltsverzeichnis 3.5.1. Nötige APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4. APIs und Mobile Systeme 39 4.1. Analyse der angebotenen mobilen Endgeräten . . . . . . . . . . . . . . . 39 4.2. Untersuchung der Betriebssysteme . . . . . . . . . . . . . . . . . . . . . . 42 4.2.1. Windows Mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.2.2. Symbian OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.2.3. Palm OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.2.4. Linux OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.2.5. Analyse der Mobile Systemen . . . . . . . . . . . . . . . . . . . . 47 4.3. API-Application Programming Interface . . . . . . . . . . . . . . . . . . 47 4.3.1. APIs von Windows Mobile . . . . . . . . . . . . . . . . . . . . . . 48 4.3.2. APIs von Symbian . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.3.3. APIs von JavaME . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.4. Realisierungen auf FMC-Client . . . . . . . . . . . . . . . . . . . . . . . 60 4.4.1. Realisierungsumgebung und Tools . . . . . . . . . . . . . . . . . . 61 4.4.2. Entwicklungstools von Java ME . . . . . . . . . . . . . . . . . . . 61 4.4.3. Entwicklungsumgebung von Symbian . . . . . . . . . . . . . . . . 64 5. Fazit und Ausblick 65 Abbildungsverzeichnis 67 Tabellenverzeichnis 70 Literaturverzeichnis 71 3 1. Einleitung 1.1. Problemstellung Das Thema der Konvergenz von Kommunikationsnetzen ist heutzutage aktuell wie nie zuvor. Der Markt für Informations- und Kommunikationstechnologien unterliegt gegenwärtig einem strukturellen Wandel. Die klassischen Netze der Telekommunikation wurden für die Übermittlung von spezifischen Daten wie Telefongespräche oder reine Datenpakete geplant und implementiert. Der so genannte Next Generations Network (NGN)- Trend strebt ein Zusammenführen von heterogenen Kommunikationsnetzen in ein einheitliches IP-basiertes Netz an. Als ein Teil des NGN ist die Fixed Mobile Convergence (FMC) anzusehen. FMC verbindet Festnetze mit Mobilfunknetzen und versorgt dabei die Nutzer mit einer besseren Mobilität und Flexibilität. FMC bringt eine Reihe von Vorteilen auch für Unternehmen und Netzbetreiber mit. Momentan wird in unserem Fachgebiet eine universelle netzbetreiberunabhängige FMC-Infrastruktur aufgebaut. Die Hauptbestandteile dieses Systems sind der FMC-Client und der FMC-Server, die in Zusammenarbeit eine für das Endgerät und das Kernnetz transparente Infrastruktur bilden, die die Nutzer mit FMC-Diensten versorgt. 1.2. Ziel dieser Arbeit Im Rahmen dieser Arbeit soll ein FMC-Client für mobile Dual-Mode Endegeräte konzipiert werden. Der FMC-Client soll die GSM- und WLAN-Schnittstelle überwachen und steuern sowie die Sprache über die jeweilige Netzwerkschnittstelle je nach Umständen oder Nutzereinstellungen leiten. Der FMC-Client soll nahtlos die Sprache von einer Schnittstelle zu einer anderen umleiten können und in der Lage sein, einen VoIP-Client zu kontrollieren. Gleichzeitig sollen auch die passende Betriebssysteme und nötige APIs untersucht und ausgefunden werden, damit der FMC-Client auf mobile Endegeräte integriert werden kann. 4 2. Grundlage Bevor mit der Analyse der Problemstellung begonnen wird, findet im Folgenden eine Vorstellung statt, vor welchem Hintergrund die Entwicklung des FMC-Clients erfolgen kann. Dazu werden NGN und IMS vorgestellt werden, was die Entwicklungsrichtung des FMC ist. Vorgestellt wird noch Voice over IP. VoIP mit dem Signalisierungsprotokoll SIP ist dann Schlüsselfunktion für die Realisierung von FMC. Anschließende wird FMC definiert und die technische Status von FMC kurz eingegangen. 2.1. NGN-Next Generation Network Die Anforderungen an die Telekommunikationsnetze der Zukunft können mit Stichworten wie „Paketvermittlung “, „textbfMultimedia “, „Investitionsschutz “, „Netzintegration “, „Dienstgüte “, „Offenheit “, „nahtlose mobile Kommunikation “, „Sicherheit und Datenschutz “ sowie „Anwenderfreundlichkeit “ umschrieben werden. Die meisten dieser Punkte wurden und werden durch das Konzept Next Generations Network aufgegriffen und im Hinblick auf eine technische Umsetzung präzisiert. [1] Die NGN zeichnen sich aus durch: • ein paketorientiertes Kernnetz für möglichst alle Dienste. • Da darunter auch Echtzeitdienste wie Telefonie fallen, muss das Netz eine bestimmte Quality of Service (QoS) zur Verfügung stellen. • Ein besonders wichtiger Punkt, sowohl im Hinblick auf die Kosten als auch die Offenheit für neue Dienste, ist die vollständige Trennung der Verbindungs-/Dienstesteuerung vom Nutzdatentransport. • Gemäß dem NGN-Gedanken werden alle bestehenden, wichtigen Telekommunikationsnetze, vor allem auch die einen hohen Wert darstellenden, technisch unterschiedlichen Zugangsnetze mit integriert. • Multimedia-Dienste und daraus resultierend entsprechend hohe Bitraten werden unterstützt. 5 2. Grundlage • Die Netzintegration hat nicht nur niedrige System- und Betriebskosten durch einheitliche Technik, weitgehende Wiederverwendung vorhandener Infrastrukturen, optimale Verkehrsauslastung des Kernnetzes und übergreifendes einheitliches Netzmanagement zum Ziel, sondern auch Mobilität. • Integrierte Sicherheitsfunktionen sorgen für den Schutz der transferierten Daten und des Netzes. So sieht die Prinzipielle Struktur des NGNs in unterem Bild aus: Abbildung 2.1.: Prinzipielle Struktur eines Next Generation Networks (NGN) 2.2. IMS-IP Multimedia Subsystem Das IP Multimedia Substystem (IMS) wurde von 3GPP (3rd Generation Partnership Project) eingeführt und standardisiert. IMS Dienste basieren auf dem Session Initiation Protocol (SIP), welches von der IETF 1 entwickelt wurde. SIP kommt somit aus der Internet-Welt und hat in der Entwicklung viel von Protokollen wie HTTP und SMTP gelernt. IMS führt eine neue Technologie zur Verbindung unterschiedlicher Netzwerke ein, und ermöglicht neue Konzepte für mobile Dienste. 1 Internet Engineering Task Force 6 2. Grundlage IMS stellt ein Framework dar, welches diesen Ansprüchen gerecht wird. IMS integriert bestehende Daten-, Sprach-, Text- und Videokommunikationsmöglichkeiten über ein einzelnes IP-Netzwerk und erlaubt so die Implementation von IP-basierten multimedialen Diensten in Netzen der dritten Generation. So wird es möglich, multimediale Kommunikation und andere Anwendungen in IP-basierende mobile Netzwerke zu integrieren. [2] 2.2.1. IMS Architektur Die Architektur des IMS ist darauf ausgelegt, verschiedene Netzwelten miteinander zu verbinden. Es gibt folgende Funktionskompnente: • Call Session Control Function (CSCF) Die Call Session Control Functions (CSCF) dienen der Registrierung von Endpunkten, und der weiteren Sitzungsverarbeitung. Der CSCF stellt Interfaces zur Kommunikation mit weiteren logischen Einheiten des IMS zur Verfügung. Er kommuniziert mit dem Home Subscriber Server (HSS), um hier auf Benutzerinformationen zugreifen zu können. • Home Subscriber Server (HSS) Der Home Subscriber Server (HSS) ist die Datenbank für die registrierten Benutzer. Er hält eine Liste von Funktionen und Diensten, die der einzelne Benutzer beziehen kann. Er ist verantwortlich dafür, die aktuelle Adresse des Benutzers (Roaming), unter der dieser zurzeit. erreichbar ist (z.B. die IP Adresse), zu halten. • Media Gateway Control Functions (MGCF) Die Media Gateway Control Function (MGCF) stellt die Möglichkeit zur Zusammenarbeit des IMS Signaling mit dem Signaling des Public Switched Telephone Networks (PSTN) zur Verfügung. • Application Server(AS) Der AS kommuniziert mit den Media Servern um die entsprechenden Gesprächssteuertöne abzurufen. Wenn das Gespräch in das analoge Netz geleitet werden muss, so instruiert der AS den MGCF mittels SIP, den PSTN TDM Datenfluss in einen IP RTP Datenfluss umzuwandeln und an das entsprechende IP-Telefon weiterzuleiten. Das IMS-Framework ist ein mächtiges Instrument, um vor allem multimediale Dienste in Netzwerken der dritten Generation anzubieten. Es ermöglicht die einfache Implementierung neuer Dienste mittels standardisierter Schnittstellen. Die Vorteile vom IMS liegen 7 2. Grundlage Abbildung 2.2.: IMS Architektur hier jedoch deutlich in der IP-basierten Kommunikation; es lassen sich auch bereits bestehende Netze (PSTN) integrieren, der volle Umfang wird jedoch erst dann erreicht sein, wenn jegliche Kommunikation IP basiert ist. [2] 2.3. VoIP-Voice over Internet Protocol Unter dem Begriff Voice over IP (VoIP) wird jegliche Übertragung von Sprache über ein IP-basiertes Netzwerk verstanden. Hierzu wird auch häufig der Begriff Internettelefonie verwendet. In der Art der Übertragung unterscheidet sich die IP-basierte Übertragung von Audiodaten grundsätzlich von der herkömmlichen Übertragungstechnik. Hierbei werden Sprachdaten digitalisiert und wie andere Daten (z.B. E-Mail, Bilder usw.) in kleine Pakete aufgeteilt und unabhängig voneinander zum Ziel übertragen. Im Verlauf dieses Sektions wird auf die Grundlagen der zwei wichtigsten Protokolle bisschen eingegangen, die für die Durchführung dieser Arbeit von Bedeutung sind: SIP für den Auf- und Abbau von Verbindungen und SDP zur Beschreibung der Sprachdaten einer Verbindung. 2.3.1. SIP-Session Initiation Protocol Das Session Initiation Protocol (SIP) wurde als Verbindungs- und Signalisierungsprotokoll zum Auf- und Abbau von Echzeitkommunikationverbindungen in IP-basierten 8 2. Grundlage Netzwerken von der IETF entwickelt. Aktuell ist SIP im RFC 1 3261 spezifiziert. In Verbindung mit dem Session Description Protocol bietet SIP die komplette Kommunikationsbasis für den Auf- und Abbau von Echtzeitverbindungen sowie für das Beherrschen einer bestehenden Verbindung. Dabei kann es sich um eine reine Punkt-zu-Punkt Verbindung als auch um eine Konferenz mehrerer Teilnehmer handeln. Im Rahmen einer solchen Kommunikation werden sowohl die Teilnehmer- und Signalisierungsinformationen, als auch die zur Codierung bzw. Decodierung eingesetzten Codecs übertragen. SIP ist dabei einfach zu handhaben und übersichtlich. Die grundlegenden SIP-Nachrichten sind: • INVITE: Aufbau einer Session • REGISTER : Registrierung der Benutzerinformationen • ACK: Bestätigung der Nachrichten • CANCEL: Abbruch der Verbindung • BYE: Beendigung der Session • OPTIONS: Abfrage von Informationen über Eigenschaften eines Teilnehmers ohne vorherigen Verbindungsaufbau Innerhalb eines SIP-Netzwerkes gibt es folgenden Systemkomponenten: • SIP-User-Agent: IP-Telephone, PCs, Conference-Bridges/SIP-Gateways, das sind Netzwerk-Knoten, die SIP-Sessions initiieren und terminieren können. • SIP-Redirect-Server: Server, der SIP-Anfragen annimmt und eine neue Lokation für die Anfrage retourniert. • SIP-Stateless-Proxy: Server: der SIP-Anfragen bearbeitet und weiterreicht. • SIP-(Forking)-Proxy Server: der SIP-Anfragen bearbeitet und weiterreicht. • SIP-Registrar-Server: der SIP-Register-Anfragen bearbeitet, Abbildung von Namen auf Adresse. SIP Adresse Um die Adressierung des Kommunikationspartners zu vereinfachen, nutzt SIP eine einzige eindeutige Adresse, um einen Nutzer bei der Kommunikation mit anderen Nutzern oder Anwendungen zu identifizieren, zu registrieren und authentisieren. 1 Request for Comments 9 2. Grundlage Der User-Teil kann der Name des Benutzers oder seine Telefonnummer sein.Dieser Teil kann vom Benutzer frei gewählt werden. Einige Beispiele: • sip:[email protected] • sip:[email protected] • sip:[email protected] SIP als Session Protokoll hat sich quasi schon als Standard der Zukunft durchgesetzt. Dies liegt wohl vor allem an seiner Ähnlichkeit zum HTTP-Protokoll, welches es extrem flexibel und einfach erscheinen lässt. 2.3.2. SDP-Session Description Protocol Das Session Description Protocol wurde von der IETF spezifiziert (RFC 2327), um die für den Aufbau einer Session nötigen Informationen wie z.B. Medientypen (Audio, Video, Data) und Kontakt-Adressen (für die Übertragung der Sprachdaten) sowie die zu verwendenden Codecs zu beschreiben. Das SDP kann zur Beschreibung von Sitzungen aller Art im Internet verwendet werden. Es ist wie SIP ein text-basiertes Protokoll und wird im Message-Body der SIP-Nachrichten übertragen. Das SIP-Protokoll kann SDP-Nachrichten verarbeiten, da diese u.a. die Codierungen und die Übertragungsparameter beinhalten. Eine INVITE-Nachricht enthält ein SDPFeld, welches die für die anrufende Partei akzeptablen Sitzungsparameter beinhaltet. In der Antwort des Angerufenen werden seine Fähigkeiten beschrieben.[3] 2.3.3. VoWLAN-Voice over WLAN Hinter VoWLAN verbirgt sich die Integration von Techniken wie VoIP, das Session Initiation Protocol (SIP) und WLANs nach IEEE 1 802.11 in der Version 802.11e, das Dienstgüten (QoS) unterstützt. VoWLAN ermöglicht VoIP Kommunikation in der WiFi-Netzwerk-Umgebung. Voice-over-WLAN ist deshalb interessant, da sich damit mittels Laptop, PDA oder WLAN-Telefon an jedem beliebigen WLAN-Hotspot oder Access-Point telefonieren lässt. Damit überschreitet man erstmals die Grenze der schnurlosen Telefonie, die einen trotz 1 Institute of Electrical and Electronics Engineers 10 2. Grundlage Funktechnik an einen festen Standort bindet. Nachteil ist natürlich, dass WLAN im Vergleich zu GSM oder UMTS nicht flächendeckend zu Verfügung steht. Eventuell müssen an öffentlichen Hotspots Zugangsgebühren bezahlt werden, Der anfänglich angenommene Kostenvorteil ist dann schnell dahin.[4] 2.4. FMC-Fixed-Mobile Convergence 2.4.1. Was ist FMC Die Verbreitung und Nutzung von Mobilgeräten ist seit ihrer Erfindung vor etwas mehr als 20 Jahren exponentiell gestiegen. 2010 werden Schätzungen zufolge nahezu 80% der erwachsenen Weltbevölkerung ein Mobilgerät besitzen. Bedeutender noch als der enorme Anstieg der Mobilfunkteilnehmer ist die stetig ansteigende Nutzungsdauer (MoU, Minutes of Use) - häufig zu Lasten der herkömmlichen, preiswerteren Festnetztelefonie. Der Trend zum Wechsel vom Festnetz- zum Mobiltelefon (FMS, Fixed-Mobile Substitution) ist nicht auf Kostengründe, sondern auf Bequemlichkeit zurückzuführen. Der Lösungsweg ist dann FMC, der sogenannte Fixed-Mobile Convergence. Das FMC-Konzept sorgt für einen transparenten Zugang zu Multimedia Applikationen von einer Vielzahl von Endegeräten aus und bietet gleichzeitig ein Roaming zwischen WLAN- und Handy-Netzen. FMC soll dem Teilnehmer ein konsistentes Nutzungserlebnis unabhängig von Standort und Tageszeit und ohne Dienstunterbrechung beim Wechsel zwischen Fest- und Mobilfunknetz vermitteln. Ziel der FMC ist es, den Widerspruch aufgrund der Fragmentierung unserer Kommunikationskanäle aufzulösen und mehrere Kanäle (Netzwerke) als einen einzigen Kanal erscheinen zu lassen, um damit den eigentlichen Wert der Kommunikation wiederherzustellen - bessere Produktivität und Erreichbarkeit. Die mögliche Ergänzung vorhandener Mobildienste durch innovative VoIP Fähigkeiten und kostengünstigen WLAN-Zugang ist sowohl für Unternehmen als auch für Mobilnetzbetreiber von Interesse. FMC-Lösungen setzen die Verfügbarkeit moderner „Dualmodus“-Handsets voraus. [5] Es gibt zwei Entwicklungsrichtungen für FMC-Lösungen: • SIP over Wi-Fi • UMA-Unlicensed Mobile Access Die zwei Techniken werden in den nächsten Kapitel noch genauer eingegangen. In dieser Arbeit soll SIP over Wi-Fi verwendet werden. 11 2. Grundlage Abbildung 2.3.: FMC-Struktur 2.4.2. Vorteile von FMC Hauptmerkmale von FMC sind: Endgeräte-Mobilität Die Endegeräte-Mobilität erlaubt es dem Teilnehmer, sein persönliches Endgerät überallhin mitzunehmen und es dort zu benutzen, wo er sich gerade aufhält. Dienste-Mobilität Die Dienste-Mobilität stellt dem Telekommunikationsteilnehmer einen Satz konsistenter Dienste zur Verfügung, und zwar unabhängig vom Endgerät, vom Zugangsnetz und dem Aufenthaltsort. persönliche Mobilität Die persönliche Mobilität gewährleistet, dass der Teilnehmer überall unter einer Rufnummer zu erreichen ist. Letzteres umfasst das Roaming zwischen den verschiedenen Netzen und die Bereitstellung derselben konsistenten Dienste in den verschiedenen Netzen. [14] Wenn man von Spezifizierung betrachten, FMC bietet folgendes: • ein Dualmodus-Gerät mit • einer Nummer, • einem Adressbuch und • einer Voice-Mailbox, • das immer die Netzverbindung zum günstigsten Preis nutzt. 12 2. Grundlage Mit dem Einsatz von Dualmodus-Geräten macht FMC es möglich, im Büro, zu Hause oder an einem öffentlichen Hotspot die kostengünstigere Highspeed-Verbindung und unterwegs die Bequemlichkeit vorhandener Mobilfunknetze zu nutzen. 2.4.3. Technischer Status von FMC Die Konvergez aller Telekommunikationsdienste auf Basis von IP ist schon kein neues Thema. Carrier, Provider und Enterprises versuchen damit die auf einen Dienst zugeschnittene Infrastrukturen durch eine vereinheitlichte Netzinfrastruktur - für jede Anwendung - zu ersetzen. Dies resultiert heute in den Konvergenzsystemen von Sprache und Daten in den Unternehmen (IP Telephonie), dem Angebot von Consumer VoIP Services und den Digital Subscriber Line (DSL) Services der Carrier. Auf Basis von FMC werden jetzt auch die Services der unterschiedlichen Kommunikationswelten (Mobilkommunikation und LAN-Kommunikation) vereinheitlicht. Hierzu wird ein Roaming zwischen den Mobilfunknetzen und den WLANs in den Unternehmen implementiert. In seiner endgültigen Form führt FMC die zur Verfügung stehenden Netze und die entsprechenden Managementfunktionen zusammen.[6] Eine solche Migration erfolgt in der Regel in mehreren Schritten. Die Bereitstellung der Konvergezservices durch die Carrier beginnt allgemein damit, dass der Carrier einfach nur seine Services bündelt. Erst in weiteren Migrationsschritten erfolgt die echte Integration der Netzinfrastrukturen und der Vereinheitlichung der Support- und Managementfunktionen.[6] Der erste Migrationsschritt beginnt mit der Bündelung der Services und lässt sich ohne jede Integration der bestehenden Netze realisieren. Hierbei werden nur die unterschiedlichen Kunden-Interfaces zusammengeführt (zentraler Ansprechpartner, integrierte Support- und Helpdesk-Funktionen und eine einheitliche Abrechnung für mobile- und Standard-Services). Die Evolution in Richtung FMC Services durchläuft jedoch folgende fünf Schritte: Phase 1: Konvergenz der Netzinfrastruktur. Der Carrier konsolidiert seinen Sprachverkehr mit Hilfe von VoIP auf seinem IP WAN und die Enterprise beginnt mit der Realisierung von IP Telefonie. Phase 2: Integration von WLANs und Voice over WLAN in den Enterprises. Die flächendeckende WLAN Infrastruktur in den Unternehmen bietet den Netzbetreibern die Möglichkeit, die mobilen Nutzer im Bereich der Datenkommunikation an das Unternehmensnetz anzubinden. Phase 3: Einführung von FMC Services. Die Carriers bieten ihren Kunden die ersten 13 2. Grundlage Abbildung 2.4.: Zeitliche Abfolge der Evolutionsschritte für FMC Services FMC Services an indem die mobilen Nutzer mit der Möglichkeit zum problemlosen Roaming zwischen den Mobilfunknetzen und den in den Unternehmen installierten sprachfähigen WLANs ausgestattet werden. Hierzu werden Dual-Mode Handys oder mit Wi-Fi und Mobilfunk ausgestattete PDAs genutzt. Phase 4: Integration der mobilen und festgeschalteten Netzinfrastrukturen und der Backoffice Systeme. Die FMC Carrier und deren Partner konsolidieren in diesem Stadium die Netzsignalisierung und die Backoffice Systeme indem die früher getrennt geführten Signalisierungskanäle vereinheitlicht werden. Phase 5: Bereitstellung voll integrierter FMC Applikationen. Auf Basis einer vollständig integrierten Multimediainfrastruktur wird eine Unterstützung aller Informationtypen, Endegeräte und Zugangstechnologien möglich. Die FMC Provider konzentrieren sich in dieser Phase auf die Entwicklung neuer Applikationen und Services. Die Provider sind in der Lage, die Services - Sprache, Audiokonferenzen, Video, Videokonferenzen, Instant Messaging, eMail, Spiele, SIP-basiertes Conferencing und Collaboration, Videound Audio-Broadcasting - miteinander zu bündeln und individuell auf den Kunden zugeschnittene Applikationen bereitzustellen. [6] 14 3. FMC-Client In diesem Kapitel geht es mehrheitlich um das Konzept des FMC-Clients und dazu die entsprechende Realisierungsvorgänge und -methoden. Es gibt schon bestehende FMCSolution, die so genannte UMA basierte FMC und die IMS-VCC1 basierte FMC, die eigene Vorteile haben. Gemäß der zwei Techniken haben viel Firmen verschiedene Lösungswege und Produkte entwickelt. Durch Vergleich und Analyse von FMC-Konzept der jeweiligen Firmen soll die Anforderungen an des FMC-Clients hergestellt werden. Das endegültige konzipierte FMC-Client soll in der Lage sein, die hergestellte Anforderungen aufzufüllen. 3.1. Technische Realisierung von FMC-Client Für FMC-Client steht Dualmodus-Mobiltelefone zuerst daran. Ein Dualmodus-Telefon ist ein Mobiltelefon, das außer Mobilfunk (GSM, CDMA, W-CDMA) auch IEEE 802.11Funk (WiFi) für die Sprach- und Datenkommunikation unterstützt. An festen Standorten - Büro und Campus, Hotspot und Wohnung - stellt das Gerät eine preiswerte VoWLAN-Verbindung her. Wird das Signal schwächer, wird die Verbindung automatisch auf ein Mobilfunknetz mit größerer Reichweite verlegt. Dazu braucht man ein im Dual-Mode-Gerät integriertes FMC-Client, um die von oben erwähnte Situationen zu steuern. Mit dem FMC-Client des Dual-Mode-Geräts können die Nutzer dann auf sämtliche Kommunikationskanäle und Message-Boxen zugreifen und ihre persönliche Kommunikationszentrale von jedem Ort der Welt aus steuern. Dabei geht es nicht nur um Funktionen wie mobile E-Mail oder Instant Messaging. Viel wichtiger ist die mobile Präsenz-Funktion, mit der der Nutzer unterwegs den persönlichen Präsenz-Status beziehungsweise seine Erreichbarkeit einstellen kann. 1 Voice Call Continuity 15 3. FMC-Client Die zurzeitige bestehende dual-mode Handover Technologie von FMC sind UMA und IMS-VCC. UMA ist der globale 3GPP1 -Standard für die Zusammenführung von Mobilkommunikation und Wi-Fi, der Mobilfunkteilnehmern über Multi-Mode-Mobiltelefone das Roaming und den Wechsel zwischen Mobilfunknetzen und WLANs ermöglicht. IMSVCC ist dann mehr in der Richtung IP Multimedia Service und die zukünftige mobile Telefonie gedacht. 3.1.1. UMA basierte FMC Unlicensed (unlizenziert) heißt in diesem Zusammenhang, dass weder Mobilfunkkunde noch Netzbetreiber Lizenzen für den Betrieb zahlen müssen, im Gegensatz zum klassischen Mobilfunk, bei dem die Netzbetreiber Lizenzen für die GSM- oder UMTSFrequenzen haben müssen. UMA ist nicht eine einfache VoIP über WLAN/Bluetooth Verbindung (VoWLAN), sondern der Standard erlaubt auch Handover und Roaming, also die Übernahme von laufenden Gesprächen. Bucht sich ein Endgerät in lizenzfreie Netze ein, zum Beispiel WLAN, dann wird die Verbindung zum Kernnetz des Mobilfunkbetreibers über den Breitbandanschluss und das Internet hergestellt. Dafür sind herkömmliche Access-Points, Router und Modems ausreichend. Bei dieser Technik wird jedoch ein UMA Network Controller (UNC) benötigt, der in jedem WLAN präsent sein muss und vom Provider betrieben wird. Der Vorteil für den Provider liegt darin, dass Mithilfe des Controllers die Authentifizierung sowie Abrechung der Verbindungskosten problemlos möglich ist. Der Nachteil für den Benutzer ist, dass er nicht frei in der Wahl des WLANs ist, sondern nur solche seines Providers benutzen kann. Mit UMA sollen bestimmte Qualitätsmerkmale für diese lizenzfreien Netze sichergestellt werden.[7] • Die UMA-Technik unterstützt die reibungslose Übergabe von Sprach- und Datenverbindungen zwischen GSM, GPRS und WLAN. • Handys, die neben GSM und GPRS auch WLAN unterstützen und automatisch auf einen Hotspot umschalten können. Handy-Nutzer sollen so automatisch über das kostengünstigste Netz telefonieren. • Für diese Technik ist zwingend ein WLAN-Chip mit sehr niedrigem Stromverbrauch. Auch muss für UMA ein Client auf dem UMA-Handy installiert sein. 1 3rd Generation Partnership Project 16 3. FMC-Client UMA Network Controller (UNC) Die Schlüsselkomponente von UMA ist der UMA Network Controller (UNC). Das UMC hat folgende Funktionen: • Unterstützung privaten Kommunikationen über IP Netzwerk zwischen MS und das Service Provider Corenetzwerk. • Anbieten Service wie Registration Redirection, um mit dem MS zu kontaktieren. • Relay higher-layer-stations und GSM/GPRS Corenetzwerk Kontrolsignal. • Emulation Paging, Handover und ähnliche Radio Access Prozedure für UMAN Mobile Access. • Anbieten standards-compliant A und Gb Interfaces. Nachteile: • Verwendung kein Session Initiation Protocol • Einschränkung bei Unterstützung von Data Services • UMA ist kein echte Voice over IP , sondern eine zu VoIP gleichberechtigte Technik unter dem Sammelbegriff Voice-Konvergenz. • Schlechte Erweiterbarkeit in Richtung von IMS-Service 3.1.2. IMS-VCC basierte FMC Voice Call Continuity ist eine von 3GPP definierte Spezifikation. Es ist eine FMC Technologie und bietet Seamless Handover zischen dem cellularen Netzwerk und dem VoIP unterstützenden Access Netzwerk. Der Schlüsselkomponent von der Solution ist die Verwendung eines VCC ApplicationServers zu IMS-Netzwerk. Das Server steuert Session von VCC-Benutzer Seamless Handover zwischen WiFi und GSM. [8] Vorteile: • Unterstützung von IMS multimedia Services • Seamless Handover von Voice-Call zwischen Circuit-switched Domain und IMS • Seamless Integration mit anderen VoIP Netzwerke 17 3. FMC-Client Abbildung 3.1.: VCC-Client Struktur VCC-Client Ein VCC-Client ist ein in Dual-Mode Handys installiertes Client-software, das IMS basierte FMC-Service steuert. Die von 3GPP getellte Clientstruktur sieht so aus: Es beteht aus folgende Hauptbestandteile: • Network Domain Selector • Network Domain Preferences • Voice Call Control Function • SIP PS Network Interface • Mobile CS Network Interface Network Domain Selector • Verbindet direkt mit zwei Netzwerke Interfaces • Entscheidet welche Domains registriert werden soll • Entscheidet welche Netzwerk Domains nutzbar sind, um eine Verbindung zu initiieren • Entscheidet wann Handover triggern während eine Verbindung soll Network Domain Preferences • Speichert die Informationen von Network-Domains 18 3. FMC-Client • Arbeitet mit dem Network Domain Selector und Voice Call Contol Function zusammen Voice Call Control Function • Trägerfunktion von Originate oder Terminate Calls zwischen Netzwerk Interface und User Interface • Koordinierung des Handover von Calls zischen Netzwerke Domains SIP PS Network Interface • Netzwerk Interface von paket-switched Domain Mobile CS Network Interface • Netzwerk Interface von circuit-switched Domain IMS-Client IMS-Client ist eine umfassende Lösung für die Multimedia-Kommunikation über IPNetzwerke. Es bietet Funktionen wie IP-TV, Web-Service, Multimedia Services usw. JSR-281 bringt schon alles durch standardisierte Java Technologie API zusammen. NetFront IMS Client Package Ist eine umfassende Lösung für IMS-Anwendungen NetFront IMS Client Package ist ein Software-Paket für die Multimedia-Kommunikation über IP-Netzwerke. NetFront IMS Client Package bietet eine effiziente Lösung für die Kommunikation zwischen Endanwendern, aber auch für den Zugriff auf Geräte oder Dienstleistungen über Mobiltelefone der nächsten Generation. NetFront IMS Client Package enthält SIP/Presence/PoC (Push-to-talk over Cellular)/IM (Instant Message)Module, die den 3GPP- und OMA (Open Mobile Alliance)-Standards entsprechen. NetFront IMS Client Package enthält außerdem eine große Vielfalt an Modulen, die FMC (Fixed Mobile Convergence)-Dienste unterstützen, welche die mobile Welt mit der PC Internet-Welt und der CE (Consumer Electronics/Verbraucherelektronik)-Welt integrieren. [9] NetFront IMS Client Package ist ein integriertes Paket und enthält die folgenden Module: • NetFront SIP Client: Das SIP-Modul, das ein Basisprotokoll für IMS-Kommunikation darstellt. Enthält die User-Agent-Funktion auf der Grundlage der IETF RFCSpezifikation. • NetFront Presence Client: Mit OMA übereinstimmendes Presence-Modul. Enthält die Presence-Engine und API. 19 3. FMC-Client • NetFront PoC Client: Mit OMA übereinstimmendes PoC-Modul. Enthält die PoCEngine und API. • NetFront VoIP Client: VoIP-Engine, die den Standard-Voice-Codec unterstützt, z. B. G.711, G.722 und AMR-WB (enthält API). • NetFront IM Client: Mit OMA übereinstimmendes IM-Modul auf der Grundlage von MSPR (Message Session Relay Protocol). Enthält die IM-Engine und API. Erweiterbar für die Unterstützung von P2P-File-Sharing durch MSRP. Die Vorteile von NetFront: • Reduziert die Kosten und Zeit für das Portieren durch die gemeinsame Nutzung der normalen Portierungsschicht von NetFront (SLIM Peer) • Reduziert die erforderliche Gesamtspeichergröße durch die gemeinsame Nutzung der NetFront-Bibliotheken, z. B. der XML- und HTTP-Bibliotheken • Unterstützt die Integration mit anderen Anwendungen, inklusive NetFront Browser und Mailer-Anwendungen 3.1.3. Vergleich UMA und IMS-VCC Die beide Techniken haben seine eigene Vorteile. Obwohl UMA einfach und leicht zu realisieren ist, ist es keine langfristige Lösung wegen der Einschränkungen von seinem QoS, Kapazität und non-SIP usw. Das VCC unterstützt bidirektionale seamless Handover zwischen der IMS und CSDomains. Als Anwendung in der IMS-Domain, VCC ermöglicht viel andere IMS-Service wie Multimedia, höhere Bandbreite usw. VCC ermöglicht noch die Benutzer zwischen verschiedene Netzweke, wie CDMA, GSM, UMTS, PSTN, Breitband-Festnetz, WiFi und WiMAX wechseln. Die bessere Erweiterbarkeit und Intergierbarkeit in der Richtung 3G zeigt, dass es der beste Lösungsweg, Dual Mode Handover zu implementieren. Deshalb soll auch Konzept des FMC-Clients mehr in der Richtung IMS-VCC gehen. 3.2. Bestehende FMC-Lösungen von verschiedenen Firmen (1).Kineto Kineto Wireless ist ein herausragender Innovator und führender Anbieter der UMA- 20 3. FMC-Client Technologie (Unlicensed Mobile Access), des 3GPP-Standards für die Mobil-/Wi-FiKonvergenz. Mit einem UMA-Netzwerk können Mobilanbieter eine nahtlose, performante Nutzung von Voice-, Daten- und IMS-Diensten in Mobilfunk- und Wi-Fi-Netzen ermöglichen. Als führender Anbieter von UMA-Technologie liefert Kineto Core-NetzLösungen über OEM-Partnerschaften mit großen Netzinfrastruktur-Anbietern. Kineto bietet darüber hinaus UMA-fähige Software, Entwicklungstools und Supportleistungen. Kineto UNC Subsystems Die individuelle Subsysteme von UNC bietet die spezielle Funktionen innerhalb UMA an. • Packet Data Gateway - PDG Das PDG bietet sicheren Zugang zu Corenetzwerk aus dem öffentlichen IP-Netzen. Es arbeitet mit dem AAA-Servers zusammen, um die Authentifizierung und Autorisierung durchzuführen. • IP Network Controller - INC Der IP Network Controller (INC) bedient sich als Softswitch in UNC Architektur. Er verwaltet die Subscriber-Access zu allen Voice- und Data-Service. • Media Gateway - MG (optional) Das Media Gateway ist ein optionales Element von UMA und es ist nur im Einsatz für Unterstützung von TDMA Interface Kineto UMA/GAN Client • Intergration in Dual Mode Device • Integration in Radio Resource Schicht und Ermöglichung kompletten Service Transparenz • Unterstützung 802.11 und Bluetooth Devices • Initierung IP Tunnel über IP-Netzwerk, um mit UNC zu Kontaktieren Zwei wichtige Module im Client sind dann IP Adaptor Module und Core Module. • IP Adaptor Module Der IP Adaptor Module befindet sich auf dem IP Subsystem. Er kontroliert den IP Tunnel und übergibt die UMA Messages. Er bietet noch die Interface mit TCP, UDP, Wi-Fi und Voice-Verbindung. 21 3. FMC-Client • Core Module Der Core Module befindet sich auf dem zellularen Subsystem und integriert mit dem zellularen Baseband, er bietet dann UMA-Funktion und interagiert mit dem zellularen RR/RLC/RRC Schichte. Abbildung 3.2.: UMA-Client von Kineto (2).FirstHand Die FirstHand Technologies bietet eine enterprise-centric, fixed-mobile convergence (FMC)Lösung für Telefonie-Service im Unternehmen mit „single number “ nahtlose Konnektivität über Zell-und/oder WiFi-Netze. Die Lösung ermöglicht „Unternehmen-Kommunikation überall “. Diese FMC-Lösung beinhaltet ein Mobility Gateway und ein Mobile Client, das sogenannte Mobile Console UC. Gateway Software Das Mobility Gateway ist ein "Data Gatewayünd arbeitet mit dem Mobile Console UC Sofware Client auf dem zellulare Netzwerke und Unternehmensnetzwerke zusammen. Man kann durch Verwendung von der Web-basierten Benutzerinterface des Mobility Gateways das Serverprozesse starten, stoppen und neu laden. Client Software Die FirstHand Mobile Console UC ist eine Unified Communications Mobile. Das Client software wird auf ein Dual-Mode(WiFi/cellular) Endegerät(mit Windows Mobile 5 oder 6 als Betriebssystem ) instaliert und verwendet. Merkmale: • Session Mobilität • Ereichbar mit einem Nummer 22 3. FMC-Client • Presenz Status • Spezielle Power-Saving Mode • Manuelle und automatische Netzwerke-Selektion Mode Anforderungen: • Windows Mobile 5.0 und Symbian (Nokia, Ericsson devices) • IP PBX (CPE or hosted) • Dual Mode oder WiFi Device • IEEE802.11 a/b/g Netzwerke • CDMA/GSM (3).Satelco AG Teleserver Mobile Pro bindet jedes beliebige Mobiltelefon als Nebenstelle in das Firmennetz ein. Alle Büroanrufe können wahlweise am Mobil-, Festnetz oder IP-Telefon angenommen bzw. initiiert werden. Mobile Mitarbeiter sind somit unter einer einzigen Geschäftsnummer (Büro - Festnetznummer) erreichbar und handlungsfähig. Dabei stehen alle Komfortfunktionen der Nebenstelle auch am Mobiltelefon zur Verfügung. Merkmale: • Apparatewechsel während eines Gesprächs • Alternative zu aufwändigen DECT-Lösungen • Einbindung von privaten Handys (4).Agito Das RoamAnywhereTM Mobility Router und Agito RoamAnywhereTM Client bieten die Lösung, wie die Mobile Devices zwischen WiFi und zellulare Netzwerke problemlos routen. Die Lösung beinhaltet ein Agito RoamAnywhereTM Mobility Router auf dem Netzwerk und RoamAnywhereTM Client auf dem Mobile Device. Merkmale: • Location-Aware Handover • Common Sense Best Practices • Batterie Ersparnis • Enterprise PBX Integration 23 3. FMC-Client Agito Networks RoamAnywhereTM Mobility Router Das RoamAnywherTM Mobility Router bedient Mobilisierung von Voice und Data Appliktion für WLAN, Cellular, IP Telefonie und Location Technologie. Es verwendet „patent-pending “ Lokation Technologie, um die Benutzer „in-building“ oder außerhalb des zellularen Netzwerk genau zu determinieren. Der RoamAnywhereTM Client Der RoamAnywhereTM Client ist momentan von Nokia/Symbian Mobile Endegeräte unterstützt, Nokia eSeries und nSeries. Später wird auch von Windows Mobile 5 unterstützt. (5).Comdasys Das Comdasys FMC Solution besteht aus einem FMC Server und einem FMC Client. Sie bieten eine Reihe Vorteile von FMC für die Benutzer. Das Comdasys FMC Server Das FMC Server ist ein all-in-one Netzwerkinstrument und beinhaltet ein Multi-Service Router, ein Session Border Controller mit Sicherheitsverstärkung, QoS und FMC Voice Applicationen. Das Server ist im Einsatz auf der zentralen Seite im Unternehmen oder auf ein Service Provider. Es befindet sich auf dem Wireless Netzwerk zwischen WLAN und SIP-Switch. Das Server steuert noch die die Sessions von mobile Endegeräte, egal die im Unternehmen, zuhause oder auf dem zellularen Netzwerk sind. Das Comdasys FMC Client Das FMC Client ist ein Software, es integriert auf ein Mobile Device und arbeitet mit dem FMC Server zusammen. (6).Cicero Networks Cicero Networks ist einer der führenden Anbieter von Lösungen für VoIP Fixed Mobile Convergence, und es ist allgemein der Auffassung, dass diese ihre neuesten Produkt CiceroPhone treffen groß mit Smartphone-Nutzer und unterstützt seine erwartet, dass für die anderen Marken des Smartphones kommt früher als später. CiceroPhone ist ein Dual-Mode-FMC-Client für Smartphones PDAs und auch PCs, es ermöglicht die nahtlose Roaming zwischen WLAN und Mobilfunk-Netze. Anrufe werden automatisch über die beste verfügbare Netzwerk-, Wi-Fi oder zellulare die Schaffung eines einheitlichen und sehr intuitive Benutzeroberfläche. Die eingebaute Intelligente Routing-Regeln wird sichergestellt, dass Kosten und Qualität optimiert werden in allen Situationen. In Zusätzlich ermöglicht CiceroPhone Routing-Entscheidungen zu optimieren am Mobilteil für bestimmte Nummern oder Nummernbereiche für spezifische Netze. Merkmale: 24 3. FMC-Client • Multi-Mode Softphone • Interoperable Client Platform • Wi-Fi/3G/Cellular roaming • Automatisch Publik Hotspot Login • Monitoring Wi-Fi/Cellular Signalstärke • Aktivierende VCC (7).Siemens AG HiPath MobileConnect ist eine FMC-Anlage für Unternehmen, die Festnetz-VoIP, VoWLAN und Mobilfunknetze nahtlos zusammenführt und vereinheitlicht. HiPath MobileConnect stellt heute auf dem Markt die umfassendste Erweiterung der Unternehmenskommunikation in das Mobilfunknetz dar. HiPath MobileConnect ist die einzige End-to-End-Lösung, die wirklich eine Rufnummer, eine Mailbox und nahtloses Roaming bereitstellt, für gesteigerte Produktivität, höheren Komfort und verringerte Netzkosten. Durch den Einsatz von HiPath MobileConnect in einer einzigen, einheitlichen Kommunikations-Infrastruktur werden Aufwand und Komplexität von Verwaltung und Management dramatisch verringert.[10] HiPath MobileConnect basiert auf offenen Standards und kann praktisch bei jeder SIPbasierten IP-Telefonanlage, jedem WLAN und jedem Dual-Mode-Endgerät verwendet werden. Siemens hat HiPath MobileConnect mit der IP-Kommunikationsplattform HiPath 8000, der HiPath Wireless-LAN-Lösung und ausgewählten Dual-Mode-Endgeräten zertifiziert. Tests mit anderen Plattformen und Endgeräten werden gerade durchgeführt.[10] HiPath MobileConnect besteht aus zwei Elementen: MobileConnect Appliance Die MobileConnect Appliance ist der IP-basierten Telefonanlage des Unternehmens und dem Wireless LAN (WLAN) zwischengeschaltet. Sie überwacht kontinuierlich die DualMode-Endgeräte und steuert die Telefonate - unabhängig davon, ob sich die Nutzer im Unternehmensnetz oder außerhalb des Unternehmensgeländes im öffentlichen Netz befinden. Durch Identifizierung und Auswahl des günstigsten zur Verfügung stehenden Netzes werden Telefonkosten gesenkt. MobileConnect Client Das Software Client befindet sich im Dual-Mode-Handset und arbeitet mit der MobileConnect Appliance-Box zusammen, um ein nahtloses Handover zwischen dem Wireless LAN des Unternehmens und dem Mobilfunknetz zu gewährleisten. Auf diese Weise 25 3. FMC-Client können Telefonate, die beispielsweise beim Verlassen des Büros angefangen wurden, auch nach Verlassen des Unternehmensgeländes weitergeführt werden, ohne dass die Gesprächspartner vom Netzwechsel Notiz nehmen. Funktionsweise Die MobileConnect-Anlage befindet sich auf dem zentralen Firmennetz-werk neben der SIP-Telefonanlage. Wenn ein Dualmode-Gerät, das die MobileConnect-Clientsoftware installiert hat, das Firmen-WLAN erreicht, registriert sich das Gerät automatisch bei der MobileConnect-Anlage, die wiederum den Benutzer als SIP-Client auf der Telefonanlage des Unternehmens registriert. An diesem Punkt werden alle Anrufe vom oder an das Gerät des mobilen Benutzers als SIP-Anrufe unter Nutzung der WLAN-Infrastruktur durch die Telefonanlage geroutet. Der MobileConnect-Client erkennt, wenn er den WLANAbdeckungs-bereich verlässt, und teilt der MobileConnect-Anlage mit, dass er in das Mobilfunknetz wechselt. Ist der Benutzer während dieses Vorgangs in einem Gespräch, initiiert die MobileConnect-Anlage einen Mobilfunkanruf an das Gerät des Benutzers, und der Anruf wird transparent vom Firmennetz zum Mobilfunknetz übergeben. MobileConnect nutzt Anwesenheits-Informationen. Wenn ein mobiler Benutzer auf dem Mobilfunknetz ist, erkennt die MobileConnect- Anlage den nicht lokalen Status des Benutzers und leitet daher ankommende Anrufe automatisch durch die Telefonanlage hinaus zum Mobilfunknetz. Auf diese Weise muss nur die Nummer des mobilen Benutzers in der Telefonanlage des Unternehmens gewählt werden, um ihn jederzeit und überall erreichen zu können.[10] 3.3. FMC-Clientarchitektur FMC-Client als ein Teil von FMC-Netzwerk arbeitet mit dem FMC-Server zusammen. Es wid in einem Dual-Mode Endgerät integriert. Das Client hat die Aufgabe, Handover zwischen verschiedene Netzwerke zu steuern, Anrufe von entweder GSM oder VoWiFi zu initiieren und zu beenden usw. Jetzt wird die Fähigkeiten, Funktionalitäten und Anforderungen untersucht und analysiert, eine Client-Struktur soll als Vorschlag hergestellt werden. 3.3.1. Analyse der Anforderungen an FMC-Client In den Subsection 3.1. und 3.2. werden bestehende Techniken von FMC besonders auf dem Hinblick Clientseite und auch die FMC-Lösungen von verschiedenen Firmen vor- 26 3. FMC-Client gestellt. Wie vorher schon erwähnt hat, das Konzept von FMC soll in der Richtung IMS-VCC kommen. Deshalb soll das FMC-Client solche Anforderungen haben: • Automatisch Dual Registration Mode, Automatisch Anmeldung an einer WLANZugangsschnittstelle Mit Verwendung von dem Client soll das Endgerät in der Lage sein, gleichzeitig in GSM Netzwerk-Domain und WiFi PS-Domain registriert werden kann. • Internet Telefonie Nachdem Registrierung in PS-Domain kann das Endgerät unter einem bestimmten Funkbedingung Anrufe initiieren und beenden. • Seamless Handover zwischen GSM und WiFi, manual/automatisch Netzwerkeselektionsfunktion Das Endgerät soll außer GSM auch WiFi für die Sprach- und Datenkommunikation unterstützt. An festen Standorten - Büro und Campus, Hotspot und Wohnung - stellt das Gerät eine preiswerte VoWLAN-Verbindung her. Wird das Signal schwächer, wird die Verbindung automatisch auf ein Mobilfunknetz mit größerer Reichweite verlegt. • Single Number Service Mit dem Single Number Service sind Telefon, Fax und Voicebox jedes Benutzers über eine einzige Rufnummer erreichbar. Eingehende Anrufe werden direkt an den Empfänger geroutet oder - sollte dieser einmal nicht erreichbar sein - in sein Voicemail-System. Dort kann sich der Anrufer weitervermitteln lassen oder eine Nachricht hinterlassen. Die hinterlassenen Nachrichten können unabhängig von Ort und Endgerät über den PC, Handy oder PDA abgerufen werden. • Überwachung von Netzzugangsschnittstelle Die Netzzugangsschnittstellen sollen von dem Client überwacht werden, damit ist zu entscheiden, welche Netzwerke verwendbar sind. • WLAN-Verbindung zu aktivieren und deaktivieren Das Client kann sich selbe entscheiden, ob die WLAN-Verbindung aktiviert oder deaktiviert werden soll. • Verwendung von VoIP-Client Mit Verwendung von VoIP-Client kann man auf einem WiFi-fähigen Endgerät Zugriff auf die VoIP-Funktionen nehmen . D.h. , dem Nutzer erlaubt Gespräche über das Internet zu führen. 27 3. FMC-Client • Anrufe über Mobilfunknetz zu initiieren und zu beenden Natürlich soll das Client auch in der Lage sein, die normal GSM-Service zu bieten. 3.3.2. Realisierungsmethoden gemäß Anforderungen Um die entsprechende Anforderungen aufzufüllen, soll verschiedene Methoden und Techniken eingesetzt werden. Jetzt fasse ich alle Anforderungen zusammen: • Überwachung von Netzzugangsschnittstelle • Automatisch Anmeldung an einer WLAN-Zugangsschnittstelle • WLAN-Verbindung zu aktivieren und deaktivieren • Automatisch Dual Registration Mode • Seamless Handover zwischen GSM und WiFi, manual/automatisch Netzwerkeselektionsfunktion • Verwendung von VoIP-Client, Internet Telefonie • Anrufe über Mobilfunknetz zu initiieren und zu beenden 1.Überwachung von Netzzugangsschnittstelle Die Überwachung von Netzzugangsschnittstellen ist die Singnalstärke verantwortlich. Dafür wird ein Received Signal Strength Indicator eingesetzt. Das RSSI stellt einen Indikator für die Empfangsfeldstärke von WLAN dar. Durch Verbindung mit einer Messinstrument wird die RSSI für verschiedene WLAN-Status angezeigt. Die Signalstärke soll periodisch gemessen werden, um die WLAN-Status zu aktualisieren, damit ist zu entscheiden, ob es verwendbar ist. In dieser Situation ist WLAN-Status bei VCC gemäß Signal-Level in 4 State eingeteilt: • 0: No WLAN signal, oder das MS ist noch nicht bei WLAN attached. • 1: Signalstärke weniger als -85 dbM. • 2: Signalstärke zwischen -85 dbM und -75 dbM. • 3: Signalstärke größer als -75 dbM. Durch periodische Messungen von WLAN-Signalstärke soll das MS(hier Dual-Mode Endgerät) in 4 Status erkennen: ’No WLAN ’, ’WLAN Found ’, ’Losing WLAN ’,’WLAN Stable’. 28 3. FMC-Client 2.WLAN-Verbindung zu aktivieren und deaktivieren Nach der Messung von WLAN Signalstärke ist das Endgerät schon in der Lage zu entscheiden, die WLAN-Verbindung zu aktivieren bzw. Deaktivieren. Es gibt zwei grundlegende Fälle: WLAN Stable Unter WLAN Stable ist WLAN verwendbar, um Verbindung herzustellen. Jetzt kann das Endgerät WLAN aktivieren. No WLAN, WLAN Found, Losing WLAN No WLAN bedeutet WLAN Signalstärke in der Stufe von 0. WLAN Found erhöht die Signalstärke von Stufe 0 nach oben, aber es ist noch nicht stabile. Deshalb ist WLAN noch nicht verwendbar. Losing WLAN sinkt die Signalstärke von 2 oder 3 nach unten, Unter dieser Bedingung muss WLAN-Verbindung deaktiviert werden, um eine Sichere Session zu garantieren. 3.Automatisch Anmeldung an einer WLAN-Zugangsschnittstelle Damit das Handy mit dem Internet kommunizieren kann, ist eine Authentifizierung nötig. 802.1X-Authentifikationsprotokoll ist dafür verantwortlich. Der Authentisierung kann dabei benutzer- oder maschinenbezogen erfolgen. Es setzt ebenfalls eine Zugangskontrolle für Benutzer, die sich mit dem Netzwerk verbinden, um. Die IEEE 802.1X-Architektur besteht aus drei funktionellen Einheiten: Abbildung 3.3.: 801.11.x Authentifizierung • dem Supplicant, der sich mit dem Netzwerk verbindet; • dem Authenticator, der eine Zugangskontrolle bereit stellt; 29 3. FMC-Client • dem Authentication Server, der Authentifizierungsentscheidungen trifft. Der Detailablauf ist wie folgt: 1. Wenn ein Client (Supplicant) sich mit dem Netzwerk verbindet (Link up oder Verbindungsaufbau zum Accesspoint) fragt der Switch bzw. Accesspoint (Authenticator) nach der Identität des Clients. Zu diesem Zeitpunkt ist nur eine Kommunikation zwischen Client und Switch bzw. Accesspoint möglich. Der Zugang zum eigentlichen Netzwerk ist noch gesperrt. Die Kommunikation zwischen Client und Switch erfolgt über das EAPoL (EAP over LAN) Protokoll, das auf der LLC Ebene (der Client hat zu diesem Zeitpunkt ja noch keine IP Adresse) erfolgt. 2. Der Authentisierung zugrunde liegt das EAP (extensible authentication protocol) Protokoll. EAP ist ein universelles Protokoll für viele verschiedene Authentisierungsverfahren. Das EAP Protokoll selbst führt keinerlei Authentisierung durch; es dient nur dazu, einen standardisierten Authentisierungsvorgang zwischen dem Client und einem Radius Authentisierungsserver zu ermöglichen: welches Authentisierungsverfahren verwendet werden soll (PAP, CHAP, msCHAP-v2, TLS, PEAP, TTLS mit Subvarianten etc.), können der Client und der Authentisierungsserver vor der Durchführung der eigentlichen Authentisierung aushandeln. Der Authenticator (Switch oder Accesspoint) ist nur soweit an diesem Vorgang beteiligt, daß er die EAPoL Nachrichten des Clients in Radiusanfragen (Radius Attribut/Value Paare mit Hashberechnungen für Passwörter und Paketidentifikatoren) an die Radius Authentisierungsserver weiterleitet und umgekehrt. 3. Nach erfolgreicher Authentisierung öffnet der Authenticator dann den Netzzugang und der Client kann seinen normalen Netzstart (DHCP Anfragen, Netzwerklogins etc.) ausführen. Zudem können über Radius Replyattribute - falls der Authenticator das unterstützt - dem Benutzer bzw. Client bestimmte Netzwerkresourcen (Bandbreite, VLAN, Filter etc.) zugeteilt werden. Verwendet man TLS, TTLS oder PEAP als Authentisierungsverfahren, fällt für den WLAN Zugang unter 802.11i als Nebenprodukt der Masterkey für den dynamischen Schlüsselaustausch zwischen dem Client und dem Accesspoint ab. [11] RADIUS RADIUS (Remote Authentication Dial-In User Service) ist in der RFC17 2865 definiert und ist ein Protokoll für die Remote User Authentifizierung, Authorisierung undAccounting (AAA). Der Nachfolger von RADIUS ist der DIAMETER, der in der RFC 3588 definiert ist, der aber durch seine geringe Verbreitung hier nicht weiter betrachtet wird. 30 3. FMC-Client WEP WEP ist ein Verschlüsselungsverfahren, um Netzwerke nach dem IEEE 802.11- Standard zu schützen. Das Verfahren sollte die Daten, die über das WLAN geschickt werden, so schützen, dass es mit der Sicherheit eines kabelgebundenen Netzwerkes vergleichbar ist. WPA Im Jahre 2003 wurde WPA als Nachfolger von WEP veröffentlicht, allerdings galt WPA nur als Übergangslösung. Der Grund war, dass sich WEP als unsicher herausgestellt hatte und sich die Verabschiedung des neuen Sicherheitsstandards IEEE 802.11i verzögerte. TKIP TKIP wurde für die Abwärtskompatibilität mit der damals existierenden Hardware entwickelt, wohingegen CCMP von Grund auf neuentwickelt wurde. TKIP setzt auf den RC4-Algorithmus, wie bei WEP, mit einem sich temporär ändernden Schlüssel, einem Message Integrity Check (MIC), auf und stellt mit Hilfe der MAC-Adresse des Senders sicher, dass jede Nachricht seinen eigenen Verschlüsselungscode besitzt. TKIP ist ein Verschlüsselungsprotokoll für den Einsatz in Funknetzten (WLAN). Die Standards 802.1X und WPA nutzen TKIP für die Authentifizierung. 4.Seamless Handover zwischen GSM und WiFi, manual/automatisch Netzwerkeselektionsfunktion Gegenseitige Seamless Handover ist eine der wichtigsten Funktionen von FMC. Durch Verwendung der gemessenen Signalstärken und WLAN-Stuatus ist eine unterbrechungsfreie Handover zwischen WLAN und GSM gewährleistet. Auf diese Weise können Telefonate, die beispielsweise beim Verlassen des Büros angefangen wurden, auch nach Verlassen des Unternehmensgeländes weitergeführt werden, ohne dass die Gesprächspartner vom Netzwechsel Notiz nehmen. Es gibt drei Situationen, periodische Messungen von Signalstärke ist vorausgesetzt. 1. GSM => VoWLAN Wenn WLAN-Status in WLAN Stable, d.h. , WLAN ist verwendbar, um eine Session zu gewährleisten. 2. VoWLAN=>GSM Wenn WLAN-Status von WLAN Stable in Losing WLAN läuft, leitet die Session von VoWLAN nach GSM um. 3. Manuelle Einstellen auf GSM Dieser Fall ist normalerweise bei Notruf oder nach Wunsch eingesetzt. 31 3. FMC-Client 5.Anrufe über Mobilfunknetz zu initiieren und zu beenden Die Mobile Endegeräte haben selbstverständlich die Fähigkeit, Anrufe über Mobilfunknetz zu iniitieren und zu beenden. Es gibt zwei grundlegende Fälle: 1. Für Notruf 2. Wenn WLAN Signal sehr schwach oder in einer längeren Zeit nicht stabile ist Durch Analyse der Anforderungen von FMC-Client und gemäß der entsprechende Realisierungen habe ich folgende Struktur als Vorschlag gebaut: Abbildung 3.4.: FMC-Client-Architektur 32 3. FMC-Client 3.3.3. VoIP-Client Es gibt schon viel bestehenden VoIP-Client, die SIP unterstützen können und damit sind sie Internet-Telefonie fähig. Hier werden zwei bespielweise VoIP-Client vorgestellt. WoizeTM Das WoizeTM softphone ist ein SIP-basierter VoIP-Client für Windows Mobile Bereits seit längerem ist für Woize auch ein Windows PocketPC- und Smartphone-Client erhältlich, mit dem man auf einem WiFi-fähigen Endgerät Zugriff auf seine Woize-Kontakte und die VoIP-Funktionen nehmen kann. Heute hat Woize als erster Dienstleister seiner Branche bekannt gegeben, auch eine Symbian-Version für seine Clients bereitstellen zu wollen. Die Symbian9.1-Version von Woize könnte insbesondere vor dem Hintergrund der neuen Gerätepalette von Nokia interessant werden: zur Zeit erscheinen das 9300i und das E61 der E-Series mit S60-Interfaces im Handel. Auch die für Sommer geplanten neuen N-Series-Geräte und Sony Ericssons WLAN-fähiges P990i können dann vom WoizeClient profitieren: er ermöglicht die kostenlose Telefonie mit anderen Woize-Teilnehmern - unabhängig davon, ob man am PC sitzt oder sich ein WiFi-Handy ans Ohr hält. Anforderungen: • Windows Mobile 5.0 • .NET Compact Framework 2.0 • 200 MHz processor • WiFi Fring Fring sit ein Kostenloser Instant-Messaging- und VoIP-Client für Symbian und Windows Mobile Die kostenlose Smartphone-Software unterstützt zudem die Kommunikation via Skype, Google Talk, MSN Messenger, SIP und Twitter. Vorteile von Fring: • Fring ist Freeware. • Sie können Ihre Kontakte günstiger anrufen (je nach Tarif, Provider und Datenvolumen) . • Kostenlose Verbindungen per WLAN sind ebenfalls möglich. fring ist eine kostenlose Applikation für mobile Endgeräte, die es dem Nutzer erlaubt Gespräche über das Internet zu führen. Dabei nutzt fring neben UMTS und GPRS auch WLAN. Des weiteren bündelt die Software verschiedene Instant Messenger und 33 3. FMC-Client VoIP-Clients in einer zentralen Kontaktliste. Untertützt werden sowohl Google Talk als auch MSN Messenger, Skype, verschiedene SIP-Dienstanbieter und Twitter. Doch nicht nur Gespräche innerhalb der Software-Communities lassen sich führen, fring unterstützt auch Weiterleitungen in andere Telefonnetze wie SkypeOut, und zeigt an, welche Personen gerade online sind. 3.3.4. Clientkomponente Das Client besteht aus drei Funktionskompomente. Sie arbeiten sich miteinander zusammen, um die oben genannte Funktionalitäten durchzuführen. 1. Handover-Client Handover-Client ist der Schlüsselteil von dem FMC-Client. Es besteht aus wiederum drei Kompomente: • RSSI-Received Signal Strength Indicator RSSI ist für Signalstärke zuständig. Die gemessene Signalstärke wird hier angezeigt und weitergeleitet. • ND(Network Domain)-Status Hier speichert die Network Domain-Status von zurzeitige Netzwerke. Es gibt vier Fälle zu wählen: WLAN unavailable, WLAN registered, GSM unavailable, GSM registered. • ND-Selector ND(Network Domain)-Selector entscheidet, welche Netzwerke zu verwenden. Es gibt folgende Situationen zu wählen: SIP PS over WLAN only, SIP PS over WLAN preferred, Mobile CS only, Mobile CS preferred. HO(Handover)-Trigger bekommt Anweisung von ND-Selector und schaltet die Netzwerke zwischen WLAN und GSM um. 34 3. FMC-Client 2. PSCU-Packet Switched Control Unit PSCU beinhaltet ein VoIP-Client und macht Funktionen von PS-Telefonie Service wie Initiation und Beenden von Verbindungen mit Verwendung von SIP. 3. CSCU-Circuit Switched Control Unit CSCU speichert die Availabilitäten von cellularen Netzwerke und macht die Circuit Switched Telefonie Service 3.4. Funktionsablauf des FMC-Clients Um eine Anrufe zu initiieren und zu beenden, wie das Bild gezeichnet ist, sind folgende Schritte ausgeführt werden: Abbildung 3.5.: Funktionsablauf von FMC-Client 1. Überwachung der Netzwerke Vor dem Registrierung ist Überwachung von Netzwerke-Zugangsschnittstelle nötig. Der Zugang zum zellularen Netzwerk wird außerhalb des Clients überwacht. Überwachung von Zugang zum WLAN wird die Signalstärke periodisch gemessen. Die gemessene Signalstärke läßt sich in oben schon erwähnte 4 Stufe einzuteilen. 2. Überprüfung der Netzwerke-Verfügbarkeit Das RSSI sendet die Value von Signalstärke zu ND-Status. Die 4 Stufen sind mit dem 4 WLAN-Status gekoppelt und in ND-Status gespeichert. Für zellularen 35 3. FMC-Client Netzwerk bekommt die ND-Status Informationen direkt von CSCU, z.B. GSM unavailable oder GSM available. 3. Registrierung in WLAN/GSM ND-Status hat Netzwerke-Info. von WLAN als WLAN stable, dann ist WLAN schon registierungsfähig. Jetzt wird WLAN registered in ND-Status gespeichert. Für GSM wird GSM registered gespeichert. Der Registrierungsvorgang ist fertig. 4. Anrufe über VoWLAN/GSM, zwischendurch gegenseitig Handover Normalerweise soll in ND-Selector SIP PS over WLAN preferred eingesteilt. D.h., Anrufe über VoWLAN ist bevorzugt. Zum Handover gibt es drei grundsätzliche Fälle: WLAN=> GSM ND-Status hat Information von RSSI bekommen, dass Signalstärke von WLAN immer schwacher, und WLAN-Status steht für Losing WLAN. ND-Status sendet WLAN unavailable zu ND-Selector, ND-Selector schaltet die Netzweke von SIP PS over WLAN preferred nach Mobile CS preferred. HO(Handover)-Trigger schaltet die Anrufe von WLAN nach GSM. GSM=> WLAN ND-Status hat Information von RSSI bekommen, dass Signalstärke von WLAN in einem stabilen Zustand gekommen ist, WLAN-Status steht für WLAN stable. Nach der Registrierung sendet ND-Status WLAN registered zu ND-Selector, NDSelector schaltet die Netzweke von Mobile CS preferred nach SIP PS over WLAN preferred. HO()-Trigger schaltet die Anrufe von GSM nach WLAN. Um mehrmalige Umschaltung zwischen GSM und WLAN zu vermeiden, ist hier das sogenannte Ping-Pong-Effekt zu berücksichtigen. Während WLAN Found and Loosing WLAN ist deshalb WLAN nicht verwendbar. Manuell In diesem Fall besteht die Möglichkeit, Netzwerke manuell eingeteilt werden dürfen. Z.B. für Notruf kann man immer Mobile CS preferred einstellen. 5. Anrufe beenden Eine jede zeitige Unterbrechung von Anrufe ist während Mobile CS Anrufe und VoWLAN Anrufe möglich. 36 3. FMC-Client 3.5. Anforderungen an Mobile Endgeräte und Betriebssysteme Um der FMC-Client auf dem Endgerät funktionsstüchtig zu laufen, gibt es Anforderungen auf mobile Endgeräte und Betriebssysteme. In diesem Abschnitt wird untersucht, welches Leistungsspektrum derzeit erhältliche mobile Endgeräte aufweisen, d.h. welche Gegebenheiten in Bezug auf Speicherumfang, Prozessorgeschwindigkeit usw. vorzufinden sind. Auf mobile Endgeräte: • PDAs oder Smartphones Bei der Untersuchung der Marktgegebenheiten der Endgeräte und auch unterstützte Endegeräte von bestehenden FMC-Produkten hat sich herausgestellt, das PDAs oder Smartphones für FMC-Client geeignet sind. • Dual Mode von WiFi und GSM Endegeräte mit Dual Mode von WiFi und GSM ist eine grundsetzliche Vorausetzung. Das ist selbstverständlich zu verstehen, Weil der Client ohne Dual Mode kein Sinn mehr hat. Dazu braucht es eine integrierte WLAN-Karte in Endegeräte. • Prozessor und Speicher Prozessor und Speicher sind auch wichtige Faktoren für lauffähigen FMC-Client. Es ist schwer zu begrenzen, was für ein Prozessor und wieviel Arbeitsspeicher der Client braucht, aber aus Markt-untersuchung schlage ich für ein Prozessor ab ARM 9 mit 200 MHz(oder Prozessor in gleicher Stufe von Lauffähigkeit und Geschwindigkeit ) und Arbeitsspeicher ab 64 MB vor. Auf Betriebssysteme: • Integrierbarkeit und universell programmierbarkeit Die mobile Betriebssysteme sollen gut Intergrierbarkeit universell programmierbarkeit für den FMC-Client haben. Sie sollen die vollständige Funktionalität des Endgeräts sicherstellen und kontrollieren daher alle unmittelbaren Funktionen von FMC-Client. Zusätzlich müssen die Betriebsysteme noch eine offene Schnittstelle anbieten, damit die Entwickler den Client problemlos auf Betriebssystem integrieren können. • Unterstützung von Endegeräte Es ist auch sinnlos, wenn ein Betriebssystem wenige Endgeräte auf dem Markt unterstützen kann. • Unterstützung von SIP/VoIP VoIP Funktion mit SIP als Signalisierungsprotokoll muss auch unterstützt werden. 37 3. FMC-Client • Power Save Die Dual-Modus Endegeräte haben normalerweise immer BatterieProblem. Weil Verwendung von WLAN sehr energieaufwandig ist. Eine Lösungsvorschlag ist, U-APSD einzusetzen. U-APSD steht für Unscheduled Asynchronous Power Save Delivery. Für einen längeren Einsatz von mobilen Telefonen für VoIP verlängert U-APSD die Akku-Laufzeiten. Das Protokoll U-APSD ist eine Teilkomponente des Standards 802.11e. 3.5.1. Nötige APIs Bisher habe ich den Struktur von dem FMC-Client konzipiert, und auch die Funktionalitäten sowie Funktionsablauf vorgestellt. Aber um den FMC-Client auf dem Endgerät richtig laufen zu können, muss die Funktionen mit entsprechende APIs(Application Programming Interface) auf dem Endgerät implementiert werden. In dieser Arbeit soll auch die nötige APIs gelistet werden. Das wird in Kapitel 4 genauer eingegangen. 38 4. APIs und Mobile Systeme Kapitel 3 beschreibt nun die Funktionalitäten und Struktur von dem FMC-Client. Um den Client auf einem Endgerät laufen zu lassen, muss noch die nötige APIs ausgewählt werden und entsprechende mobile Betriebssysteme untersucht werden. In diesem Kapitel werden dann eine Untersuchung und Analysierung über die anpassende mobile Endgeräte und Betriebssysteme sowie die nötige APIs durchgeführt. 4.1. Analyse der angebotenen mobilen Endgeräten Das Endgerät soll mindestens in der Lage sein: • Dual Mode(GSM/WLAN) fähig, • WLAN zu unterstützen, • FMC-Service bieten kann, • Relative höherer Prozessor und genug Speicher, um das FMC-Client laufen zu lassen. Unter solche Bedingung sind normal Handys ausgeschlossen. Das Client soll in Dual Mode fähige Smartphones und PDAs implementiert werden. Ein Dual-Mode-Handy ist Endgerät, das zwei vollkommen unterschiedliche Übertragungsverfahren, Standards und Netze unterstützt. Hier steht die Dual-Mode für GSM und WLAN. Das Prinzip von Dual-Mode ist auch einfach. Wenn das Handy Verbindung zum WLAN hat, kann der Benutzer kostengünstig übers Internet telefonieren. Auch an öffentlichen Hotspots soll die VoIP-Telefonie so möglich sein. In Gebieten, in denen kein WLAN zur Verfügung steht, verwendet das Handy das normale GSM-Netz. Gemäß solecher Berücksichtigung sind folgende Handytypen gelistet: 39 4. APIs und Mobile Systeme Handy Marke Mobile System Prozessor Speicher G900 Sony Ericsson Symbian OS Philips NMM Processor 160 MB P1 Sony Ericsson Symbian OS Philips NMM Processor 160 MB W960 Sony Ericsson Symbian OS Philips NMM Processor 128 MB 8120 BlackBerry Eigenentwicklung 64 MB 8820 BlackBerry Eigenentwicklung 64 MB E60 Nokia Symbian OS ARM-926 220 MHz 64 MB N95 Nokia Symbian OS ARM 11 332 MHz 64 MB SGH-G810 Samsung Symbian OS ARM 11, 369 MHz 130MB SGH-i780 Samsung Windows Mobile 6 ARM 920T 624 MHz 128 MB P3300 Ar- HTC Windows Mobile 5 TI OMAP 201MHz 128MB S710 Vox HTC Windows Mobile 6 TI OMAP 850 201 MHz 64 MB M536 ASUS Windows Mobile 6 TI OMAP 450 MHz Tabelle 4.1.: FMC-fähige Dual-Mode Endgeräte temis 128 MB Zwei typische Handys E60 Das Nokia E60 Business-Smartphone unterstützt zahlreiche für den Unterneh- menseinsatz optimierte Sprachfunktionen, u. a. Unterstützung für Konferenzgespräche und Internet- Telefonie über WLAN. Zahlreiche Schnittstellen, Verbindungsmöglichkeiten, Mitteilungsoptionen und die breite Kompatibilität mit Office-Programmen ermöglichen auch unterwegs jederzeit den komfortablen Zugriff auf unternehmens- kritische Daten. Abbildung 4.1.: Nokia E60 • Unterstützung für UMTS-, EDGE- und Triband-Betrieb in GSM 900/1800/1900Netzen sowie Internet-Telefonie über WLAN • Spezielle Taste zur schnellen Aktivierung der Sprachanwahl, der Sprachaufzeichnung und der Push-to-talk-Funktion (PoC) 40 4. APIs und Mobile Systeme • Kostengünstiger lokaler Zugriff auf Sprach- und Datenfunktionen über WLAN • Sehr hochauflösendes Display zur optimalen Darstellung von Internet-Inhalten • Automatischer Wechsel zwischen verschiedenen Netzen (z. B. WLAN, GSM/GPRS, UMTS) ohne Neukonfiguration von Einstellungen. Diese Funktion benötigt keine zusätzlichen Netzdienste, was eine breite Nutzung ermöglicht. • Automatische und manuelle Netzwahl • Bis zu 64 MByte großer interner Speicher • Prozessor: ARM-926 220 MHz • Betriebssystem: Symbian OS 9.1 BlackBerry Pearl 8120 Das BlackBerry Pearl Smartphone in Kombination mit BlackBerry Enterprise Server stattet Anwender und IT-Manager von größeren Unternehmen oder Behörden mit modernster Sicherheit und leichterem Zugriff auf interne Informationen aus. Unabhängig davon, in welcher Branche Sie arbeiten: Wenn Sie einen wesentlichen Teil Ihrer Arbeitszeit nicht am Schreibtisch verbringen, kommt es immer wieder vor, dass Sie ausgerechnet die Ressourcen und Daten benötigen, auf die Sie nur vom Büro aus Zugriff haben. BlackBerry löst dieses Problem und sorgt gleichzeitig dafür, dass Sie über Ihr drahtloses Gerät auch außerhalb des Büros und unterwegs ständig aktuelle Informationen erhalten. Das BlackBerry Pearl 8120 Smartphone unterstützt Sie in allen Lebenslagen optimal. Modernste Telefonfunktionen, Multimedia, Digitalkamera, Video-Aufnahme, WLANFähigkeit und ein erweiterbarer Speicher sind bereits im Lieferumfang enthalten. Gerätefunktionen: • WLAN-Support, damit Sie sich praktisch mit jedem WLAN-Netzwerk verbinden können. • Direkter Internet-Zugang über WLAN • 64MB Flash-Speicher, plus Speichererweiterung mit einer MicroSD-Karte • Bluetooth-Unterstützung zum freihändigen Telefonieren auf Reisen oder anderswo. • SureType Tastatur-Technologie im QWERTZ-Layout zum schnellen Schreiben von Text- und E-Mail-Nachrichten. • Support für UMA/GAN 41 4. APIs und Mobile Systeme Abbildung 4.2.: blackberry8120 4.2. Untersuchung der Betriebssysteme 4.2.1. Windows Mobile Windows Mobile ist ein Betriebssystem von Microsoft für mobile Geräte. Die aktuelle Version der Windows Mobile-Reihe ist die Version 6.0, die auf den Windows CE 5.2Kernel basiert. Die Versionen Windows Mobile for Pocket PCs und Windows Mobile for Smartphones enthalten angepasste Software für Pocket PCs und Smartphones. Heute dominiert Windows Mobile den Markt für PDA und Smartphone Betriebssysteme. Windows CE Windows CE ist kein Betriebssystem im herkömmlichen Sinne, sondern eine Produkteplattform, mit der man eigene Betriebssysteme konstruieren kann. Im Grunde ist Windows CE ein „Baukasten “, bestehend aus hunderten von Softwarekomponenten und einem „Platform Builder “. Dieses Tool kennt z.B. die Abhängigkeiten zwischen Komponenten und erleichtert den Zusammenbau eines lauffähigen Betriebssystems. Damit kann man sich Betriebssysteme massschneidern, die von ein paar hundert Kilobyte Grösse für ein „deeply embedded “ System ohne Benutzerschnittstelle bis zu einem umfangreichen Multimediasystem reichen können. Die Komponenten bieten typischerweise Untermengen der Funktionen ihrer grossen Schwestern in Windows XP an. Es sind allerdings nicht überall strikte Untermengen, im Detail kann es Unterschiede geben. Windows CE existiert für verschiedene Prozessoren, darunter die stromsparenden ARM Mikroprozessoren. Der Kernel von Windows CE bietet Unterstützung für "harteËchtzeitAnwendungen. Z.B. garantiert er, dass alle Kernel-Routinen in konstanter Zeit ausgeführt werden. Solche Garantien sind nötig, um in Steuerungsanwendungen ein deterministisches Zeitverhalten zu erreichen.[12] Für Massenmarkt-Geräte wie PDA und Smartphones hat Microsoft deshalb spezifische Minimalkonfigurationen definiert. Eine für PDA („Windows Mobile for Pocket PC “) und 42 4. APIs und Mobile Systeme eine für Smartphones („Windows Mobile for Smartphones “). Jeder Hardwarehersteller hat die Freiheit, die normalen Windows Mobile Konfigurationen noch zu modifizieren. Um eine Fragmentierung des Marktes aufgrund inkompatibler Binärformate für Anwendungsprogramme zu vermeiden, unterstützt Windows Mobile nur ARM-kompatible Prozessoren.[12] Das .NET Compact Framework .NET ist eine Laufzeitumgebung und Standardbibliothek von Microsoft, vergleichbar mit einer Java Virtual Machine. Teile dieser Bibliothek, sowie die parallel zu .NET entwickelte Programmiersprache C# wurden von der ECMA-Organisation zu einer internationalen Norm erhoben. Windows Mobile 6 Windows Mobile 6 wurde am 12. Februar 2007 auf der 3GSM-Messe in Barcelona offiziell vorgestellt. Version 6 basiert auf Windows CE 5.2, welches in großen Teilen dem Kern von Windows Mobile 5.0 gleicht. Das Design der Benutzeroberfläche ist an Windows Vista angelehnt. Wichtige Neuerungen: • IP-Telefonie • HTML-Unterstützung in Mails • Integrierte Updatefunktion, Optimierung für den Abgleich mit Windows Vista • Erweiterte Sicherheits-Features: • Speicherkarten-Verschlüsselung (AES) und Notfall-Datenlöschung aus der Ferne • Vereinfachte Verwaltung von Zertifikaten 4.2.2. Symbian OS Symbian ist ein proprietäres Betriebssystem für Smartphones und PDAs. Symbian OS bietet dem Programmierer eine umfangreiche Sammlung von API’s, Dienste und Gerätetreiber. Die Haupteigenschaften von Symbian OS sind: [13] • Integrierte multimode Mobiltelefonie - es verbindet die Fähigkeiten der EDV mit der Mobiltelefonie 43 4. APIs und Mobile Systeme • Offene Anwendungsumgebung - es ermöglicht den Einsatz von Mobiltelefonen als Plattform für Anwendungen und Dienste in einer Vielzahl von Sprachen und Inhalten. • Offene Standards und Kompatibilität - Symbian OS stellt mit seiner flexiblen und modularen Implementierung einen Kern von „application programming interfaces “(APIs) bereit. • Multitasking - Symbian OS basiert auf einer Micro-Kernel-Architektur und beinhaltet volles Multitasking und Multithreading. Alle Systemdienste wie Telefonie, Netzwerk Middleware und Anwendungssysteme laufen als eigene Prozesse. • Flexibles Benutzer-Schnittstellen Design - mit Hilfe eines flexiblen „graphical user interface “ (GUI) Designs wird die Portierung von Anwendungen für Dritte erleichtert. • Robustheit - Symbian OS unterstützt direkten Zugriff auf Benutzerdaten. Es gewährleistet Datenintegrität, selbst unter unsicheren Kommunikationsbedingungen und Mangel an Speicher und Strom. • Sicherheit. Symbian OS unterstützt Zertifizierungs- und Verschlüsselungsmechanismen • Objektorientierten Architekturansatz. Symbian OS kann schnell an verschieden Plattformen angepasst werden. • Power Management. Bei Symbian OS besonders effizient • Erweiterbar durch C++, Java, Phyton und Perl. Architektur Symbian OS verfügt über verschiedene Subsysteme für verschiedene Aufgaben. Zu diesen Systemen gehört das Basis-Subsystem, das den Rahmen für alle anderen Elemente darstellt. Es beinhaltet den Kernel, die Benutzer-Bibliothek, die verschiedenen Gerätetreiber und den File- Server. Weiterhin gibt es Subsysteme für Telefonie, Messaging, Multimedia und einiges andere mehr. Auf diese soll hier aber nicht weiter eingegangen werden. Im Folgenden soll nur auf das Basis-Subsystem eingegangen werden, das den Kern des Betriebssystems darstellt.Abbildung 4.3. zeigt einen allgemeinen Überblick über die Architektur von Symbian OS v9.1. . 44 4. APIs und Mobile Systeme Abbildung 4.3.: Symbian OS Version 9.1 System model Kernel Symbian OS hat einen kompakten, multitasking- und multithreading- fähigen Kernel, der sowohl monolithische als auch Mikrokernel-Eigenschaften vereint. Die Hauptaufgabe ist das Verwalten der Privilegien. Gerätetreiber Stellen eine API für Anwendungen zur Verfügung, welche die Steuerung von Hardware erlaubt, die nicht unbedingt notwendig für das Ausführen des Betriebssystems ist. Anwendung Eine Anwendung ist ein Programm, welches nur mit User-Mode-Privilegien läuft und in der Regel eine graphische Oberfläche besitzt. Server Ein Server ist ein Programm ohne eine graphische Oberfläche. 4.2.3. Palm OS Palm OS ist ein Mobile Betriebssystem für die Organizer der Palm-Serie sowie für Smartphones. Die Geräte wurden zuerst nur von der Firma Palm, die auch das Betriebssystem entwickelte, hergestellt. Später wurden die beiden Gebiete aber auf die Tochterfirmen PalmSource (Software) und PalmOne (Hardware) aufgeteilt. Im Jahr 2005 kaufte die Firma PalmOne die Rechte am alten Namen zurück und benannte sich wieder in Palm 45 4. APIs und Mobile Systeme um. Auch Sony, Handspring, Garmin, Symbol und andere Hersteller lizenzierten Palm OS und setzten es in ihren Geräten ein. Mittlerweile hat sich Sony allerdings vom PDAMarkt verabschiedet und Handspring wurde von Palm übernommen, sodass es eigentlich kaum noch Geräte mit Palm OS von anderen Herstellern als Palm selbst gibt.[14] Hauptmerkmale: • Single-tasking + single-threading • Echtzeitsystem (bedingt durch single-tasking) • Kommunikation der Programme untereinander durch sogenannte Launch Codes • Ereignisgesteuert - interaktiver Betrieb Vorteile: • Stromsparend durch 3 Betriebsarten, da meistens im Doze- oder Sleep-Modus • Schnelle Reaktion auf Tastendruck, da nie ganz ausgeschaltet • Gute Texterkennungsrate, da Benutzer mit Grafiti-Schrift schreibt • Kostengünstig, da einfache Hardware, einfache Ausstattung • Stabil, wegen einfacher Ausstattung und single-tasking Nachteile: • Der Benutzer muß die Grafiti-Shrift erlernen • Kein Multitasking • Kein virtueller Speicher: im worst case (wenn nicht genügend dynamischer Speicher vorhanden ist) • kann ein Programm nicht laufen 4.2.4. Linux OS Das Open Source Betriebssystem Linux existiert in unterschiedlichsten Ausprägungen auch für mobile Endgeräte. Technisch unterscheidet es sich nur sehr wenig von den Mechanismen und Schnittstellen gegenüber Linux auf großen Rechnern. Deshalb sind auch viele der anerkannten Linux-Sicherheits-eigenschaften in den Ablegern in mobilen Endgeräten nutzbar. Linux bietet ein Speicherverwaltungs-konzept und eine Multitasking-Prozessverwaltung. Der Betrieb ist im Gegensatz zu den anderen vorgestellten Betriebssystemen nicht auf 46 4. APIs und Mobile Systeme einen Benutzer beschränkt, es können dagegen mehrere Ver-trauensbereiche für verschiedene Benutzer und Benutzerprofile geschaffen werden. Zudem stehen verschiedene Dateisysteme mit Zugriffsschutz zur Verfügung, Kryptografie wird sowohl vom Betriebsystemkern als auch von Anwendungsbibliotheken angeboten, Authentisierungsmechanismen und Zertifikatverwaltung existieren ebenso. Zur Erweiterbarkeit muss man auf die Verfügbarkeit des Quelltextes und die Möglichkeit und dem Recht zu dessen Änderung hinweisen. Für den professio-nellen Einsatz bedeutet dies auch, dass man wegen der Quellcodeoffenheit des Systems nicht nur auf Aussagen des Herstellers angewiesen ist, sondern die Sicherheitsmechanismen direkt überprüfen könnte. [15] 4.2.5. Analyse der Mobile Systemen Oben habe ich derzeitige eindeutig am weitesten verbreitete Betriebssystemen für PDA und Smartphone vorgetellt, nähmlich: Symbian OS, Windows Mobile, Plam und Linux. Nach einer Untersuchung des Instituts ABI Research besaßen 2006 die meisten weltweit verkauften Smartphones ein Symbian Betriebssystem. Laut des Berichts hält Symbian einen Marktanteil von etwa 73 Prozent, der vor allem durch Nokia gestützt wird. Danach kommt Windows Mobile und Linux. In der Praxis sind allerdings nur wenige auf Palm und Linux basierte Geräte verfügbar und die Zahl der Anwendungen ist stark eingeschränkt. Deshalb habe ich die Implementierungs-Mobilesystemen für Symbian und Windows Mobile gewählt. 4.3. API-Application Programming Interface API ist eine Schnittstelle, die von einem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfügung gestellt wird. Oft wird dafür die Abkürzung API (für engl. application programming interface, deutsch: „Schnittstelle zur Anwendungsprogrammierung “) verwendet. Im Gegensatz zu einer Binärschnittstelle (ABI) definiert eine API nur die Verwendung der Schnittstellen auf Quelltextebene. Neben dem Zugriff auf Datenbanken, die Hardware wie Festplatte oder Grafikkarte kann eine API auch das Erstellen von Komponenten der grafischen Benutzeroberfläche ermöglichen oder vereinfachen. Im weiteren Sinne wird die Schnittstelle jeder Bibliothek (Library) als API bezeichnet.[16] In dieser Arbeit soll die nötige APIs ausgefunden werden, um das FMC-Client im mobilen Endgerät laufen zu können. Die detailierte Funktionalitäten sollen mit entsprechenden APIs realisierte werden. In diesem Abschnitt werden APIs von Windows Mobile 47 4. APIs und Mobile Systeme und Symbian OS vorgestellt. J2ME ist bietet zahlreiche APIs für Mobile Endgeräte. Es kann auf Windows Mobile und Symbian implementiert werden. 4.3.1. APIs von Windows Mobile Das Smartphone-APIs von Windows Mobile ist basiert auf C++. Das Programmierungsmodell von Smartphone gliedert sich in Gruppen von interfaces, properties, methods, functions, data types, and data structures. Jede Gruppe hat ihre eigene spezifische Funktionalität. Folgende sind Windows Mobile barsierte APIs für Smartphone. Windows Mobile-basedSmartphone API: • ActiveSync API • Bluetooth API • Connection Manager API • Device Configuration API • File and Application Management API • Game API (GAPI) • Home Screen API • HTML Control API • Messaging API (MAPI) • MIDI API • Pocket Outlook Object Model (POOM) API • Object Exchange (OBEX) API • Remote API (RAPI) • Speech Recognizer API • Telephony API • User Interface API • Vibrate API • Voice Recorder Control API 48 4. APIs und Mobile Systeme Hier werden nur die APIs vorgetellt, die für unsere Spezialisierung nötig sind. Connection Manager API Das Connection Manager API verwendet zur Zentralisierung und Automatisierung der Einrichtung und Verwaltet die Netzwerk-Verbindung auf ein Windows Mobile basiertes Endgerät. Das mobile Gerät verwendet Conection Manager zur Establisierung oder Scheduling einer Netzwerk-Verbindung und verwaltet die Detailisierung der Verbindung. Es gibt folgende Fnnktionalitätsteile in diesem API: • Connection Manager API Functions • Connection Manager API Structures • Connection Manager API Constants In den unteren Tabelle werden beispielweise die nützliche Function und Constant vorgestellt. Connection Manager API Functions Function Beschreibung ConnMgrConnectionStatus Liefert den Status der aktuellen Verbindung. ConnMgrEnumDestinations Zählt der Liste der verfügbaren Netze. ConnMgrEstablishConnection Erzeugt eine Verbindung Anfrage. ConnMgrSetConnectionPriority Ändert die Priorität der aktuellen Verbindung. Tabelle 4.2.: Connection Manager API Functions Connection Manager API Constants Programmierungselement Beschreibung Connection Manager Priority Constants Definieren die Priorität der Verbindung. Connection Manager Status Constants Beschreiben den momentanen Status der Verbindung. Tabelle 4.3.: Connection Manager API Constants 49 4. APIs und Mobile Systeme Connection Manager Priority Constants Value Beschreibung CONNMGR_ PRIORITY_ VOICE Höchste Priorität. Eine Voice Verbindung. CONNMGR_ PRIORITY_ HIPRIBKGND Hohe Priorität Hintergrund der Verbindung. CONNMGR_ PRIORITY_ IDLEBKGND Idle Priorität Hintergrund der Verbindung. CONNMGR_ PRIORITY_ LOWBKGND Niedrigste Priorität. Tabelle 4.4.: Connection Manager Priority Constants Connection Manager Status Constants Value Beschreibung CONNMGR_ STATUS_ Die Verbindung wurde hergestellt. STATUS_ Versucht eine Verbindung herzustellen. CONNECTED CONNMGR_ WAITINGCONNECTION CONNMGR_ STATUS_ Aborting Verbindungsversuch. WAITINGCONNECTIONABORT CONNMGR_ STATUS_ Die Verbindung wird gerade getrennt. WAITINGDISCONNECTION CONNMGR_ STATUS_ Die Verbindung ist getrennt und kann nicht wiederhergestellt CONNECTIONFAILED werden. CONNMGR_ User-Verbindung abgebrochen. STATUS_ CONNECTIONCANCELED CONNMGR_ STATUS_ Die Verbindung wird getrennt. DISCONNECTED Tabelle 4.5.: Connection Manager Status Constants Extended TAPI Das Extended TAPI erweitert Wireless-Funktionalitäten wie Abfragen der Signalstärke, Auswahl des Mobilfunknetzes usw. ExTAPI arbeitet mit Telephony API (TAPI) und nutzt alle der TAPI-Geräte. In den unteren Tabelle werden beispielweie die nützliche Function und Constant vorge- 50 4. APIs und Mobile Systeme stellt. Extended TAPI Constants Constant Beschreibung Radio Presence Zeigt die Radio-Anwesenheit. Radio States Identifiziert den Zustand der Radio-Hardware. Registration Status Identifiziert den Status der Registrierung des Geräts. System Type eigt die CDMA oder GSM Systemtypen. Tabelle 4.6.: Extended TAPI Constants Radio Presence Value Beschreibung LINERADIOPRESENCE_ PRESENT Ein Radio-Modul ist vorhanden. LINERADIOPRESENCE_ NOTPRESENT Es gibt keine Radio-Modul auf dem Gerät. Tabelle 4.7.: Radio Presence Real-time Communications (RTC) Client API Windows Embedded CE enthält ein Real-Time-Kommunikation (RTC) Client-API, das Echtzeit-Kommunikation unterstützt. Das RTC-Client-API ermöglicht Anwendungen wie PC-PC, PC-Telefon oder Telefon-TelefonVerbindungen, es unterstützt auch Instant Messaging (IM)-Sessions über Internet Protokoll. Windows Embedded CE beinhaltet die RTC API von Version 1.2 und bietet dazu folgende grundlegende Funktionalitäten: • Initiation Text-messaging Sessions • Empfängen der Präsenz-Information • Unterstützung von SIP • Unterstützung von Provisional Acknowledgement messages (PRACKs) Die RTC-Client-API unterstützt von IETF entwickeltem Session Initiation Protocol (SIP), Wenn eine Verbindung mit SIP hergestellt ist, verwendet die RTC-Client-API das Real-Time Transport Protocol (RTP) zur Übertragung von Medien zwischen Users. Real-time Communications Architektur Das Windows Embedded CE RTC-Client-API beinhaltet die folgenden Protokoll-Stacks: 51 4. APIs und Mobile Systeme • Session Initiation Protocol (SIP) • Real-Time Transport Protocol (RTP) • PSTN/Internet (PINT) internetworking service In den unteren Tabelle zeigt die teilweise RTC Client API Ierfaces mit entsprechende Beschreibungen. Programmierungselemente Beschreibung IRTCClient Das interface repräsentiert das RTC Client Objekt. IRTCClientEvent Das Interface ruft Informationen über Ereignisse vom Typ RTCE_ CLIENT. Diese Art von Ereignisse gibt Änderungen in der Präsenz-Status eines Clients. IRTCPresenceDevice(in Windows Embed- Das Interface ruft Informationen über ded CE 6.0. nicht unterstützt) Device-Präsenz . IRTCSession Das Interface repräsentiert ein SessionObjekt.IRTCClient::CreateSession erzeugt die Session-Objekt. IRTCSessionCallControl Dieses Interface enthält Methoden, die es ermöglichen, die Anwendung zur Implementierung traditioneller Call-ControlFunktionen wie hold, forward usw. IRTCSessionDescriptionManager Dieses Interface definiert ein Umsetzungverantwortliches Session Description Manager. Das Interface ermöglicht die Unterstützung von SIP bei RTC-Client-API IRTCSIPEvent Das interface erhältet das SIP Message. IRTCSIPMessage Dieses Interface ruft die Informationen über alle eingehenden SIP-NachrichtHeader. IRTCClientPresence (in Windows Embed- Das Interface beinhaltet alle Methoden ded CE 6.0. nicht unterstützt) und Eigenschaften im Bezug auf ClientPräsenz. Tabelle 4.8.: Interface von RTC-Client GUI API- Graphics, Windowing, and Events Subsystem (GWES) 52 4. APIs und Mobile Systeme GWES ist ein Interface zwischen dem Benutzer, der Applikation und dem Betriebssystem. Es unterstützt alle Elemente (Windows, Dialogboxen, etc.) mit welchem über ein User Interface mit der Applikation interagiert werden kann. Graphics, Windowing and Events Subsystem (GWES) Das Graphics, Windowing and Events Subsystem wurde zusammengesetzt aus den Benutzer- und GDI- (Graphics Device Interface) Subsystemen von den Desktop-Versionen, dabei wurden die Event- und Window-Manager unverändert übernommen. Das GDI-Subsystem wurde an die kleinere Bedienoberfläche angepasst und in Multi-Platform GDI umbenannt. Das GWES Modul ist die Schnittstelle zwischen dem Benutzer, den Applikationen und dem Betriebssystem. Es übersetzt die Eingabe des Benutzers über Tastatur, Touchscreen, Maus und gibt die Befehle an die Applikationen bzw. das Betriebssystem weiter. Auf der anderen Seite gibt es die Ausgabe der Applikationen an den Benutzer weiter indem es Fenster erzeugt und Grafiken oder Text anzeigt. Alle Programme in Windows CE basieren auf dem Fenster, sogar wenn kein Bildschirm benötigt wird. [18] 4.3.2. APIs von Symbian Einer der großen Vorteil von Symbian OS liegt bei der Programmierung. Die Programmierung und Installation auf Endgeräten ist für jedermann offen, da die Programme nicht einen Zertifizierungsprozess durchlaufen müssen. Dem Programmierer stehen verschiedene Programmiersprachen zur Verfügung. Die meisten verwendete Programmiersprachen sind C++ und Java ME. Die bieten zahlreiche APIs für Implementierung entsprechende Funktionen auf Endgeräten. Die meisten mobilen Geräte unterstützen Java. Hierbei läuft auf dem Gerät eine KVM, welche Java-Midlets18 ausführen kann. Der Vorteil hierbei ist, daß die Midlets auf jedem Java-fähigen Gerät laufen, auf dem die vom Midlet benutzten APIs implementiert sind. Auch Symbian-Geräte haben in der Regel eine KVM, um Java-Programme ausführen zu können. Die Entwicklung von Symbian mit C++ ist viel teuer als mit JavaME. Die finanzieller Grund ist einer der wichtigste Faktor beim Wählen zwishcen C++ und JavaME. Im Vergleich mit C++ ist zwar auf JavaME basierte Symbian OS langsamer, aber es ist noch akzeptierbar. Mit ungefähr 75% im Sinne von Geschwindigkeit kostet JavaME bei Entwicklungszyklus nur weniger als 50% im Vergleich mit C++. Deshalb gibt es auf dem Markt über 90% Symbian-Handys mit JavaME, und es gibt nur die jenige Endegeräte,die speziellle Funktionen haben,die bestens mit C++ entwickelt werden können. 53 4. APIs und Mobile Systeme 4.3.3. APIs von JavaME Einleitung Java Micro Edition ist die kleinste Plattform der Javaumgebung. Der Einsatzbereich der Micro Edition liegt vorwiegend im Bereich der mobilen Applikationen und der Möglichkeit, Java Applikationen auch mit beschränkten Ressourcen zu nutzen. Die Architektur der Java Micro Edition ist modular aufgebaut und läßt sich in vier Schichten aufteilen. Die unterste Schicht bildet das Betriebssystem, z.B. Symbian OS,Windows Mobile oder Linux. Auf die Betriebssytemebene setzt eine plattformabhängige Implementierung der virtuellen Maschine (KVM oder CVM) auf. Die darüberliegende dritte Schicht bilden die Konfigurationen, die zusammen mit den in der obersten Schicht liegenden Profilen die Funktionalität der KVM/CVM beschreiben. [19] Abbildung 4.4.: JavaME-Struktur Konfigurationen Konfigurationen beschreiben die Grundfunktionen der KVM/CVM für eine Klasse von Geräten mit ähnlicher Leistungsfähigkeit. Eine Konfiguration umfasst eine virtuelle Maschine, Klassenbibliotheken und API’s, die auf die Eigenschaften dieser Geräte zugeschnitten sind. Es existieren bisher zwei solcher Konfigurationen. Die Connected Limited Device Con- 54 4. APIs und Mobile Systeme figuration für Mobiltelefone, Pager und PDAs und die Connected Device Configuration (CDC) für etwas leistungsfähigere Geräte, wie SetTop-Boxen, Bildtelefone und Spielekonsolen. Auf den Konfigurationen setzen die Profile auf. Ein Profil spezifiziert je für eine Klasse von Zielgeräten Java-API’s. Die Profile enthalten unter anderem die Klassen für die Benutzerschnittstelle oder die persistente Datenhaltung. Profile können ineinander verschachtelt sein oder aufeinander aufbauen. CDC-Connected Device Configuration Die CDC (Connected Device Configuration) beinhaltet die komplette Java 2 Plattform VM, die CVM (Customer Virtual Machine) und die minimal erforderlichen API Klassen für das System. Für Applikationen wird zusätzlich ein Profil benötigt. Das „foundation profile“, welches alle übrigen Klassen und APIs beinhaltet und bei Bedarf andere Profile (z.B. für GUI) müssen auch eingebunden werden. CDC ist einer Superklasse von CLDC und ist somit auch für CLDC Geräte einsetzbar.[17] CLDC-Connected Limited Device Configuration Diese Konfiguration geht auf die beschränkten Ressourcen von mobilen Kleinstgeräten wie Handys, PDAs oder Pager ein. Sie setzt Speicher im Bereich von 128 bis 512 KB, Batteriebetrieb und (falls vorhanden) eine Netzwerkverbindung von mindestens 9.600 BPS voraus. Bestandteil dieser Konfiguration ist die Kilo Virtual Machine (KVM), eine virtuelle Maschine speziell für Geräte mit einem Hauptspeicher im Kilobyte-Bereich. Das Ziel der CLDC ist die Unterstützung einer breiten Palette an Geräten, welche mit sehr beschränkten Ressourcen auskommen müssen. Als grosser Vorteil der Java Technologie in portablen Geräten gilt das dynamische und sichere Verbreiten von interaktivem Inhalt und Anwendungen über verschiedenartige Netzwerke. Die CLDC setzt außer der minimalen Speicheranforderung keine besonderen Hardware-Anforderungen voraus. Die Speicheranforderung besagt, dass die VM, die Konfigurationen, die Profile und die Applikationen innerhalb von 160-512kB Platz haben müssen. Die Softwareanforderungen variieren genau so stark wie die Hardwareanforderungen. Einige Geräte werden über eine vollständig implementierte JVM verfügen, während andere Geräte mit einem beschränkten Softwareumfang nur die notwendigen Klassen beinhalten. Die einzige Grundvoraussetzung für die Software ist ein minimales „host operating system“, falls nicht der Kernel selbst die zu Grunde liegende Hardware verwalten kann. Das „host operating system“ muss weder keine getrennte Adressräume oder Prozesse verwalten können, noch braucht es eine Echtzeitunterstützung. [17] 55 4. APIs und Mobile Systeme Profil Profiles sind eine Menge von APIs, welche die Konfigurationen erweitern und in Kombination mit ihnen eine Anwendungsumgebung bilden. Mit der Auswahl eines Profiles kann noch genauer auf die Fähigkeiten der Hardware des Geräts eingegangen werden. Auf diese Weise wird vermieden, dass unbenutzte APIs unnötig Speicherplatz belegen. Momentan liegen für die oben genannten Konfigurationen verschiedene Profile vor, die sich in unterschiedlichen Stufen des Spezifikationsprozesses befinden. Für die Connected Limited Device Configuration sind dies das Mobile Information Device Profil und das PDA Profil. Das Foundation Profil, das Personal Profil und das RMI Profil liegen für die Connected Device Configuration vor.[17] Das MIDP ist das Mobile Information Device Profile und baut auf die CLDC auf. Üblicherweise wird dieses Profil in Mobiltelefonen, kleinen PDAs und interaktiven Pagern verwendet. MIDlets Eine J2ME-Applikationen nennt man MIDlet, wenn Sie auf das MIDP aufsetzen. Zum erstellen von MIDlets gibt es mehrere Möglichkeiten. Zum einen kann man Ktoolbar (welches im WirelessToolkit von SUN enthalten ist) für die Automatisierung der Abläufe verwenden, die einzelnen Schritte von Hand erledigen oder eine Entwicklungsumgebung für J2ME verwenden. Im praktischen Teil meiner Diplomarbeit habe ich das WirelessToolkit verwendet, auf welches ich später noch genauer eingehen werde. [17] Die grafische Benutzerschnittstelle (GUI) Für die Darstellung von Informationen, Bildern und Formularen auf dem Display wird das Package javax.microedition.lcdui benötigt. Alle darstellbaren Toplevel-Elemente implementieren das Interface Displayable. Diese Elemente nennt man Screens. Diese kann man dem Display des Endgeräts zuordnen. Optionale Pakete Optionale Pakete dienen der Erweiterung von Funktionen, welche nicht durch das Profil erfüllt werden. Da der Markt mobiler Geräte stark umkämpft ist, bauen die Hersteller immer mehr Features und Innovationen in ihre Produkte ein. Diese müssen letztlich auch über APIs zu erreichen sein, um die Leistungsmerkmale der Ablaufumgebung ausschöpfen zu können. Mit der zunehmenden Implementierung von Optionalen Paketen in der Endgeräten schließt sich die Lücke zwischen nativen Anwendungen und MIDlets 56 4. APIs und Mobile Systeme in Bezug darauf, inwieweit sie die Leistungsmerkmale der Ablaufumgebung ausschöpfen können. Es gibt eine Fülle von optionalen Paketen, welche sich frei miteinander kombinieren lassen. Vorteilhaft kommt dabei die Schichtenarchitektur der JavaME zum Tragen: Es lassen sich beliebig viele Pakete oberhalb des Profils „andocken“. Da die Zugriffe topdown erfolgen, ist dem MIDP nicht bekannt, wie viele und welche optionale Pakete zum Einsatz kommen. Die Anzahl der Kombinationen ist beträchtlich. Dies führt zu einer Fragmentierung der Gerätefunktionen, schließlich integrieren die Hersteller nicht notwendigerweise alle dieselben Pakete. Da es im Zuständigkeitsbereich der Hersteller liegt, die Implementierungen dieser Pakete, wie auch beim MIDP, zu übernehmen, entscheiden diese, welche Pakete sie für implementierenswert halten. Daher entstand die Bestrebung, mehrere optionale Pakete zu einem größeren Paket zusammenzulegen. Diese Initiative wurde im Jahre 2004 im JSR-248 „Mobile Service Architecture“(MSA) beschlossen.[17] JSR 248: Mobile Service Architecture Die MSA lässt sich als Standardisierungsbemühung verstehen, um die Portabilität mobiler Java Anwendungen zu wahren. Auch lässt sie sich als Grundlage der nächsten Generation Java-fähiger Mobiltelefone bezeichnen. Ziel ist neben der Zusammenlegung auch, „Unklarheiten und Interpretationsspielräume in den Spezifikationen der optionalen Pakete“ zu beseitigen, die ansonsten auch zu inkompatiblen Implementierungen hätten führen können. JSR-248 definiert keine neuen APIs, sondern beschränkt sich zunächst auf die Zusammenfassung altbekannter Funktionalität und definiert klare Verhaltensregeln für die Nutzung der eingebetteten Sub-JSRs. Die MSA setzt sich im Wesentlichen aus folgenden Komponenten zusammen: • Die Konfiguration CLDC1.1(JSR-139) • Das Profil MIDP(JSR-118) • Die JTWI 1.0 (JSR-185) • Optionale Pakete in zahlreichen weiteren JSRs JSR 209: AGUI Die Advanced Graphics and User Interface (AGUI) Optional Package migriert die APIs von J2SE platform zu J2ME platform. Diese Package unfasst folgende Funktionen: • Swing user interface toolkit • Java 2D Graphics and Imaging 57 4. APIs und Mobile Systeme Abbildung 4.5.: Mobile Service Architecture • Image I/O • Input Method Framework JSR 307: Network Mobility and Mobile Data API Das JSR bietet API’s für die Initiierung und Steuerung von Daten-Sessions in einem mobilen Gerät und Anwendungen, die die Kontrolle der Auswahl zwischen verschiedenen Netzwerken. Network Mobility API Die Network Mobility API bietet eine Möglichkeit, welche Netzwerke verwendbar sind. Es detektiert die Preferences von zurzeitige Netzwerken. Preferences bedeutet, das DualMode Endgerät kann eine bevorzugte Verbindung zwischen z.B. VoWLAN und Cellular initieren. Connection Preferences interfaces bietet die Funktionen wie Session Selection, Network Attach, dazu beinhaltet die Funktionen folgendes: • Welche Netzwerke sind verwendbar(WLAN vs Zellular) • Welche Netzweke sind zu Attach zu wählen 58 4. APIs und Mobile Systeme • Einstellung von Netzwerken, Verwaltung der Netzwerke-Informationen • Welche voice telephony Anbieter zu verwenden • Welche IM-Protokolle zu verwenden Package javax.microedition.mobiledata Die mobiledata package bietet eine Reihe von Schnittstellen, die benutzt werden können zu konfigurieren und zu steuern Daten Tagung Einrichtung. Das Mobiledata package bietet Interface, die für Konfiguration und Steuerung von Session Establisierung veranwortlich sind. Die Methoden ermöglichen folgenden Anwendungen: • Welche Netzwerke sind zu verwenden, um Verbindung herzustellen • Konfiguration der Verbindung • Auswahl von Zugriffstechnologie wie Cellular und WLAN • Erhalten der Änderung von Connection Status JSR 304: Mobile Telephony API version 2 Die Mobile Telephony API Version2 (MTA)-Spezifikation definiert Funktionen für die Kontrolle der mobilen Telefonie und verwendet für Java-ME-Geräten. Die Mobile Telephony API bietet folgende Funktionen: • Session Initierung und Beendung • Erhalten von ankommende Calls • Steuerung von bestehenden Calls • Erhalten der Änderung von Session-Status • Erhalten der Änderung von Netzwerk-Status • supplementary services wie multiparty calls und call forwarding • Aktivierung/Deaktivierungvon supplementary services • Unterstützung von VoIP In folgenden Tabellen werden die Interface teilweise zusammengefasst. Call Diese Interface ist für Initierung und Akzeptierung von Anrufe verantwortlich. 59 4. APIs und Mobile Systeme Fields Beschreibung STATE_ IN_ PROGRESS In diesem Zustand ist die Verbindungsanfrage an Netzwerk gesendet, Es gibt noch keine Rückmeldung von Netzwerk. STATE_ RECEIVED Dieser Zustand zeigt einen eingehenden Anruf an STATE_ ACTIVE. Die Umsetzung ist für die Signalisierung verantwortlich. STATE_ WAITING Die Status wird durch einen Anruf, das ein neuen eingehenden Anruf repräsentiert, hervorgerufen . Der neue eingehende Anruf ist in ein Warte-Status wegen ein Exsistenz von einem oder mehrer anderen Anrufe in STATE_ ACTIVE oder STATE_ ON_ HOLD. Tabelle 4.9.: Interface von Call NetworkStatus Die NetworkStatus ermöglicht, der Anwendungen momentane NetworkStatus von TelefonieService in einem Gerät zu erhalten. Fields Beschreibung STATE_ FULL_ SERVICE Netzwerk-Status mit voller Servie- Abdeckung. STATE_ LIMITED_ SERVICE Netzwerk-Status mit beschränkter ServieAbdeckung. Z.B. nur Notruf STATE_ OUT_ OF_ COVERAGE Netzwerk-Status keiner Servie-Abdeckung. STATE_ SEARCHING Verfügbare Netzwerke werden gesucht Tabelle 4.10.: Interface von NetworkStatus JSR 180: SIP API for J2METM Das in JSR-180 spezifizierte SIP API ist eine für die JavaME geeigenete Schnittstelle für die Implementierung von SIP-Client und -Server-Programmen. Die wesentlichen Deklarationen sind SipClientConnection und SipServerConnection. Die Methode Connetor.open() aus dem Generic Connetion Framework liefert für URLs mit dem Schema sip oder sips Instanzen dieser Interfaces. 4.4. Realisierungen auf FMC-Client Nachdem im vorherigen Abschnitte die generelle Funktionalitäten und entsprechende nötige APIs des FMC-Clients dargestellt wurde, werden in diesem Abschnitt die Reali- 60 4. APIs und Mobile Systeme sierungsvorschlag betrachtet. Für die Realisierung des FMC-Clients auf mobile Endgeräte wurden bereitgestellt: • Nötige APIs • Betriebssysteme • Entwicklungstools Da über 90% der Mobiletelefone JavaME unterstützt, lohnt es sich, diese Programmierumgebung genauer zu betrachten. Ca. 90% aller aufgeführten Mobiletelefone unterstützen das MIDP 2.0 Profil, 74% die CLDC 1.1 Konfiguration. Aus diesen Zahlen kann geschlossen werden, dass die Programmierumgebung der Wahl für die Entwicklung des mobilen Clients auf Mobiltelefonen JavaME fällt. Wie vorher schon erwähnt hat, hat Symbian OS ein Marktanteil von etwa 73% , sind hier dann Betriebssystem Symbian OS und APIs von JavaME für Umsetzung des FMC-Clients vorgeschlagen. Natürlich ist ein anderer Weg möglich z.B. mit Windows Moblie und APIs von C++. Nötige APIs Die nötige APIs von JavaME mit entsprechenden Funktionen für FMC-Client werden in nächsten Seite dargestellt. 4.4.1. Realisierungsumgebung und Tools Unter einer integrierten Entwicklungsumgebung, abgekürzt IDE (engl.: Integrated Development Environment), versteht man eine Applikation, in welcher eine Programmierumgebung, z.B. in Form eines GUI (graphical user interface) builders, eines Text- bzw. Code-Editors, mit einem zugehörigen Compiler, Interpreter und Debugger zusammengefasst sind. Durch das Zusammenführen der verschiedenen Funktionen in einem Programm und zusätzlich eingebundenen Hilfen soll so dem Softwareentwickler die Arbeit erleichtert werden. 4.4.2. Entwicklungstools von Java ME Während heutzutage eine Reihe von Entwicklungsumgebungen für die Programmiersprache Java zu Verfügung stehen, ließen die ersten wirklich gut funktionierenden und umfassenderen IDEs (Integrated Development Environment) in den Anfangszeiten von Java (JDK (Java Development Kit) 1.0 bzw 1.1) lange auf sich warten. 61 4. APIs und Mobile Systeme APIs Funktionen JSR 307: Network Mobility Überwachung von Netzwerke; and Mobile Data API Weiterleiten der Netzwerke-Informationen an entsprechenden Anwendungen, z.B. Handover; Netzwerk-Attachment; Netzwerkauswahl. JSR 304: Mobile Telephony Session Initiierung und Beendung ; API version 2 Erhalten von ankommende Anrufe; Steuerung von bestehenden Anrufe; Verwaltung der Verbindung von VoWLAN. JSR 180: SIP API for Unterstützung und Verbindung des SIP mit End- J2METM gerät. JSR 209: AGUI Input Method Framework; Swing user interface toolkit; Java 2D Graphics and Imaging. Image I/O; JSR 30:Connected Limited Festlegung der Merkmale der Java Sprache und der Device Configuration Virtuelle Machine; Netzverbindungen; Input und Output auf dem Endgerät, Benutzerschnittstelle; Ereignisbehandlung JSR118: Mobile Informati- Verarbeitung von Mediendaten; on Device Profile Steuerung des Applikationslebenszyklus; Kommunikation; Graphical User Interface ( GUI ). Tabelle 4.11.: Nötige APIs für FMC-Client 62 4. APIs und Mobile Systeme Java ME Wireless Toolkit Sun stellt ein aus mehreren Komponenten bestehendes Werkzeug zur Verfügung, mit dem sehr leicht MIDlets ausprobiert werden können, das Java ME Wireless Toolkit, abgekürzt WTK . Dieses Toolkit wird anschließend ebenfalls installiert. Bei der Installation wird die Existenz des JDKs vorausgesetzt. Falls das JDK eine modernere Version als diejenige ist, mit der das Toolkit getestet worden ist, wird man bei der Installation darauf hingewiesen. Wegen der Kompatibilität des Bytecodes sollten keine Schwierigkeiten zu erwarten sein - aber sie sind nicht auszuschließen, gerade bei dem großen Wechsel von Java 1.4 nach Java 5. Das Java 2 Platform Micro Edition (J2ME) Wireless Toolkit ist eine Plattform für Entwickler, die eine Emulatorenumgebung, Dokumentation und Beispiele für die J2ME liefert. So lassen sich Applikationen entwickeln, die auf CLDC/MIDP kompatiblen mobilen Endgeräten lauffähig sind. Das Wireless Toolkit ist ein wichtiges Tool im Zusammenhang mit JavaME. Es ist deut- Abbildung 4.6.: Wireless Toolkit von Sun lich ersichtlich, dass die KToolbar den Entwicklungsprozess für J2ME-MIDlets durch die grafische Bedienoberfläche erheblich vereinfacht. Zudem sind auch die Vorgänge für die Kompilierung und Per-verifizierung problemlos zu machen. Über die Kommandozeile ist dies zeitintensiv, mit der KToolbar kann es mit einen einzigen Klick komplett ausgeführt werden. Der Programmierer muß sich aber bewusst sein, dass die Source fehlerfrei 63 4. APIs und Mobile Systeme und sythaktisch korrekt sein muß. Mit den verschiedenen Emulatoren können die Applikationen bereits im Entwicklungsstudium simuliert werden, damit der Programmierer bereits einen Eindruck über die Funktionsweise uns das Aussehen des Programmes machen kann. Download Das aktuelle Toolkit findet man auf der folgenden Adresse der Sun-Internetseite: http://java.sun.com/products/j2mewtoolkit/ Es gibt noch viele weitere Toolkits, z.B.: • Motorola SDK for J2ME • Nokia Developer Suite 2.2 for J2ME • Sony Ericsson J2ME SDK 4.4.3. Entwicklungsumgebung von Symbian Symbian SDK werden sowohl von Symbian direkt als auch von den Herstellern der Endgeräte, wie zum Beispiel Nokia, angeboten. Sie enthalten verschiedene Hilfsprogramme zum Erstellen von Symbian-Anwendungen sowie einen Emulator, um die Programme auf einem Desktop-PC zu testen. Die SDKs unterstützen direkt die Entwicklungsumgebungen Microsoft Visual C++, Metrowerks CodeWarrior, sowie emphBorland Mobile Studio23. Sie bieten die bekannten Vorteile einer Entwicklungsumgebung wie Syntax- Highlighting, das Anzeigen von Klassen oder das Kompilieren auf Tastendruck. Allerdings existieren zum Teil große Unterschiede in der Art der Integration der SDKs in die jeweilige IDE. Während in Visual C++ lediglich ein Wizard integriert werden kann, der dabei hilft, das Grundgerüst einer Anwendung zu erstellen, bietet das Mobile Studio von Borland deutlich mehr Komfort. Neben der Verwaltung der Projektdateien (.mmp) besteht hier auch die Möglichkeit mit wenigen Handgriffen aus der IDE heraus verschiedene Build-Targets auszuwählen, oder auch GUI-Elemente leicht mit einigen Mausklicks zu erstellen.[19] 64 5. Fazit und Ausblick Wenn wir die momentane Entwicklung der Kommunikation betrachten, ist leicht zu entscheiden, das FMC eine sehr gute Aussicht hat. Abbildung 5.1.: Aussicht von FMC-Markt Die Welt der Kommunikation befindet sich in einem radikalen Umbruch. Die Geschwindigkeit, mit der sich die Telekommunikation auf der ganzen Welt wandelt, ist schwindelerregend. Es fällt schwer zu glauben, dass eine Erfindung, die nicht einmal 20 Jahre zurückliegt, in wenigen Jahren eine fast 80% Verbreitung unter der erwachsenen Weltbevölkerung finden konnte. Der Markt für Telekommunikationsdienste in Europa hat sich seit seiner Liberalisierung sehr dynamisch entwickelt. Bis zum Ende des Jahrzehnts ist allerdings eine Abschwächung des jahresdurchschnittlichen Wachstums auf den verschiedenen Märkten zu erwarten. Vor allem um die Marktanteilsverluste des Festnetzes zu kompensieren, wird das Geschäft mit Breitbandanschlüssen als lukrativ angesehen. Mit der gegenwärtigen Umstellung der gesamten Netzinfrastruktur auf die IP-Technik streben Netzbetreiber eine effizientere und kostengünstigere Bereitstellung von Diensten an. Das endgültige Ziel von FMC ist es, Fest-, Mobilfunk- und Datennetze miteinander zu vereinen und somit verschiedene Dienste über ein transparentes Netzwerk - genannt Next 65 5. Fazit und Ausblick Generation Network - zur Verfügung zu stellen. Das Zentrum aller Kommunikationsdienste wird dann eine einzige Plattform sein, basierend auf dem Internet-Protokoll.[20] Das Ziel, die Entwicklung eines FMC-Clients auf dem mobilen Endgerät, ist endlich ein VoIP-Telefonie fähiges Endgerät zu haben, damit die Benutzer gleich zeitig Mobilitätsbequemlichkeit und Kostengünstigkeit genießen können. In dieser Arbeit habe ich ein Konzept von FMC-Client vorgestellt, um den Client auf mobile Endgeräte zu implementieren. Am Anfang habe ich erstmal über den gesamte Begriff FMC vorstellt. Dann wurde bestehende Lösungen auf dem Markt bisschen eingegangen. Hintergrund der Techniken UMA und IMS-VCC habe ich einen Vorschlagskonzept für FMC-Client hergestellt. Anschließende werden die passende mobile Betriebssysteme und entsprechende nötige APIs analysiert. Am Ende wird eine Implementierungsmöglichkeit vorgeschlagen. Schade ist, aus zeitlichem Grund habe ich nicht so präzis auf die Umsetzung von FMCCient, APIs und Mobile Systeme eingegangen. Was noch mögliche Berücksichtigung bei Implementierung sind, Baterie-Ersparnis, Zusammenarbeit mit FMC-Server, Integration in PBX usw. 66 Abbildungsverzeichnis 2.1. Prinzipielle Struktur eines Next Generation Networks (NGN) . . . . . . . 6 2.2. IMS Architektur 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3. FMC-Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.4. Zeitliche Abfolge der Evolutionsschritte für FMC Services . . . . . . . . . 14 3.1. VCC-Client Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2. UMA-Client von Kineto . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.3. 801.11.x Authentifizierung . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.4. FMC-Client-Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.5. Funktionsablauf von FMC-Client . . . . . . . . . . . . . . . . . . . . . . 35 4.1. Nokia E60 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.2. blackberry8120 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3. Symbian OS Version 9.1 System model . . . . . . . . . . . . . . . . . . . 45 4.4. JavaME-Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.5. Mobile Service Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.6. Wireless Toolkit von Sun . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.1. Aussicht von FMC-Markt . . . . . . . . . . . . . . . . . . . . . . . . . . 65 67 Abbildungsverzeichnis Abkürzungsverzeichnis API Application Programming Interface CLDC Connected Limited Device Configuration DSL Digital Subscriber Line EAP Extensible Authentication Protocol FMC Fixed Mobile Convergence GUI Grafic User Interface GSM Global System for Mobile Communications IDE Integrated Development Environment IETF Internet Engineering Task Force IM Instant Messaging IMS IP Multimedia Subsystem MIDP Mobile Information Device Profile NGN Next Generation Network PDA Personal Digital Assistan PSTN Public Switched Telephone Network RADIUS Remote Authentication Dial-In User Service QoS Quality of Service SDK Software Developement Kit SDP Session Description Protocol SIP Session Initiation Protocol TKIP Temporal Key Integrity Protocol U-APSD Unscheduled Asynchronous Power Save Delivery UMA Unlicensed Mobile Access UNC UMA Network Controller URI Uniform Resource Identifier VCC Voice Call Continuity VoIP Voice over IP WEP Wired Equivalent Privacy 68 Abbildungsverzeichnis WPA Wi-Fi Protected Access 3GPP 3rd Generation Partnership Project 69 Tabellenverzeichnis 4.1. FMC-fähige Dual-Mode Endgeräte . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.2. Connection Manager API Functions . . . . . . . . . . . . . . . . . . . . . . . . 49 4.3. Connection Manager API Constants . . . . . . . . . . . . . . . . . . . . . . . . 49 4.4. Connection Manager Priority Constants . . . . . . . . . . . . . . . . . . . . . . 50 4.5. Connection Manager Status Constants . . . . . . . . . . . . . . . . . . . . . . . 50 4.6. Extended TAPI Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.7. Radio Presence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.8. Interface von RTC-Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.9. Interface von Call 60 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.10. Interface von NetworkStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.11. Nötige APIs für FMC-Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 70 Literaturverzeichnis [1] Next Generation Networks und UMTS, Ulrich Trick [2] IP Multimedia Subsystem, Max Seifert, Henning Landwehr [3] Entwicklung eines QoS-fähigen SIP-Client für das Nokia 770 Internet Tablet, Mohammed Amine Lefqih [4] http://www.elektronik-kompendium.de/sites/kom/0911011.htm [5] http://www.computerpartner.at/cgi-bin/dynamic?id=20071127064443002& temp=4 [6] Die Konvergenz der Mobilfunknetze und der Festnetze bietet Carriern neue Wege zur Differenzierung ihrer Geschäftsmodelle, Colubris [7] http://www.elektronik-kompendium.de/sites/kom/1102201.htm [8] Voice Call Handover Service, MobileIGNITE MoU Industry Group [9] http://www.access-company.com/german/products/clientsuite/ims.html [10] HiPath MobileConnect, Siemens [11] http://www-wlan.uni-regensburg.de/8021x.html [12] http://www.oberon.ch/pdf/Infoblatt_ 200506_ Windows_ Mobile_ 5.pdf [13] OS für kleine Endgeräte:Symbian OS,Sven Walter [14] http://de.wikipedia.org/wiki/ [15] http://www.bsi.bund.de/literat/doc/mobile/mobile_ endgeraete.pdf [16] http://www.id.uzh.ch/dl/sw/sap/Portal_ Abkuerzungen_ Glossar.pdf [17] J2MECDC/CLDC,Christoph Bürki,Tibor Dekany [18] http://www.ceesar.ch/cms/upload/pdf/infotronic/08_ Laborbeschreibung.pdf [19] Java für eingebettete Systeme,Jens Schwarz [20] White Paper Next Generation Network, T-Systems 71