Le projet My Pocket IP Phone est une magnifique réalisation développée par Mairaeva Huang, stagiaire UTBM dans notre équipe de recherche. Il s'est agi, 2 ans avant la mise sur le marché de l'iPhone d'Apple, de développer dans l'environnement Windows Mobile un téléphone mobile d'entreprise, à la fois GSM et Voix sur IP sur WiFi.



La solution s'appuie sur les composants suivants:
• des serveurs de communication, en l'occurence les PABX OXO ou OXE
• une infrastructure WLAN
• un Pocket PC équipé du logiciel my Pocket IP Phone
• un serveur de mobilité
La figure 1 ci-dessous donne une vue globale du projet


Terminal
Le terminal est un PDA ou un smartphone qui émule un poste dédié de l'entreprise

Serveur de Mobilité
Le Serveur de Mobilité continet une passerelle de signalisation et une passerelle pour la gestion de l'audio du terminal. Lorsque le terminal sort de la zone de couverture WiFi le Serveur de Mobilité se substitue à lui, en prenant le contrôle des flux rtp et udp.
En outre, le serveur de mobilité prend en charge des fonctions additionnelles telles que le transfert d'appel vers la messagerie vocale

Description de la solution
La représentation ci-dessous utilise le concept de séparation des plans fonctionnels:


Si vous préférez les modèls ISO à 7 couches, vous aimerez alors cette représentation de la solution:


Bon, maiuntenant, ça se complique: je représente la répartition de fonctions entre le terminal (en jaune) et le serveur en bleu:


Le module GSM du terminal établit le tuyau qui va transporter
• les données d'usager et de signalisation du terminal,
• le Remote Management et l' authentification

Et on arrive à une représentation plus physique de la solution:


Description du serveur
L'architecture du Serveur de Mobilité est illustrée dans la figure 6.
Les interfaces externes sont:
• l'accès LAN, où le serveur se présente et se comporte comme un terminal dédié, qu'il émule localement (UA sur udp et voix sur rtp)
• Présence, localizstion (SUPL)
• accès au PLMN (réseau GSM) au travers du PABX
• à noter que lorsque le terminal est enregistré côté GSM, la signalisation du terminal est transportée dans le plan user. La passerelle de signalisation du serveur de mobilité traduit les messages de signalisation privée (UA dans notre cas)
• l'accès au travers du LAN à des applications externes (présence, géolocalisation, ...)
La figure 6 représente les blocs fonctionnels du serveur de mobilité:
• Presence, secure roaming
• Signalling gateway
• Media gateway
• Virtual Phone Controller


Description du terminal
Le logiciel d'émulation de terminal s'exécute, pour cette version, dans des Pocket PCs sous Windows Mobile (version supérieur à 2003);
Le serveur de mobilité tourne sur un PC, dans l'environnement Windows
L'écran du Pocket simule celui du poste dédié (le 4037) grâce à des "softkeys" tandis que le terminal et apporte des fonctionnalités supplémentaires (notamment un Call by Name simplifié grâce au clavier alphanumérique), davantage de sonneries personnalisées, avec gestion séparée du réglage du volume pour les sonneries et pour la réception amplifiée.
A prtir du carnet d'adresses, l'utilisateur peut initialiser un appel vers le GSM ou vers le WiFi plus la programmation des régles de numérotage WiFi et GSM.
Audio
• combiné
• contrôle du volume en réception
• touche secret
• casque filaire ou Bluetooth
• protectioncontre les chocs acoustiques dans le casque
• codecs G.711 plus PLC. Les autres codecs ne sont pas encore fournis
Les langages supportés sont: françsia, anglais, italien, allemand, espagnol, chinois
Architecture du terminal
L'architecture fonctionnelle du terminal fait aparaître les blocs suivants: • interface UA (signalisation via udp entre le PABX et le Pocket IP Phone
• rtp in et out (rtp, jitter, codecs)
• Directory
• Call Log
• gestion des entrées sorties (microphone, clavier virtuel or physique, l'écran tactile, le haut parleur, le casque, les boutons
• Controller
• pile protocole GSM
• pile protocole WiFi
• services Web services (geoloc, UDA, mobility server)


Le module Contrôleur:


Le module GSM
Le terminal gsm embarqué dans Windows Mobile s'appuie sur • le module cprog.exe, appelé à partir du menu principal ou par les touches de fonction du terminal
• l'API proposée donne accès à aux fonctionnalités du GSM, mais relookées pour s'harmoniser avec l'interface homme machine du terminal dédié.
• interface vers le Contrôleur via {GSMlink}.
TAPI offre l'accès aux primitives qui permettent de cacher le niveau physique, ainsi que les interfaces signalisation et user.

La boîte GSM exécute
• la gestion de la carte SIM card (PIN code management et SIM address book),
• la gestion des SMS
• Activation / désactivation du GSM
• Call manager

Les modules du GSM sont les suivants:
• interface avec le contrôleur, il gère les clés, le décrochage et le raccrochage, la numérotation (en bloc), les sonneries
• Call Manager (Call set up / release, get CLI, DTMF, Call Log)
• création de SMS
• Link probe (mesure du niveau du signal)
• SIM card, contrôle du code PIN, passerelle entre les différents carnets d'adresse


La voix sur WiFi
Le module Voix sur WiFi s'interface avec le contrôleur, avec le hard audio, et avec les plans user et signalling du WiFi, ainsi qu'avec la sonde WiFi pour avoir accès au niveau du signal.
Ces modules sont décrits Fig. 14 et Fig. 15.
Le module audio est directement sur le physical layer, IP, et il met en oeuvre rtp in et rtp out, ainsi que les buffers de gigue, et les codecs. Dans cette première version, les codecs sont G.711, loi A et loi µ law
Le module signalisation offre un téléphone stimuli, basé sur les spécifications du poste dédié.

Le module UA
Ce module termine le protocole UA sur udp. Il gère 8 types de messages: • Connection request and connection ack • Stop sending messages and corresponding ack • Keep alive request and response • Data message • Re-send request


Le module VoIP


Cette application Pocket IP Phone est la brique de base des futurs développements en télémédecine qui sont décrits dans nos projets suivants