Mise en oeuvre d'une solution VoIP avec Asterisk pour les entreprises


INTRODUCTION

L’avancée de la technologie pousse les entreprises à améliorer, trouver de meilleurs solutions pour leurs besoins surtout en matière de téléphonie,  pour accroître la productivité et l'efficacité de leurs réseaux. La technologie VoIP (voix sur IP) est une technique qui permet de délivrer des communications vocales ou multimédia via le réseau Internet IP. En d’autres termes, c’est une technique qui permet de communiquer par la voix sur des réseaux IP.
Au sein de l’entreprise, plusieurs services collaborent ensemble afin de pouvoir fournir un bon travail d’où l’importance de la VoIP. C’est elle qui va permettre à chaque service de communiquer dans le même réseau local, soit par téléphone ou par ordinateur sans devoir payer. Elle permet donc de résoudre les problèmes de budgets et dépenses en télécoms de plus en plus élevés, de perte de la bande passante allouée à une communication qui n’a pu être établie, de coûts des communications, d’administration et de maintenance élevée, de la gestion de réseaux inadaptables et résistante, d’équipements souvent non-centralisés …
Au regard de ce qui précède, nous nous posons la question suivante : comment arriver à améliorer les services de téléphonies des entreprises en utilisant la VoIP ? Plusieurs solutions existent pour faire de la VoIP, néanmoins dans le cadre de notre étude, nous nous intéresserons à la solution libre Asterisk.
            Pour ce faire, nous présenterons dans notre premier chapitre l’entreprise de stage qui fera office de notre cas d’étude. Ensuite au deuxième chapitre, tout en expliquant son mode de fonctionnement, nous aborderons la conception de notre solution avec Asterisk. Enfin dans un troisième chapitre, nous ferons la réalisation du projet qui permettra d’améliorer le système de téléphonie entre les différents services au sein des entreprises.



CHAPITRE I : Contexte de travail

I–Présentation du contexte du projet


Le projet dont il est question dans ce rapport consiste à mettre en place une solution VoIP qui facilitera la communication entre les différents périphériques au sein de l’entreprise et aussi réduira les coûts pour les matériels physiques. Celui-ci constitue mon projet de fin d’étude, en vue de l’obtention de la licence à  l’Université Virtuelle de Côte d’Ivoire. Ce projet est réalisé au sein de l’entreprise ivoirienne NaN : Not A Number.

I–1 L’entreprise d’accueil 

J’ai effectué mon stage dans une entreprise qui se veut actrice majeure du développement du numérique en Côte d’Ivoire et en Afrique en  général : l’entreprise NaN. Cette dénomination vient de ‘’Not a Number’’, c’est une valeur indéfinie en informatique ; c’est le retour d’une opération  impossible, indéfinie qui symbolise sa recherche dans la définition du devenir de l’éducation sans toutefois avoir la réponse finale. Son siège  se situe dans la ville d’Abidjan dans la commune de Cocody, plus précisément à  Angré 8ième tranche non loin de la cité GESTOCI. Se voulant professionnelle, l’entreprise dispose aussi d’un mail (nan@info.co) ainsi que d’un standard d’appel (+22589252529) pour répondre à toutes les préoccupations.

I–1–1 Historique de l’entreprise

L’entreprise Not a Number qui est une SARL de son statut juridique, a été fondé en janvier 2017 par EVOXTRADING & KALIMATECDMCC ; deux entreprises de télécommunication qui ont décidé d’unir  leurs forces pour faire face aux changements dans l’industrie des télécommunications en cherchant et formant des talents dans un premier temps. Il s’agit là de la première école de programmation informatique atypique et open source en Côte d’Ivoire avec à sa tête M. Keffa Yebe Diomandé.
NaN offre une formation avec un modèle pédagogique qui coupe les ponts avec le système traditionnel : Le peer-to-peer Learning  qui est une pratique pédagogique dans laquelle les étudiants interagissent avec d’autres étudiants pour atteindre des objectifs éducatifs ce qui leur permet de libérer leur créativité au cours de leur apprentissage par la réalisation de projet. Il faut dire que NAN est la première école de programmation informatique entièrement gratuite en Côte d’Ivoire. C’est une école sans professeur avec des cours en ligne.
En Août 2018, l’école a même reçu la visite du docteur Alain Capo Chichi, PDG de l’université CERCO et OPEN.CI ainsi que de Mr Nicolas Sadirac, cofondateur de l’école 42 une école assez connue dans le monde de la programmation. Tous deux ont salué l’initiative de NaN et l’ont encouragé à continuer dans cet élan.
Janvier 2018 constitue une autre date très importante pour l’entreprise car c’est à ce moment qu’elle a accueilli sa première promotion d’étudiants. Ils furent 4000 à passer les différents tests d’entrée toutefois, seuls 50 meilleures ont été retenu pour intégrer l’école. Par la suite, ceux-ci ont été formés dans différents langages informatiques organisés en module à raison d’un module par mois tout cela dans un cadre agréable disposant de  machines à la pointe de la technologie (salle climatisée, connexion haut débit, un poste de travail doté d’un iMac par étudiant...).
Cette année, l’école a accueilli sa deuxième génération d’étudiants.

I–1–2 Evolution de l’entreprise

