mardi 24 septembre 2019

 INTRODUCTION



Les réseaux de télécommunications représentent l'épine dorsale informationnelle des entreprises. Suite à l'avènement du haut débit sur les réseaux IP, des nouvelles techniques de communications sont apparues ces dernières années notamment la Voix sur IP, elle peut être définie comme étant la capacité de faire les appels téléphoniques sur un réseau IP. La Voix sur IP est en effet, l'une de ces technologies pouvant être réalisée sur n'importe quel réseau IP, comme l'Internet, Intranet et les réseaux locaux. Bien que l’Internet se développe rapidement, le téléphone reste encore le favori du public en matière de communication. Cependant, lorsque nous appelons en local, les communications téléphoniques restent toujours trop chères à notre goût. Aussi, se demande-t-on pourquoi ne pas en réduire les coûts considérablement en adoptant Internet pour téléphoner directement à nos correspondants ? C’est ainsi qu’est née la Téléphonie sur IP ou ToIP (Telephony over Internet Protocol). En effet, la Téléphonie sur IP est une solution permettant d'utiliser un réseau IP tel qu’Internet ainsi le coût de la téléphonie est celui de la connexion internet déjà opérationnelle. C’est dans ce contexte que nous avons été reçus dans le cadre de notre mémoire de fin de cycle à L’entreprise NaN pour « L’ETUDE ET LA MISE EN PLACE D’UNE PLATE-FORME DE TELEPHONIE SUR IP BASEE SUR ASTERISK ».
Quelle solution de ToIP mettre en place pour une bonne communication ? Et à quel prix ? Ce projet nous permettra de mettre en place une plate-forme de Téléphonie sur IP tout en tenant compte de minimiser les problèmes inhérents à cette technologie et le coût.
-Après une présentation du cadre de référence permettant de situer l’environnement de travail et la motivation du thème, nous allons nous atteler à faire une étude préalable de l’existant afin de définir la démarche à suivre.
- Cette présentation de la méthodologie de travail sera suivie d’une étude conceptuelle de la plate-forme qui aura pour but de procéder à une étude d’un de solutions parmi lesquelles vous en choisirez une en fonction des avantages.
 - Enfin, notre mémoire s’achèvera par la réalisation de la plate-forme dont l’objectif est de présenter la mise en œuvre, les tests et leurs résultats qui valident la bonne marche de la plate-forme et le coût de la mise en œuvre de la plate-forme. Etant conscient des difficultés je m’engage à relever le défi car ceci sera pour moi une expérience acquise au cours de mon parcours.

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 plate-forme de téléphonie sur IP basée sur asterisk qui facilitera la communication des périphériques de l’école de programmation NAN 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 un lieu vraiment atypique ; 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 de son nom complet Not A Number. Cette dénomination peut paraître étrange ; toutefois, elle a une signification en informatique. C'est une valeur indéfinie qui symbolise sa recherche dans le devenir de l’éducation. 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 (+225 89 25 25 29) pour répondre à toutes les préoccupations.
I–1–1) Historique de l’entreprise
 L’entreprise Not et Number a été fondé en janvier 2017 par EVOX TRADING & KALIMATEC DMCC ; 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, open source et gratuite en Côte d’Ivoire.
A NaN, les étudiants n’ont pas de professeurs. En effet, ils apprennent par le partage des connaissances ainsi que par la collaboration de groupe. Toutefois, ils sont guidés dans leur tâche par un superviseur général. Cette pédagogie est assez nouvelle en Afrique mais souvent utilisé en Europe dans certaines grandes écoles.
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, seul les 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és 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èces-autos ci
Plateforme de ventes de pièces automobiles en ligne
Dans le cadre de mon stage, j’ai été affecté au service de VOIP (programmation réseau). Dans ce service, mettais en place un système de téléphonie de la voix par le réseau : j’exerçais en tant qu’administrateur réseau. Je veillais entre autre à ce que chaque périphérique nouvellement inséré dans le réseau ait une adresse IP fixe afin de joindre le serveur Asterisk que j’ai moi-même mis en place pour pouvoir communiquer sur le réseau interne de NAN.

                                                  ORGANIGRAMME DE L'ENTREPRISE

Figure 1 : Organigramme de l’entreprise NaN


