90
Presenté par Encadré par Maiga Cheick Ismael Mr OUMSIS Année universitaire 2010-2011

Rapport de fin d'etude

Embed Size (px)

DESCRIPTION

Document explicatif sur la voix sur ip précisement asterisk logiciel open source. Je vous laisse le soin de savourer ses merveilles

Citation preview

Page 1: Rapport  de fin d'etude

Presenté par Encadré par

Maiga Cheick Ismael Mr OUMSIS

Année universitaire 2010-2011

Page 2: Rapport  de fin d'etude

2

Remerciements

Je remercie du fonds du cœur mon encadrant et professeur

Mr OUMSIS qui a bien voulu m’encadrer tous le long de mon projet .Je le

remercie pour tout ses conseils et soutiens

Je remercie egalement mes Mrs Kalmogo stéphane , Mrs Guéné Mahamadi,

Zongo Boubacar, Zaongo Stanilas ,Ilboudo Hyacinthe , Balma Cynda

,Sanné Naty ,Sow ibrahim, Sagno Delphin ,Bah Ibrahima ,Nympaye

Eric,Gouda Abder Rayane , Moulongui Davy donal ,Mouchetou Mouchetou

Cedric lionel ,toute la commuanuté burkinabé de fes ,

Page 3: Rapport  de fin d'etude

3

TABLE DES MATIERES

Introduction ……………………………………………………………..….….6

Chapitre 1 : Contexte général et présentation du projet…………………….6

1.1 Présentation de la filière Science Mathématique Informatique …….……….…….6

1.2 Présentation du projet……………………….…………………………………7

1.2.1 Cadre et Objectif du projet…………..…………………………….…………7

1.2.2 Planification du projet …….…………….…………………………….….....7

1.3 Conclusion…………………………………………………………………………………7

Chapitre II: Théorie de la Voip…………………………...…………………...8

2.1Problématique de la Voip………………...……………………………………………….8

2.1.1 La teléphonie par circuit et par parquet ..………………………………………….….8

2.1.2 La problematique de base de la téléphonie ..………...….………………….…………9

2.1.3 Comparaison avec la téléphonie classique ...………...………………………..…….10

2.1.4 Avantage de la Toip …………………..…………...…………………...……………12

2.1.5 Conclsusion …………...………………………..………………………………...… 12

2.2 Signalisation H323……...…………………………………………………....................12

2.2.1 Protocoles de normalisation …………….…………………………………..……….13

2.2.2 Architecture et fonctionnalité du protocoles H323 …………….…………..……….14

2.2.3 Fonctionnalitées avancées …………..……………………………….………………15

2.2.4 Conclusion ………………..…………………………………………………………17

2.3 Protocoles SIP……………………………………………………………………………17

Page 4: Rapport  de fin d'etude

4

2.3.1 Standardisation SIP (Session Initial Protocol) ….……………………………………18

2.3.2 Architecture de SIP …….…………………………………………………………….19

2.3.3 L’adressage SIP………..………………………………………………..……………19

2.3.4 Fonctionnement …….………………………………………………………………..20

2.3.5 Comparaison avec H323…….…….………………………………………………….23

2.3.6 Conclusion ……………………..……………………………………………………24

2.4 Qualité de Service et sécurité………...…………………………………………………24

2.4.1 Qualité de service………….………………………………………………………….24

2.4.2 La Sécurité…...…..……………………………………….…………………….…….26

2.4.2.1 Les attaques …..……..……….………………………..……………….………. ..27

2.4.2.2 Les sécurités à mettre en place ……………..………………………………….....28

2.4.2.3 Les infrastructures de sécurité…...………..…..…..…..………………… ..……...29

2.4.2.4 La sécurité dans la téléphonie par Wi-Fi...………….…………………………….30

2.4.3 Conclusion………..………………………………..…………………………….…...30

Chapitre 3: Pratique de la Voip : Asterisk ..………………………………………32

3.1 Historique & Presentation ………………………………………………………...……32

3.2 Fonctionnalité……………………………………………………………..

3.3 Téléchargements des modules………………………………………………………

3.3.1 Se connecter au réseau traditionnel………………………………………

3.3.2 Télécharger les composants utiles …………………………………..

3. 4 Installation et configuration ……………………………………………..

3.4.1 Installation ………………………………………………………………

3.4.1.1 Installation à apartir de l’outi apt…………………………………………………

Page 5: Rapport  de fin d'etude

5

3.4.1.2 Installation à apartir des modules téléchargers…………………………………..

3.4.2 Configuration………………………………………………………………………..

3.4.2.1 Sip.conf…………………………………………………………………………..

3.4.2.2 extension.conf…………………………………………………………………….

3.4.2.3 voicemail.conf…………………………………………………………………..

3. 5 Client ………………………………………………………………………………….

3.5.1 Xlite …………………………………………………………

3.5.2 Windows Messenger ……………………………………

3.5.3SJPhone…………………………………………………..

3.5.4 Linphone…………………………………………………

3.5.5 Les logociels Sip Mobile……………………………………………

3. 6 Ajout de Nouveaux Services ……………………………………………..

3. 7 CallBack avec Asterisk ……………………………………………..

3. 8 Conclusion ……………………………………………..

Chapitre 4: Réalisation du projet……………………………………………

4. 1 Departament d’informatique …………………………………………….. ………..

4.2 Mise en place de l’architecture …………………………………………….. ………

4.3 Conclusion ……………………………………………………………………………

Conclusion générale…………………………………………………………..

Bibliographie……………………………………………………………………

Glossaire des acronymes………………………………………………………

Liste des figures

Page 6: Rapport  de fin d'etude

6

Figure 1 :Diagramme de Gantt……………………………………………………………8

Figure 2 : La technique de transfert de paquets…………………………………………9

Figure 3 : Un flot de paquets téléphoniques ……………………………………………..9

Figure 4 : Équipements à traverser par une communication téléphonique sur IP….11

Figure 5 : Mode point à point…………………………………………………………….1

Figure 6 :Mode diffusif…………………………………………………………………..22

Figure 7 : Architecture d'Asterisk…………………………………………………….32

Figure 8 :Exemple d’un architecture avec Asterisk …………………………………33

Figure 9 :XLite………………………………………………………………………….45

Figure 10: Windows Messenger………………………………………………………..46

Figure 11 : SJPhone……………………………………………………………………..46

Figure 11 : Linphone ……………………………………………………………………47

Figure 12 Architecture du systeme de communication………………………………….58

Figure 13 : exécution de commande permettant de se placer dans le repertoire

"etc/asterisk" ………………………………………………………………………………59

Figure 14:commande pour éditer le fichier "sip.conf" …………………………………59

Figure 15:fichier Sip.conf……………………………………………………………………

Figure 16 : Exemple de configuration de clients…………………………………………..

Figure 17:fichier extensions .conf…………………………………………………………

Figure 18:Lancement du serveur………………………………………………………….

Figure 19:figure obtenue avec la commande "Sip show peers"...................................................

Figure 20 : Exécution de la commande Help…………………………………………..

Figure 21 : Figure obtenue après exécution de la commande "Help"…………….

Page 7: Rapport  de fin d'etude

7

Figure 22:réponse du serveur suit à un clic sur Register……………………………..

Figure 23:Deux softphones en mode communication…………………………………..

Figure 24 :Softphone effectuant une communication…………………………………..

Figure 25 : Arrêt du serveur……………………………………………………………

Liste des tableaux……………………………………………………………

Tableau 1 : comparaison………………………………………………….23

Tableau 2 :Classe n° Délai par sens……………………………………………….24

Tableau 3 : composants utiles…………………………………………………….34

Tableau 4 :paramètres pour configurer un compte utilisateur……………………..39

Page 8: Rapport  de fin d'etude

8

Tableau 5 :applications classique de extensions.conf………………………………43

Tableau 6 : Options de l’application Meetme……………………………………………52

Introduction

Lorsque, le 2 juin 1875, le Canadien Alexandre Graham Bell tente de transformer des ondes

sonores en impulsions électromagnétiques, nul n’imagine que ce professeur de physiologie

vocale, spécialisé dans l’enseignement du langage pour sourds et muets, allait inventer le

téléphone. Accompagné de son assistant Thomas Watson, Bell expérimente le premier modèle

de téléphone à distance limitée et à correspondance réduite : placés dans deux pièces

Page 9: Rapport  de fin d'etude

9

distinctes, les deux physiciens disposent entre eux un fil conducteur dont une extrémité est

munie d’une lamelle reliée à un électroaimant. L’expérience consiste à écarter cette lamelle de

l’électroaimant puis à la relâcher. Le résultat est prodigieux : un son se propage sur le fil

conducteur jusqu’à parvenir à l’autre extrémité du fil. Il faudra moins d’un an au scientifique

Bell, tout juste âgé de 28 ans, pour perfectionner son prototype et rendre les transmissions

d’un bout à l’autre d’un fil conducteur parfaitement intelligibles pour l’oreille humaine.

Le 10 mars 1876, à Boston, Bell communique à distance avec son assistant en prononçant sa

célèbre phrase : « Monsieur Watson, veuillez venir dans mon bureau, je vous prie. »

La téléphonie est devenue l’un des moyens de communication préférés des êtres humains, et

le nombre de terminaux téléphoniques vendus dans le monde ne cesse d’augmenter. La

téléphonie a été une véritable poule aux œufs d’or pour les opérateurs, qui ont longtemps

maintenu leurs tarifs à des niveaux assez élevés.

Aujourd’hui, la position de ces opérateurs est rapidement menacée par l’arrivée massive de la

téléphonie sur IP, dont la tarification tend vers la gratuité. L’avantage incontesté de cette

technologie est sa possibilité d’intégrer la voix, la vidéo et les données sur une même

infrastructure Internet existante déjà. Grâce à cette technologie les coûts des communications

interurbaines ont chuté de manière considérable ce qui laisse croire qu’elle a encore de beaux

jours devant elle.

Le travail présenté dans ce rapport entre dans le cadre de notre projet de fin d’études licence

option informatique le thème principal étant la mise en pratique de la Voip avec asterisk.

Apres une présentation sommaire du contexte de générale et la présentation du projet, nous

développerons les chapitres suivants: dans le chapitre II nous parlerons de la théorie de la

Voip, puis nous présenterons une pratique de voip avec Asterisk dans le chapitre III, ensuit

nous parlerons de la réalisation du projet. Nous finirons par une conclusion suivie du glossaire

et de la bibliographie.

Chapitre 1 : Contexte Générale et Présentation du projet

Ce chapitre présente d’une manière générale le contexte de travail et les objectifs de ce

présent projet.

Nous allons d’abord faire une présentation de la filière Science Mathématique informatique

puis nous donnerons une vue générale du projet c'est-à-dire une description du projet.

1.1 Présentation de la filière Science Mathématique Informatique

Page 10: Rapport  de fin d'etude

10

La filière Science Mathématique Informatique est une filière qui se veux novatrice et

pluridisciplinaire Elle permet aux étudiants d’acquérir de bonnes bases dans les domaines des

mathématiques et informatiques .A travers son programme riche et la qualité de

l’enseignement les étudiant acquiert à la fin de leur formation de connaissance solides en

informatique fondamentale, mathématique physique et langues.

Les connaissances acquises leurs permettront de poursuivre des études en Master, Doctorat,

Ecoles d’ingénieur .Ils pourront accéder aux emplois dans les différentes secteurs ou les

mathématique et l’informatique sont valorisées.

1.2 Présentation du projet

1.2.1 Cadre et Objectif du projet

L’ère nouvelle, ouverte par la forte émergence de systèmes électroniques, informatiques,

conduit à réaliser des dispositifs autonomes en forte interaction avec les utilisateurs.

La voix sur IP (en anglais, Voice over IP ou VoIP) , une technologie de communication

vocale en plein essor qui amorce un véritable tournant dans le monde de la communication

dans la mesure où elle permet la convergence données - voix - vidéos.

Comme toute innovation technologique digne de ce nom, la VoIP doit non seulement

simplifier le travail mais permettre d'économiser de l'argent. Les prix des communications de

la téléphonie sur IP, passant par internet donc, sont dérisoires comparés aux prix habituels et

cela particulièrement pour les communications longue distance. L’objectif principale de ce

projet est place un des services de communication au niveau du département d’informatique

de la faculté des Sciences Dhar El Marhaz basé sur les techniques de la voip afin de proposer

aux différents bureaux du département un poste de téléphone VoIP afin de joindre

directement n'importe quel autre bureau, via internet et dans un perspective étendre la

possibilité aux appels vers des postes téléphonique classiques

1.2.2 Planification du projet

La planification est parmi les phases d’avant projet les plus importantes. Elle consiste à

déterminer et à ordonnancer les tâches du projet et à estimer leurs charges respectives.

Parmi les outils de planification de projet, nous avons utilisé le diagramme de GANTT, c’est

un outil qui permet de planifier le projet et de rendre plus simple le suivi de son avancement.

Page 11: Rapport  de fin d'etude

11

Ce diagramme permet aussi de visualiser l’enchainement et la durée des différentes tâches

durant le projet comme il est illustré par la figure qui suit :

Figure 1:Diagramme de Gantt

1.3 Conclusion

Ce chapitre introductif a été consacré essentiellement à la présentation de

l’environnement dans lequel projet de fin d’études a été effectué. Elle a aussi mis l’accent sur

la présentation du contexte du projet, ses objectifs et sa planification.

Chapitre 2: Théorie de la Voip

2.1 .1 La teléphonie par circuit et par parquet

Dans la communication à transfert de paquets, toutes les informations à transporter

sont découpées en paquets pour être acheminées d’une extrémité à une autre du réseau.

Cette technique est illustrée à la figure 1 ci dessus.

L’équipement terminal A souhaite envoyer un message à B. Le message est découpé en

trois paquets, qui sont émis de l’équipement terminal vers le premier nœud du réseau,

Page 12: Rapport  de fin d'etude

12

lequel les envoie à un deuxième nœud, et ainsi de suite, jusqu’à ce qu’ils arrivent à

l’équipement terminal B. Dans l’équipement terminal les paquets rassemblés reconstituent le

message de départ.

Le paquet peut en fait provenir de différents médias. Sur la figure, nous supposons

que la source est un message composé de données, comme une page de texte préparée au

moyen d’un traitement de texte. Le terme message est cependant beaucoup plus vaste et

recoupe toutes les formes sous lesquelles de l’information peut se présenter. Cela va

d’une page Web à un flot de parole téléphonique représentant une conversation.

Dans la parole téléphonique, l’information est regroupée pour être placée dans un paquet,

comme illustré à la figure 2. Le combiné téléphonique produit des octets, provenant de

la numérisation de la parole, c’est-à-dire le passage d’un signal analogique à un signal

sous forme de 0 et de 1, qui remplissent petit à petit le paquet. Dès que celui-ci est plein,

il est émis vers le destinataire. Une fois le paquet arrivé à la station terminale, le processus

inverse s’effectue, restituant les éléments binaires régulièrement à partir du paquet

pour reconstituer la parole téléphonique.

Le réseau de transfert est lui-même composé de nœuds, appelés nœuds de transfert, reliés

entre eux par des lignes de communication, sur lesquelles sont émis les éléments binaires

constituant les paquets. Le travail d’un nœud de transfert consiste à recevoir des paquets

et à déterminer vers quel nœud suivant ces derniers doivent être acheminés.

Figure 2 La technique de transfert de paquets

Page 13: Rapport  de fin d'etude

13

Figure 26 Un flot de paquets téléphoniques

2.1.2 La problematique de base de la téléphonie

La voix sur IP adresse deux types d’applications : celles qui, comme la téléphonie,

mettent en jeu une interaction humaine, laquelle implique un temps de transit très court, et

celles qui transportent des paroles unidirectionnelles, qui n’exigent pas de temps réel. Cette

dernière catégorie rassemble essentiellement des transferts de fichiers contenant de la parole.

La téléphonie transportée par paquets, et plus particulièrement par paquet IP, permet

d’intégrer dans un même réseau les services de données et la téléphonie. Les entreprises sont

de plus en plus nombreuses à intégrer leur environnement téléphonique dans leur réseau à

transfert de paquets. Les avantages de cette intégration sont, bien sûr, la baisse des frais de

communication, mais aussi la simplification de la maintenance de leurs réseaux, qui passent

de deux (téléphonie et données) à un seul (données).

La difficulté de la téléphonie par paquets réside dans la très forte contrainte temporelle

due à l’interaction entre individus. Le temps de latence doit être inférieur à 300 ms si l’on

veut garder une interaction humaine acceptable. Si l’on souhaite une bonne qualité de la

conversation, la latence ne doit pas dépasser 150 ms.

Un cas encore plus complexe se produit lorsqu’il y a un écho, c’est-à-dire un signal qui

revient dans l’oreille de l’émetteur. L’écho se produit lorsque le signal rencontre un

obstacle, comme l’arrivée sur le combiné téléphonique. L’écho qui repart en sens inverse

est numérisé par un codec (codeur-décodeur) et traverse sans problème un réseau numérique.

La valeur normalisée de la latence de l’écho étant de 56 ms, pour que l’écho ne soit pas

gênant à l’oreille, il faut que le temps aller ne dépasse pas 28 ms, en supposant un réseau

symétrique prenant le même temps de transit à l’aller qu’au retour. Il faut donc que, dans les

équipements terminaux, les logiciels extrémité soient capables de gérer les retards et de

Page 14: Rapport  de fin d'etude

14

resynchroniser les octets qui arrivent. Les équipements modernes, comme les terminaux

GSM, possèdent des suppresseurs d’écho évitant cette contrainte temporelle forte.

Une autre caractéristique essentielle de la téléphonie provient du besoin d’avertir par une

sonnerie la personne qui est appelée. La communication téléphonique est pour cela

décomposée en deux phases : une première permettant d’avertir le destinataire, et une seconde

correspondant au transport de la parole proprement dite. Il existe en réalité une troisième

phase , qui consiste en la finalisation de la communication lorsqu’un des deux terminaux

raccroche. Cette phase utilise le même type de protocole que la première : un protocole

de signalisation.

2.1.3 Comparaison avec la téléphonie classique

La téléphonie classique, dite par circuit, présente les mêmes contraintes temporelles que la

téléphonie par paquet. Le temps de transit doit être limité pour satisfaire le besoin

d’interactivité entre individus.

La limitation du temps de transit entre l’émetteur et le récepteur est relativement simple à

réaliser dans une technologie circuit. Les ressources étant réservées, la voie est toujours