Comme l’on a pu le constater précédemment, Not a Number a axé sa politique d’entreprise dans un premier temps vers la formation de personnes dans le domaine de la programmation. Par la suite, l’entreprise s’est organisée autour de ses meilleurs étudiants pour devenir un prestataire de services variés. Néanmoins, aussi variées que soient ces prestations, elles sont toutes basés sur le digital :
-          Le développement d’applications mobiles
-          Le développement d’applications web
-          Le E-commerce
-          La formation
-          Programmation Réseau(VOIP)


Pour mieux structurer ces différents secteurs d’activités, NaN s’est organisé autour de départements. Actuellement on compte :
-          Yabana ci : Plateforme de e-commerce (immobilier, électroménager...)
-          entrehomme ci/ entrefemme ci : Plateforme de ventes de vêtements d’hommes et de femmes en ligne
-          Certification ci : Plateforme offrant des services d’acquisitions de certifications internationales (Word, Excel et bien d’autres)
-          NaN web agency : Pour la conception de sites internet, applications mobile, conceptions graphiques
-          Imprime ci : Plateforme pour la conception d’objets personnalisés ; l’impression sur des objets
-          Piècesautos ci : Plateforme de ventes de pièces automobiles en ligne
ORGANIGRAMME DE L’ENTREPRISE NaN


II-Service d’affectation
Dans le cadre de mon stage, j’ai été affecté au service de VOIP (programmation réseau). Dans ce service, on avait la charge de mettre en place un système de téléphonie de la voix par le réseau, faire le back-end en réseaux d’un projet sur la VoIP, accomplir les tâches d’un administrateur réseau, attribuer des adresses IP à nos différentes machines. Aussi, travailler sur le serveur de l’entreprise, configurer un serveur Asterisk et tout ce qui se rapporte à ce domaine étant moi-même étudiante en Réseaux sécurité informatique.

III–Étude de l’existant


1.    Description de l’existant
La communication au sein des entreprises est très importante. En effet, les modes et les méthodes de travail sont en constante évolution. Les communications unifiées sont des vecteurs incontournables dans l’adaptation à ces changements. Ils permettent aux entreprises d’accélérer la collaboration et le partage de l’information, de renforcer leur image, de démultiplier leur présence et leur capacité de communication. Ils favorisent les nouveaux modes de travail tels que la messagerie, documents collaboratifs, audio et vidéo... ET pour se faire, les entreprises disposent d’infrastructures telles que les commutateurs, serveurs, routeurs, etc., afin de favoriser cela.

2.    Cas de NaN

NaN est doté d'équipement de dernière génération pour offrir à ses développeurs un environnement de travail optimal. Nous pouvons citer entre autres des ordinateurs bureaux iMac qui confère un grand confort et permettent de travailler sous de gros logiciel pour le développement de notre solution.
A cette liste s’ajoute une connexion internet haut débit, des imprimantes, des serveurs pour le stockage des données. Egalement elle dispose d’un système de téléphonie traditionnel basé sur des autocommutateurs et travaillant avec les opérateurs téléphoniques pour établir la communication.




  NOM
NOMBRE  
DE       
POUCES
SYSTÈME HÔTE
MÉMOIRE RAM
CAPACITÉ
DU
DISQUE
DUR
PROCESSEUR
Mac
27
MacOS
8 Go
1 terra
 Core i5


3. Critique de l’existant
Après un constat général et se basant sur l’entreprise NaN qui fait office de notre cas d’étude, nous constatons que la communication au sein des entreprises se fait de façon physique malgré la distance qui relie les bureaux, et aussi, la communication vers l’extérieur du réseau se fait par les opérateurs téléphoniques ce qui est coûteux pour les entreprises.
Étant donné qu’on parle de système de téléphonie mobile, on aura tendance à chercher l’existant principalement vers les opérateurs de téléphonie mobile pour avoir les PBX physiques.
IV–Problèmes Identifiés
Dans l’étude de l’existant effectué, nous avons constaté qu’il existait des systèmes de téléphonie mobile physique. Toutefois, la plupart d’entre elles sont assez similaires et après analyse, nous avons pu noter un certain nombre de problèmes à savoir : Les PBX physique, lorsque l’entreprise doit changer de système elle est contrainte de changer tous les équipements qui y sont configurés avec ce dernier, aussi une incompatibilité entre les marques de fabriques qui dans un même système ne peut pas avoir deux marques différentes.

V–Cahier de charge


Après observation, analyse et interprétation de l’existant, le cahier de charge de mon application de fin d’étude se définit comme suit :
Il s’agira de mettre en place un système de téléphonie mobile qui permettra aux entreprises de faciliter la communication de ses tiers à travers les adresses IP: On parle de VOIP.
Ce système devra être hébergé sur un serveur dans le réseau afin d’interconnecter tous les périphériques qui sont aussi dans ce même réseau. De même, la communication entre les différents périphériques doit s’effectuer de façon simple et fluide.


CHAPITRE 2 : CONCEPTION

I - Description de la Méthode de travail

Plusieurs techniques ou méthodes ont été conçues pour permettre la communication au sein des entreprises. Parmi celles-ci nous avons les PABX traditionnels, la ToIP et la VoIP qui est la méthode que nous avons choisie pour mettre en œuvre notre solution.