II – Étude de l’existant
De nos jours, dans nos entreprises, nous constatons que la communication 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 physique.

III – Problèmes Identifiés
Dans l’étude de l’existant effectuée, 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 certains nombres 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.

IV – 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 a une entreprise de faciliter la communication de ses tiers à travers les adresses IP: On parle de VOIP.
Ce système devra être héberger 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.


Dans cette partie, nous allons présenter la méthode de conception choisie ainsi que les outils techniques utilisés pour la mise en place de notre projet à savoir l’étude et la mise en place d’une plate-forme de téléphonie sur IP basée sur Asterisk.

I – Description de la méthode : La VoIp

I – 1) Présentation

"VoIP" est un abrégé de l’anglais Voice Over IP parfois appelé téléphonie IP ou téléphonie sur Internet. Cette technologie permet de communiquer par voix via le réseau Internet ou autres réseaux supportant le protocole TCP/IP. Elle correspond aux technologies de transport de la voix en mode paquet via le protocole IP et la téléphonie sur IP (ToIP) correspond aux applications et offres de services qui s’appuient sur la VoIP. On peut citer comme exemple, les solutions IPBX comme AastraAvayaCiscoDialexiaAlcatelWildix, ou la solution libre Asterisk que nous allons implémenter dans notre projet.
 I – 2) Fonctionnement
Lorsqu’un utilisateur veut entrer en communication avec un autre, une connexion est alors établie entre les deux terminaux. L’utilisateur peut alors émettre un son par le biais d’un micro (signal analogique) qui est ensuite numérisé et compressé par la machine (signal par synthèse).
Une fois les données encapsulées dans un paquet, le paquet est envoyé au destinataire qui procèdera aux opérations inverses assurant ainsi la mise en forme d’un message audible. Avant de pouvoir communiquer directement, les membres de la discussion doivent établir un protocole pour la démarrer.
Les principaux protocoles utilisés pour l’établissement de la communication sont:
·        H320 : il spécifie les caractéristiques techniques des systèmes et équipements de terminaux visiophoniques.
·        SIP :est un protocole standard ouvert de gestion de sessions souvent utilisé dans les télécommunications multimédia (son, image, etc.) Il est depuis 2007 le plus courant pour la téléphonie par internet (la VoIP).
·        H.323 regroupe un ensemble de protocoles de communication de la voix, de l'image et de données sur IP.
·        IAX :  (Inter-Asterisk eXchange) est un protocole de voix sur IP issu du projet de PABX open source Asterisk. Il permet la communication entre un client et serveur ou entre serveurs asterisk.
Dans notre projet on a eu recours aux protocoles SIP et IAX.

II – Description et choix des outils 

II – 1) Choix des outils

PABX signifie Private Automatic Branch eXchange : autocommutateur téléphonique privé. Le PABX est un type de standard téléphonique que l’on installe au sein d’une entreprise afin de gérer de manière automatique les communications entre plusieurs postes et d’établir celles avec l’extérieur. les PABX possédaient leurs propres téléphones propriétaires, ce qui empêchait de réutiliser ces téléphones avec un système différent. Cela veut dire que les systèmes étaient bloqués (l’entreprise était liée à son système car un changement de système équivalait à changer tous les téléphones, solution particulièrement onéreuse) ou liés à une marque (obligation de rester avec la même marque car les téléphones ne sont utilisables qu’avec un système de même marque).
Les opérateurs Voix sur IP d’origine offrent des solutions qui copient l’architecture des réseaux de téléphonie traditionnels, tandis que les opérateurs de deuxième ou troisième génération ont soit conçu des réseaux fermés pour des bases d’utilisateurs privés, offrant des appels gratuits, ou se sont complètement démarqués des architectures des réseaux téléphoniques traditionnels. Les solutions Voix sur IP permettent une interaction dynamique entre les utilisateurs sur 2 domaines Internets lorsqu’un utilisateur souhaite passer un appel. Pour passer un appel via IP, l’utilisateur a besoin d’un programme logiciel de téléphone SIPOU d’un téléphone VoIP matériel. Les appels peuvent être passés depuis n’importe où vers n’importe qui, autant vers des numéros VoIP que vers des numéros RTC.