dégagée sur le circuit, et les ressources appartiennent uniquement aux signaux qui transitent

entre l’émetteur et le récepteur. En revanche, dans un transfert de paquets, aucune

ressource n’est réservée, et il est impossible de savoir quel sera le temps d’attente des

paquets dans les nœuds de transfert.

Dans la première génération de téléphonie, les signaux étaient analogiques. Ils parcouraient le

circuit sous la même forme que le son sortant de la bouche et n’utilisaient que 3 200 Hz de

bande passante. Ils sont ensuite devenus numériques.

Dans la téléphonie traditionnelle numérique, le signal analogique est numérisé grâce à un

codeur-décodeur, appelé codec. Le codec transforme le signal analogique en une suite de

0 et de 1. Le temps de transit est du même ordre de grandeur que le transfert du signal

analogique, car le signal ne s’arrête nulle part. La seule perte de temps pourrait provenir

du codec, mais ces équipements très rapides ne modifient pas fondamentalement le temps

de transit. En revanche, dans un réseau à transfert de paquets, de nombreux obstacles se

dressent tout au long du cheminement des informations binaires.

L’élément le plus contraignant de l’application de téléphonie par paquet reste le délai

pour aller d’une extrémité à l’autre, puisqu’il faut traverser les deux terminaux, émetteur

et récepteur, de type PC par exemple, ainsi que les modems, les réseaux d’accès, les

Page 15: Rapport  de fin d'etude

15

passerelles, les routeurs, etc.

On peut considérer que le temps de traversée d’un PC et de son codec demande quelques

millisecondes, la paquétisation de 5 à 16 millisecondes, la traversée d’un modem quelques

millisecondes également, celui d’un routeur ou d’une passerelle de l’ordre de la milliseconde

(s’il n’y a aucun paquet en attente) et celui d’un réseau IP quelques dizaines de millisecondes.

L’addition de ces temps montre que la limite maximale de 300 ms permettant l’interactivité

est rapidement atteinte le déroulement d’une communication téléphonique sur IP parcourt les

cinq grandes étapes

suivantes :

1.Mise en place la communication. Une signalisation démarre la session. Le premier

élément à considérer est la localisation du récepteur (User Location). Elle s’effectue par une

conversion de l’adresse du destinataire (adresse IP ou adresse téléphonique classique) en une

adresse IP d’une machine qui puisse joindre le destinataire (qui peut être le destinataire lui-

même). Le récepteur peut être un combiné téléphonique classique sur un réseau d’opérateur

télécoms ou une station de travail (lorsque la communication s’effectue d’un combiné

téléphonique vers un PC). Le protocole DHCP (Dynamic Host Configuration Protocol) et les

passerelles spécialisées (gatekeeper) sont employés à cette fin.

Figure 4 : Équipements à traverser par une communication téléphonique sur IP

2. Établissement de la communication. Cela passe par une acceptation du terminal

destinataire, que ce dernier soit un téléphone, une boîte vocale ou un serveur Web.

Plusieurs protocoles de signalisation sont utilisés pour cela, en particulier le protocole

SIP (Session Initiation Protocol) de l’IETF. Une requête SIP contient un ensemble d’en-têtes,

qui décrivent l’appel, suivis du corps du message, qui contient la description de la demande de

session. SIP est un protocole client-serveur, qui utilise la syntaxe et la sémantique de HTTP.

Le serveur gère la demande et fournit une réponse au client.

Trois types de serveurs gèrent différents éléments : un serveur d’enregistrement

(Registration Server), un serveur relais (Proxy Server) et un serveur de redirection

Page 16: Rapport  de fin d'etude

16

(Redirect Server). Ces serveurs travaillent à trouver la route : le serveur proxy détermine

le prochain serveur (Next-Hop Server), qui, à son tour, trouve le suivant, et ainsi de suite. Des

champs supplémentaires de l’en-tête gèrent des options, comme le transfert d’appel ou la

gestion des conférences téléphoniques.

3. Transport de l’information téléphonique. Le protocole RTP (Real-time Transport

Protocol) prend le relais pour transporter l’information téléphonique proprement dite. Son rôle

est d’organiser les paquets à l’entrée du réseau et de les contrôler à la sortie de façon à

reformer le flot avec ses caractéristiques de départ (vérification du synchronisme, des pertes,

etc.). C’est un protocole de niveau transport, qui essaye de corriger les défauts apportés par le

réseau.

4. Changement de réseau. Un autre lieu de transit important de la voIP est constitué

par les passerelles, qui permettent de passer d’un réseau à transfert de paquets à un réseau à

commutation de circuits, en prenant en charge les problèmes d’adressage, de signalisation et

de transcodage que cela pose. Ces passerelles ne cessent de se multiplier entre FAI et

opérateurs télécoms.

5. Arrivée au destinataire. De nouveau, le protocole SIP envoie une requête à la passerelle

pour déterminer si elle est capable de réaliser la liaison circuit de façon à atteindre le

destinataire. En théorie, chaque passerelle peut appeler n’importe quel numéro de téléphone.

Cependant, pour réduire les coûts, mieux vaut choisir une passerelle locale, qui garantit que la

partie du transport sur le réseau téléphonique classique est le moins cher possible.

2.1.4 Avantage de la Toip

La téléphonie n’a jamais été une application simple. Les contraintes temps réel et de

synchronisation pèsent lourdement sur sa mise en œuvre, et la téléphonie par paquet ne fait

que compliquer le transport.

Cependant, plusieurs raisons expliquent le succès de la téléphonie par paquet, et plus

spécifiquement de la téléphonie sur IP :

• Convergence. Quel que soit le type de données véhiculées, le réseau est unique :

les flux de voix, de vidéo, de textes et d’applicatifs transitent sur le même réseau.

Les communications deviennent plus riches, et sans avoir besoin de multiplier les canaux de

transport.

Page 17: Rapport  de fin d'etude

17

• Optimisation des ressources. Le réseau IP utilisant un transfert de paquets, l’utilisation des

ressources est optimisée en comparaison des solutions de type commutation de circuits. Dans

le réseau RTC, qui est à commutation de circuits, des ressources sont dédiées pour toute la

durée de la communication, qu’elles soient utilisées ou non.

Or les très nombreux silences d’une conversation téléphonique rendent le dimensionnement

du canal réservé systématiquement trop grand. Pour que la voix supporte simultanément la

superposition des deux paroles correspondant aux deux intervenants d’une communication

téléphonique (full-duplex), les réseaux RTC doivent allouer pour chaque intervenant des

canaux différents, l’un en émission, l’autre en réception.

Dans la pratique, lors d’une conversation téléphonique, une seule personne parle en même

temps. Les ressources sont donc globalement gaspillées. C’est pourquoi la réservation

effectuée dans les réseaux RTC représente un coût nettement supérieur à celui des réseaux IP.

• Coût de transport quasiment nul. Grâce à l’intégration de la téléphonie parmi de

nombreuses autres applications, le coût du transport devient pratiquement nul. Le réseau

permettant d’effectuer le transport est le réseau cœur des opérateurs, celui qui effectue tous les

transports de données. Ces opérateurs, qui étaient auparavant obligés de maintenir au moins

deux réseaux, celui de téléphonie et celui de données, n’en ont plus qu’un seul à maintenir.

L’intégration supplémentaire de la télévision dans le réseau de données fait également chuter

les coûts de transport de cette application.

• Services exclusifs. Certains services sont propres aux réseaux IP. Par exemple, le service de

présence, consistant à détecter si un utilisateur est connecté au réseau ou non, ne nécessite

aucune réservation de ressources dans un réseau IP, à la différence du réseau RTC. De façon

analogue, pour le nomadisme des utilisateurs, il est plus simple de passer, partout dans le

monde, par le réseau IP plutôt que par le réseau RTC.

• Disparition des commutateurs locaux. Liée à la précédente, cette nouvelle donne résulte

de la possibilité de gérer les téléphones depuis le réseau de l’opérateur (système Centrex). Des

solutions intermédiaires, comme les PBX-IP, permettent de passer petit à petit des circuits

numériques aux liaisons paquet IP.

2.2.5 Conclusion

La téléphonie reste une des applications dominantes du monde des réseaux, et ce pour encore

de nombreuses années, en raison notamment de l’émergence de nouveaux et immenses

Page 18: Rapport  de fin d'etude

18

marchés, comme celui de la Chine. La VoIP reste aujourd’hui majoritairement prise en charge

par les réseaux à commutation de circuits, mais une forte concurrence s’exerce avec les

réseaux à transfert de paquets.

Le passage vers le tout-IP téléphonique, permettant d’intégrer les services de données et la

téléphonie dans un même réseau, paraît inéluctable.

2.2 : Signalisation H323

La signalisation désigne la transmission d’un ensemble de signaux et d’informations de

contrôle échangés entre les intervenants d’une communication. Ces intervenants peuvent

être des entités en bout de liaison (terminaux) ou des entités intermédiaires de contrôle et

de gestion des communications. Leurs échanges permettent l’initiation, la négociation,

l’établissement, le maintien et la fermeture de la connexion.

Il convient de distinguer deux types de transferts pour comprendre à quoi correspond la

signalisation :

• le transfert de données brutes ;

• le transfert d’informations de contrôle.

Le transfert de données brutes concerne les échanges de données binaires d’un poste vers un

autre. L’objectif de ce transfert est de reproduire à l’identique des données en le faisant

transiter par un réseau.

2.2.1 Protocoles et normalisation

1996 a été une année charnière et un tournant particulièrement important pour l’essor de la

VoIP. Si cette dernière suscitait de l’intérêt auparavant, ce n’est qu’à partir de cette

année-là qu’elle commença à prendre son envol en revêtant un caractère normalisé.

Le handicap majeur qui freinait jusqu’alors le développement de la téléphonie IP résidait dans

l’incompatibilité des protocoles utilisés pour mettre en œuvre une communication audio ou

vidéo. Lorsque deux opérateurs distincts utilisent des normes de communication différentes, il

est impossible pour un utilisateur exploitant le réseau d’un opérateur de communiquer avec un

utilisateur affilié à l’autre opérateur. Pour assurer la compatibilité des communications, il était

indispensable de se fonder sur des bases communes. Pendant longtemps, un très grand nombre

de constructeurs ont tenté d’imposer leur propre protocole comme standard. Aucun de ces

Page 19: Rapport  de fin d'etude

19

protocoles propriétaires, le plus souvent coûteux et sans légitimité particulière vis-à-vis des

autres, n’a réussi à s’imposer. Chaque constructeur cultivait ainsi sa différence, se montrant

réfractaire aux autres propositions et cherchant sans cesse à améliorer le sien.

De leur côté, les entreprises se montraient sceptiques et plus que réservées à l’idée

d’installer des réseaux de téléphonie fondés sur des protocoles instables. Du reste, l’utilisation

d’Internet demeurait encore modeste à l’époque, et l’on ne parlait, dans le meilleur des cas,

que d’exploiter la téléphonie IP dans un réseau local.

En 1996, l’éditeur de logiciel Netscape, qui possédait une part de marché de 80 % avec

son navigateur Web Navigator, annonça la sortie prochaine de son logiciel de téléphonie

CoolTalk. Netscape nourrit l’attente, mais il ne put tenir la vedette. La conception d’un

protocole fédérateur devait passer par une institution, pas par une entreprise.

Cette même année 1996, l’ITU (International Télécommunications Union) proposa la

famille de protocoles H.32x, très fortement soutenu par Microsoft et Intel. L’ITU parvint

rapidement à convaincre les différents équipementiers et fournisseurs de services de la

nécessité d’adopter pour norme commune ces protocoles H.32x.

Sans être précurseurs ni de la téléphonie, ni de la vidéo, ni même de la conférence, ces

protocoles constituent immanquablement l’initiative la plus aboutie et la plus marquante

des débuts de la signalisation multimédia. La généralisation progressive et systématique

de H.323 finit par faire céder les plus récalcitrants des acteurs du multimédia, qui

abandonnèrent leurs solutions propriétaires, pourtant très évoluées. La VoIP venait de trouver

son protocole fédérateur et pouvait prendre son envol.

Depuis, le protocole H.323 a été adopté, implémenté ou supporté Sans être précurseurs ni de

la téléphonie, ni de la vidéo, ni même de la conférence, ces protocoles constituent

immanquablement l’initiative la plus aboutie et la plus marquante des débuts de la

signalisation multimédia. La généralisation progressive et systématique de H.323 finit par

faire céder les plus récalcitrants des acteurs du multimédia, qui abandonnèrent leurs solutions

propriétaires, pourtant très évoluées. La VoIP venait de trouver son protocole fédérateur et

pouvait prendre son envol.

La normalisation UIT : Fondée en 1865, l’ITU, en français UIT (Union internationale des

télécommunications), est une des organisations internationales de normalisation les plus

anciennes. Son rôle est de proposer des modèles de communication afin de favoriser les

télécommunications et les services associés, tout en réglementant au niveau mondial les

Page 20: Rapport  de fin d'etude

20

usages des protocoles. L’organisation comporte les trois comités suivants, dont les noms ont

été modifiés en 1993 à fins d’unification :

• UIT-T, pôle de standardisation des télécommunications. Ce comité normalise tout ce

qui a trait aux transmissions, au transport et aux télécommunications. Il reprend l’activité

de l’ancien CCITT (Comité consultatif international des télégraphes et des téléphones).

• UIT-R, pôle des radiocommunications. Ce comité normalise tout ce qui a trait aux

signaux vidéo et télévisuels, avec la radio analogique et numérique. Il reprend l’activité

de l’ancien CCIR (Comité consultatif international des radiocommunications).

• UIT-D, pôle de développement des télécommunications. Ce comité est chargé de

promouvoir l’assistance technique vers les pays en voie de développement. Il reprend

l’activité de l’ancien BDT (Bureau de développement des télécommunications).

• L’UIT-T a notamment défini des standards classés et référencés selon une codification

particulière. La lettre indique la série (de la première à la dernière lettre de l’alphabet) et

est suivie d’un chiffre identifiant chacune des recommandations de la série.

On retiendra notamment les séries de recommandations suivantes :

• série E pour les recommandations liées aux généralités des réseaux, des services et des

opérations, par exemple E.164 pour le plan de numérotation de la téléphonie publique

internationale ;

• série G pour les recommandations liées aux systèmes et supports de transmission

multimédia, par exemple G.711 pour le codage audio avec compression ;

• série H pour les recommandations liées aux systèmes audiovisuels et multimédias ;

• série Q pour les recommandations liées aux commutations et aux signaux ;

• série V pour les recommandations liées aux communications sur un réseau téléphonique

commuté, par exemple V.90 pour les communications avec des modems à 56 Kbit/s en

lien descendant et 33,6 Kbit/s en lien montant ;

• série X pour les recommandations liées aux réseaux de données et aux communications

entre systèmes ouverts, par exemple X.25 pour les communications en mode

point-à-point par commutation de paquets.

2.2.2 Architecture et fonctionnalité du protocoles H323

Avec le développement du multimédia sur les réseaux, il est devenu nécessaire de créer des

protocoles qui supportent ces nouvelles fonctionnalités, telles que la visioconférence : l’envoi

Page 21: Rapport  de fin d'etude

21

de son et de vidéo avec un soucis de données temps réel. Le protocole H.323 est l’un d’eux. Il

permet de faire de la visioconférence sur des réseaux IP.

H.323 est un protocole de communication englobant un ensemble de normes utilisées pour

l’envoi de données audio et vidéo sur Internet. Il existe depuis 1996 et a été initié par l’ITU

(International Communication Union), un groupe international de téléphonie qui développe

des standards de communication. Concrètement, il est utilisé dans des programmes tels que

Microsoft NetMeeting, ou encore dans des équipements tels que les routeurs Cisco. Il existe

un projet Open H.323 qui développe un client H.323 en logiciel libre afin que les utilisateurs

et les petites entreprises puissent avoir accès à ce protocole sans avoir à débourser beaucoup

d’argent.

Le protocole s’articule autour d’une architecture particulière ,cette architecture concentre les

fonctionnalités autour d’entités, ce qui explique pourquoi le protocole H.323 est considéré

comme fortement centralisé.

Les quatre entités d’une architecture H.323

Le protocole H.323 axe très fortement ses communications sur une typologie

d’équipements.

Une architecture H.323 est généralement composée des quatre catégories d’entités

suivantes :

•Terminaux (au minimum deux). Ce sont les équipements de traitement destinés aux

utilisateurs, leur permettant d’émettre et de recevoir des appels.

• Gatekeeper, ou garde-barrière. C’est l’équipement permettant la localisation des

utilisateurs. Ces derniers peuvent s’identifier entre eux par des noms, auxquels il faut

attribuer l’adresse IP correspondante dans le réseau ou, si l’appelé n’est pas situé dans

un réseau IP, la localisation de l’entité intermédiaire à joindre pour l’appel. Outre cette

fonction primordiale, un gatekeeper remplit tout un ensemble de fonctions complémentaires

de gestion et de contrôle des communications, certaines étant indispensables

et d’autres facultatives.

• Passerelle, ou gateway. C’est l’équipement permettant à des utilisateurs du réseau IP de

joindre les utilisateurs qui sont actifs sur d’autres types de réseaux téléphoniques,

RTC, RNIS ou ATM. On peut avoir autant de passerelles différentes que nécessaire, suivant

la nature des réseaux non-IP à interconnecter.

• MCU (Multipoint Control Unit), ou unité de contrôle multipoint, parfois appelée pont

multipoint. C’est l’équipement permettant la gestion des conférences, c’est-à-dire les

Page 22: Rapport  de fin d'etude

22

communications multimédias mettant en jeu plus de deux interlocuteurs. Ces derniers

doivent préalablement se connecter à la MCU, sur laquelle s’établissent les demandes

et négociations des paramètres à utiliser lors de la conférence.

Il convient de donner, la définitions des deux termes suivantes ,employé dans l’architecture

H32 3 :

• Points de terminaison. Terminaux, gateway et MCU sont des entités auxquelles les

émetteurs peuvent s’adresser directement pour communiquer. Contrairement au gatekeeper,

qui joue un rôle intermédiaire de contrôle et de gestion, ces entités sont des

points de terminaison des appels (aussi appelés endpoints).

• Zone et système H.323. La nomenclature H.323 définit deux notions qu’il convient de

bien connaître et différencier :

– Un système H.323 est défini comme un ensemble de deux terminaux au minimum,

d’autres éléments pouvant être ajoutés.