I-1 PABX traditionnel

PABX est un acronyme anglais qui signifie « Private Automatic Branch eXchange » et que l’on a l’habitude de traduire par « standard téléphonique automatique privé ». Ces autocommutateurs privés traditionnels, constituent depuis des années la base de l’architecture de communications des entreprises. Relié aux combinés téléphoniques, il centralise et redistribue les communications aux interlocuteurs en sollicitant le réseau téléphonique cuivre.
Ce standard doit être installé en interne, c’est-à-dire physiquement dans les locaux de l’entreprise. Il est relié au réseau téléphonique commuté RTC (Le RTC est le système de téléphonie traditionnel utilisé encore dans la plupart des entreprises. L’appel passe par le réseau public grâce à une paire de fils en cuivre.), ce qui lui permet d’assurer réception et émission des appels entre les postes de l’entreprise et les postes situés à l’extérieur. Il relie aussi les postes internes entre eux, et ce, sans passer par le réseau public. Il présente plusieurs avantages comme :
• Permet la propriété du matériel
• Peut être utilisé dans les zones sans Internet haut débit
• Qualité d'appel fiable

Les inconvénients des systèmes PBX traditionnels les rendent souvent prohibitifs pour de nombreuses petites entreprises et jeunes entreprises. Ils coûtent souvent des dizaines de milliers d’euros à l'achat. L'installation, l'ajout ou la suppression de lignes est difficile et coûteux, et les entreprises ayant plusieurs bureaux ont besoin d'un PBX complètement distinct pour chaque emplacement.

FIGURE 1 : Architecture traditionnelle avec PABX


I-2 La ToIP

La téléphonie sur IP (en anglais, telephony over IP ou IP telephony) est un service de téléphonie offert sur un réseau de télécommunications, public ou privé, utilisant principalement le protocole de réseau IP. C’est un système de téléphonie qui se limite au réseau IP local ; un simple routeur créant la connexion entre le réseau LAN (société) et le réseau WAN (opérateur).
Pour fonctionner, un réseau ToIP a besoin de postes téléphoniques IP (ou IP-Phones), d’un standard téléphonique IPBX, d’adaptateurs IP pour les postes analogiques ainsi que d’un gateway IP qui établira la liaison au réseau de téléphonie fixe d’un opérateur traditionnel.
 Les débits actuels permettent de déployer la téléphonie sur IP (ToIP) en entreprise en lieu et place du classique standard téléphonique. Une installation de la sorte dispose d’une excellente qualité sonore et présente l’avantage d’être économique.
·         Avantages
Lorsqu’un centre d’appel ToIP vient remplacer un standard téléphonique classique en entreprise, les fonctions de ce dernier continuent à être remplies. La ToIP va toutefois bien au-delà en initialisant et gérant l’intégralité des communications téléphoniques de la structure. Les professionnels sont de plus en mesure de profiter de fonctionnalités autrefois réservées aux grandes entreprises comme le serveur vocal interactif accueillant les appels extérieurs ou les messages vocaux arrivant directement sur la boîte mail.
·         Inconvénients
Malgré tous les avantages présentés plus haut, il existe des risques et des inconvénients. En effet, la téléphonie IP est exposée aux risques liés à internet comme le piratage des lignes ou le vol de données. Il est donc important de protéger sa ligne téléphonique pour éviter les pertes. Le réseau téléphonique dépend également de la qualité du réseau internet et du courant. En cas de panne de ce dernier, la communication sera coupée. Il est donc primordial de s’équiper d’une bonne connexion internet et de bien choisir son opérateur.


I-3 La VoIP

La VoIP, encore appelée Voix sur IP ou Voice over Internet Protocol, est une technologie de communication qui a été utilisée pour la première fois en 1996 ; à cette époque elle était nommée H323. C’est un système permettant de transformer les signaux audio analogiques en données numériques pouvant ainsi être transmises par Internet. Il s’agit donc d’utiliser une connexion Internet haut débit pour passer des appels téléphoniques illimités. L’un des services pionniers qui a rendu la VoIP populaire est Skype. Il a permis aux gens de réaliser et recevoir des appels vocaux et vidéo gratuitement dans le monde entier, sans passer par le téléphone. Depuis lors, elle n’a cessé de progresser pour atteindre des niveaux de qualité assez remarquables. Ce procédé de communication marque un tournant important en exploitant le réseau numérique pour la transmission des télécommunications.
Avant d’entrer dans les détails et pour mieux comprendre quels sont les avantages de la VoIP, il est important de comprendre son fonctionnement.

I-3-1 Mode de Fonctionnement