De ces deux  constats vous comprenez donc pourquoi notre choix s’est porté sur la telephonie IP basé sur asterisk  qui est  un autocommutateur téléphonique privé (PABX) libre compatible avec le système d’exploitation linux.
II – 2) Astérisk

          II-2-1) Les Softswitchs 

Un Softswitch est un dispositif central dans un réseau de télécommunications qui relie les appels téléphoniques d'une ligne à une autre, généralement via internet,entièrement au moyen d'un logiciel installé sur un système informatique. Ce travail était auparavant effectué par le matériel physique avec des tableaux physiques pour acheminer les appels.Le plus connu est « ASTERISK », nous allons le découvrir dans les points qui suivent.


            II-2-2) Présentation d’ASTERISK

Asterisk est un commutateur téléphonique privé à part entière mais l'implémentation logicielle, compatible Linux, qui s'interconnecte avec quasiment tous les équipements de téléphonie de base standard et peu coûteux. Asterisk C’est un PBX logiciel libre (sources disponibles) apparu en 1999 qui fournit toutes les fonctionnalités et services voire plus qu’un PABX classique. Il supporte pratiquement tous les protocoles de VoIP, fonctionne sous plusieurs plate-formes(Linux, BSD et MacOSX) et est compatible avec la majorité des équipements de téléphonie numériques et analogiques.
C'est un logiciel qui a été développé par Mark Spencer à l'origine, de l'entreprise
Digium, (anciennement Linux Support Services Inc.) et qui continue, grâce à de nombreux contributeurs, à évoluer régulièrement.
Ce logiciel a été conçu pour une flexibilité maximale et reste un système ouvert à de nouvelles applications, d’où son appellation qui vient du symbole éponyme ( * )qui sous les environnements Unix joue le rôle de joker lors de la recherche ou de sélection de répertoires ou de fichiers.

              II-2-3) Fonctionnalités

Les solutions téléphoniques de base d’Asterisk offre une gamme riche et
souple de fonctionnalités. Asterisk offre à la fois les fonctionnalités classiques
d’un PABX et des fonctionnalités innovantes et émergeantes. Il interagit avec les traditionnels systèmes de téléphonie de type standard, et les systèmes de VoIP. Asterisk offre les fonctionnalités que l'on attendrait d'un grand système PBX et même plus:
·        Messagerie vocale
·        Conférence téléphonique
·        Répondeur vocal interractif
·        Mise en attente d’appels
·        Service d’itentification de l’appelant
·        VoIp...

            II-2-4) Besoins matériels

Le serveur IPBX
Le serveur IPBX initialise et gère l’ensemble des communications téléphoniques de l’entreprise. Son dimensionnement au niveau hardware dépend du nombre de lignes téléphoniques et du nombre de terminaux internes qu’il doit gérer.
Les cartes
Le type de communications que pourra initier l’IPBX vers l’extérieur dépend des cartes qui seront insérées dans celui-ci :
·         Carte Fax : permet de recevoir des fax directement
·         Analogique : permet d’émettre des appels externes en passant par un opérateur de téléphonie classique
·         SIP : permet d’émettre des appels externes en passant par un opérateur de téléphonie SIP

Les terminaux téléphoniques
Les postes téléphoniques utilisateurs (aussi appelés IP-PHONE), fonctionnent sur le réseau informatique existant de l’entreprise. Ils présentent des caractéristiques communes avec un téléphone traditionnel (écran, touches, combiné) bien que son fonctionnement interne soit fondamentalement différent.
Les postes téléphoniques IP incluent 2 ports Ethernet, le premier permettant de relier le téléphone au réseau de l’entreprise, et le second offrant la possibilité de relier le pc de l’utilisateur directement à son IP Phone.
Le SOFTPHONE, est un logiciel qui assure toutes les fonctions téléphoniques et qui utilise la carte son et le micro du PC de l'utilisateur.

Les équipements réseaux
Les switchs assurent la distribution et commutation des terminaux téléphoniques. Suivant les modèles, les switchs peuvent gérer :
·         Le POE (Power over Ethernet) : cette fonctionnalité permet d’alimenter directement le terminal téléphonique via le câblage Ethernet. L’utilisateur s’affranchit donc du câble d’alimentation reliant son poste téléphonique à la prise électrique.
·         Les VLAN (Virtual Local Area Network) : un switch permettant de gérer les VLAN offre la possibilité de dissocier logiquement le réseau informatique du réseau téléphonique tout en restant physiquement sur le même câblage augmentant alors la sécurité et la performance de l’installation.