– Une zone H.323 est un ensemble de deux terminaux avec un gatekeeper au minimum,

d’autres éléments pouvant être ajoutés.

2.2.3 Fonctionnalitées avancées

Dans cette secttion nous présentons quelque fonctionnalitées complémentaire du protocle

H323 .Ces fonctionnalités ne sont pas obligatoire mais elles sont fortement recomandées.

La procédure Early H.245 : En principe, le tunnel H.245 permettant la négociation d’appel

n’est établi qu’après le message H.225.0/Q.931 SETUP. Ce message contient les paramètres

permettant la mise en place du canal H.245.

L’idée à la base de ce choix est qu’il ne sert à rien de négocier des paramètres de

communication tant que la personne appelée n’a pas accepté l’appel. Les négociations

effectuées s’avéreraient totalement inutiles si la communication ne devait pas être établie. Si

l’appel aboutit effectivement, les négociations de paramètres qui interviennent entre les

intervenants retardent sensiblement le temps d’établissement de la communication. Par

conséquent, anticiper ces actions se relève pratique. Avec la procédure Early H.245, il est

possible d’avancer l’établissement du canal H.245. Pour cela, il faut inclure les paramètres de

mise en place du canal H.245 dans un message précédant la requête SETUP. Typiquement, on

utilise la requête ALERTING pour donner ces informations.

Page 23: Rapport  de fin d'etude

23

Dès que cette dernière est reçue, l’établissement du canal H.245 peut commencer

parallèlement à la signalisation H.225.0. Globalement, cela accélère sensiblement l’étape de

négociation des paramètres effectuée avec le protocole H.245, et l’appel est plus rapidement

établi. Cette optimisation particulièrement utile est souvent disponible en complément de la

procédure FastConnect.

La procédure FastConnect : En principe, le canal H.245 permettant la négociation des

paramètres d’appel est nécessaire pour l’établissement d’une communication. On constate

cependant que l’ouverture d’un tunnel de contrôle H.245 est relativement longue et

pénalisante pour l’établissement d’une communication (de l’ordre de 15 à 30 secondes dans

l’implémentation de la première version de H.323, ce qui est excessivement long).

Tous les paramètres négociés par ce canal ne sont pas indispensables. Partant de ce

constat, à partir de la version 2 de la recommandation H.323, l’ouverture du canal H.245

a été simplifiée et rendue optionnelle, tandis que d’autres moyens ont été proposés pour

échanger les paramètres négociés par ce tunnel.

Avec la procédure FastConnect, il est possible d’inclure dans l’invitation d’appel des

informations de canal de contrôle. De cette manière, l’établissement d’un appel peut se

faire en seulement deux messages.

L’inconvénient de cette méthode est qu’elle ne permet pas la transmission d’informations

DTMF. Il s’agit néanmoins d’une optimisation indispensable à l’établissement d’appels dans

des délais raisonnables.

La procédure H.245 tunneling : Pour chaque appel, il est en principe nécessaire d’avoir

deux connexions séparées . L’une pour les messages de signalisation d’appel Q.931, l’autre

pour la mise en place du canal de contrôle H.245. Avec la procédure H.245 tunneling, il est

possible de n’avoir qu’un seul canal. Pour cela, les messages de contrôle H.245 doivent être

encapsulés dans des messages H.225.0.

La sécurité

Absents de la première version du protocole, les mécanismes de sécurité ont été ajoutés

dès la seconde avec la recommandation H.235.

En juin 2006, à l’occasion de la sixième version du protocole, la recommandation H.235 a été

totalement remaniée et restructurée autour d’une série de documents numérotés de

H.235.0 à H.235.9. Ces documents détaillent les mécanismes de sécurité ajoutés à la

norme en les répartissant en plusieurs volets, notamment les suivants :

• Authentification. Ce mécanisme permet de s’assurer de l’identité des correspondants.

Page 24: Rapport  de fin d'etude

24

Tout utilisateur doit s’authentifier auprès du gatekeeper avant d’être autorisé à émettre

ou recevoir un appel. C’est également indispensable pour garantir la bonne gestion des

facturations d’appels.

• Contrôle d’intégrité. Ce mécanisme permet de s’assurer que les données sont transmises

sans avoir été altérées ni corrompues pendant leur transfert.

• Confidentialité. Cet aspect couvre les méthodes de cryptage de données empêchant les

écoutes clandestines d’une communication.

• Non-répudiation. Ce mécanisme permet de s’assurer de la provenance d’un message

(empêchant l’émetteur de nier ultérieurement son envoi). Le protocole H.323 supporte aussi la

sécurisation des échanges multimédias via le protocole SRTP (Secure RTP).

Gatekeeper alternatif et gatekeeper affecter

Dans l’architecture H.323, les gatekeepers jouent un rôle prépondérant et sont relativement

souvent sollicités par les autres équipements, ce qui en fait des entités particulièrement

sensibles.Deux mécanismes, appelés gatekeeper alternatif et gatekeeper affecté, ont été prévus

pour améliorer la stabilité et la robustesse du réseau, même en cas de panne d’un gatekeeper.

« Gatekeeper alternatif » :Si un gatekeeper tombe en panne, un autre, le gatekeeper

alternatif, peut prendre dynamiquement le relais et traiter les appels en cours. Cette possibilité

a été introduite dans la version 2 du protocole H.323. Les terminaux qui la supportent peuvent

basculer vers un nouveau gatekeeper dès qu’ils détectent une panne de leur gatekeeper initial.

Les gatekeepers ainsi placés en redondance procurent une meilleure stabilité au réseau.

En outre, il devient possible d’effectuer de la répartition de charge afin qu’un gatekeeper

trop sollicité puisse se faire relayer par un autre.

Pour les opérateurs, cette fonctionnalité assure une meilleure disponibilité et une continuité

de services, même en cas de défaillances matérielles ou logicielles.

« Gatekeeper affecté »:Avec ce mécanisme, chaque terminal dispose par défaut d’un

gatekeeper de référence,auprès duquel il cherche systématiquement et préférentiellement à

s’enregistrer. Ce gatekeeper est appelé gatekeeper affecté. Si, à la suite d’une panne, d’une

saturation ou pour toute autre raison, la connexion avec celui-ci s’avère impossible, le

terminal doit basculer vers un gatekeeper alternatif pour continuer à communiquer

normalement.

Tout en étant sous le contrôle d’un autre gatekeeper que celui affecté, le terminal continue

à surveiller périodiquement son gatekeeper affecté afin de vérifier sa disponibilité.

Page 25: Rapport  de fin d'etude

25

En cas d’activité détectée, le terminal se réoriente vers lui pour s’y enregistrer. Cela permet de

répartir au mieux les utilisateurs entre les gatekeepers et par voie de conséquence

de disposer d’une meilleure gestion des ressources disponibles.

Cette fonctionnalité a été introduite dans la version 6 du protocole H.323.

2.2.4 Conclusion

Le standard H.323 est omniprésent dans les communications multimédia en temps réel Et il

est utilisé par plusieurs compagnies telles que Intel, Microsoft, Cisco, IBM, etc. Son

Indépendance des plates formes permet le concevoir des applications multimédia sans changer

l’infrastructure des réseaux. Nous allons étudier un autre protocole de signalisation concurrent

du H.323 appelé protocole d’initiation de session. Nous présenterons aussi une comparaison

entre ces deux protocoles.

2.3 Protocoles SIP

SIP (Session Initiation Protocol) a été normalisé par le groupe de travail WG MMUSIC(Work

Group Multiparty Multimedia Session Control). SIP est au sens propre un protocole de

signalisation hors bande pour l’établissement, le maintien, la modification, la gestion et la

fermeture de sessions interactives entre utilisateurs pour la téléphonie et la vidéoconférence,

et plus généralement pour toutes les communications multimédias. Il se situe au niveau de la

couche applicative du modèle de référence OSI et fonctionne selon une architecture client-

serveur, le client émettant des requêtes et le serveur exécutant en réponse les actions

sollicitées par le client.

Le protocole SIP a été conçu pour s’adapter à Internet, en particulier pour que le réseau

supporte des montées en charge du nombre d’utilisateurs. Pour cela, l’architecture SIP

repose sur plusieurs serveurs distincts, qui distribuent la charge du réseau en communiquant

entre eux, un peu à la manière des serveurs DNS sur Internet. Lorsque le nombre d’utilisateurs

croît, il suffit d’ajouter des serveurs disposant de fonctions dédiées pour collaborer avec ceux

déjà en place.

Cette approche se révèle hautement évolutive et flexible puisque de nouvelles fonctionnalités

peuvent à tout moment être déployées, sans avoir à modifier les composants existants.

Compatibilité : L’un des grands atouts de SIP est sa capacité à s’intégrer à d’autres

protocoles standards du monde IP. En tant que standard ouvert, il offre un service modulaire,

Page 26: Rapport  de fin d'etude

26

prévu pour fonctionner avec différentes applications, telles que la téléphonie, la messagerie

instantanée, la vidéoconférence, la réalité virtuelle ou même le jeu vidéo.

Le protocole s’insère comme une partie d’un ensemble plus générique, intitulé Internet

Multimedia Conferencing Suite. À l’image de H.323, SIP est peu à peu devenu un protocole

dit parapluie, qui encadre et rassemble plusieurs autres protocoles.

SIP peut notamment se déployer ou s’intégrer aux protocoles suivants :

• RTP (Real-time Transport Protocol), RFC 3550, qui se charge du transport des flux

temps réel.

• RTCP (Real-time Transport Control Protocol), RFC 3550, qui fournit des informations

dynamiques sur l’état du réseau.

• RTSP (Real-time Streaming Protocol), RFC 2326, pour contrôler la diffusion de flux

multimédias en temps réel.

• SDP (Session Description Protocol), RFC 2327, qui fournit la description d’une

session, c’est-à-dire les paramètres utilisés dans une communication SIP.

• SAP (Session Advertisement Protocol), RFC 2974, pour les communications multicast,

qui permet d’ajouter les spécifications d’une nouvelle session.

• MIME (Multipurpose Internet Mail Extension), RFC 2045, standard pour les

descriptions de contenus, utilisé sur Internet.

• RSVP (Resource reSerVation Protocol), RFC 2205, pour obtenir des garanties de

qualité de service et effectuer des réservations de ressources.

• HTTP (HyperText Transfer Protocol), RFC 2616, pour le traitement des pages Web sur

Internet (on peut inclure des adresses SIP directement dans des pages Web).

• MGCP (Media Gateway Control Protocol), RFC 3435, pour le contrôle des passerelles

assurant la connectivité entre un réseau IP et un réseau téléphonique.

Tous ces protocoles sont d’une nature différente de celle de SIP, et ils n’interfèrent pas

avec la signalisation. Leur utilisation conjointe est possible, voire recommandée pour

certains d’entre eux.

Cela dit, aucun d’eux n’est indispensable au bon fonctionnement de SIP, qui reste totalement

indépendant à leur égard et autorise a priori n’importe quel autre protocole. Dans

la pratique, nous verrons cependant que SIP est classiquement utilisé avec les mêmes

protocoles.

2.3.1 Architecture de SIP

Page 27: Rapport  de fin d'etude

27

L’architecture de SIP s’articule principalement autour des cinq entités suivantes :

• terminal utilisateur ;

• serveur d’enregistrement ;

• serveur de localisation ;

• serveur de redirection ;

• serveur proxy.

Terminal est l’élément dont dispose l’utilisateur pour appeler et être appelé. Il doit

donc permettre de composer des numéros de téléphone. Il peut se présenter sous la forme

d’un composant matériel (un téléphone) ou d’un composant logiciel (un programme

lancé à partir d’un ordinateur).

Serveur d’enregistrement (Registrar Server) offre un moyen de localiser un correspondant

avec souplesse, tout en gérant la mobilité de l’utilisateur. Il peut en outre supporter

l’authentification des abonnés

Serveur de localisation (Location Server) joue un rôle complémentaire par rapport au

serveur d’enregistrement en permettant la localisation de l’abonné.

Ce serveur contient la base de données de l’ensemble des abonnés qu’il gère. Cette base

est renseignée par le serveur d’enregistrement. Chaque fois qu’un utilisateur s’enregistre

auprès du serveur d’enregistrement, ce dernier en informe le serveur de localisation.

Serveur de redirection (Redirect Server) agit comme un intermédiaire entre le terminal

client et le serveur de localisation. Il est sollicité par le terminal client pour contacter le

serveur de localisation afin de déterminer la position courante d’un utilisateur.

L’appelant envoie une requête de localisation d’un correspondant (il s’agit en réalité d’un

message d’invitation, qui est interprété comme une requête de localisation) au serveur de

redirection. Celui-ci joint le serveur de localisation afin d’effectuer la requête de localisation

du correspondant à joindre. Le serveur de localisation répond au serveur de

redirection, lequel informe l’appelant en lui fournissant la localisation trouvée. Ainsi,

l’utilisateur n’a pas besoin de connaître l’adresse du serveur de localisation.

Serveur proxy (parfois appelé serveur mandataire) permet d’initier une communication

à la place de l’appelant. Il joue le rôle d’intermédiaire entre les terminaux des interlocuteurs

et agit pour le compte de ces derniers.

Le serveur proxy remplit les différentes fonctions suivantes :

• localiser un correspondant ;

Page 28: Rapport  de fin d'etude

28

• réaliser éventuellement certains traitements sur les requêtes ;

• initier, maintenir et terminer une session vers un correspondant.

2.3.2 L’adressage SIP

L’objectif de l’adressage est de localiser les utilisateurs dans un réseau. C’est une des

étapes indispensables pour permettre à un utilisateur d’en joindre un autre.

Pour localiser les utilisateurs, il faut pouvoir les identifier de manière univoque. SIP

propose des moyens très performants pour nommer les utilisateurs, grâce au concept

d’URI. Un URI définit une syntaxe permettant de désigner de manière unique, formelle et

normalisée une ressource, qu’il s’agisse d’un document textuel, audio, vidéo ou plus

généralement d’une entité logique ou physique.

Une ressource décrite par un URI peut être déplacée ou même supprimée. L’URI

correspondant n’en conserve pas moins de manière permanente la valeur descriptive de la

ressource.

Un URI est formé d’une chaîne de caractères.Tout utilisateur SIP dispose d’un identifiant

unique. Cet identifiant constitue l’adresse de l’utilisateur permettant de le localiser.

Le format d’une adresse SIP (ou URL SIP) respecte la RFC 3986 (nommée Uniform

Resource Identifier: Generic Syntax) et se présente sous la forme suivante :

sip : identifiant[:mot_de_passe]@serveur[?paramètres]

Les parties entre crochets sont optionnelles. On distingue dans cette adresse plusieurs parties :

• Le mot-clé sip spécifie le protocole à utiliser pour la communication. Par analogie avec