Contrairement à la téléphonie classique, par commutation de circuits, qui repose exclusivement sur un réseau téléphonique commuté, la technologie VoIP permet de téléphoner sur des réseaux spécialisés ou sans fil, y compris des réseaux informatiques. Ces nouveaux types de réseaux utilisent des protocoles "commutation par paquets ".
En plus des données vocales (voix numérisée), un paquet comporte les adresses réseau de l'expéditeur et du destinataire. Les paquets VoIP sont transmis à travers n'importe quel réseau compatible VoIP et peuvent être acheminés par des chemins différents. Par la suite, une application se chargera de la transformation inverse (des paquets vers la voix). " En termes plus simples, vous décrochez, composez, et l'appel passe par Internet plutôt que par les canaux traditionnels. Sans parler des éventuelles fonctions comme le lien entre la boite vocale et l'ordinateur ".
Autrement dit, La VoIP exerce son action sur les transmissions de signal vocal entre l’entreprise et le standard central de l’opérateur téléphonique. Dans cette communication, la voix est traitée de la même manière que les autres données numériques transmises via le réseau Internet. Elle est d’abord captée par le microphone sous forme d’un signal analogique, puis envoyée via le réseau Internet. Ce signal analogique doit être converti en un signal numérique, puis il est ensuite comprimé par un codec. La voix est alors numérisée puis regroupée en paquets de données numériques, prêts à être transportées par le réseau via le protocole IP.
En effet, toutes les informations à transmettre sur le réseau sont divisées en paquets de données. Chaque paquet se compose :
·         D'un en-tête indiquant sa source et sa destination.
·         D'un numéro de séquence.
·         D'un bloc de données.
·         D'un code de vérification des erreurs. 
Les routeurs et les serveurs acheminent ces paquets sur le réseau jusqu'à leur destination. Lorsque les paquets arrivent à destination, le numéro de séquence permet de reclasser les paquets dans l'ordre d'origine. A la différence de la téléphonie RTC qui dédie un circuit à un appel téléphonique, les paquets de données partagent un circuit avec d'autres transmissions. 



I-3-2 Avantages

v  Réduction des coûts
Économiser de l’argent est l’une des caractéristiques les plus importantes des systèmes de téléphonie VoIP. Les anciens systèmes étant chers. La reconfiguration de temps nécessaire et les changements physiques du système, l’entretien et les réparations pourraient être très coûteux. Mais avec ce système, non seulement il y’a économie sur les frais d’installation et les appels sont nettement moins chers. C’est aussi très avantageux pour les entreprises qui font beaucoup d’appels internationaux.

v  Flexibilité
Les solutions de téléphonie sur IP sont conçues pour assumer une stratégie de migration à faible risque à partir de l‘infrastructure existante. La transition de la solution actuelle vers la téléphonie sur IP peut donc s'effectuer en douceur.

v  Souplesse
Il n’est pas toujours facile de prédire le nombre de téléphones qu’une entreprise aura besoin, et si elle dispose d’un système téléphonique traditionnel, il faut estimer avec soin pour éviter de dépenser de l’argent sur les lignes téléphoniques. Avec la VoIP pour l’entreprise, on peut ajouter une ligne dès qu’on ajoute un nouvel employé, et quand un employé quitte, on peut facilement réaffecter ou supprimer la ligne. L’entreprise aura toujours le bon nombre de lignes téléphoniques pour ses besoins.

v  Une gamme de fonctions d’appel est prise en charge
Toutes les fonctionnalités du système d’appel traditionnel sont disponibles dans les systèmes hébergés de VoIP, y compris la mise en attente, transfert d’appel, appel chasse, l’appel conférence, et les menus du téléphone standard automatique. Vous ne serez pas renoncer à l’un de vos fonctionnalités préférées en choisissant VoIP hébergé.
v  vidéoconférence

VoIP permet des possibilités avancées de largeur de bande et la vidéoconférence améliorée et à un prix raisonnable.
I-3-3 Inconvénients
Un inconvénient majeur à l'utilisation de la VoIP est que si le courant est coupé, on ne sera pas en mesure d'utiliser le téléphone à Internet. Autre mise en garde, c'est que le service 911 local ne peut pas tracer les appels en cas d’urgence car avec cette technologie, les appels sont acheminés sur l'Internet donc les services d'urgence n'ont pas la moindre idée de l'origine de l'appel. Aussi, la qualité sonore peut être un problème majeur car les données vocales peuvent être brouillées comme il se déplace à travers l'Internet. La sécurité est également une principale préoccupation avec VoIP, car elle est avec d'autres technologies d'Internet. Les problèmes de sécurité les plus en avant sont : identité et vol de service, virus et malware, déni de service, Spamming, appel trifouillant et les attaques phishing.
I-4 Conclusion partielle
Au terme de cette partie nous retenons que plusieurs solutions s’offrent à nous pour faciliter la communication au sein de l’entreprise. Cependant, notre choix se porte sur la VoIP qui est un système qui présente assez d’avantages surtout avec l’avancée technologique. La démarche que nous avons donc dressée est la suivante :
Ø  L’Installation du serveur Asterisk-16.
Ø  Téléchargements et Installation des logiciels (DAHDI, LIBPRI, ASTERISK.)
Ø  Configuration d’Asterisk et création des comptes utilisateurs.
Ø  Installation et configuration des Soft-Phone X-LITE et Mizudroid.
II. Description et choix des outils techniques

II-1 Asterisk

II-1-1. Présentation

