• Aucun résultat trouvé

English Summary English Summary English Summary

As part of our degree in Network Engineering and Telecommunications, we had to realise a project. Our project team was composed by two students : Laura Redondo and Maxime Boscia. We chose the Voice Over IP project so our tutor was the Headmaster of the Department, Mr. Joël Toussaint.

Our project involved installing and using an Open Source software called Asterisk to study how it reacts in case of fault and what solutions could we bring at this matter. Asterisk is often used in companies to save money because it permits to cross free internal phone calls.

Furthermore, it provides numerous services as conference for example.

In first, we had to search information about Asterisk and VoIP on the web and in books because this project requires specifical knowledges. Then we installed Asterisk on two computers which had a Debian operating system. We had configure several basic options of Asterisk and we had test if it worked with software telephony client, also called softphone.

Then, we connected two Asterisk servers with redundancy and load-balancing to permit a high availability of Asterisk services. It means we had a continuity of the telephony services if one of the Asterisk servers break down.

The main difficulty was to search an learn information about technologies of redundancy and load-balancing that we had never seen. Furthermore, we wasted a lot of time at the begining of the project because we didn’t succeed to install the operating system on the computers which be at our disposition. But we resolve all of these problems.

This project was the opportunity for us to deepen our knowledge in VoIP. In fact, we began to study Asterisk software during Mr. Toussaint’s lessons but it was more non-specialized. This project allowed us to improve our technicals skills on Linux operating system and redundancy technologies.

Glossaire Glossaire Glossaire Glossaire

1 - téléphonie sur IP : Service de communication vocale utilisant le protocole de

télécommunications créé pour Internet (IP). La voix est numérisée et envoyée dans le réseau Internet comme n'importe quelle donnée.

2 - protocole TCP/IP : Suite de protocoles. Le sigle TCP/IP signifie «Transmission Control Protocol/Internet Protocol». TCP/IP représente d'une certaine façon l'ensemble des règles de communication sur internet et se base sur la notion adressage IP, c'est-à-dire le fait de fournir une adresse IP à chaque machine du réseau afin de pouvoir acheminer des paquets de données 3 - signal analogique : Un signal analogique est un signal continu. Il change de valeur en passant par toutes les valeurs intermédiaires. L’inconvénient majeur d’un signal analogique réside dans le fait qu’il est techniquement difficile de détecter et encore moins corriger les détériorations du signal dû soit à l’affaiblissement de celui-ci, soit à des parasites.

4 - numériser : La transformation d'un signal analogique en signal numériqueLa numérisation comporte deux activités parallèles : l'échantillonnage (en anglais sampling) et la

quantification. L'échantillonnage consiste à prélever périodiquement des échantillons d'un signal analogique. La quantification consiste à affecter une valeur numérique à chaque échantillon prélevé.

5 - codecs : Algorithme permettant de compresser et de décompresser des fichiers audio et vidéo sans perdre une quantité considérable d'informations.

6 - compresser : Procédé permettant de réduire le volume (en bits) ou le débit (en bit/s) des données numérisées (parole, images, textes, ...).

7 - commutation de circuits : Un réseau est constitué de plusieurs noeuds interconnectés par des lignes de communication. Il existe plusieurs méthodes permettant de transférer une données d'un noeud émetteur à un noeud dit récepteur. La commutation de circuits consiste à mettre en relation successivement les différents noeuds intermédiaires afin de propager la donnée du noeud émetteur au noeud récepteur. Dans ce type de scénario, la ligne de communication peut être assimilé à un tuyau dédié à la communication.

8 - commutation de paquets : Elle consiste à segmenter l'information en paquets de données, transmis indépendamment par les nœuds intermédiaires et ré assemblés au niveau du

destinataire.

9 - UDP : Protocole de transport de l'information non orienté connexion de la couche transport du modèle TCP/IP. Ce protocole est très simple étant donné qu'il ne fournit pas de contrôle d'erreurs (il n'est pas orienté connexion...).