Les opérateurs SIP
Les opérateurs SIP, sont pour la téléphonie sur IP l’équivalent des opérateurs téléphoniques pour la téléphonie classique. Ce sont eux qui acheminent les appels vers l’extérieur et l’intérieur de l’entreprise.

Dans cette partie on va évoquer et détailler les étapes à suivre pour la mise en place de ce projet : 
I –  Installation
Pour pouvoir utiliser correctement Asterisk, il faut suivre toute une procédure d’installation avec un acheminement cohérent. Dans cette partie on va énumérer et détailler les étapes à suivre.
I – 1) Préparation Système
         a) Installation OS

Nous nous sommes connectés sur le serveur de NaN avec Proxmox et nous avons créer une machine virtuelle (figure 1) dans laquelle nous avons installer le système d’exploitation CentOS et nous avons fixés l’adresse IP de cette machine sur  le routeur (figure 2),

                                               Figure 1 : Creation de la machine virtuelle CentOS





                                                    Figure 2 : Fixation des adresses IP sur le Routeur
Dans une machine virtuelle installons CentOS 5 et se connecter en ssh afin d’installer Asterisk.
                                                                         Figure 3 : Lancement installation Centos
Après avoir choisi la langue, on va procéderà la configuration de l’adressage IP,MASK, PASSERELLE et NOM DE MACHINE.
A la fin de l’installation, le serveur redémarre et on a un serveur Centos 5 installé et accessible par SSH (on utilise pour l’accès SSH un client léger PUTTY).



b) Installation des dépendances pour Asterisk
A cette étape, notre serveur est mis à jour mais avant de commencer la mise en place du serveur Asterisk il faut y ajouter des prérequis pour cela.
La commande YUM servira pour cette action avec en option INSTALL : yum –y install paquet1 paquet2 .... Paquetn 



                                                              Figure 4 : Installation des dépendances d'Asterisk

c) Récupération des pacquages du serveur Asterisk

Téléchargement des pacquages d’Asterisk
Sous Centos, la commande WGET permet de télécharger en ligne de commande.
Les pacquages essentiels pour Asterisk :
On crée un répertoire qui va contenir ces pacquages

                                                     Figure 5 : Téléchargement d'Asterisk
I – 2) Installation serveur Asterisk

         a) Installation de DAHDI 


        

                                                 Figure 6: Installation de DAHDI 


          b) Installation d’ASTERISK





                                                    Figure 7 : Compilation d'asterisk



                                                     Figure 8 : Ajoute de composants d'asterisk


                                                        Figure 9 : Demarrage d'asterisk



I – 3)  Création des extensions téléphoniques
Les extensions téléphoniques sont les postes téléphoniques numériques, pour créer ces extensions qui recevront les appels à travers le serveur ASTERISK on peut utiliser le protocole SIP ou IAX.
Dans notre cas on va utiliser le SIP pour bénéficier d’une haute qualité de communication.
         a) Principe de fonctionnement


Figure 10 : Connexion des extensions
Pour pouvoir s’authentifier, émettre et recevoir des appels à travers le serveur ASTERISK, on doit déclarer les paramètres des extensions et déclarer un plan de numérotation pour cet effet.
Chaque fichier de configurations doit contenir au moins une section : [general] qui contiendra les paramètres généraux.
La déclarations des comptes SIP, on doit paramétrer le fichier sip.conf dans le répertoire /etc/asterisk/ .
Pour mettre en œuvre un plan de numérotation, on va éditer le fichier extensions.conf sous le répertoire /etc/asterisk/.
         b) Ajout des extensions
                                Figure 11 : Déclaration des extensions téléphoniques

         c) Mise en place d’un plan de numérotation
Le fichier extensions.conf est l'un des fichiers de configuration la plus utilisée et le plus important dans l’IPBX Asterisk , il contient le plan de numérotation et les actions à exécuter. Le plan de numérotation définit la façon dont Asterisk PBX traite les appels entrants et sortants. Le plan de numérotation est divisé en sections appelées contextes. Chaque contexte est constitué d’une ou plusieurs actions à exécuter par le client.
                                        Figure 12 : Déclaration des contextes

         d) Configuration d’un softphone et test d’un appel local