Asterisk est un logiciel qui, installé sur un ordinateur, fait office de PABX. Plus précisément, Asterisk est un autocommutateur téléphonique privée (PABX) open source pour systèmes UNIX originellement crée en 1999 par Mark Spencer fondateur de la société Digium. Publié sous licence GPL il permet entre autres, la messagerie vocale, les conférences, les files d'attente, les agents d'appels, les musiques d'attente et les mises en garde d'appels ainsi que la distribution des appels. Toutes ces fonctionnalités standards sont intégrées directement au logiciel. Asterisk implémente les protocoles H.320, H.323 et SIP, ainsi qu'un protocole spécifique nommé IAX (InterAsterisk eXchange).  Ce protocole IAX permet la communication entre deux serveurs Asterisk ainsi qu'entre client et serveur Asterisk. Asterisk peut également jouer le rôle de « registrar » et passerelle avec les réseaux publics (RTC, GSM, etc.). 

II-1-2. Historique

Asterisk est né en 1999, créé par un étudiant de l'université d'Auburn (États-Unis - Alabama). À la recherche d'un commutateur téléphonique privé pour créer un centre de support technique sur Linux, il est dissuadé par les tarifs trop élevés des solutions existantes, et décide de se créer son propre routeur d'appels sous Linux : le PBX Asterisk. Quelques temps après, il crée la société Digium, fournisseur de cartes FXO et FXS compatibles avec Asterisk.  

II-1-3. Fonctionnalités

D’un point de vue fonctionnalité, Asterisk permet tout ce que l’on peut attendre d’un PABX moderne: La gestion des postes téléphonique sur IP locaux. Il peut s’agir de téléphones physiques mais aussi logiciels (ou SoftPhone) comme Ekiga ou X-lite.  Authentification, Boîtes vocales, transfert d’appel, Mise en attente, Appel par le nom, etc…   

II-1-4. Avantages et inconvénients

Le logiciel Asterisk présente plusieurs avantages. Le premier est avant tout son coût. En effet, issue du monde libre, Asterisk et l’ensemble des paquets qui lui sont rattachés sont disponibles en téléchargement gratuit sur Internet.  La configuration d’Asterisk est également un avantage car elle se résume essentiellement à quelques lignes de commandes à rajouter dans des fichiers.  Il permet aussi de passer sur le réseau RTC (téléphonique commuté) via des cartes de téléphonie type PCI à incorporer au serveur. Enfin, Asterisk propose toutes les fonctionnalités ou presque d’un commutateur PABX classique.
Asterisk dispose néanmoins d’un inconvénient majeur. En effet, son utilisation est dédiée uniquement aux plateformes Linux. Néanmoins, Windows est le plus souvent présent dans les petites entreprises et cela peut être un frein au développement de cette solution.  Une solution Asterisk sous Windows est actuellement en cours de développement mais la version la plus stable reste actuellement celle sous Linux.

II-2 Le Protocole SIP

Le SIP (Session Initiation Protocol) est un protocole de signalement utilisé pour établir une session entre deux ou plus de participants, la modifier, et finalement terminer cette session. Son utilisation est devenue majeure dans le monde de la téléphonie IP. Le fait que le SIP est un standard ouvert a généré un intérêt énorme sur le marché de la téléphonie
Le protocole SIP est un protocole texte, ressemblant beaucoup au protocole HTTP. Les messages sont sous forme de texte, et le mécanisme de requête-réponse permet un dépannage facile. La transmission des données elles-mêmes est effectuée par le Transmission Control Protocol (TCP) ou le User Datagram Protocol (UDP) au niveau 5 du modèle OSI. Le Session Description Protocol (or SDP) contrôle quel protocole est utilisé.
Le message SIP décrit l’identité des participants lors d’un appel, et comment ces participants peuvent être joints sur un réseau IP. A l’intérieur des messages SIP, on voit parfois une déclaration SDP. Le SDP (Session Description Protocol) définira le type de canaux média qui seront établis pour la session – il décrira quels codecs sont disponibles et comment les terminaux médias peuvent se joindre sur le réseau IP.
Une fois que cet échange de messages est terminé, le média est échangé via un autre protocole, en général le RTP (Real-Time Transmission Protocol).
Le SIP a été développé par IETF et publié en tant que RFC 3261. Sa flexibilité lui a permis de remplacer quasiment entièrement le protocole H.323 dans le monde de la VoIP.
II-3 Le client X-LITE
Tout comme Skype, X-Lite est un logiciel de téléphonie sur IP. Très complet, il intègre des fonctions de compression efficaces permettant de profiter de cet outil, y compris avec une connexion bas débit. C’est, le softphone le plus adéquat à nos communications. On se perd un peu dans les réglages initiaux ; mais ensuite son utilisation est assez simple. Il peut aussi jouer le rôle de standard téléphonique au sein d’une entreprise.
II-4.  MIZUDROID
MizuDroid est un logiciel de téléphonie VoIP déverrouillé pour téléphones et tablettes Android, basé sur des normes ouvertes et compatible avec tous les fournisseurs, logiciels et appareils VoIP utilisant le protocole SIP.
Le softphone SIP pour Android a un faible encombrement, mais est fourni avec un ensemble complet de fonctionnalités adaptées à un usage professionnel avec une longue liste d'options de personnalisation. MizuDroid fonctionne de manière transparente avec d'autres solutions serveur et client Mizutech, ainsi qu'avec des équipements d'infrastructure d'entreprise et d'opérateurs tels que Asterisk (et ses dérivés FreePBX, Elastix…), Cisco, CounterPath, Voipswitch, etc. Semblable à Zoiper, 3CX et SIPDroid, mais vise à répondre aux exigences des fournisseurs de services VoIP telles que des fonctionnalités professionnelles supplémentaires, l'intégration, la personnalisation et bien sûr une qualité d'appel élevée.