10 - TCP : Protocole de Contrôle de Transmission) est un des principaux protocoles de la couche transport du modèle TCP/IP. Il permet, au niveau des applications, de gérer les données en provenance (ou à destination) de la couche inférieure du modèle (c'est-à-dire le protocole IP).

11 - datagrammes : Les datagrammes sont une représentation structurée de l'ensemble des données constituant un paquet d'information pour un protocole donné. Par exemple, on rencontre très fréquemment des datagrammes pour les paquets du protocole IP, protocole de couche internet du modèle TCP/IP

12 - WAN : Réseau informatique couvrant une grande zone géographique, typiquement à l'échelle d'un pays, d'un continent, voire de la planète entière. Le plus grand WAN est le réseau Internet.

13 - réseau RTC : Le réseau téléphonique commuté (ou RTC) est le réseau du téléphone (fixe et mobile), dans lequel un poste d'abonné est relié à un central téléphonique par une paire de fils alimentée en batterie centrale (la boucle locale). Les centraux sont eux-mêmes reliés entre eux par des liens offrant un débit de 2 Mb/s : ce sont les Blocs Primaires Numériques (BPN).

14 - Linux, BSD et Mac OS X : Différents systèmes d'exploitations basés sur le noyau Unix.

15 - client : Poste informatique utilisateur dans un réseau qui attend et reçoit les réponses du serveur.

16 - serveur : Poste informatique maître d'un réseau, il peut avoir différents rôles, serveur d'applications, de fichiers, de terminaux, ou encore de messagerie électronique. Les clients se connectent au serveur pour obtenir différentes informations de configuration ou encore de données. Un serveur est généralement capable de servir plusieurs clients simultanément.

17 - paquet (linux) : Une distribution Linux est un ensemble cohérent de logiciels rassemblant un système d'exploitation composé d'un noyau Linux et de logiciels supplémentaires - le plus souvent libres, ces logiciels sont alors appelé paquets et téléchargeable gratuitement sur Internet.

18 - communauté Linuxienne : communauté des utilisateurs utilisant les systèmes Unix.

19 - PCI : Le Peripheral Component Interconnect (PCI) est un standard de bus local (interne) permettant de connecter des cartes d'extension sur la carte mère d'un ordinateur.

20 - commutateur PABX : Équipement situé en un noeud de réseau pour assurer des connexions appel par appel entre voies de transmission selon les besoins des usagers.

21 - Debian : Distribution Linux très stable utilisé dans notre cas pour installer nos serveurs.

22 - Red Hat : Distribution Linux très utilisée pour les serveurs.

23 - IETF : Littéralement traduit de l'anglais en « Détachement d'ingénierie d'Internet » est un groupe informel, international, ouvert à tout individu, qui participe à l'élaboration de

standards pour Internet. L'IETF produit la plupart des nouveaux standards d'Internet.

24 - sessions multimédia : Une session est l'exécution d'un programme pour un utilisateur donné. L'exécution du programme est alors paramétrée par les informations du profil de l'utilisateur (ses caractéristiques, ses préférences, l'historique de ses interactions avec le programme, etc.). Multimédia ici défini le transport de la voix.

25 - protocole ouvert : Format de données interopérable et dont les spécifications techniques sont publiques et sans restriction d’accès ni de mise en œuvre, par opposition à un format fermé.

26 - http : Protocole utilisé pour la création de page web. Il se compose de ligne de commande visibles par l'utilisateur.

27 - analyseur de trames : une trame est un bloc d'information véhiculé au travers d'un support physique (cuivre, fibre optique, etc.), elle se situe au niveau 2 du modèle OSI. Un analyseur de trame permet de capturer l'ensemble des trames qui circules sur un média afin d'en faire une analyse.

28 - haute disponibilité : On appelle haute disponibilité le fait de rendre un service disponible 24h/24h pour ses utilisateurs en parant aux éventuelles pannes du système.

29 - softphones : Type de logiciel utilisé pour faire de la téléphonie par Internet depuis un ordinateur plutôt qu'un téléphone. Les communications peuvent se faire au moyen d'un

microphone et d'un casque ou de haut-parleurs reliés à la carte son, mais il existe aussi un type de périphérique dédié à cette tâche, semblable à un téléphone et se branchant sur un port USB.

Les interfaces des softphones sont souvent intuitives et de la forme d'un téléphone. Les fonctionnalités des softphones sont les mêmes que celles des téléphones classiques.

30 - VMWare : Nom d'une gamme de logiciels de virtualisation. La virtualisation est

l'ensemble des techniques matérielles et/ou logicielles qui permettent de faire fonctionner sur une seule machine plusieurs systèmes d'exploitation et/ou plusieurs applications, séparément les uns des autres, comme s'ils fonctionnaient sur des machines physiques distinctes. Les outils de virtualisation servent à faire fonctionner ce qu'on appelle communément des serveurs privés virtuels (Virtual Private Servers ou VPS) ou encore environnements virtuels (Virtual Environments ou VE).

31 - load balancing : La répartition de charge (load-balancing en Anglais, littéralement équilibrage de charge) est une technique utilisée en informatique pour distribuer un travail entre plusieurs processus, ordinateurs, disques ou autres ressources.

C'est une forme d'optimisation. Les avantages sont nombreux : * Augmentation de la qualité des services.

* Amélioration des temps de réponse des services.

* Capacité à pallier la défaillance d'une ou de plusieurs machines.

* Possibilité d'ajouter des serveurs sans interruption de service.

32 - trunk : Aggrégation de plusieurs lignes de télécommunication ou de VLAN afin d'augmanter la bande passante.

33 - Fail Over : Le basculement (en anglais, fail-over qui se traduit par passer outre à la panne) est la capacité d'un équipement à basculer automatiquement vers un chemin réseau alternatif ou en veille.

34 - chemin réseau : Chemin composé d'équipements réseaux possédant des adresses IP et

35 - routeur : Un routeur est un élément intermédiaire dans un réseau informatique assurant le routage des paquets. Son rôle est de faire transiter des paquets d'une interface réseau vers une autre, selon un ensemble de règles formant la table de routage.

36 - pare-feu : Un pare-feu est un élément du réseau informatique, logiciel et/ou matériel, qui a pour fonction de faire respecter la politique de sécurité du réseau, celle-ci définissant quels sont les types de communication autorisés ou interdits.

37 - FreeBSD, OpenBSD, Solaris : Distributions basées sur le noyaux Unix.

38 - clustering : Technologie qui permet de créer une grappe de serveurs.On parle de grappe de serveurs ou de ferme de calcul (cluster en anglais) pour désigner des techniques consistant à regrouper plusieurs ordinateurs indépendants (appelés nœuds, node en anglais) pour

permettre une gestion globale et dépasser les limitations d'un ordinateur pour : * augmenter la disponibilité

* faciliter la montée en charge

* permettre une répartition de la charge

* faciliter la gestion des ressources (CPU, mémoire, disques, bande passante réseau) 39 - scripts d'initialisations : Programme informatique qui ne nécessite pas de compilation avant d'être exécuté. Pour fonctionner, les scripts doivent être interprétés par un programme ou un serveur dédié au langage dans lequel ils ont été écrits.

40 - broadcasts : Le broadcast est un terme anglais définissant une diffusion de données à un ensemble de machines connectées à un réseau. En français on utilise le terme diffusion.

41 - algorithme : Un algorithme est un ensemble de prescriptions et de règles qui définissent « ce qu’il faut faire » et « dans quel ordre » pour résoudre un problème (ou une classe de

problème).

42 - port : Correspondant à la couche de transport du modèle OSI, la notion de port logiciel permet, sur un ordinateur donné, de distinguer différents interlocuteurs. Ces interlocuteurs sont des programmes informatiques qui, selon les cas, écoutent ou émettent des informations sur ces ports. Un port est distingué par son numéro.

43 - démarrage automatique : repertoire dans lequel on indique des programmes qui démarreront au lancement du système.

Bibliographie Bibliographie Bibliographie Bibliographie

Livres :

• Jim Van Meggelen, Leif Madsen & Jared Smith

Asterisk The Future of Telephony 2nd Edition, Edition ‘O’REILLY’, année 2007

• Sébastien Déon

VoIP et ToIP Asterisk : La téléphonie sur IP, Edition ‘ENI’, année 2007

Revues :

Haute-disponibilité et équilibrage de charge

Edition ‘Linux Magazine/France n° 97’, année 2007

Site internet :

Asterisk : The Open Source PBX & Telephony Platform, www.asterisk.org

Asterisk Guru – Tutorials and howto’s for the asterisk PBX, www.asteriskguru.com

Community Asterisk France, www.asterisk-france.net

Linux Virtual Server, www.linuxvirtualserver.org

VoIP-Info.org : A reference guide to all things VOIP, www.VoIP-info.org

Annexes Annexes Annexes Annexes

A1 Fichier sip.conf 51

A2 Fichier extensions.conf du serveur Asterisk-1 52

A3 Fichier extensions.conf du serveur Asterisk-2 52

A4 Fichier iax.conf du serveur Asterisk-1 52

A5 Fichier iax.conf du serveur Asterisk-2 52

A6 Fichier voicemail.conf 53

A7 Fichier authkeys 53

A8 Fichier haresources 53

A9 Fichier ha.cf 53

A10 Fichier ldirectord.cf 54

A11 Fichier ipv.sh 54

A12 Fichier test_ldirectord.sh du serveur Asterisk-1 55

A13 Fichier test_ldirectord.sh du serveur Asterisk-2 55

A14 Compte-rendu de la réunion de lancement de projet 56

A145 Compte-rendu de la réunion de fin de projet 58

A1. Fichier sip.conf

A2. Fichier extensions.conf du serveur Asterisk-1

[projet]

exten => _1XX,1,Dial(SIP/${EXTEN})

exten => _1XX,2,Dial(IAX2/paris/${EXTEN}) exten => _1XX,3,Voicemail(${EXTEN}@projet) exten => _1XX,4,HangUp

exten => 888,1,VoicemailMain(@projet)

A3. Fichier extensions.conf du serveur Asterisk-2

[projet]

exten => _1XX,1,Dial(SIP/${EXTEN})

exten => _1XX,2,Dial(IAX2/clermont/${EXTEN}) exten => _1XX,3,Voicemail(${EXTEN}@projet) exten => _1XX,4,HangUp

exten => 888,1,VoicemailMain(@projet)

A4. Fichier iax.conf du serveur Asterisk-1

[paris]

type=friend

host=192.168.206.131 context=projet

qualify=yes trunk=yes

A5. Fichier iax.conf du serveur Asterisk-2

[clermont]

type=friend

host=192.168.206.132 context=projet

qualify=yes trunk=yes

A6. Fichier voicemail.conf

[projet]

121 => 212,Maxime,121@localhost,,|attach=yes|review=yes 131 => 313,Laura,131@localhost,,|attach=yes|review=yes 141 => 414,Fabien,141@localhost,,|attach=yes|review=yes 151 => 515,Mathieu,151@localhost,,|attach=yes|review=yes

Documents relatifs