Voice Over the Alice Network

 

Mise en contexte : la téléphonie IP

La téléphonie IP ou Voice over IP est le nom donné à l’ensemble des protocoles faisant transiter la voix sur des réseaux IP compatibles. Ces protocoles, qui peuvent inclure le SIP, le IAX, le Jingle et le H.323, sont toujours améliorés et modifiés, au contraire du réseau fixe traditionnel POTS (Plain Old Telephone System) qui n’a subi que quelques modifications depuis la fin du 19e siècle. Dès le début des années 1990s, la téléphonie IP prend de plus en plus de part de marché, grâce à son faible coût (comparativement au POTS) et à sa compatibilité avec les réseaux existants. Dès 1999, l’autocommutateur téléphonique (switchboard) open-source Asterisk, permet aux utilisateurs de transformer n’importe quel système Linux en un réseau téléphonique IP facilement et à peu de frais. Depuis, la majorité des grosses entreprises utilisent un système Asterisk, hébergé localement ou non, pour leur réseau téléphonique local.

Le défi du VoIP over 3G

Le projet VoAN va beaucoup plus loin que l’installation d’un réseau téléphonique Asterisk qui, comme le démontre la quantité de tutoriels disponibles sur Google, est assez simple. Il vise d’abord à intégrer une interface téléphonique au réseau Alice, permettant ainsi aux administrateurs du réseau Alice d’exécuter des applications et des scripts par téléphone. Ensuite, il vise à faire transiter les appels d’un appareil mobile vers l’extérieur, éliminant ainsi le besoin de payer un fournisseur de service mobile pour faire ou recevoir des appels.

Le premier obstacle était d’obtenir une ligne extérieure sans se ruiner. Comme tous les projets de recherche et de développement d’Alice Media, le projet VoAN a un budget limité et payer pour une ligne IP reviendrait au même que de payer un fournisseur de service mobile. Nous avons donc décidé de connecter les appels sortants par protocole Jingle au serveur Google, qui offre gratuitement les appels au Canada et aux États-Unis. L’utilisateur ne détecte aucune différence avec le POTS puisque l’autocommutateur du réseau téléphonique connecte les appels et fait la conversion entre les protocoles utilisés (Jingle, SIP, IAX) en temps réel.

Connecter un appareil mobile en mouvement au POTS s’est avéré plus complexe que de connecter un ordinateur ou un téléphone IP. D’abord, les appareils mobiles nous limitent au Wifi ou au 3G dans le choix de la connexion Internet. Le 3G semble le choix le plus intéressant grâce à l’étendue de sa couverture, mais possède une adresse IP dynamique qui peut changer aléatoirement lorsque l’appareil est en mouvement. Ensuite, les signaux de navigation Web sont beaucoup plus vulnérables aux interceptions que les signaux mobiles traditionnels tels que le CDMA2000 ou le GSM. Il faut donc encrypter les appels pendant leur passage sur le réseau.

Le déploiement d’un réseau téléphonique

L’intégration du réseau téléphonique au reste du réseau Alice s’est faite principalement grâce à l’exécution de scripts CGI écrits en PHP et en Python destinés à la maintenance et au diagnostique du réseau. C’est ce qui permet, par exemple, d’exécuter une application du projet A.L.I.C.I.A. à l’extension * (étoile) du réseau téléphonique. La transition du projet VoAN vers un réseau téléphonique commercial passe par trois phases de test.

   Phase 1

  • Connexion au réseau avec un ordinateur grâce à l’application Zoiper
  • Connexion au réseau avec un appareil mobile par Wifi
  • Appels sortants au Canada et aux États-Unis
  • Salle de conférence virtuelle

   Phase 2

  • Connexion au réseau avec un appareil mobile par 3G
  • Mise en ligne du site mobile http://m.alicemedia.ca pour faciliter la connexion des appareils mobiles
  • Mise en ligne d’une application de reconnaissance vocale pour faciliter la communication avec le réseau Alice
  • Mise en ligne d’une application permettant de discuter avec le projet A.L.I.C.I.A.

   Phase 3

  • Connexion au réseau avec un appareil mobile par WAP
  • Encryption des appels provenant d’appareils mobiles pendant leur passage sur le réseau
  • Assignation d’un numéro local pour recevoir des appels
  • Appels sortants outre-mer
  • Intégration des messages textes pour les appareils mobiles connectés au réseau