CHAPITRE III : REALISATION


III-1. RESULTATS

Comme il a été dit plus haut, nous avons choisis la méthode VoIP avec le serveur Asterisk pour développer notre solution. La solution donc que nous proposons ou encore la fonctionnalité que nous décidons de développer en entreprise est l’appel. En effet, cette solution que nous déployons sera de pouvoir passer les appels gratuitement au sein de l’entreprise, entre chaque service. Pour ce faire, nous allons décrire l’installation et la configuration de  Asterisk pour permettre les appels entre ordinateur-ordinateur, téléphone-téléphone et ordinateur-téléphone que nous allons présenter ici dans notre exemple.

III-1.1 INSTALLATION ET CONFIGURATION DU SERVEUR ASTERISK

III-1-1.1 INSTALLATION D’ASTERISK

Nous avons choisi une distribution Centos 6, avec une installation minimale, pour sa stabilité et sa compatibilité avec Asterisk. On se place dans le terminal en mode root pour des raisons de droits système.
Etape 1 : Mise à jour système
- Bien mettre à jour le système en tapant la commande :
yum update

Etape 2 : Installation des paquets
Ensuite on entre les commandes suivantes dans le terminal :
yum install make wget openssl-devel
yum install ncurses-devel  newt-devel libxml2-devel
yum install kernel-devel gcc gcc-c++ sqlite-devel
 
Etape 3 : Téléchargement des logiciels
On commence par se placer dans le répertoire suivant :
cd /usr/src
Ensuite on télécharge les logiciels suivants :
·         DAHDI :
Wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
·         LIBPRI :
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
·         Asterisk :
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-5.0-current.tar.gz

Etape 4: Installation des logiciels
On décompresse les archives téléchargées en utilisant la commande tar:
tar zxvf dahdi-linux-complete*
tar zxvf libpri*
tar zxvf asterisk*
Installation de DAHDI :
On utilise les commandes suivantes :
cd /usr/src/dahdi-linux-complete*
make && make install && make config
Installation de LIBPRI :
Libpri est utilisé par les décideurs du multiplexage temporel (TDM) des appareils VoIP, mais même s’il n’y a pas le matériel installé, il est conseillé de compiler et installer cette bibliothèque. Elle doit être compilé et installé avant Asterisk, car elle sera détecté et utilisé lorsqu’Asterisk est compilé. On utilise les commandes suivantes pour installer :
cd /usr/src/libpri*
make && make install
Installation d’Asterisk:
On utilise les commandes suivantes :
cd /usr/src/asterisk*
Pour les distributions Linux CentOS 32 bits :
./configure && make menuselect && make && make install
Pour les distributions Linux CentOS 64 bits :
./configure --libdir=/usr/lib64 && make menuselect && make && make install


Etape 5: Configurer le menu de l’autoconf

               La commande make menuselect va faire apparaître un écran qui va nous permettre de personnaliser notre installation d’Asterisk. Alors, nous allons en profiter pour installer les sons français pour Asterisk au format µ-law.  
Dans Core Sound Package nous allons cocher la case CORE-SOUNDS-FR-ULAW avec la touche Espace puis appuyons sur Echap pour retourner à l’écran précédent. 
Puis dans Music On Hold File Packages nous cochons MOH-OPSOUND-ULAW (on décoche celui en WAV), appuyons sur Echap et enfin nous allons dans Extras Sound Packages et nous cochons EXTRA-SOUNDS-FR-ULAW. 
Enfin on clique sur Echap et une fois à l’écran principal on retape Echap et appuie sur S pour sauvegarder les changements.


Enfin on tape les commandes suivantes pour terminer l’installation :
make
make install
make samples
make config
Enfin, on lance Asterisk avec la commande suivante :
/etc/init.d/asterisk start
Lancez la console Asterisk avec la commande suivante :
sudo asterisk -rvvvv

On ajoute le script de démarrage d'Asterisk au répertoire /etc/init.d/ :

make config

On démarre les services suivants :

service dahdi start
service asterisk start

Pour se connecter à la CLI

               Le serveur Asterisk permet d’interagir directement avec le système sans avoir à modifier les fichiers de configuration avec la CLI « Interface de ligne de commande ». Nous utiliserons cette interface uniquement pour afficher et vérifier la configuration et l’état des téléphones. Cette CLI est exécutée en tapant la commande suivante : 

asterisk –rvvv


III-1.1.2 CONFIGURATION DU SERVEUR ASTERISK


La configuration d'Asterisk s'articule sur les fichiers de configuration suivants :
  • /etc/asterisk/sip.conf : Configuration globale d'Asterisk
  • /etc/asterisk/users.conf : Configuration des utilisateurs
  • /etc/asterisk/extensions.conf : Configuration du Dialplan
Ces fichiers se trouvent dans le dossier /etc/asterisk .Mais ici nous allons travailler avec les fichiers /etc/asterisk/sip.conf (il regroupe toutes les informations des utilisateurs et des groupes) et /etc/asterisk/extensions.conf.
Chaque modification dans la configuration devra être suivie par la commande : reload saisie dans la console d'Asterisk (CLI). Nous configurons le fichier sip.conf avec la commande « nano  /etc/asterisk/sip.conf » :