Divers SoftPhone sont disponible gratuitement, ces SoftPhone remplace dans notre cas les téléphones IP ou on va utiliser FREE ZOIPER:
http://www.zoiper.com/download_intermediate.php?os=Windows&ap=z2&location=zoiper_f ree_2_installer_zip
Après avoir téléchargé et installer, on lance l’application et on ouvre le menu de configuration.



                                                Figure 13 : Démarrer Zoiper
Dans la fenêtre Options, sous le menu SIP accounts, on clique sur Add new SIP account et on spécifie un nom au nouveau compte et on valide.

                                   Figure 14 : Ajouter un nouveau compte SIP

Dés la validation de l’ajout, une nouvelle fenêtre apparaîtra avec les paramètres suivant : Domain : IP_Serveur_ASTERISKUsername : UtilisateurPassword : mot_de_passe
Caller ID Name : Pas obligatoire vu qu’on a déclare des Caller Id sur le serveur.
Dés la validation, on remarque sur la fenêtre principale de Zoiper que le compte NaN Test Zoiper est enregistré sur le serveur et dés maintenant on peut émettre et recevoir des appels. Sur la console sur serveur « asterisk –r », on peut vérifier l’état de l’utilisateur à travers la commande « sip show peer 401 ».

                                                  Figure 15 : Réception d'appel


I – 4)Configuration d’un trunk IAX entre deux serveurs
L’interconnexion entre serveurs Asterisk se base sur le fait que chaque serveur donne à l’autre la possibilité de s’authentifier avec un croisement entre les deux serveurs et acceptation d’authentifier un utilisateur qui aura des droits d’exécuter des commande dans un contexte. La mise en œuvre s’effectue sur deux étapes :* Création des utilisateurs IAX sur les deux serveurs :
Comme le cas du SIP, l’IAX se base sur son propre fichier de configuration « /etc/asterisk/iax.conf » qui comprend deux grandes parties (générale et déclaration des comptes utilisateurs IAX).
[general] : nom de la section générale.
register => nan:secret@192.168.251.50 : chaîne d’enregistrement du trunk du serveur NaN vers le serveur CS.
register => utilisateur :password@adresse_ip_serveur_distant [cs] : nom de l’utilisateur.
username=nan : utilisateur pour l’acheminement des appels. secret=secret : mot de passé.type=friend : ici le type friend pour émettre et recevoir des appels. host=dynamic : accepter toute adresse ip lors de l’authentification. qualify=yes : vérifier l’état de la connexion IAX. usercontext=from-cs : contexte d’authentification. context=from-cs : context local.
deny=0.0.0.0/0.0.0.0 : interdire toute connexion.
permit=192.168.251.50/255.255.255.255 : accepte toute connexion seulement de cette adresse Ip.
Ces deux configuration sont dupliquée sur les deux serveurs Asterisk en croisement.


 CONCLUSION




La téléphonie sur le protocole internet, toujours à l'état embryonnaire en Côte d’Ivoire, est une innovation technologique dans le domaine de la télécommunication qui apporte avec elle de nombreux avantages tels que la réduction des coûts de communication, la disponibilité et la mobilité des employés, la simplification des infrastructures etc. la téléphonie sur IP gagne du terrain dans le domaine de communication. Beaucoup sont les entreprises qui s'orientent vers cette nouvelle technologie. Notre travail a consisté à la proposition d'une solution de mise en place d'un système de Téléphonie Mobile Autocom basé essentiellement sur les logiciels libres notamment la plateforme libre et gratuite « Trixbox CE» et les softphones « Vizudroid et X-lite» dont l'abondance de documentation nous a fascinés.la solution proposée s'est focalisée d'une part sur la gestion centralisée du système de communication Asterisk et d'autre part sur la gestion des adresses IP sur le routeur de l’école de programmation NAN. Ce stage nous a permis de découvrir un autre type de service qu'offrent les réseaux informatiques. Nous saurons terminer sans dire « Vive le monde libre, vive les innovations technologiques»

 INTRODUCTION Les réseaux de télécommunications représentent l'épine dorsale informationnelle des entreprises. Suite à l'a...