le Web (où une page est référencée par une adresse de type http://monsite), le mot-clé

sip précise que ce qui va suivre est l’adresse d’un utilisateur.

• La partie identifiant définit le nom ou le numéro de l’utilisateur. Cet identifiant est

nécessairement unique pour désigner l’utilisateur de manière non ambiguë.

• La partie mot_ de_passe est facultative. Le mot de passe peut être utile pour s’authentifier

auprès du serveur, notamment à des fins de facturation. C’est aussi un moyen pour joindre un

utilisateur qui a souhaité s’enregistrer sur l’équivalent d’une liste rouge : sans la connaissance

de ce mot de passe, le correspondant n’est pas joignable. De manière générale, cette

possibilité offre le moyen de restreindre l’utilisation de certains services.

Page 29: Rapport  de fin d'etude

29

• La partie serveur spécifie le serveur chargé du compte SIP dont l’identifiant précède

l’arobase. Le serveur est indiqué par son adresse IP ou par un nom qui sera résolu par DNS.

Des paramètres URI peuvent être associés à ce nom. C’est ce serveur qui sera

contacté pour joindre l’abonné correspondant. Un port peut être spécifié à la suite du serveur.

• La partie paramètres est facultative. Les paramètres permettent soit de modifier le

comportement par défaut (par exemple, en modifiant les protocoles de transport ou les

ports, ou encore le TTL par défaut), soit de spécifier des informations complémentaires

(par exemple, l’objet d’un appel qui sera envoyé à l’appelé en même temps que l’indication

d’appel, à la manière d’un e-mail précisant l’objet du message).

2.2.3 Fonctionnement

SIP permet donc de mettre en place une communication. Pour cela avant que la connexion

soit établie, il se charge d’envoyer plusieurs paquets entre les postes afin de définir le début et

la fin de la conversation, son type, et sa composante (type d’encodage utilisé pour l’audio).

Ces requêtes sont répertoriées sous divers codes :

— 1xx : Information - La requête a été reçue par le destinataire et continue à être traitée (ex :

180 = 'en train de sonner')

2xx : Succès (ex : 200 ='OK', 202='acceptée')

3xx : Redirection - Une autre action doit avoir lieue afin de valider la requête

4xx : Erreur du client - La requête contient une syntaxe fausse ou bien elle ne peut pas

être traitée par ce serveur (ex : 404 = 'Not found')

5xx : Erreur du serveur - Le serveur n’a pas réussi à traiter une requête qui semble être

correcte

6xx : Echec général, la requête ne peut être traitée par aucun serveur

On distingue également 2 modes précis d’ouverture de sessions avec SIP que l’on va détailler

:

Mode Point à point : communication entre deux postes ;

Mode diffusif : Plusieurs postes membre d’un serveur.

Mode Point à point :

Le mode point à point est donc une communication simple entre deux sans passer par une

passerelle.

Page 30: Rapport  de fin d'etude

30

Figure 5 Mode point à point

Pour ouvrir une session, un utilisateur émet une invitation transportant un descripteur de

session permettant aux utilisateurs souhaitant communiquer de s’accorder sur la comptabilité

de leur média.

L’appelant et l’appelé doivent être identifiés via son URL SIP qui est du même type qu’une

URL mailto (utilisateur@machine). Pour le mode point à point on utilise donc l’adresse IP du

poste à joindre dans le logiciel de communication : sip:nom@adresseip.

Pour ouvrir une session, l’appelant envoie une requête contenant l’URL SIP du destinataire.

Lors de la mise en place de cette communication, plusieurs paquets sont échangés entre les

deux postes :

Invite : Permet d’informer le destinataire qu’une communication veut être

établie avec lui et l’appelant.

Trying : Essai d’établir la connexion,

Ringing : Emet une sonnerie en attendant le décrochage du combiné distant.

OK : Permet d’acquitter une fois le combiné distant décroché.

ACK : Cette requête permet de confirmer que le terminal appelant a bien reçu

une réponse définitive à une requête Invite.

RTP : Retrouver les explications de ce protocole dans la partie VoIP.

BYE : Cette requête est utilisée par le terminal de l’appelé à fin de signaler

qu’il souhaite mettre un terme à la session.

Page 31: Rapport  de fin d'etude

31

Mode diffusif : Le mode diffusif, contrairement au mode point à point, utilise une passerelle

pour réaliser une communication entre deux éléments. Les clients sont enregistrés sur un

serveur appelé M.C.U.[5] qui va les identifier par rapport à un numéro. Lorsqu’un client veut

appeler quelqu’un, il ne va donc plus utiliser l’adresse IP mais sont identifiant.

Figure : Mode de diffusif

Figure 6 Mode diffusif Figure 6 :Mode diffusif

Page 32: Rapport  de fin d'etude

32

2.2.3.5 Comparaison avec H323

Le protocole H.323 présente les avantages suivants :

Il existe de nombreux produits (plus de 30) utilisant ce standard adopté par de grandes

entreprises telles Cisco, IBM, Intel, Microsoft, Netscape, etc.

Les cinq principaux logiciels de visioconférence Picturel 550, Proshare 500, Trinicon 500,

Smartstation et Cruiser 150 utilisent sur IP la norme H.323.Un niveau d’interopérabilité très

élevé, ce qui permet à plusieurs utilisateurs d'échanger des données audio et vidéo sans faire

attention aux types de média qu'ils utilisent.

Si telle sont les avantages de H323 ,ceux de Sip ne sont pas reste ,ainsi voici les avantages du

protocoles SIP

Sip est un protocole plus rapide. La séparation entre ses champs d’en-tête et son corps du

message facilite le traitement des messages et diminue leur temps de transition dans le

réseau.Nombre des en-têtes est limité (36 au maximum et en pratique, moins d'une dizaine

d'en-têtes sont utilisées simultanément), ce qui allège l'écriture et la lecture des requêtes et

réponses. Sip est un protocole indépendant de la couche transport. Il peut aussi bien s’utiliser

avec TCP que UDP.De plus, il sépare les flux de données de ceux la signalisation, ce qui rend

Page 33: Rapport  de fin d'etude

33

plus souple l'évolution "en direct" d'une communication (arrivée d'un nouveau participant,

changement de paramètres…).Pour mieux cerné la comparaison nous résumons cette dernière

dans le tableau suivant :

SIP H.323

Nombre échange pour

Etablir la connexio

1 ,5 aller Retour 6 â 7 aller retour

Maintenance du code

Protocolaire

simple Complexe et

nécessitant un

compilateur

Evolution du protocole

Protocole ouvert Ajout d’extension

propriétaire

Fonction de conférence distribuée Centralisée par le MCU

Fonction de téléservice Oui H323 V2 + H450

Detection d’un appel en

boucle

Oui Non

Signalisation multicast Oui Non

Tableau 1 : Comparaison

2.2.3.5 Conclusion

SIP a aujourd’hui les faveurs des industriels et s’impose progressivement auprès des acteurs

de la VoIP, tandis que H.323 se marginalise dans les nouveaux produits et installations. Ainsi,

des fournisseurs d’accès ADSL, tels que Free et Neuf Telecom, l’ont choisi pour assurer la

signalisation de leur service de téléphonie IP.

De même, Microsoft utilise SIP dans son serveur unifié de communications multimédias

LCS (Live Communications Server).

Le protocole SIP constitue donc un solide concurrent de H.323 : il repose sur des bases

saines et solides, que devront conforter d’importants développements pour compléter les

fonctionnalités de SIP attendues dans le futur.

2.4 Qualité de Service et sécurité

Pour transporter de la parole téléphonique, il faut que le temps de transport de bout en bout

soit limité puisque nous avons affaire à une application avec interaction humaine. Cette

limitation est d’une centaine de millisecondes pour obtenir une très bonne qualité et jusqu’à

300 ms pour une conversation passant par un satellite géostationnaire.

Page 34: Rapport  de fin d'etude

34

Pour obtenir ces temps de réponse, il faut que le réseau offre une qualité de service.

La sécurité de l’application de téléphonie sur IP n’est pas vraiment différente de celle des

autres applications du monde IP. Nous allons dans un premier temps examiner la qualité du

service qu’offre la Voip puis nous examinerons le coté sécurité de la Voip.

2.4.1 Qualité de service

Latence : La maîtrise du délai de transmission est un élément essentiel pour bénéficier d'un

véritable mode conversationnel et minimiser la perception d'écho .Or la durée de traversée

d'un réseau IP dépend de nombreux facteurs:

Le débit de transmission sur chaque lien, le nombre d’éléments réseaux traversés ,le temps de

traversée de chaque élément, qui est lui même fonction de la puissance et la charge de ce

dernier, du temps de mise en file d'attente des paquets, et du temps d'accès en sortie de

l’élément .Le délai de propagation de l'information, qui est non négligeable si on

communique à l'opposé de la terre. Une transmission par fibre optique, à l'opposé de la terre,

dure environ 70 ms.

Noter que le temps de transport de l'information n'est pas le seul facteur responsable de la

durée totale de traitement de la parole. Le temps de codage et la mise en paquet de la voix

contribuent aussi de manière importante à ce délai.

Il est important de rappeler que sur les réseaux IP actuels (sans mécanismes de garantie de

qualité de service), chaque paquet IP « fait sont chemin » indépendamment des paquets qui le

précèdent ou le suivent: c'est ce qu'on appelle grossièrement le « Best effort » pour signifier

que le réseau ne contrôle rien. Ce fonctionnement est fondamentalement différent de celui du

réseau téléphonique où un circuit est établi pendant toute la durée de la communication.

Les chiffres suivants (tirés de la recommandation UIT-T G114) sont donnés à titre indicatif

pour préciser les classes de qualité et d'interactivité en fonction du retard de transmission dans

une conversation téléphonique. Ces chiffres concernent le délai total de traitement, et pas

uniquement le temps de transmission de l'information sur le réseau.

Classe n°Délai par sens Commentaires

1 0 à 150 ms Acceptable pour la plupart des

conversations

Page 35: Rapport  de fin d'etude

35

Tableau 2: Classe n° Délai par sens

En conclusion, on considère généralement que la limite supérieure "acceptable" , pour une

communication téléphonique, se situe entre 150 et 200 ms par sens de transmission (en

considérant à la fois le traitement de la voix et le délai d'acheminement).

Perte de paquets :Lorsque les buffers des différents élément réseaux IP sont congestionnés,

ils « libèrent » automatiquement de la bande passante en se débarrassant d'une certaine

proportion des paquets entrant, en fonction de seuils prédéfinis. Cela permet également

d'envoyer un signal implicite aux terminaux TCP qui diminuent d'autant leur débit au vu des

acquittements négatifs émis par le destinataire qui ne reçoit plus les paquets.

Malheureusement, pour les paquets de voix, qui sont véhiculés au dessus d'UDP, aucun

mécanisme de contrôle de flux ou de retransmission des paquets perdus n'est offert au niveau

du transport. D'où l'importance des protocoles RTP et RTCP qui permettent de déterminer le

taux de perte de paquet, et d'agir en conséquence au niveau applicatif.

Si aucun mécanisme performant de récupération des paquets perdus n'est mis en place (cas le

plus fréquent dans les équipements actuels), alors la perte de paquet IP se traduit par des

ruptures au niveau de la conversation et une impression de hachure de la parole. Cette

dégradation est bien sûr accentuée si chaque paquet contient un long temps de parole

(plusieurs trames de voix de paquet). Par ailleurs, les codeurs à très faible débit sont

généralement plus sensibles à la perte d'information, et mettent plus de temps à «

reconstruire» un codage fidèle.

Enfin connaître le pourcentage de perte de paquets sur une liaison n'est pas suffisant pour

déterminer la qualité de la voix que l'on peut espérer, mais cela donne une bonne

approximation. En effet, un autre facteur essentiel intervient; il s'agit du modèle de répartition

de cette perte de paquets, qui peut être soit « régulièrement » répartie, soit répartie de manière

corrélée, c'est à dire avec des pics de perte lors des phases de congestion, suivies de phases

moins dégradées en terme de QoS.

2 150 à 300 ms Acceptable pour des

communication faiblement

interactives

3 300 à 700 ms Devient pratiquement une

communication half duplex

4 Au delà de 700 ms

Inutilisable sans une bonne

pratique de la

conversation half duplex

Page 36: Rapport  de fin d'etude

36

Gigue : La gigue est la variance statistique du délai de transmission. En d'autres termes, elle

mesure la variation temporelle entre le moment où deux paquets auraient dû arriver et le

moment de leur arrivée effective. Cette irrégularité d'arrivée des paquets est due à de

multiples raisons dont: l'encapsulation des paquets IP dans les protocoles supportés, la charge

du réseau à un instant donné, la variation des chemins empruntés dans le réseau, etc…

Pour compenser la gigue, on utilise généralement des mémoires tampon (buffer de gigue) qui

permettent de lisser l'irrégularité des paquets.

Malheureusement ces paquets présentent l'inconvénient de rallonger d'autant le temps de

traversée global du système. Leur taille doit donc être soigneusement définie, et si possible

adaptée de manière dynamique aux conditions du réseau.

La dégradation de la qualité de service due à la présence de gigue, se traduit en fait, par une

combinaison des deux facteurs cités précédemment: le délai et la perte de paquets; puisque

d'une part on introduit un délai supplémentaire de traitement (buffer de gigue) lorsque l'on

décide d'attendre les paquets qui arrivent en retard, et que d'autre part on finit tout de même

par perte certains paquets lorsque ceux-ci ont un retard qui dépasse le délai maximum autorisé

par le buffer.

2.4.2 La Sécurité

Plus qu’une évolution technologique, la téléphonie sur IP est aujourd’hui une application

,majeure du monde des réseaux. Son atout le plus important provient en partie de son

intégration dans le réseau de données, qui rend son coût très compétitif.

La technologie de VoIP est apparue il y a plus de dix ans. Elle a subi de multiples

standardisations internationales, qui, sans la mettre à l’abri des évolutions permanentes,

inhérentes aux technologies réseau, la rendent désormais suffisamment mature pour envisager

un déploiement à grande échelle. À condition toutefois de maîtriser la sécurité et son

intégration au monde du sans-fil. Les vulnérabilités dont les attaques peuvent avoir cinq

origines :

• les protocoles ;

• les logiciels ;

• le système d’exploitation ;

• l’infrastructure physique ;

Page 37: Rapport  de fin d'etude

37

• l’erreur humaine.

Chacune d’elles est une source potentielle de faille, qu’il convient d’étudier avec précaution

dans la mise en place d’une solution de VoIP.

Une attaque peut avoir trois objectifs :

• Acquisition de service. L’objectif d’une telle attaque est de s’approprier des droits et

fonctionnalités qui n’ont pas véritablement été attribués à l’attaquant.

• Interception de service. Cette attaque compromet la confidentialité du service et vise à en

analyser ou modifier le contenu.

• Interruption de service. L’objectif est purement de nuire au bon déroulement du service en

cherchant à le mettre hors d’usage.

2.4.2.1 Les attaques

Les attaques de sécurité réseau sont divisées en attaques passives et actives. Ces deux

classes sont elles-mêmes divisées en sous-classes. Les conséquences de ces attaques sont

le coût légal et de recouvrement et la perte d’informations propriétaires, d’image ou de

services réseau.

Une attaque est dite passive lorsqu’un individu non autorisé obtient un accès à une

ressource sans modifier son contenu. Les attaques passives peuvent être des écoutes ou

des analyses de trafic, parfois appelées analyses de flot de trafic.

Ces deux attaques passives présentent les caractéristiques suivantes :

• Écoute clandestine, ou eavesdropping. L’attaquant écoute les transmissions pour récupérer

le contenu des messages.

• Analyse de trafic, ou sniffing. L’attaquant obtient des informations en surveillant les

transmissions pour détecter des formes ou des modèles classiques dans la communication.

Une attaque est dite active lorsqu’un parti non autorisé apporte des modifications aux

messages et flux de données ou de fichiers. Il est possible de détecter ce type d’attaque.

Les attaques actives peuvent prendre la forme d’un des quatre types suivants, seul ou en

combinaison :

• Mascarade. L’attaquant usurpe l’identité d’un utilisateur autorisé et obtient ainsi

certains privilèges d’accès. Des outils tels que Registration Hijacker, Registration

Eraser, Registration Adder ou RedirectPoison permettent d’effectuer ces manipulations.

• Rejeu. L’attaquant surveille les transmissions (attaque passive) et retransmet les

Page 38: Rapport  de fin d'etude

38

messages à un utilisateur légitime. Ce type d’attaque n’est pas possible dans le cas de

la téléphonie puisque le rejeu n’est pas envisageable dans le cadre d’une application

interactive. Le rejeu pourrait éventuellement s’appliquer au cours de l’authentification.

Un programme tel que AuthTool permet de réaliser ce genre d’exploit.

• Modification de message. L’attaquant altère un message légitime en supprimant, ajoutant,

modifiant ou réordonnant du contenu. Là encore la téléphonie sur IP n’est pas

concernée directement, mais des programmes dédiés existent, tels RTP InsertSound ou

RTP MixSound.

• Déni de service, ou DoS (Deny of Service). L’attaquant prévient ou interdit l’usage

normal ou la gestion des moyens de communication. Par exemple, en envoyant des

messages en masse, les ressources d’un équipement peuvent saturer. Des logiciels tels

que UDP flooder, RTP flooder, INVITE flooder ou IAX flooder sont conçus à des fins

d’audit, avec les risques d’utilisation que cela suppose.

Ce dernier type d’attaque est une source de menace redoutable pour les solutions de

sécurité logicielle, puisque la sécurité est facilement mise en cause en cas de modification

malveillante des programmes chargés d’appliquer les protocoles et les règles de

contrôle.

L’attaque par déni de service est une des plus simples à mettre en oeuvre et est généralement

très difficile à parer dans les réseaux sans fil. Le déni de service est obtenu lorsque

l’élément que l’on attaque est submergé de messages et ne peut répondre à la demande.

Dans le cas classique, les pirates occupent un grand nombre de postes de travail et leur

font émettre des flots ininterrompus de messages qui convergent vers l’élément attaqué.

La parade est difficile puisque l’attaque peut être soudaine et qu’il n’est pas évident de

prévoir cette convergence.

Dans un réseau sans fil, un déni de service consiste à émettre un grand nombre de requêtes

d’attachement vers le point d’accès jusqu’à le faire tomber. Il est pour le moment

impossible d’empêcher un utilisateur d’émettre ce flot de requête, même s’il n’est pas

autorisé à se connecter. À chaque requête, le point d’accès doit exécuter une suite

d’instructions avant d’effectuer le refus. La seule parade connue consiste à déterminer le

point d’où provient l’attaque et à lancer une intervention humaine de neutralisation.

De nombreuses attaques de déni de service peuvent s’effectuer par l’intermédiaire du

protocole ICMP (Internet Control Message Protocol). Ce protocole est utilisé par les

routeurs pour transmettre des messages de supervision permettant, par exemple, d’indiquer

Page 39: Rapport  de fin d'etude

39

à un utilisateur la raison d’un problème. Une attaque par déni de service contre un

serveur consiste à générer des messages ICMP en grande quantité et à les envoyer au

serveur à partir d’un nombre de sites important.

Pour inonder un serveur, le moyen le plus simple est de lui envoyer des messages de type ping

lui demandant de renvoyer une réponse. On peut également inonder un serveur par

des messages de contrôle ICMP d’autres types.

Dans l’attaque par cheval de Troie, le pirate introduit dans la station terminale un

programme qui permet de mémoriser le login et le mot de passe. Ces informations sont

envoyées vers l’extérieur par un message destiné à une boîte à lettres anonyme. Diverses

techniques peuvent être utilisées pour cela, allant d’un programme qui remplace le

gestionnaire de login, jusqu’à un programme pirate qui espionne ce qui se passe dans

le terminal.

Ce type d’attaque est assez classique dans les réseaux sans fil puisqu’un client peut

s’immiscer, via le point d’accès, dans un PC et y installer un logiciel espion lui permettant

de prendre la place de l’utilisateur.

Beaucoup de mots de passe étant choisis dans le dictionnaire, il est très simple pour un

automate de les essayer tous. De nombreuses expériences ont démontré la simplicité de

cette attaque et ont mesuré que la découverte de la moitié des mots de passe des

employés d’une grande entreprise pouvait s’effectuer en moins de deux heures.

Une solution simple pour remédier à cette attaque consiste à complexifier les mots de passe en

leur ajoutant des lettres majuscules, des chiffres et des signes comme !, ?, &, etc.

L’attaque par dictionnaire est l’une des plus fréquentes dans les réseaux sans fil qui ne

sont protégés que par des mots de passe utilisateur.

Il est possible de compromettre une communication en diffusant de faux messages RTP,

conçus par un attaquant comme s’ils faisaient partie d’une communication mais qui

perturbent en réalité la réception du message audio pour le rendre incompréhensible.

En considérant le protocole de signalisation SIP, on peut imaginer des attaques à la fois

par des requêtes et par des réponses, notamment les suivants :

• Un message BYE correctement forgé par un attaquant peut mettre fin à la communication

d’autres personnes.

• Un message REGISTER contenant un enregistrement d’un utilisateur fictif est envoyé en

masse vers un serveur d’enregistrement afin de saturer les capacités de stockage de ce

Page 40: Rapport  de fin d'etude

40

dernier ou de le surcharger. Un message REGISTER contenant un enregistrement d’un

utilisateur réel vers une localisation inexacte risque de détourner la communication vers la

localisation mentionnée.

Des attaques similaires sont envisageables avec les autres protocoles de signalisation.

2.4.2.2 Les sécurités à mettre en place

La sécurité dans les réseaux téléphoniques classiques est particulièrement forte. La

disponibilité du réseau y atteint les 5 « neuf », c’est-à-dire que le système marche

99,999 % du temps. Avec la téléphonie sur IP, il faut introduire des éléments de sécurité

supplémentaires puisque le support est partagé et qu’une écoute peut se produire.

Classiquement, la sécurité s’appuie sur cinq services de base : l’identification,

l’authentification, la confidentialité, l’intégrité des données et la non-répudiation.

L’utilisateur d’un système ou de ressources quelconques possède une identité, sorte de clé

primaire d’une base de données, qui détermine ses lettres de crédits (credentials) et

autorisations d’usage. Cette identité peut être vérifiée de multiples manières, par exemple

par la saisie d’un compte utilisateur (login) ou au moyen de techniques biométriques,

telles que les empreintes digitales ou vocales, les schémas rétiniens, etc.

L’authentification a pour objectif de vérifier l’identité des personnes en communication ou

des processus remplaçant ces personnes. Plusieurs solutions simples sont mises en œuvre pour

cela, comme l’utilisation d’un identificateur (login) et d’un mot de passe (password), d’une

méthode de défi fondée sur une fonction cryptographique et d’un secret partagé.

L’authentification peut s’effectuer par un numéro d’identification personnel, comme le

numéro inscrit dans une carte à puce, ou code PIN (Personal Identification Number).

L’authentification peut être simple ou mutuelle. Dans le cadre d’une communication

téléphonique, une authentification mutuelle est conseillée. Elle consiste essentiellement à

comparer les données provenant de l’utilisateur qui se connecte à des informations stockées

dans un site protégé. Les attaques sur les sites mémorisant les mots de passe représentent

une part importante du piratage.

La confidentialité désigne la garantie que les données échangées, les paroles téléphoniques,

ne sont compréhensibles que par les deux entités qui partagent un même secret.

Cette propriété implique la mise en œuvre d’algorithmes de chiffrement en mode flux,

c’est-à-dire octet par octet, ou en mode bloc, par exemple par série de 8 octets.

Page 41: Rapport  de fin d'etude

41

Les algorithmes de chiffrement permettent de transformer un message écrit en clair en un

message chiffré, appelé cryptogramme. Cette transformation se fonde sur une ou

plusieurs clés. Le chiffrement le plus simple est celui où une clé unique et secrète est

partagée par les seuls émetteur et récepteur.

2.4.2.3 Les infrastructures de sécurité

Des mécanismes tels que la confidentialité ou l’intégrité des données peuvent être supportés à

différents niveaux de l’architecture et sur les différents tronçons, ou arcs, qui composent le

réseau. La gestion des clés de chiffrement peut être, par exemple, réalisée manuellement.

L’identification, l’authentification, la non-répudiation et les autorisations sont des procédures

mises en œuvre dans le réseau d’accès, le réseau de transport IP et le réseau de destination, un

intranet, par exemple. Ces services peuvent également être offerts au niveau applicatif.

Schématiquement, les infrastructures de sécurité des réseaux peuvent être classées en

cinq catégories :

• Chiffrement au niveau physique. Dans la cryptographie optique (PMD), le saut de

fréquences pseudo-aléatoire ou le chiffrement du flux d’octets (une méthode couramment

déployée par les banques), les clés sont distribuées manuellement.

• Confidentialité, intégrité de données, signature de trames MAC. La distribution des

clés est réalisée dans un plan particulier, décrit par la norme IEEE 802.1x. Dans ce cas,

on introduit la notion de contrôle d’accès au réseau LAN. C’est une notion juridique

importante, dont le rôle est d’interdire le transport des informations à des individus non

authentifiés, et donc potentiellement dangereux.

• Confidentialité, intégrité des données, signature des paquets IP ou TCP. C’est

typiquement la technologie IPsec en mode tunnel. Un paquet IP chiffré et signé est encapsulé

dans un paquet IP non protégé. En effet, le routage à travers Internet implique l’analyse

de l’en-tête IP par les passerelles traversées. IPsec crée un tunnel sécurisé entre le

réseau d’accès et le domaine du fournisseur de services. On peut déployer une gestion

manuelle des clés ou des protocoles de distribution automatisés, tels que ISAKMP

(Internet Security Association and Key Management Protocol). La philosophie de ce

protocole s’appuie sur la libre utilisation du réseau d’accès, qui ne va pas sans soulever

des problèmes juridiques. Par exemple, si des utilisateurs mal intentionnés protègent

leurs échanges téléphoniques, il est impossible aux réseaux traversés de détecter leur

Page 42: Rapport  de fin d'etude

42

complicité dans le transport d’informations illégales.

• Insertion d’une couche de sécurité additive. Le protocole SSL (Secure Sockets Layer)

fondé sur un chiffrement asymétrique assure la protection d’applications telles que la

navigation Web ou la téléphonie IP. SSL réalise généralement une simple authentification

entre serveur et client et négocie un secret partagé (Master Secret), à partir duquel sont

dérivées les clés de chiffrement utilisées par l’algorithme de chiffrement négocié entre les

deux parties. Une fois le tunnel sécurisé établi, le client s’authentifie à l’aide d’un login et

d’un mot de passe. Il obtient alors une identité temporaire associée à un simple cookie.

2.4.2.4 La sécurité dans la téléphonie par Wi-Fi

Pour sécuriser une communication téléphonique dans un réseau sans fil, il faut doter

l’environnement d’un certain nombre de fonctions, qui peuvent être prises en charge soit

par l’infrastructure achetée pour réaliser le réseau lui-même, soit par de nouveaux

éléments de réseau à ajouter.

De façon plus précise, il faut intervenir auprès de quatre grands types d’éléments

d’infrastructure, l’infrastructure qui permet l’authentification des clients et des équipements

de réseau, le matériel et le logiciel nécessaires pour réaliser la sécurité sur l’interface radio, les

éléments de réseau nécessaires pour filtrer les paquets et détecter les attaques et enfin les

machines nécessaires pour gérer les accès distants lorsque les utilisateurs se déplacent :

• Infrastructure d’authentification. La norme IEEE 802.1x recommande l’usage de

serveurs RADIUS (Remote Authentication Dial-In User Server). L’authentification

peut être réalisée par un serveur situé dans le domaine visité ou à l’extérieur de ce dernier.

Cette architecture établit un cercle de confiance, grâce auquel un message d’authentification

est relayé par plusieurs serveurs liés les uns aux autres par des associations de sécurité.

• Sécurité radio. La sécurité radio vise à assurer la confidentialité, l’intégrité et la signature

des paquets. Ces services sont délivrés par des protocoles tels que WEP (Wired

Equivalent Privacy), TKIP (Temporal Key Integrity Protocol) ou CCMP (Counter with

CBC MAC Protocol), normalisés par le comité IEEE 802. Ils utilisent des clés déduites d’une

clé maître au terme de la procédure d’authentification.

• Filtrage des paquets. La fiabilité de cette opération repose sur la signature des paquets à

l’aide des clés déduites de l’authentification. Grâce à ce mécanisme, les trames qui pénètrent

dans le système de distribution sont sûres (pas de risque de spoofing). Des systèmes de

Page 43: Rapport  de fin d'etude

43

filtrage (point d’accès ou portail) gèrent les privilèges des paquets IP (destruction des paquets

illicites) et permettent de réaliser et de facturer des services de QoS (Quality of Service).

• Accès aux services distants (roaming). L’accès à des services distants peut être désigné

de façon générique sous l’appellation de services VPN (Virtual Private Network).

2.4.3 Conclusion

VoIP est une application difficile à mettre en place , les architectures nécessaires demandent à

être bien conçues pour que la qualité de service soit obtenue à un coût très bas. Les réseaux

doivent être bâtis pour introduire de la qualité de service. la sécurité de la VoIP n’est pas

vraiment différente de la sécurité des applications Internet.

Chapitre 3 : Pratique de la Voip (Asterisk)

Asterisk est logiciel libre, multi plateforme, publié sous licence GPL. Asterisk permet, entre

autres, la messagerie vocale, la conférence, les serveurs vocaux, la distribution des appels,

téléphonie au sein d'un LAN. Asterisk implémente les protocoles H.323 et SIP, ainsi qu'un

protocole spécifique nommé IAX (Inter-Asterisk eXchange) : ce protocole IAX permet la

communication entre deux serveurs Asterisk ainsi qu'entre client et serveur Asterisk. Asterisk

est un PABX permettant à un ordinateur d'opérer en tant que commutateur téléphonique privé

(PBX). Ces protocoles peuvent être sollicités auprès d'un fournisseur d'accès internet ou bien

auprès d'un opérateur de voix sur IP.

3.1 Historique & Presentation d’asterisk

Asterisk est né en 1999, créé par Mark Spencer, alors é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.

Page 44: Rapport  de fin d'etude

44

Quelque temps après, il fonde la société Digium, fournisseur de cartes FXO et FXS

compatibles avec Asterisk. Son équipe s'est rapidement rapprochée de celle de Jim Dixon

(Zapata Telephony Project), dans le but de construire des cartes d'interface "bon marché" avec

le réseau téléphonique classique. Leur but était de construire des cartes compatibles avec des

plateformes basées sur Intel et ainsi de permettre à n'importe quel PC, avec le système

d'exploitation Linux, une carte d'interface et le logiciel Asterisk d'avoir un PBX entièrement

fonctionnel.

Dans la plupart des langages informatiques, l’astérisque (dont le symbole est *) est utilisé

comme caractère générique (en anglais wildcard), pour remplacer n’importe quel autre

caractère ou ensemble de caractères. Il s’agit en quelque sorte d’un joker, la carte ou

valeur qui remplace toutes les autres. C’est de ce concept de généricité, évoquant à la fois

la souplesse, l’adaptabilité et la puissance, que tire son nom le logiciel Asterisk.

Asterisk est un PBX-IP, ou IP PBX ou encore IPBX. Complet et performant, il offre une

plate-forme personnalisable et modulable pour la mise en oeuvre de services de téléphonie.

Il garantit une très large interconnexion avec plusieurs serveurs PBX, mais aussi

avec des réseaux de téléphonie non-IP.

Asterisk étant un logiciel libre d’utilisation, ses sources sont téléchargeables sous licence

GNU GPL (General Public License). Cela permet à une importante communauté de

contribuer à son développement. Des forums libres et actifs enrichissent, testent, mettent

à jour et améliorent en permanence le logiciel. Bien qu’initialement conçu pour fonctionner

sous Linux, il est aujourd’hui multiplate-forme et s’installe aussi bien sur OpenBSD

que FreeBSD, Sun Solaris, MacOS X ou Windows.

L’enjeu d’une offre telle qu’Asterisk est colossal. Pour peu que l’on dispose des

connaissances requises, il devient possible de remplacer une lourde et très onéreuse mise en

œuvre d’un équipement PBX par un simple ordinateur équipé du logiciel gratuit,

éventuellement muni de cartes d’interfaces pour l’interconnexion avec différents types de

réseaux non-IP. Le logiciel se pose en rival viable et robuste dans un marché dominé par

les géants Alcatel, Nortel, Cisco, 3Com, Avaya ou Siemens, pour ne citer que quelques uns

des équipementiers les plus connus. L’architecture du logiciel se présente comme l’indique la

figure suivante.

Page 45: Rapport  de fin d'etude

45

Figure 7 : Architecture d'Asterisk

3.2 Fonctionnalité

Asterisk propose toutes les fonctionnalités d’un standard téléphonique de niveau

professionnel, des plus élémentaires aux plus complexes. Non seulement, il permet de gérer le

routage des appels au sein du réseau, mais en plus il supporte une large gamme de services,

notamment les suivants (pour la liste exhaustive, voir le site de l’éditeur, à l’adresse

http://www.asterisk.org) :

• Authentification des utilisateurs appelants.

• Serveur vocal, ou standard d’accueil téléphonique automatisé, aussi appelé IVR (Interactive

Voice Response). Cette fonction permet de demander à l’appelant le service qu’il souhaite

utiliser et d’effectuer le routage correspondant.

• Numérotation abrégée pour définir des raccourcis.

• Transfert d’appel.

• Filtrage des appels.

• Messagerie vocale (répondeur automatique).

• Notification et écoute par e-mail des messages laissés sur son répondeur (voicemail).

• Gestion des conférences.

• Double appel.

• Mise en attente.

• Journalisation des appels.

• Facturation détaillée.

Page 46: Rapport  de fin d'etude

46

• Enregistrement des appels.

• Listes noires

.Messagerie SMS

• Heure et date d'appels

• Identification de l'appelant

• Indicateur visuel de message en attente

• Identification de l'appelants sur appel en attente

• Redirection des messages vocaux par courriel

• Insertion de messages vocaux dans courriels

• Interface Web pour la gestion des messages

• Intégration à différents types de SGBDR ,Musique d'attente ... etc

Le logiciel peut être utilisé comme une passerelle ToIP hétérogène. Par exemple, des

utilisateurs utilisant différents protocoles de signalisation, comme H.323 ou SIP, peuvent être

mis en relation. C’est le logiciel qui se charge d’effectuer les conversions de signalisation. De

la même manière, il peut servir de passerelle pour joindre des correspondants dans le réseau

téléphonique RTC. Enfin, le logiciel est modulable et extensible au moyen de scripts et de

modules implémentés en langage C ou Perl.

Figure 8 Exemple d’un architecture avec Asterisk

3.3 Télechargements des modules

Page 47: Rapport  de fin d'etude

47

En exploitant un ensemble de fichiers restreint, le PBX Asterisk offre une gamme de

possibilités de configuration extrêmement large, répondant aux besoins les plus divers et

permettant une personnalisation très évoluée.

Nous commencerons par installer et exécuter le serveur avec une configuration par

défaut. À ce stade, le serveur sera fonctionnel sans être exploitable. À partir de cet

environnement, stable et propre, et auquel il sera possible de revenir ultérieurement en cas de

problème, nous passerons à l’étape de configuration des fichiers, avant de nous pencher

sur la mise en place de quelques services de base. Nous évoquerons ensuite des techniques

d’optimisation de la configuration. Nous terminerons enfin par la présentation de

fonctionnalités plus évoluées et fournirons des pistes pour poursuivre l’étude du logiciel

de différentes manières.

3.3.1 Se connecter au réseau téléphonique traditionnel

En VoIP pure, le logiciel Asterisk est d’emblée fonctionnel, si bien qu’aucun composant

supplémentaire n’est nécessaire. Cependant, le réseau téléphonique traditionnel utilisant

une commutation par circuits, et non par paquets comme dans la téléphonie IP, il est

nécessaire de s’équiper d’une interface permettant d’effectuer la conversion des signaux

d’un flux IP en un flux RTC et réciproquement.

Ces interfaces sont disponibles facilement dans le commerce, généralement sous

forme de cartes PCI, à installer sur son PC, ou de boîtiers, à connecter en USB. Ils offrent

plusieurs branchements pour disposer de plusieurs lignes téléphoniques en parallèle .Selon les

modèles, il faut en outre installer le pilote de la carte, fourni par le constructeur ,permettant au

système d’exploitation de la reconnaître comme nouveau périphérique matériel et de la rendre

disponible et configurable avec Asterisk.

On distingue les deux formats d’interface suivants :

• FXS (Foreign eXchange Subscriber), qui permet le branchement d’un téléphone

analogique sur le serveur Asterisk. Si l’on ne souhaite pas investir dans l’achat

d’équipements purement IP, il est possible d’utiliser son téléphone analogique habituel

en le reliant au serveur Asterisk par le biais d’une carte FXS. La carte assure la

fonctionnalité de conversion dans les deux sens d’un signal numérique en un signal

Page 48: Rapport  de fin d'etude

48

analogique.

• FXO (Foreign eXchange Office), qui permet le branchement du serveur Asterisk sur

une ligne téléphonique classique. Pour interagir avec le monde RTC et dépasser le cadre

du réseau purement IP, cette carte assure la jonction avec la téléphonie RTC. Elle joue

le rôle de passerelle en faisant communiquer tout utilisateur connecté à Asterisk avec

des utilisateurs connectés au réseau RTC.

Dans le cas où l’on souhaite supporter la connectivité avec le réseau téléphonique RTC,

il est nécessaire d’installer les drivers Zaptel et Libpri. Tous deux concernent la gestion

des cartes FXO/FXS avec Asterisk pour des composants de type Zaptel ou « Zaptel

compliant », c’est-à-dire conformes aux composants de type Zaptel, sans être pour autant

standards.

3.3.2 Télécharger les composants utiles

Les composants d’Asterisk se présentent sous forme d’archives portant l’extension

.tar.gz et non de fichiers binaires, qu’il faut compiler puis installer manuellement.Ces

composants sont disponibles, à l’adresse « http://www.asterisk.org/download (ou

ftp://ftp.digium.com/pub/) ». Le site est en anglais, mais la section de téléchargement

(download) est facilement identifiable. Comme le logiciel est libre et assez répandu, il dispose

de multiples miroirs. On y trouve les modules récapitulés au tableau 12.1.

Module Description

Asterisk Cœur du logiciel, ce programme est le seul véritablement

indispensable à son fonctionnement.

Il est donc indispensable de le télécharger.

Asterisk-addons Ce paquetage comporte le code source du logiciel Asterisk,

ainsi que plusieurs modules

complémentaires qui peuvent se révéler utiles. Il est

vivement recommandé de l’installer

Asterisk-sounds Ces modules sont fournis sur plusieurs fichiers de

paquetage. Ils fournissent une quantité de

sons qui peuvent être utilisés dans des messages d’accueil

ou pour signaler à l’appelant div erses

Page 49: Rapport  de fin d'etude

49

informations. Ces messages audio sont disponibles en trois

langues, anglais, espagnol et

français, et sous plusieurs formats de codec, comme G.711,

G.722, G.729 et GSM. L’utilisation

de ces sons n’étant pas limitative, il est possible, en

respectant les formats supportés par Asterisk,

d’en ajouter de sa propre composition ou issus d’autres

sources . Ces paquetages ne sont

pas indispensables, mais seulement pratiques. Ils peuvent

être ajoutés ultérieurement.

Libiax Cette bibliothèque de codes source pour les

communications utilisant le protocole IAX n’est

pas indispensable. Elle est surtout destinée au

développement de clients IAX. Nous reviendrons,

plus loin dans ce chapitre, sur le protocole IAX.

Libpri Cette bibliothèque est utilisée pour assurer l’interface avec

différents types de réseaux non-IP.

Zaptel Ce paquetage contient les pilotes permettant de prendre en

charge les cartes d’interface

avec les réseaux non-IP. La section qui suit présente les cas

où il est indispensable d’installer

ce composant.

Tableau 3 :composants utiles

3.4 Installation et Configuration d’Asterisk

3.4.1 Installation

L’installation d’un serveur Asterisk peut se faire selon deux méthodes soit a l’aide de l’outil

apt (plus utiliser sur les distrubion comme Debian ) ou télécharger les outils décris ci-

dessus et décompressé les modules.

3.4.1.1Installation avec l’outil apt

Page 50: Rapport  de fin d'etude

50

Mise à jour de la liste des paquets disponibles. Avec le terminal sous Debian saisir la

commande : « Apt-get update » comme l’illustre la ligne suivante. Sous Ubuntu on doit se

connecter en mode root sinon mettre sudo puis la commande .

Cheick# apt-get update

Installation du serveur Asterisk et de toutes ces dépendances

Cheick # apt-get install asterisk

Installation des voix françaises d’Asterisk.

Cheick# apt-get install asterisk-prompt-fr

Pour finir l’installation il faut autoriser le démarrage du service. Il faut modifier un ficher à

l’aide de l’éditeur de texte nano ou autre.

Cheick# nano /etc/default/asterisk

Et modifier le champ.

RUNASTERISK=yes

Voilà notre serveur Asterisk est installé. Nous allons apprendre à démarrer le service.

3.4.1.2 Installation du serveur à apartir des modules télécharger

Une fois les téléchargements terminés, on peut ouvrir un terminal, se placer à l’emplacement

où les archives ont été téléchargées puis saisir la commande qui suit pour chacune

des archives que l’on a récupérées.

Cheick # tar -xzvf nom_du_composant_à_installer

nom_du_composant_a_installer représente le nom de l’archive téléchargée. Chacune des

archives a été décompressée dans un répertoire portant le nom du composant. Les sons

n’ont pas besoin d’être installés ; il suffit, une fois l’installation effectuée, de les placer

dans le répertoire de sons d’Asterisk (par défaut /var/lib/asterisk/sounds). Par contre,

les autres programmes, doivent être installés.

Page 51: Rapport  de fin d'etude

51

Installer les programmes

Les commandes suivantes permettent d’effectuer la compilation et l’installation d’un

composant :

Cheick #cd nom_du_repertoire_du_composant_à_installer

Cheick #cd make

Cheick #cd make install

La première ligne permet de se placer à l’intérieur de répertoire qui a été décompressé

précédemment, la seconde lance la compilation du programme et la troisième lance son

exécution. Les mêmes commandes sont à reproduire pour chacun des composants, en se

plaçant chaque fois dans le répertoire adéquat.

Important

Il faut respecter l’ordre d’installation des composants. Si l’on souhaite les utiliser, les modules

Libpri et Zaptel doivent impérativement être installés avant le serveur Asterisk. Le module

Asterisk-addons peut être installé à la fin.

Première Lancement du serveur

L’étape d’installation achevée, il faut la tester en lançant le serveur Asterisk, afin de vérifier

son bon fonctionnement. Asterisk n’impose pas de fonctionnement par défaut. Il ne dispose

d’ailleurs pas de fichier de configuration préétabli lui conférant initialement un modèle de

fonctionnement.

La manière dont les appels téléphoniques sont dirigés n’est donc pas encore spécifiée.

À ce stade, le serveur n’est pas exploitable.

Pour l’utilisateur débutant, il est préférable de commencer en partant d’une base de

fichiers que l’on adaptera par la suite selon ses besoins. Nous allons demander à Asterisk

de nous préparer une configuration initiale. Pour cela, nous utilisons un terminal, et nous

nous plaçons dans le répertoire source d’Asterisk (celui dans lequel nous avons lancé

l’installation), pour saisir la commande suivante :

Cheick# make samples

À présent, des fichiers standards sont générés et exploitables. Cette commande est utilisable à

tout moment pour revenir à un état de base dont la configuration est valide, sans avoir à lancer

une nouvelle installation du serveur. C’est une configuration de référence.

Démarrage

Page 52: Rapport  de fin d'etude

52

Comme pour tous services nous avons la possibilité de le démarrer arrêter ou autres avec

l’une des commandes suivantes:

Cheick# cd /etc/init.d pour se placer dans le fichier /etc/init.d

asterisk stop

asterisk start

asterisk restart

Diagnostique

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:~# asterisk –r

Ou bien

Asterisk:~# rasterisk

L’option «-r» signifie que l’on se connecter au processus asterisk en cours d’exécution. A

cette option on peut ajouter l’option « -v »pour indiquer le niveau de verbosité afin d’avoir

plus d’information pour aider la configuration. Une fois connecté à Asterisk via la console,

plusieurs commandes utiles, internes à la console sont disponibles :

• « help » : liste des commandes et aide associée ;

• « reload » : recharge tous les fichiers de configurations ;

• « restart now » : relance complètement et immédiatement Asterisk ;

• « sip reload » : recharge le fichier sip.conf ;

• « sip show peers » : voir le status des peers SIP ;

• « sip show channels » : permet de voir les canaux actifs ;

• « sip set debug » : permet de voir les messages SIP qui passent par le serveur ;

• « dialplan reload » : recharge le fichier extensions.conf ;

• « agent show » : voir le status des agents ;

• « agent logoff name » : déconnecter l’agent name.

Nous pouvons afficher pour connaître les utilisateurs connectés qui utilisent le protocole SIP,

on utilise la commande sip show peers, comme ci-dessous:

*CLI> sip show peers

Page 53: Rapport  de fin d'etude

53

Name/username Host Dyn Nat ACL Port Status

trunck_A_vers_B 192.168.2.202 D 5060 Unmonitored

Nous pouvons également afficher l’état des lignes quand le serveur Asterisk se comporte

comme un client SIP avec la commande suivante :

*CLI> sip show registry

Host Username Refresh State Reg.Time

192.168.1.101:5060 trunck_A_vers_B 105 Registered Sun, 22 Apr 2011 19:13:20

3.4.2 Configuration

Comme le serveur Asterisk ne sera pas configuré avec la CLI, il va falloir modifier certains

fichiers de configuration avec l’éditeur de texte nano(ubuntu) ou autre. Pour une

configuration de base, il suffit d’éditer trois fichiers de configuration. Ces trois fichiers sont :

sip.conf, extension.conf et voicemail.conf. Le détail de ces fichiers est détaillé plus loin.

3.4.2.1Fichiers de configuration d’Asterisk

3.4.2.1 sip.conf

Rôle

Le fichier sip.conf est utilisé pour configurer les logins et mots de passe de tous les

périphériques. Ces périphériques peuvent être des téléphones, des passerelles analogiques ou

encore d’autres serveurs. Ce fichier est organisé en différentes zones appelées « context ».

Context general

Le context general définit :

Le context par défaut des comptes créés.

les paramètres TCP/IP du serveur.

le langage des messages vocaux.

Voici un exemple opérationnel :

[general]

context=local ; context par défaut pour les utilisateurs

bindport=5060 ; port UDP du protocole SIP

Page 54: Rapport  de fin d'etude

54

bindaddr=0.0.0.0 ; adresse IP de l’interface sur lequel le serveur va écouter le ; trafic

0.0.0.0 pour toutes les interfaces

language=fr ; messages vocaux en français

Context utilisateur

D’autres contexts sont utilisés pour créer des comptes utilisateur. Les paramètres des comptes

peuvent être :

le login

le mot de passe

context, ce paramètre permet de gagner de la souplesse dans le routage des appels

mailbox, ce paramètre est utile pour la messagerie vocale

c’est avec les paramètres nat et cannreinvite que l’on peut contrer le problème du

routage NAT

[Rayane] ; obligatoire ; login SIP

secret=azerty ; obligatoire ; mot de passe SIP

callerid="Rayane" <200> ; facultatif ; nom affiché et numéro affiché sur le téléphone de

l'appeler

context=local ; obligatoire ; les appels que fait l'utilisateur ; seront gérés dans le context

"local" du fichier ;

extension.conf mailbox=200@default ; facultatif ; compte de messagerie vocal, voir ;

voicemail.conf type=friend ; obligatoire ; autorise les appels entrant et sortant

host=dynamic ; obligatoire ; adresse IP du client

nat=yes ; facultatif ; résoud le pb de l'enregistrement SIP ; quand le téléphone est derrière un

NAT

canreinvite=yes ; facultatif ; résoud le problème du flux RTP quand le ; téléphone est

derrière un NAT

Context pour les passerelles

Il existe différentes passerelles. Ces passerelles permettent les communications vers le réseau

France Télécom analogique ou numérique mais aussi GSM. Pour pouvoir fonctionner, ces

passerelles doivent avoir des comptes. Ces comptes se configurent de la même façon que les

comptes utilisateurs, exemple :

[SPA-3102-PSTN]

secret=azerty

context=local

Page 55: Rapport  de fin d'etude

55

type=friend

host=dynamic

Nous resumons dans le tableau suivant les paramètres pour configurer un compte utilisateur

Paramètre

Description

Username Identifiant de l’utilisateur

secret Mot de passe associé au compte

Type Indique le type de compte, et les restrictions

associées. On distingue trois types de comptes :

– Friend : permet d’appeler et d’être appelé

(autorise les appels entrants et sortants).

– User : permet seulement d’être appelé (appels

entrants).

– Peer : permet de définir une liaison entre deux

terminaux seulement.

Host Spécifie une adresse IP à partir de laquelle

l’utilisateur peut accéder à son compte. La valeur

dynamic

autorise une adresse IP fournie dynamiquement, par

un serveur DHCP notamment. Cette

valeur est donc moins restrictive.

Callerid Nom de l’utilisateur, entre guillemets, suivi de son

extension téléphonique, c’est-à-dire de son

numéro d’appel (au format de la RFC 822).

Context Spécifie le type de routage à appliquer pour

l’utilisateur. Le type de routage correspond à un

contexte défini dans le plan de numérotation

(fichier extensions.conf). Les communications avec

cet utilisateur sont donc soumises au contexte du

même nom dans le fichier extensions.conf.

Language Spécifie la langue utilisée pour les fichiers audio.

Par exemple : language=fr.

Allow Liste les codecs autorisés par l’utilisateur de ce

compte.

Par exemple, pour autoriser le codec G.711, selon la

loi mu, on saisira: allow=ulaw.

Ce même paramètre est aussi valable pour spécifier

les codecs vidéo (par exemple : allow=h263)Il

est possible d’en mentionner autant que l’on

souhaite, en répétant ce paramètre autant de fois.

disallow Interdit les codecs qui sont mentionnés à sa suite.

Une valeur possible de ce paramètre est all. Dans

ce cas, aucun codecs ne sera utilisable par

l’utilisateur concerné, sauf ceux spécifiés

Page 56: Rapport  de fin d'etude

56

explicitement

dans le (ou les) paramètre(s) allow.

Nat Précise si les flux traversant un réseau utilisent la

translation d’adresse (NAT). La valeur du paramètre

nat est yes ou no.

Ce paramètre est souvent indispensable car

l’utilisation du nat est classique, même chez les

particuliers.

Canreinvite Ce paramètre peut prendre les valeurs yes ou no. Si

sa valeur est fixée à yes, Lorsqu’une communication

est en train de s’établir le serveur Asterisk va

récupérer des informations (notamment vers

qui envoyer les flux) et ils les réémettra dans un

nouveau message d’invitation une fois que la

communication

sera acceptée seulement.

Attention, si l’utilisateur se trouve derrière un NAT,

il est indispensable de mettre la valeur de ce

paramètre à no pour laisser passer les flux

multimédia correctement, car le nouveau message

d’invitation du serveur Asterisk ne tiendrait pas

compte du NAT.

mailbox

Indique la boite vocale associée à ce compte. Nous

détaillons ce paramètre et son utilisation à la

section qui traite de la messagerie audio.

dtmfmode

Ce champ indique le type de tonalité DTMF qui sera

appliqué. Les valeurs possibles sont inband,

rfc2833, info ou auto

Tableau4 : des paramètres pour configurer un compte utilisateur

3.4.2.2 extension.conf

Le fichier extension.conf est utilisé pour router les appels vers un utilisateur ou vers sa

messagerie. Par exemple, les appels provenant de comptes SIP dont le context est « local »

seront traités dans l’extension « local » du fichier extension.conf. Les instructions exten sont

utilisées comme suit :

Numéro

appelé

Ordre

d’instruction

Action

effectuée

Temps en seconde avant de passer à l’instruction

suivante (en fonction de l’action)

Exten =>

200,

1,

Dial

(SIP/Rayane,

10)

Page 57: Rapport  de fin d'etude

57

Routage d’appel vers un utilisateur

Dans l’exemple suivant, les appels arrivant sur le serveur Asterisk à destination du numéro

200 sont envoyés vers le téléphone de Rayane pendant 10 secondes puis sont envoyés sur la

messagerie de Rayane.

[local]

exten => 200, 1, Dial(SIP/Rayane, 10) exten => 200, 2, VoiceMail(200)

Routage d’appel vers un groupe d’utilisateurs

Dans l’exemple suivant, les appels arrivant sur le serveur Asterisk à destination du numéro

205 sont envoyés vers le téléphone de John puis vers le téléphone de Fred. Remarque :

l’instruction Goto() permet de renvoyer l’appel où l’on veut dans le fichier extension.conf.

Dans notre cas, l’appel basculera du téléphone de John au téléphone de Fred jusqu’à ce qu’un

des deux décroche.

[local]

exten => 205, 1, Dial(SIP/Rayane, 10)

exten => 205, 2, Dial(SIP/cheick, 10)

exten => 205, 3, Goto(local,205, 1)

Routage vers plusieurs téléphones en même temps

L’exemple suivant montre comment faire sonner deux téléphones en même temps. Quand on

compose le 206, les téléphones de John et de Fred sonnent.

[local]

exten => 206, 1, Dial(SIP/Donald&SIP/Lionel, 10)

Accès à la messagerie vocale

Voici deux exemples d’accès à la messagerie. Dans le premier cas, l’utilisateur doit composer

sur son clavier numérique son login et son code pin. Dans le second exemple, le login

correspond au numéro de l’appelant. L’utilisateur doit juste composer son code pin.

exten => 298, 1, VoiceMailMain()

exten => 299, 1, VoiceMailMain(${CALLERIDNUM})

Routage d’appel vers une passerelle analogique

Dans l’exemple suivant, tous les appels commençant par quatre cent sont envoyés vers la

passerelle. La passerelle va composer le numéro sur la ligne analogique.

exten => _4xx, 1, Dial(SIP/SPA-3102-PSTN/${EXTEN})

Page 58: Rapport  de fin d'etude

58

Dans l’exemple suivant, les appels commençant par 01, 02, 03, 04 ou 05 composés de 10

chiffres sont envoyés vers la passerelle. La passerelle va composer le numéro sur la ligne

analogique.

exten => _0[1-5]xxxxxxxx, 1, Dial(SIP/SPA-3102-PSTN/${EXTEN})

Dans l’exemple suivant, quand on compose le zéro, l’appel est envoyé vers la passerelle et

l’on obtient la tonalité. Nous pouvons ensuite composer le numéro vers l’extérieur.

exten => 8, 1, Dial(SIP/SPA-3102-PSTN)

Standard automatique

Le standard automatique permet à un utilisateur d’écouter un message lui indiquant les choix

possibles. Après, il lui suffit de presser une des touches pour effectuer l’action voulue. Il est

possible de combiner les menus pour développer une architecture plus complexe. Dans

l’exemple suivant, quand l’utilisateur compose le 210, il entend un message vocal qui l’invite

à taper 1, 2 ou 9 sur son clavier. S’il tape 1, l’appel est envoyé à John. S’il tape 2, l’appel est

envoyé à Fred. S’il tape 9, Asterisk raccroche. Si l’utilisateur ne fait rien, le message est joué

en boucle.

[local]

exten => 210, 1, Goto(Menu,s,1) ; appel du standard automatique

[Menu] ; standard automatique

exten => s, 1, Background(/var/msg/Menu) ; le message audio enregistré ;

/var/msg/Menu.gsm et joue

exten => s, 2, WaitExten(2) ; on attend 2 sec

exten => s, 3, Goto(Menu,s,1) ; on recommence le tout

exten => 1, 1,SayNumber(1)

exten => 1, 2, goto(local,200, 1) ; 1 Appel Donald exten => 2, 1, SayNumber(2)

exten => 2, 2, Goto(local,201, 1) ; 2 Appel Lionel exten => 9, 1, SayNumber(9)

exten => 9, 2, Hang up() ; 9 On raccroche

Astuce : pour enregistrer le message vocal au bon format, il vous suffit de laisser un message

sur la boîte vocal d’un utilisateur et de copier le fichier dans le répertoire /var/msg/ avec la

commande suivante.

Page 59: Rapport  de fin d'etude

59

cp /var/spool/asterisk/voicemail/default/200/INBOX/msg0000.gsm /var/msg/Menu.gsm

Horloge parlante

Dans l’exemple suivant le serveur Asterisk décroche, annonce la date et l’heure, attend 3

secondes et recommence.

exten => 211, 1, Answer ; horloge parlante

exten => 211, 2, SayUnixTime(,CET,AdbY \'digits/at\' kM)

exten => 211, 3, Wait(3)

exten => 211, 4, Goto(local,211, 2)

Outil de test de flux

Dans l’exemple suivant Asterisk décroche et joue un message expliquant le fonctionnement

de la fonction de test. C’est ensuite à l’utilisateur de parler dans le combiné et de vérifier que

le serveur Asterisk renvoie le son vers le combiné avec un petit décalage.

exten => 212, 1, Answer ; permet de tester les flux entrant et sortant

exten => 212, 2, Playback(demo-echotest)

exten => 212, 3, Echo()

Le tableau suivant décrit quelques applications classiques. L’application définit l’action à

entreprendre pour appliquer le service sollicité par l’utilisateur appelant. Le serveur Asterisk

dispose d’un grand nombre de procédures déterminant le comportement à adopter, c’est-à-dire

la manière de traiter les flux audio

Application Description

Answer Répond à un appel téléphonique entrant.

Background Lit un message audio de manière non bloquante. Autrement dit, une saisie

d’une ou plusieurs touches

par l’appelant est possible en parallèle. Dans ce cas, la lecture du message

audio en cours est interrompue.

L’extension correspondant aux touches saisies par l’appelant est

automatiquement appelée.

Cela permet notamment de présenter une information facultative, comme

une publicité ou un menu, que l’appelant peut interrompre dès qu’il a pris

connaissance de l’option qui l’intéresse.

Dial Met en relation l’appelant et l’utilisateur ou le service spécifié en argument

de l’application Dial. Cette commande est donc utilisée pour affecter un

numéro de téléphone à un utilisateur, à un terminal ou à un service.

En argument de l’application, il faut indiquer le nom du compte à contacter,

préfixé par le protocole de

signalisation que le compte utilise (IAX2, SIP, etc.). Cela permet au serveur

Asterisk de déterminer dans quel fichier de configuration se trouvent les

propriétés du compte appelé (iax.conf, sip.conf, etc.). Il est possible

Page 60: Rapport  de fin d'etude

60

d’appeler plusieurs correspondants en même temps en mettant leur

extension respective en arguments de l’application Dial, séparés par le

caractère & (esperluette). Par exemple : Dial (SIP/1001 &

SIP/1005) fait sonner les postes affectés aux comptes 1001 et 1002 en

même temps. Il est aussi possible d’ajouter un argument à l’application

mentionnant la durée pendant laquelle la tentative d’appel doit s’effectuer.

Par exemple : dial (SIP/identifiant, 30 ) permet de faire sonner le téléphone

de l’identifiant pendant une durée de 30 secondes.

Echo Retourne l’écho de ce que l’appelant prononce. Cette application est utile

notamment pour tester que les composants audio de réception et d’émission

du son sont fonctionnels

Goto Branchement inconditionnel vers un contexte, une extension et une priorité

particuliers.

GotoIf Branchement conditionnel vers un contexte, une extension et une priorité

particuliers lorsqu’une

condition est vérifiée.

GotoIfTime Branchement conditionnel vers un contexte, une extension et une priorité

particuliers lorsqu’une condition temporelle est vérifiée.

Hangup

Termine une communication.

meetmee Invite un utilisateur à participer à une conférence identifiée en argument de

l’application Meetme

Playback Lit un message audio de manière bloquante : la lecture du message doit se

faire intégralement, et l’appelant ne peut interrompre cette diffusion par une

saisie de touche sur le clavier téléphonique.

queue Met en attente une communication.

Read Lit une variable. L’appelant est invité à entrer une valeur qui est

sauvegardée sous forme de variable par le système. Cela permet notamment

de demander un mot de passe à l’utilisateur avant d’accéder à un service

spécifique

Record Enregistre une communication dans un fichier son.

Response

TimeOut

Spécifie en argument un délai au bout duquel l’attente du serveur expire.

SayAlpha Annonce vocale de caractères textuels spécifiés en argument de

l’application

Saydigit Annonce vocale de chiffres spécifiés en argument de l’application

SayNumber Annonce vocale de nombres spécifiés en argument de l’application

SayPhonetic Annonce vocale d’un message phonétique spécifié en argument de

l’application

SayUnixTime Annonce vocale de l’heure, selon différents formats

SendText Envoie un message textuel à l’utilisateur.

SMS Envoi et réception de messages instantanés SMS

System Exécute une commande système du système d’exploitation.

Transfer Transfère l’appel vers un autre poste ou service.

VoiceMail Laisse un message vocal.

VoiceMainMail Accède au système de messagerie vocale.

Page 61: Rapport  de fin d'etude

61

Wait Attend pendant un certain délai spécifié en argument

WaitExten

Attend une saisie d’une extension par l’utilisateur.

Tableau 5 : applications classiques de extensions.conf

3.4.2.3 voicemail.conf

Rôle

Le fichier voicemail.conf permet de configurer la messagerie vocale d’Asterisk. Nous

pourrons y paramétrer la notification par email des messages et les logins des utilisateurs de la

boîte vocale.

Context general

Le context general permet de spécifier :

* Le format des fichiers audio enregistrés

* Si l’on veut attacher le fichier audio à l’email

* L’objet de l’email

* Le corps de l’email

[general]

format=gsm

attach=yes

emailsubject=Nouveau message vocal provenant de ${VM_CIDNAME}

emailbody=\n\tBonjour ${VM_NAME},\n\n\t Tu as un message de la part de

${VM_CIDNAME} d'une durée de ${VM_DUR} datant du ${VM_DATE}

Voici une liste des variables utilisables dans l’objet et le corps des emails :

VM_NAME nom d'utilisateur

VM_DUR durée du message

VM_MSGNUM numéro du message

VM_MAILBOX numéro de l'utilisateur

VM_CIDNUM numéro du l'appelant

VM_CIDNAME nom de l'appelant

VM_DATE date du message

\n retour à la ligne

\t tabulation

Context default

Page 62: Rapport  de fin d'etude

62

Voici un exemple de context defaut, on y retrouve

Le numéro de boîte vocale

Le code pin de la boîte vocale

Le nom de l’utilisateur

L’adresse email de l’utilisateur

[default]

200 = 123, John, [email protected]

201 = 456, Fred

202 = 789, Mike

Notification par email

Pour qu’Asterisk puisse envoyer les emails aux utilisateurs, il faut installer un serveur SMTP.

Nous pouvons utiliser postfix dont l’installation se fait de la manière suivante commande :

Asterisk:~# apt-get install postfix

Il faut maintenant configurer le relais SMTP, en spécifiant l’adresse du serveur SMTP de

votre FAI. Avec l’éditeur de texte nano, nous allons modifier le champ relayhost dans le

fichier /etc/postfix/main.cf

relayhost = smtp.free.fr

Voilà notre serveur Asterisk opérationnel. Il ne nous reste plus qu’à configurer nos téléphones

et nos passerelles. Nous présentons quelques clients open source et leur mode configuration

dans le paragraphe suivant .

3.5 Client

Le client SIP (Soft Phone) permet de jouer le rôle d’un téléphone IP de manière logiciel. Il

requière un système de son (carte son, baffles, micro,...) pour l’utiliser. Ces clients permettent

de remplacer des téléphones IP matériels onéreux (100, 200€).

Beaucoup de client existe plus au moins évolue, cependant certains sont des client propriétaire

et ne sont pas utilisables avec Asterisk.

Page 63: Rapport  de fin d'etude

63

3.5.1 X-Lite

Ce client est un des plus abouti en termes de fonctionnalités, de fiabilités et de simplicité. Il

permet la gestion de contactes et de groupes et fait également la messagerie instantané. Il

existe en version payante (EyeBeam) (Plusieurs comptes SIP, support de la vidéo,...). Il

fonctionne également sous Windows.

Pour configurer le client X-Lite, un simple clic droit n’importe où dans l’interface ouvre

un menu contextuel permettant d’accéder au menu « SIP Account Settings ». Dans la fenêtre

qui s’ouvre, il suffit de renseigner les champs suivants :

• identifiant affiché pour l’utilisateur (Display Name), pouvant être formé de caractères

Alpha numériques ;

• identifiant servant à loguer l’utilisateur (User Name) ;

• mot de passe associé (Password) ;

• nom sous lequel l’autorisation d’accès est possible (Authorization user name) ;

• nom de domaine (Domain) ;

• adresse du serveur proxy (Proxy Address), c’est-à-dire le serveur Asterisk lui-même

Il est possible d’indiquer son nom si celui-ci est résolu par un serveur DNS en local ou, à

défaut, d’utiliser l’adresse IP du serveur Asterisk.

Pour que l’authentification soit possible, ces valeurs doivent être conformes à celles

saisies dans le fichier sip.conf du serveur Asterisk.

Figure 9 XLite

Page 64: Rapport  de fin d'etude

64

3.5.2Windows Messenger

C’est un logiciel de messagerie instantanée et de visioconférence développé par Microsoft et

n’existe pas sous Linux. Il est compatible avec SIP et permet de communiquer avec un

serveur type Asterisk.

Configuration du client en protocole SIP :

Cocher Service de communications SIP au démarrage du logiciel

Aller dans le menu Outils options comptes Avancé et renseigner le nom

ou l’adresse IP du serveur en précisant le protocole UDP

Pour passer un appel

Aller dans Actions démarrer une conversation vocale et dans le champ adresse de

messagerie on renseigne l’ID (ou le nom) de l’appelant et l’adresse IP ou le nom du serveur

Asterisk.

Figure 10 Windows Messenger

3.5.3 SJPhone

Ce logiciel gère les deux normes SIP et H.323 ce qui le rend compatible avec la plupart des

vendeurs et fournisseur de services en téléphonie IP et existe également sous Linux.

Configuration du client SJphone en protocole SIP :

Dans le menu Options Profiles on crée un nouveau profil "New"

Dans le champ Proxy domain on rentre l’adresse IP du serveur avec le numéro de port

:5060 correspondant au protocole SIP.

Page 65: Rapport  de fin d'etude

65

Figure 11 :SJPhone

3.5.4Linphone

Linphone est un client exclusivement Linux. Etant assez basique, il fait uniquement les

fonctions nécessaire pour une communication SIP.

Configuration du client en protocole SIP :

Dans le Menu Aller à _ Préférences, un menu apparaît

Dans l’onglet SIP, spécifier l’ID de l’utilisateur et l’adresse IP du serveur

Figure 27 Linphone

Page 66: Rapport  de fin d'etude

66

3.5.5 Les logiciels SIP pour mobiles

Tous les téléphones qui sont compatibles Wi-Fi comme l'iPhone n'ont pas automatiquement

une couche SIP par défaut. Dans ce cas il faut télécharger et installer un programme afin de

passer des appels VoIP.

3.6 Téléphones Nokia compatibles SIP d'origine

Nokia E51, Nokia E61 ; Nokia E65 ; Nokia E90 ;Nokia N81 & N81 8GB ; Nokia N8 ; Nokia

N95 & N95 8GB ; Nokia N96.

Pour les téléphones qui seraient compatible Wi-Fi mais sans couche SIP, vous pouvez

télécharger le programme Fring à l'adresse suivante : www.fring.com

configuration

Menu>Outils>Paramètres>Connexion>Paramètres SIP>Options>Nouveau mode SIP>Utiliser

mode par déf.

Renseignez ensuite les champs suivants :

Nom du mode : donner un nom quelconque

Mode du service : IETF

Point d'accès par défaut : choisissez votre réseau WiFi

Nom d'utilisateur public : votre_identifiant@ asterisk

Utiliser la compression : Non

Inscription : Toujours activée

Utiliser sécurité : Non

Serveur proxy

Adresse serveur proxy : ippi.fr

Domaine : asterisk

Nom d'utilisateur : votre identifiant

Mot de passe : mot de passe

Autorise routage lache : Oui

Type de transport : UDP ou Auto

Port : 5060

Page 67: Rapport  de fin d'etude

67

Une fois ces paramètres introduits, vous devriez passer du statut "non inscrit" au statut

"inscrit".

3.7 Ajouter de Nouveau service

Notre plate-forme Asterisk étant désormais pleinement opérationnelle, nous pouvons

installer sur le serveur quelques services classiques. Dans ce paragraphe nous présentons la

mise en œuvre de certains services comme le Call Back, la Conférence, IVR

Standard vocal automatique (IVR)

Il est possible d’installer un IVR (Integrated Voice Responder), ou standard vocal

automatique, permettant à l’appelant de sélectionner lui-même la personne ou le service avec

lequel il souhaite entrer en communication.

Le standard automatique propose des menus à choix multiples conduisant à diverses

actions spécifiques, telles que des annonces informatives, le relais vers un service approprié,

l’accès à des services de type répondeur ou la mise en relation avec un poste téléphonique

particulier.

L’exemple suivant de standard vocal automatique est un cas d’école, puisque incomplet.

Si l’utilisateur compose la touche étoile, il est invité à saisir le numéro de poste téléphonique

qu’il souhaite contacter. Ce numéro lui est répété avant la mise en communication.

Les erreurs et attentes sont également traitées.

exten => *, 1, Goto (menu_choix, s, 1)

[menu_choix]

exten => s, 1, Background (enter-ext-of-person)

exten => 1, 1, Playback(you-entered)

exten => 1, 2, Playback(digits/1)

exten => 1, 3, Dial(SIP/guy)

exten => 1, 4, Hangup()

exten => 2, 1, Playback(you-entered)

exten => 2, 2, Playback(digits/2)

exten => 2, 3, Dial(SIP/laurent)

exten => 2, 4, Hangup()

exten => i, 1, Playback (pbx-invalid)

exten => i, 2, Goto (menu_choix, s, 1)

exten => t, 1, Hangup ()

La première ligne permet d’accéder au contexte [menu_choix] lors de la saisie de la

touche étoile. Un message est alors diffusé pour demander à l’appelant de choisir le

numéro de poste téléphonique qu’il souhaite joindre. Nous traitons dans cet exemple

Page 68: Rapport  de fin d'etude

68

deux postes, numérotés 1 et 2.

Les possibilités sont les suivantes :

• L’appelant saisit la touche 1 (extension 1) : un message audio lui répète la touche qu’il

vient de saisir, puis le système lance l’appel vers le poste numéro 1, qui est attribué à

l’utilisateur guy (en signalisation SIP).

• L’appelant saisit la touche 2 (extension 2) : comme précédemment, après la confirmation

de la saisie, la communication vers le poste 2 attribué à l’utilisateur laurent est

initiée (en signalisation SIP).

• L’appelant saisit une autre touche que 1 ou 2 (extension i) : un message audio

l’informe de l’invalidité de la saisie, puis l’étape précédente est immédiatement

réactivée, l’invitant à saisir une nouvelle touche.

• L’appelant ne saisit aucune touche pendant un délai déterminé (extension t) : l’appel se

termine aussitôt.

Conférence

Deux étapes suffisent pour mettre en place une conférence avec Asterisk : créer les salons

de conférence virtuelle et y inviter des participants.

Créer des salons virtuels de conférences (fichier meetme.conf)

Pour créer des salons de conférences, il suffit de configurer le fichier meetme.conf en

ajoutant à la section [rooms] le code suivant

conf => numero_de_conference

[ , code_accès_simple ]

[ , code_accès_administrateur ]

Le mot-clé Conf correspond à une nouvelle salle de conférence virtuelle, définie au minimum

par l’indication d’un numéro de salle (numero_de_conference). Il peut être

complété optionnellement par un code d’accès que l’utilisateur devra fournir pour accéder

à la salle virtuelle et éventuellement d’un code d’accès permettant de reconnaître

l’administrateur, auquel des droits de gestion du salon virtuel sont attribués .Exemple de salon

conf => 770, 123, 456

Cela crée un salon d’identifiant 770, auquel les utilisateurs peuvent accéder en indiquant

le code 123 et dont l’administrateur s’identifie par le code 456

Page 69: Rapport  de fin d'etude

69

Inviter des participants à la conférence (application Meetme)

Pour inviter des participants à entrer dans la salle de conférence, il faut les aiguiller en

utilisant le plan de numérotation et l’application Meetme.

Pour rediriger une communication vers la conférence précédente, Il suffit d’utiliser

l’appel Meetme (770) dans le fichier extensions.conf.

Par exemple, si l’appelant compose le numéro 770, l’extension suivante l’invite à rejoindre

la conférence 770 :

exten => 770, 1, Meetme (770)

Il est possible d’ajouter en second argument de l’application Meetme une ou plusieurs

des options récapitulées au tableau 12.7 (s’il y en a plusieurs, les options sont indiquées

en se succédant sans caractère de séparation).

Option Description

m Active le mode monitor : les participants peuvent écouter, mais pas parler

p Un participant peut quitter la conférence en pressant la touche dièse.

t Active le mode talk : les participants peuvent parler, mais pas écouter.

v Active le mode video.

q Mode silencieux (quiet) : aucun son n’est émis lorsque des utilisateurs

entrent dans la conférence

ou en sortent.

d Ajoute une conférence dynamiquement.

m Active une musique d’attente lorsqu’il n’y a qu’un seul par ticipant à la

conférence

B Lance le script AGI spécifié dans la variable

MEETME_AGI_BACKGROUND (celle-ci doit avoir

été initialisée auparavant).

Tableau 6 :Options de l’application Meetme

Page 70: Rapport  de fin d'etude

70

3.7 Callback avec Asterisk

Ce qu'on appelle callback, est, comme son nom l'indique, se faire rappeler. L'intérêt se trouve

dans le fait que si vous avez un abonnement illimité (tel que Voip Stunp), et au moins deux

lignes, vous pouvez passer des appels depuis n'importe quel fixe, gratuitement.

Comment ca marche

Vous appellez votre asterisk, il vous demande un code, vous lui donnez, vous raccrochez, et

Asterisk vous rappelle 15 secondes plus tard. A ce moment la, vous tapez le numero de votre

correspondant, il l'appelle, et vous ne payez donc pas la communication !

Il existe aussi une autre possibilité. Certain réseau de téléphonie mobile propose un forfait,

pour un cout très faible, vers un seul numéro de fixe. La encore, Asterisk peut servir de

passerelle. Il faut dans ce cas là la "Présentation du numéro".

L'extension

Les messages à enregistrer

Nous aurons besoin de quelques messages pour rendre notre système plus "humain".

Pour les enregistrer, on peut utiliser un programme spécial, convertir dans le format

d'Asterisk, etc... Mais on peut aussi utiliser tout Asterisk !

Pour se faire, nous allons creer une petite extension. Dans le contexte des telephones, ajoutez :

exten => 2223,1,Answer()

exten => 2223,2,Playback(vm-callsender)

exten => 2223,3,Record(/tmp/rec:gsm|7)

exten => 2223,4,Playback(/tmp/rec)

exten => 2223,5,Hangup()

Page 71: Rapport  de fin d'etude

71

vm-callsender est un message déjà présent dans Asterisk, que nous utilisons simplement pour

savoir à quel moment parler :)

Le fichier enregistré sera donc /tmp/rec, au format gsm (suffisant). Le 7 signifie d'attendre 7

secondes de blanc avant la fin de l'enregistrement. Pourquoi autant de temps ? Tout

simplement parce que nous utiliserons la fonction Read(), qui ne lit les chiffres que durant la

lecture d'un message préenregistré. Donc si le message ne dure que 3 secondes, ca sera

compliqué.

Apres chaque message, pensez a déplacer le fichier parmi ceux d'Asterisk.

Vous aurez besoin de 3 messages :

"Tapez vôtres code"

"Tapez le numéro"

"Merci"

Le mot de passe

Dans le contexte de réception d'appelle, on va donc demander le mot de passe, et le contrôler.

Mais d'abord, il faut régler quelques paramètres, sinon il y a quelques problèmes avec le

DTMF :

exten => <login>,1,SetLanguage(fr)

exten => <login>,2,SIPDtmfMode(inband)

exten => <login>,3,DigitTimeout(4)

exten => <login>,4,ResponseTimeout(5)

Ensuite, on va donc utiliser la fonction Read, pour récupérer le mot de passe, et GotoIf, pour

vérifier que c'est bien le bon.

Page 72: Rapport  de fin d'etude

72

exten => <login>,5,Read(Secret,rc-code,4)

exten => <login>,6,GotoIf($[${Secret} = 1234] ? 7 : 11)

exten => <login>,7,Playback(rc-merci)

Le style du GotoIf, envoie donc sur 7 si le passe est bien 1234, sur 11 sinon.

Le Callback

Il faut maintenant faire appeler Asterisk. On ne peut bien sur pas utiliser Dial, car si on

raccroche, ca s'arrête, et donc le Dial ne se fera pas. Asterisk prévoit donc une autre solution.

Il faut placer dans un dossier spéciale (/var/spool/asterisk/outgoing/) un fichier avec les bons

paramètres, et l’abonnement (ex VoipStund) effectuera un appel.

Il y a encore un problème, asterisk vérifie ce dossier très souvent (mais vraiment, plusieurs

fois par seconde), donc on ne peut pas éditer le fichier directement dans le dossier, sinon il

risque d'en prendre que la moitie. Il faut donc éditer ailleurs, et faire un mv. Mais la encore,

un autre problème se pose. Asterisk va rappeler trop vite... Asterisk prévoit donc de regarder

la date du fichier, si elle est dans le futur, il attendra cette date la (impossible tout de même

dans notre cas, ca ne gère pas trop les secondes, et comme on ne veut pas attendre plus d'une

minute, on fera autrement).

Voici le contenu du fichier :

Channel: SIP/<num>@VoipStund-out

MaxRetries: 2

RetryTime: 10

WaitTime: 20

Context: Recall

Extension: s

Priority: 1

C'est l'endroit ou Asterisk ira apres que le téléphone distant ait répondu.

Dans le context. On a donc vu qu'il faut écrire ce fichier, et attendre 15 secondes avant de le

placer dans le dossier outgoing. On peut donc ajouter après la demande de mot de passe :

Page 73: Rapport  de fin d'etude

73

exten => <login>,8,system(echo -e "Channel: SIP/${CALLERIDNUM}@VoipStund-

out\\nMaxRetries: 2\\nRetryTime: 10\\nWaitTime: 20\\nContext: Recall\\nExtension:

s\\nPriority: 1" > /tmp/recall.call)

exten => <login>,9,system(/etc/asterisk/recall.sh &)

exten => <login>,10,system(echo "${DATETIME} - ${CALLERID} - ${CHANNEL}" >>

/tmp/recall.log)

exten => <login>, 11, Hangup ()

Voici le fichier recall.sh (qui pourrait être dans n'importe quel langage, tant qu'il est

executable) :

#!/bin/sh

# on creer un nom de fichier unique pour éviter les écrasements

fn="/tmp/$$.`date +%s`"

mv /tmp/recall.call $fn

sleep 15

exec mv $fn /var/spool/asterisk/outgoing

On doit en faire un deamon car pour qu'asterisk ne bloque pas dessus en attendant la fin de

l'exécution. Maintenant Asterisk peut nous appeller, mais il reste encore le contexte Recall a

créer

Le contexte Recall

[Recall]

exten => s,1,SetLanguage(fr)

exten => s,2,SIPDtmfMode(inband)

exten => s,3,DigitTimeout(4)

exten => s,4,ResponseTimeout(5)

exten => s,5,Read(Teltotel,rc-num,10)

exten => s,6,Dial(SIP/${Teltotel}@VoipStund-out)

exten => s,7,hangup()

Une autre version vous permet d'obtenir une confirmation du numero :

Page 74: Rapport  de fin d'etude

74

[Recall]

exten => s,1,SetLanguage(fr)

exten => s,2,SIPDtmfMode(inband)

exten => s,3,DigitTimeout(4)

exten => s,4,ResponseTimeout(5)

exten => s,5,Read(Teltotel,beep,10)

exten => s,6,SayDigits(${Teltotel:0:1})

exten => s,7,SayDigits(${Teltotel:1:1})

exten => s,8,SayNumber(${Teltotel:2:2})

exten => s,9,SayNumber(${Teltotel:4:2})

exten => s,10,SayNumber(${Teltotel:6:2})

exten => s,11,SayNumber(${Teltotel:8:2})

exten => s,12,WaitExten

exten => #,1,GoTo(Recall,s,1)

exten => i,1,GoTo(Recall,s,1)

exten => t,1,GoTo(Recall,s,1)

exten => *,1,Dial(SIP/${Teltotel}@voipStund-out)

exten => *,2,Hangup()

Si le numero est le bon, appuyez sur *, sinon # et recommencez :)

Passerelle

Pour la solution depuis un téléphone portable, il suffit de mettre dans le contexte de réception

d'appel :

exten => <login>/<votre_num_tel>,1,Goto(Recall,s,1)

Comme Asterisk est sur que l'appelle vient bien de votre téléphone, il n'est pas nécessaire de

passer par la demande de mot de passe.

Récapitulatif

Page 75: Rapport  de fin d'etude

75

Voici la totalité du code :

[entrant]

exten => <login>,1,SetLanguage(fr)

exten => <login>,2,SIPDtmfMode(inband)

exten => <login>,3,DigitTimeout(4)

exten => <login>,4,ResponseTimeout(5)

exten => <login>,5, Read(Secret,rc-code,4)

exten => <login>,6,GotoIf($[${Secret} = 1234] ? 7 : 11)

exten => <login>,7,Playback(rc-merci)

exten => <login>,8,system(echo -e "Channel: SIP/${CALLERIDNUM}@VoipStund-

out\\nMaxRetries: 2\\nRetryTime: 10\\nWaitTime: 20\\nContext: Recall\\nExtension:

s\\nPriority: 1" > /tmp/recall.call)

exten => <login>,9,system(/etc/asterisk/recall.sh &)

exten => <login>,10,system(echo "${DATETIME} - ${CALLERID} - ${CHANNEL}" >>

/tmp/recall.log)

exten => <login>,11,Hangup()

[Recall]

exten => s,1,SetLanguage(fr)

exten => s,2,SIPDtmfMode(inband)

exten => s,3,DigitTimeout(4)

exten => s,4,ResponseTimeout(5)

exten => s,5,Read(Teltotel,rc-num,10)

exten => s,6,Dial(SIP/${Teltotel}@wengo-out)

exten => s,7,Hangup()

Le fichier /etc/asterisk/recall.sh :

#!/bin/sh

# on créer un nom de fichier unique pour éviter les écrasements

fn="/tmp/$$.`date +%s`"

Page 76: Rapport  de fin d'etude

76

mv /tmp/recall.call $fn

sleep 15

exec mv $fn /var/spool/asterisk/outgoing

3.8 Conclusion

Ouvert à tous, gratuit, simple à utiliser, puissant et performant, Asterisk a vraiment de

quoi séduire, et même rivaliser avec les équipements professionnels. En fait, les vrais

concurrents d’Asterisk ne sont pas les autres PBX logiciels, mais les PBX hardware eux

mêmes.

Dans un secteur en pleine mutation, où le monde RTC s’efface au fur et à mesure que le

monde IP prend sa place, Asterisk influence d’ores et déjà les stratégies des équipementiers

en montrant la voie.

Chapitre 4: Réalisation du projet

Ce chapitre a caractère partique decris les étapes de realisation du projet dont l’objectif

principale est de mettre en palce un service de communication basé sur les techniques de la

Voip au sain du departement informatique afin de facilité la communication .

Nous commençons par donner une description du departement , puis les outils.

4.1Departement Informatique

Le departement informatique est constituer de plusieurs bureaux et salles de cours et de Tp et

de laboratoire .Chaque bureau dispose d’une connexion Adsl cablé .Afin de faciliter la

communication entre les différentes bureaux du departement nous propons la mise en place de

Page 77: Rapport  de fin d'etude

77

reseaux téléphonique utilisant les infractructures de réseau existantes à travers l’architecture

suivant.

Routeur

4.2 Mise en place de l’arhitecture

Pour mettre en place cette architecture nous avons besoin de postes (Windows ouUnix ) un

routeur ,des cables un poste serveur ,des softphones.Etant donné que le departement dipsose

d’un dipsostif reseau nous allons juste l’exploiter .

Pour la mise en place du serveur nous allons devoir télécharger les différentes composante

nécessaire comme décrsi dans la section pratique de la Voip. Une fois les composante

télécharger il nous reste plus qu’a configurer un des postes qui jouera le role du serveur

comme le montre l’architecture . Le système d’exploitation de cette poste doit etre un

système Unix ,il nous faut donc avant d’installer le serveur installer une distribution unix sur

ce poste .Nous ne detaillerons pas le procédure d’installation ici.

Pour permetre la communication entre les différentes postes il nous faut installer des sofphone

libre téléchageable gratuitement sur Internet. Nous avons déjas fait une description de

quelques un dans la partie pratique du rapport.

Afin de faciliter l’usage des sofphone nous proposon un plan de numerotaion simple c'est-à-

dire que nous attribuer a chaque softphone un numero constitué de deux chiffre exemple :01

et comme identifiant du softphone nous donnerons le nom responsable du poste .

Une fois toute les configuration fait ,voici le departement disposant de son service de

communication securiser et fiable.Des exemples d’interfaces ci dessous permet d’avoir une

vue sur le fonctionnement du serveur asterisk.

Pour configurer un cleint il nouveau édité le fichier «Sip.conf » qui se trouve dans

« /etc/asterisk ».Pour pouvoir accéder à ses fichires il faut donc se placer dans le

Figure 13 Architecture du systeme de communication

Page 78: Rapport  de fin d'etude

78

repertoire« asterisk » du repectoire « etc ».La figure suivant montre les commande a executer

pour se palcer dans le fichier « etc/asterisk ».

Figure 14 : exécution de commande permettant de se placer dans le repertoire

"etc/asterisk"

Etant dans le répertoire « etc/asterisk », pour éditer le fichier « Sip.conf » on procède comme

indique la figure ci-dessous.

Figure 15:commande pour éditer le fichier "sip.conf"

Ici nous éditons le fichier avec l’editeur nano .On peut donc voir le contenu du fichier comme

l’indique la figure ci-dessous. C’est dans ce fichier qu’on crée les clients suivants les régles

decritent dans la section pratique de ce rapport.

Figure 16:fichier Sip.conf

Voici un exemple de configuration de client

Page 79: Rapport  de fin d'etude

79

Figure 17 : Exemple de configuration de clients

Sur cette figure, nous avons la configuration deux clients nommés Phone1 et Sip.idefisk5

.Vous trouverez dans le chapitre 3 la signification des termes.

Apres avoir configuré les clients, il faut leur attribuer des numéros par lesquels ils pourront

être joint .Pour cela il faut editer le fichier « extensions.conf » comme le montre la figure 5.

Pour pouvoir éditer on procède la même manière que celle du fichier « Sip.conf » .

Figure 18:fichier extensions .conf

Cette figure montre le contenu du fichier Sip.conf dans lequel nous avons créé un context

général et un autre context nommé sip .C’est dans le context Sip que nous avons défini les

plans de numérotations .Ainsi Phone1 est joignable par le numéro« 01 ».Apres configuration

des clients et definitions des numéros nous pouvons commencer à passer les appels .Pour y

Page 80: Rapport  de fin d'etude

80

parvenir il faut lancer le serveur .Avec les commandes « asterisk –r » on obtient une interface

comme le montre la figure suivante :

Figure 19:Lancement du serveur

Cette figure montre que notre serveur est opérationnel. Une fois le serveur démarrer nous pouvons voir

les clients en ligne a l’aide la commande « Sip show peers ».

Figure 20:figure obtenue avec la commande "Sip show peers"

On cantate que nous avons huit(8) clients configurer, deux en lignes et les sept sont

déconnectés. Les deux clients en lignes peuvent donc passer des appels et en recevoir. Sur

l’interface du serveur on peut exécuter plusieurs commandes .Exemple pour obtenir de l’aide

il suffit de saisir « help ». Voir figure suivant

Figure 21 : Exécution de la commande Help

Page 81: Rapport  de fin d'etude

81

L’exécution de cette commande permet d’avoir de l’aide concernant le fonctionnement du

serveur .Nous obtenons une réponse du serveur de la forme suivant :(voir figure)

Figure 22 : Figure obtenue après exécution de la commande "Help"

Avec certain softphone comme zoiper on peut savoir si le client est bien connecté ou pas. Sur Zoiper il

suffit de cliqué sur « Register » .Si le client est bien enregistré, sur l’interface du serveur on peur voir

ce ci :

Figure 23:réponse du serveur suit à un clic sur Register

Le serveur signal l’enregistre du compte sip.Idefisk2 et 3.C’est deux sofphones sont

opérationnel et nous pouvons commencer les appels. La figure suivant montre deux

softphones en communication.

Page 82: Rapport  de fin d'etude

82

Figure 24:Deux softphones en mode communication

Sur cette figure le sofphone Xlite a composé le « 02 » mais n’a pas lancé l’appel. Le même

softphone a reçu sur la ligne 3 un appel venant du client (Zoiper). Nous voyons que nous

pouvons passer plusieurs appels et en recevoir plusieurs sur même sofphone. La figure

suivante ,nous permet de voir un poste en plein communication .

Figure 25 :Softphone effectuant une communication

Ce poste a recu un appel d’un poste ayant comme numéro « 04 ». L’appel se fait sur la ligne 2

du sofphone.Apres avoir effectuer tous les service que l’veux pour arreter le serveur il suffit

de d’excuter la commande « exit » . L’execution de cette est ilustrée dans la figure 13.

Figure 26 : Arrêt du serveur

Page 83: Rapport  de fin d'etude

83

4.3 Conclusion

La voix sur IP (Voice over IP) est une technologie de communication vocale en pleine émergence En

plus de représenter un intérêt économique majeur, la téléphonie sur IP utilise jusqu’à dix fois moins de

bande passante que la téléphonie traditionnelle. Ceci apporte de grand intérêt pour la voix sur réseau

privé. Les avantages techniques sont multiples ; transfert d’appels instantanés, multi-conférences,

adaptation, standardisation et contrôle des communications téléphoniques, choix du réseau (privé,

public), services multi-Play (sons, vidéos et données), possibilités d’évolutions, Just Call-it, Click to

call .

Ainsi la mise en place d’un service de communication au sain du département d’informatique

s’avère utile car elle facilitera les échanges d’information entre les différents bureaux et cela a

un cout minime.

Conclusion générale

La téléphonie sur IP constitue incontestablement une attraction de taille à la fois pour les

Equipementiers, les opérateurs, les entreprises et le grand public. Si les enjeux économiques

justifient largement cette convoitise, il ne faut cependant pas négliger les contraintes

techniques à surmonter.

Durant le présent projet de fin d’études, il nous a été confié la mission, d’étudier et mettre en

place le service de communication basée sur les techniques de la VoIP au sain du département

informatique de la faculté des sciences.

Pour cela, notre travail a été décomposé en plusieurs étapes majeures dont l’un des plus

importantes fut l’étude des bases de la téléphonie sur IP.

L’élaboration de ce travail nous a permis, d’approfondir les connaissances et le

savoir faire et de mettre en pratique nos connaissances théoriques acquises en cours de

réseaux et télécommunications.

Le travail réaliser pourrait être complété et poursuivi sous différents aspects,

notamment :

Extension du service a tous les départements de la faculté

Sécurisation du serveur.

Mise en place d’une passerelle RTC afin de permet les appels externes

Page 84: Rapport  de fin d'etude

84

Bibliographie

Ouvrage :

[Ouvr1] :Laurent Ouakil Guy Pujolle ‘Téléphonie sur IP’ 2 Edition Eryolles

[Ouvr2] : Philippe Sultan ‘ Cahiers de l’Admin Asterisk La téléphonie d’entreprise libre’

Edition Eryolles

[Ouvr2]:O’ Reilly ‘Asterisk the future of telephony’

Webographie

WWW.google.fr

www.asterisk.org

www.asterisk-france.org

www.asteriskguru.com

www.commentcamarche.net

www.iki.sos-admin.com/wiki

Glossaire des Acronymes

A

ACK:accusé de reception

ADSL: Asymmetric Digital Subscriber Line

ATM:Asynchronous Transfer Mode

C

CCMP: Counter with CBC MAC Protocol

D

DHCP : Dynamic Host Configuration Protocol

DNS : Domain Name System

DOS: Deny of Service

DTMF : Dual-tone multi-frequency

Page 85: Rapport  de fin d'etude

85

F

FAI :Fournisseur d'accès à Internet

FXO : Foreign eXchange Office

FXS : Foreign eXchange Subscriber

G

GSM : Global System for Mobile Communications

GNU : General Public License

GPL : General Public License( traduction française du GNU)

H

HTPP: Hypertext Transmission Protocol

I

IAX : Inter Asterisk eXchange

IP :Internet Protocol

IVR : Integrated Voice Responder

L

LAN :Local Arear Network

LCS: Live Communications Server

M

MAC: Media Access Control

MCU: Multipoint Control Unit

MGCP: Media Gateway Control Protocol

MIME: Multipurpose Internet Mail Extension

Page 86: Rapport  de fin d'etude

86

O

OSI: Open Systems Interconnection

P

PABX : Private Automatic Branch eXchange

PMD: Physical Medium Dependant

Q

QOS: Quality of Service

R

RADIUS : Remote Authentication Dial-In User Server

RNIS : Réseau numérique à intégration de services

RSVP : Resource reSerVation Protocol

RTC :Réseau Téléphonique Commuté

RTCP: Real-time Transport Control Protocol

RTP : Real-time Transport Protocol)

RTSP: Real-time Streaming Protocol

S

SAP: Session Advertisement Protocol

SDP: Session Description Protocol

SGBDR: Système de Gestion de Base de Données Relationnel

SKMP : Secure key Management Protocol

SIP : Session Initiation Protocol

SRTP :Secure RTP

Page 87: Rapport  de fin d'etude

87

SSL : Secure Sockets Layer

T

TKIP : Temporal Key Integrity Protocol

TOIP: Telephony over Internet Protocol

TTL :transistor Transistor Logic

U

UDP:User Datagram Protocol

UIT :Union internationale des télécommunications

URI :Uniform Resource Identifier

URL :Uniform Resource Locator

V

VOIP : Voice over IP

VPN : Virtual Private Network

W

WEP : Wired Equivalent Privacy

WG MMUSIC : Work Group Multiparty Multimedia Session Control

Page 88: Rapport  de fin d'etude

88

Page 89: Rapport  de fin d'etude

89

Page 90: Rapport  de fin d'etude

90