Dans la rubrique [general], nous définissons tout d’abord le context, qui représente le nom du groupe constitué des comptes utilisateurs pouvant effectuer des appels et en recevoir;  l’option allowguest est pour la prise en compte de n’importe quel appel entrant SIP sans authentification ou autre restriction pour des raisons de sécurité la valeur donnée à cette option doit être « non » ; l’option allowoverlap permet la modification dynamique des paramètres ; bindport représente le port d’écoute dans notre cas 5060 qui est le port UDP (User Datagram Protocol) du protocole SIP (Session Initiation Protocol) ; l’option bindaddr représente l’adresse IP de l’interface sur laquelle le serveur Asterisk va « écouter » le trafic, la valeur 0.0.0.0 indique que le Serveur va écouter sur toutes les interfaces ; srvlookup permet le support des enregistrements SRV (Service Ressource Records) pour les appels sortants ; l’option disallow  avec la valeur all permet d’interdire tous les codecs ; l’option allow avec la valeur ulaw permet quant à elle d’autoriser le codec ulaw ; alwaysauthreject doit être activé avec la valeur « oui » pour permettre de rejeter toutes les requêtes d’authentification de type « Brute-force » sur des comptes utilisateurs existants ; l’option canreinvite sert à indiquer à notre serveur Asterisk si il doit permettre le routage de flux RTP (Real-time Transport Protocol) directement entre les postes lorsque la valeur de cette option est à « non », tous les flux multimédias passent par le serveur Asterisk ; nat permet d’indiquer si l’utilisateur se trouve derrière un réseau NAT (Network Address Translation) ; l’option session-timers définit le mode de fonctionnement et de prise en compte des sessions temporaires lors d’appels SIP entrants ou sortants ; enfin l’option localnet permet  d’indiquer l’adresse réseau ainsi que le masque de sous réseau dans lequel se trouvent les utilisateurs.


Intéressons-nous à présent à la seconde partie du fichier  « etc/asterisk/sip.conf », il s’agit en fait de la configuration des comptes utilisateurs. Nous avons dans notre cas défini trois comptes utilisateurs mais ici nous allons travailler avec : [5001] et [5002] qui représente respectivement le numéro SIP 5001 et le numéro SIP 5002. L’option type avec la valeur friend représente un utilisateur pouvant effectuer des appels entrants et sortants.
L’option host permet d’indiquer le type de configuration réseau de l’hôte : « dynamic » pour signifier qu’il dispose d’une adresse IP dynamique, ou alors une adresse IP fixe représentant l’adresse IP de l’utilisateur ; l’option secret permet d’indiquer le mot de passe du compte utilisateur et enfin l’option context désigne le groupe contenant les utilisateurs pouvant communiquer entre eux.
Après avoir configuré le fichier « /etc/asterisk/sip.conf », intéressons-nous à présent au fichier « /etc/asterisk/extensions.conf » :



Dans ces lignes nous allons voir deux choses, les contextes et les extensions. [projet] est le contexte c’est une sorte de conteneur dans lequel les utilisateurs faisant partis de ce contexte pourrons communiquer entre eux. Lors de la création de nos deux utilisateurs nous avons spécifié le contexte projet.
  • exten : déclare l’extension (on peut aussi simplement dire numéros)
  • _5XXX : Prend les extensions (ou numéros) de 5000 à 5999 le « _ » permet d’utiliser des regex
  • 1 : Ordre de l’extension
  • Dial : application qui va être utilisé
  • SIP: Protocol qui va être utilisé
  • ${EXTEN} : variable de l’extension composé, si on appelle le 5001 la variable ${EXTEN} prendra comme valeur 5001
  • 20: temps d’attente avant de passer à l’étape suivante.
Donc la ligne exten _5XXX,1,Dial(SIP/${EXTEN},12, r) se traduit par: Quand on compose le numéro (par exemple) 6001, on appelle le numéro 6001 et si au bout de 12 secondes il n’y a pas de réponses on passe à la ligne du dessous.
Maintenant que notre fichier « /etc/asterisk/extensions.conf » est configuré, il ne nous reste plus qu’à modifier le fichier « /etc/asterisk/voicemail.conf » :


Dans ce fichier, nous  définissons les mots de passe des utilisateurs (en fonction de leur numéro de téléphone) qui leur donneront accès à leur messagerie vocale. 
Une fois que les fichiers sip.conf, extensions.conf et voicemail.conf sont configurés, nous devons à présent démarrer (ou redémarrer) le serveur Asterisk pour ce faire, nous lançons tout d’abord la console Asterisk avec la commande « asterisk –r », 
Puis nous entrons la commande « reload » pour effectuer le redémarrage du serveur Asterisk et la prise en compte de toutes les modifications apportées.
Notre serveur Asterisk est à présent démarré et prêt à accueillir des communications en VoIP entre clients. Nous allons tester le bon fonctionnement de notre serveur en effectuant un appel entre deux clients : un ordinateur de bureau muni d’un Softphone et un Smartphone. Mais avant de pouvoir effectuer le moindre appel, les futurs clients doivent également être configurés et disposés d’un compte SIP.
Configuration du Softphone X-lite

Pour configurer notre Softphone X-Lite, nous nous y prenons comme suit : Se rendre dans le Softphone X-Lite au niveau de l’option « Softphone ». Puis, aller dans la rubrique « Account Settings ».
Une fois dans l’option « Account Settings », plus précisément dans l’onglet « Account », nous devons entrer le nom du compte (dans notre cas 5001), ainsi que l’identifiant du compte utilisateur, l’adresse IP du serveur Asterisk (192.168.8.103) et le mot de passe. Il faut ensuite, cliquer sur le bouton « OK » pour terminer la configuration.

Une fois le Softphone configuré et après un court laps de temps, si les paramètres ont été correctement renseignés et si l’adresse IP du serveur Asterisk est valide, nous recevons une notification du logiciel X-Lite qui nous indique que le statut de notre Softphone est « actif » donc nous pouvons à présent émettre et recevoir des appels. On fait de même sur notre smartphone avec l’application Mizudroid et on lance un appel.

III-1.2 RESULTATS

Après avoir lancé l’appel depuis notre smartphone(5002), il est bien reçu par l’ordinateur(5001). Les utilisateurs peuvent donc communiquer.




III-2 Difficultés et enseignements tirés lors du stage

III-2.1 Difficultés rencontrées

Au cours de la réalisation de ce projet, nous avons rencontrés plusieurs difficultés tant au plan organisationnel que dans la partie pratique (conception et réalisation). Sur le plan organisationnel, il était difficile d’avoir les informations nécessaires et pertinentes pour développer cette solution étant donné que c’est une technologie en constante évolution et peu connue ici.
Au niveau de la rédaction, nous avons réalisé qu’il n’était pas aussi simple de trouver des idées pertinentes, de les organiser afin de produire un document correct. Cette situation n’était pas du tout aisé vu qu’il fallait respecter le délai strict de dépôt de chaque partie de ce présent rapport.
Sur le plan technique, nous avons eu des difficultés à installer et configurer le serveur Asterisk sur les iMac et sur nos ordinateurs portables puisque la connexion était assez limitée dans cette période.
Nous avons eu du mal à cerner plusieurs fonctionnalités de la VoIP étant un domaine assez vaste et nouveau pour nous, cela dans un temps très bref : pour apprendre et pratiquer. C’était un environnement différent de ce que nous avions eu à faire au cours de notre formation. Mais nous avons réussi à nous adapter et relever ce défi. Il s’agissait ici de comprendre le fonctionnement des fichiers principaux du serveur Asterisk et les configurer pour commencer à réaliser des tests.
.
III-2.2 Enseignements tirés

Cependant, nous retenons que ce fut une belle expérience pour chacun de nous. Moi, personnellement étant étudiante en réseaux et sécurité informatique,  je ne disposais d’aucune connaissance dans le domaine de la voix sur IP(VoIP) ; cela m’a permis d’accroître mes compétences. De plus, L’exécution de ce projet m’a apporté de nouvelles connaissances dans ce domaine, qui est aujourd’hui en plein essor dans le monde de l’entreprise. J’ai aussi découvert l’univers du travail avec tous les règlements qui vont avec et cela m’a permis de savoir me tenir en entreprise.
J’ai également pu acquérir des compétences humaines telles que le travail en équipe et la répartition du travail. Surtout, nous étions dans un cadre idéal, agréable de travail avec des postes iMac à notre disposition, la connexion et d’autres avantages.


Conclusion Générale

Durant cette période de rédaction de notre rapport de fin de cycle qui a constitué une initiation, nous avons été appelés à mettre en place un réseau VoIP pour notre structure NaN.
En effet, ce stage nous a donné l’opportunité de mettre en pratique mes connaissances acquises durant mon parcours universitaire, de me familiariser avec d’autres outils et de profiter de l’environnement professionnel et des compétences de cet organisme par l’échange d’idées et d’informations.
Le travail effectué a fait l’objet d’une analyse détaillée des besoins des entreprises en matière de communication, de la conception de notre solution, l’installation de notre serveur Asterisk à sa configuration et de tester des appels en interne ce qui a permis de vérifier sa fiabilité et son efficacité.
Néanmoins, on peut parvenir à une évolution dans le futur compte tenu du fait qu’aucun produit n’est totalement parfait et que toute conception peut s’enrichir et évoluer surtout que le domaine de la VoIP est très vaste et que nous avons pu développer qu’une seule fonctionnalité. C’est une solution que j’aimerai développer à l’UVCI pour faciliter la communication en interne au sein de l’administration. Pour conclure, nous croyons qu’au fur et à mesure que se développera les technologies en Afrique, la VoIP prendra toute sa place dans le système de communication des entreprises.






ACRONYME:

IP = Internet Protocol 
GSM = Global System for Mobile Communications 
IAX = Inter-Asterisk eXchange
PABX  =  Private  Automatic  Branch eXchange
PBX = Private Branch eXchange
VoIP = Voice over Internet Protocol 
RTC = Réseau Téléphonique de Commuté
SIP = Session Initiation Protocol
LAN = Local Area Network
WAN = Wide Area Network




BIBLIOGRAPHIE


Commentaires