Rapport de fin d'etude

  • 3,726 views
Uploaded on

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

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

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,726
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
438
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Presenté par Encadré parMaiga Cheick Ismael Mr OUMSISAnnée universitaire 2010-2011
  • 2. 2RemerciementsJe remercie du fonds du cœur mon encadrant et professeurMr OUMSIS qui a bien voulu m’encadrer tous le long de mon projet .Je leremercie pour tout ses conseils et soutiensJe 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 ,NympayeEric,Gouda Abder Rayane , Moulongui Davy donal ,Mouchetou MouchetouCedric lionel ,toute la commuanuté burkinabé de fes ,
  • 3. 3TABLE DES MATIERESIntroduction ……………………………………………………………..….….6Chapitre 1 : Contexte général et présentation du projet…………………….61.1 Présentation de la filière Science Mathématique Informatique …….……….…….61.2 Présentation du projet……………………….…………………………………71.2.1 Cadre et Objectif du projet…………..…………………………….…………71.2.2 Planification du projet …….…………….…………………………….….....71.3 Conclusion…………………………………………………………………………………7Chapitre II: Théorie de la Voip…………………………...…………………...82.1Problématique de la Voip………………...……………………………………………….82.1.1 La teléphonie par circuit et par parquet ..………………………………………….….82.1.2 La problematique de base de la téléphonie ..………...….………………….…………92.1.3 Comparaison avec la téléphonie classique ...………...………………………..…….102.1.4 Avantage de la Toip …………………..…………...…………………...……………122.1.5 Conclsusion …………...………………………..………………………………...… 122.2 Signalisation H323……...…………………………………………………....................122.2.1 Protocoles de normalisation …………….…………………………………..……….132.2.2 Architecture et fonctionnalité du protocoles H323 …………….…………..……….142.2.3 Fonctionnalitées avancées …………..……………………………….………………152.2.4 Conclusion ………………..…………………………………………………………172.3 Protocoles SIP……………………………………………………………………………17
  • 4. 42.3.1 Standardisation SIP (Session Initial Protocol) ….……………………………………182.3.2 Architecture de SIP …….…………………………………………………………….192.3.3 L’adressage SIP………..………………………………………………..……………192.3.4 Fonctionnement …….………………………………………………………………..202.3.5 Comparaison avec H323…….…….………………………………………………….232.3.6 Conclusion ……………………..……………………………………………………242.4 Qualité de Service et sécurité………...…………………………………………………242.4.1 Qualité de service………….………………………………………………………….242.4.2 La Sécurité…...…..……………………………………….…………………….…….262.4.2.1 Les attaques …..……..……….………………………..……………….………. ..272.4.2.2 Les sécurités à mettre en place ……………..………………………………….....282.4.2.3 Les infrastructures de sécurité…...………..…..…..…..………………… ..……...292.4.2.4 La sécurité dans la téléphonie par Wi-Fi...………….…………………………….302.4.3 Conclusion………..………………………………..…………………………….…...30Chapitre 3: Pratique de la Voip : Asterisk ..………………………………………323.1 Historique & Presentation ………………………………………………………...……323.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…………………………………………………
  • 5. 53.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
  • 6. 6Figure 1 :Diagramme de Gantt……………………………………………………………8Figure 2 : La technique de transfert de paquets…………………………………………9Figure 3 : Un flot de paquets téléphoniques ……………………………………………..9Figure 4 : Équipements à traverser par une communication téléphonique sur IP….11Figure 5 : Mode point à point…………………………………………………………….1Figure 6 :Mode diffusif…………………………………………………………………..22Figure 7 : Architecture dAsterisk…………………………………………………….32Figure 8 :Exemple d’un architecture avec Asterisk …………………………………33Figure 9 :XLite………………………………………………………………………….45Figure 10: Windows Messenger………………………………………………………..46Figure 11 : SJPhone……………………………………………………………………..46Figure 11 : Linphone ……………………………………………………………………47Figure 12 Architecture du systeme de communication………………………………….58Figure 13 : exécution de commande permettant de se placer dans le repertoire"etc/asterisk" ………………………………………………………………………………59Figure 14:commande pour éditer le fichier "sip.conf" …………………………………59Figure 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"…………….
  • 7. 7Figure 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………………………………………………….23Tableau 2 :Classe n° Délai par sens……………………………………………….24Tableau 3 : composants utiles…………………………………………………….34Tableau 4 :paramètres pour configurer un compte utilisateur……………………..39
  • 8. 8Tableau 5 :applications classique de extensions.conf………………………………43Tableau 6 : Options de l’application Meetme……………………………………………52IntroductionLorsque, le 2 juin 1875, le Canadien Alexandre Graham Bell tente de transformer des ondessonores en impulsions électromagnétiques, nul n’imagine que ce professeur de physiologievocale, spécialisé dans l’enseignement du langage pour sourds et muets, allait inventer letéléphone. Accompagné de son assistant Thomas Watson, Bell expérimente le premier modèlede téléphone à distance limitée et à correspondance réduite : placés dans deux pièces
  • 9. 9distinctes, les deux physiciens disposent entre eux un fil conducteur dont une extrémité estmunie d’une lamelle reliée à un électroaimant. L’expérience consiste à écarter cette lamelle del’électroaimant puis à la relâcher. Le résultat est prodigieux : un son se propage sur le filconducteur jusqu’à parvenir à l’autre extrémité du fil. Il faudra moins d’un an au scientifiqueBell, tout juste âgé de 28 ans, pour perfectionner son prototype et rendre les transmissionsd’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 sacé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, etle nombre de terminaux téléphoniques vendus dans le monde ne cesse d’augmenter. Latéléphonie a été une véritable poule aux œufs d’or pour les opérateurs, qui ont longtempsmaintenu 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 latéléphonie sur IP, dont la tarification tend vers la gratuité. L’avantage incontesté de cettetechnologie est sa possibilité d’intégrer la voix, la vidéo et les données sur une mêmeinfrastructure Internet existante déjà. Grâce à cette technologie les coûts des communicationsinterurbaines ont chuté de manière considérable ce qui laisse croire qu’elle a encore de beauxjours devant elle.Le travail présenté dans ce rapport entre dans le cadre de notre projet de fin d’études licenceoption 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, nousdévelopperons les chapitres suivants: dans le chapitre II nous parlerons de la théorie de laVoip, puis nous présenterons une pratique de voip avec Asterisk dans le chapitre III, ensuitnous parlerons de la réalisation du projet. Nous finirons par une conclusion suivie du glossaireet de la bibliographie.Chapitre 1 : Contexte Générale et Présentation du projetCe chapitre présente d’une manière générale le contexte de travail et les objectifs de ceprésent projet.Nous allons d’abord faire une présentation de la filière Science Mathématique informatiquepuis nous donnerons une vue générale du projet cest-à-dire une description du projet.1.1 Présentation de la filière Science Mathématique Informatique
  • 10. 10La filière Science Mathématique Informatique est une filière qui se veux novatrice etpluridisciplinaire Elle permet aux étudiants d’acquérir de bonnes bases dans les domaines desmathématiques et informatiques .A travers son programme riche et la qualité del’enseignement les étudiant acquiert à la fin de leur formation de connaissance solides eninformatique 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 lesmathématique et l’informatique sont valorisées.1.2 Présentation du projet1.2.1 Cadre et Objectif du projetL’è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 communicationvocale en plein essor qui amorce un véritable tournant dans le monde de la communicationdans la mesure où elle permet la convergence données - voix - vidéos.Comme toute innovation technologique digne de ce nom, la VoIP doit non seulementsimplifier le travail mais permettre déconomiser de largent. Les prix des communications dela téléphonie sur IP, passant par internet donc, sont dérisoires comparés aux prix habituels etcela particulièrement pour les communications longue distance. L’objectif principale de ceprojet est place un des services de communication au niveau du département d’informatiquede la faculté des Sciences Dhar El Marhaz basé sur les techniques de la voip afin de proposeraux différents bureaux du département un poste de téléphone VoIP afin de joindredirectement nimporte quel autre bureau, via internet et dans un perspective étendre lapossibilité aux appels vers des postes téléphonique classiques1.2.2 Planification du projetLa 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’estun outil qui permet de planifier le projet et de rendre plus simple le suivi de son avancement.
  • 11. 11Ce diagramme permet aussi de visualiser l’enchainement et la durée des différentes tâchesdurant le projet comme il est illustré par la figure qui suit :Figure 1:Diagramme de Gantt1.3 ConclusionCe chapitre introductif a été consacré essentiellement à la présentation del’environnement dans lequel projet de fin d’études a été effectué. Elle a aussi mis l’accent surla présentation du contexte du projet, ses objectifs et sa planification.Chapitre 2: Théorie de la Voip2.1 .1 La teléphonie par circuit et par parquetDans la communication à transfert de paquets, toutes les informations à transportersont 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é entrois paquets, qui sont émis de l’équipement terminal vers le premier nœud du réseau,
  • 12. 12lequel 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 lemessage de départ.Le paquet peut en fait provenir de différents médias. Sur la figure, nous supposonsque la source est un message composé de données, comme une page de texte préparée aumoyen d’un traitement de texte. Le terme message est cependant beaucoup plus vaste etrecoupe toutes les formes sous lesquelles de l’information peut se présenter. Cela vad’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 dela numérisation de la parole, c’est-à-dire le passage d’un signal analogique à un signalsous 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 processusinverse s’effectue, restituant les éléments binaires régulièrement à partir du paquetpour 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ésentre eux par des lignes de communication, sur lesquelles sont émis les éléments binairesconstituant les paquets. Le travail d’un nœud de transfert consiste à recevoir des paquetset à déterminer vers quel nœud suivant ces derniers doivent être acheminés.Figure 2 La technique de transfert de paquets
  • 13. 13Figure 26 Un flot de paquets téléphoniques2.1.2 La problematique de base de la téléphonieLa 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, etcelles qui transportent des paroles unidirectionnelles, qui n’exigent pas de temps réel. Cettederniè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, permetd’intégrer dans un même réseau les services de données et la téléphonie. Les entreprises sontde 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 decommunication, mais aussi la simplification de la maintenance de leurs réseaux, qui passentde 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 temporelledue à l’interaction entre individus. Le temps de latence doit être inférieur à 300 ms si l’onveut garder une interaction humaine acceptable. Si l’on souhaite une bonne qualité de laconversation, 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 quirevient dans l’oreille de l’émetteur. L’écho se produit lorsque le signal rencontre unobstacle, comme l’arrivée sur le combiné téléphonique. L’écho qui repart en sens inverseest 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 pasgênant à l’oreille, il faut que le temps aller ne dépasse pas 28 ms, en supposant un réseausymé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
  • 14. 14resynchroniser les octets qui arrivent. Les équipements modernes, comme les terminauxGSM, 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 unesonnerie la personne qui est appelée. La communication téléphonique est pour celadécomposée en deux phases : une première permettant d’avertir le destinataire, et une secondecorrespondant au transport de la parole proprement dite. Il existe en réalité une troisièmephase , qui consiste en la finalisation de la communication lorsqu’un des deux terminauxraccroche. Cette phase utilise le même type de protocole que la première : un protocolede signalisation.2.1.3 Comparaison avec la téléphonie classiqueLa téléphonie classique, dite par circuit, présente les mêmes contraintes temporelles que latéléphonie par paquet. Le temps de transit doit être limité pour satisfaire le besoind’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 toujoursdégagée sur le circuit, et les ressources appartiennent uniquement aux signaux qui transitententre l’émetteur et le récepteur. En revanche, dans un transfert de paquets, aucuneressource n’est réservée, et il est impossible de savoir quel sera le temps d’attente despaquets dans les nœuds de transfert.Dans la première génération de téléphonie, les signaux étaient analogiques. Ils parcouraient lecircuit sous la même forme que le son sortant de la bouche et n’utilisaient que 3 200 Hz debande passante. Ils sont ensuite devenus numériques.Dans la téléphonie traditionnelle numérique, le signal analogique est numérisé grâce à uncodeur-décodeur, appelé codec. Le codec transforme le signal analogique en une suite de0 et de 1. Le temps de transit est du même ordre de grandeur que le transfert du signalanalogique, car le signal ne s’arrête nulle part. La seule perte de temps pourrait provenirdu codec, mais ces équipements très rapides ne modifient pas fondamentalement le tempsde transit. En revanche, dans un réseau à transfert de paquets, de nombreux obstacles sedressent 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élaipour aller d’une extrémité à l’autre, puisqu’il faut traverser les deux terminaux, émetteuret récepteur, de type PC par exemple, ainsi que les modems, les réseaux d’accès, les
  • 15. 15passerelles, les routeurs, etc.On peut considérer que le temps de traversée d’un PC et de son codec demande quelquesmillisecondes, la paquétisation de 5 à 16 millisecondes, la traversée d’un modem quelquesmillisecondes é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 lescinq grandes étapessuivantes :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 uneconversion de l’adresse du destinataire (adresse IP ou adresse téléphonique classique) en uneadresse 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érateurté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 lespasserelles spécialisées (gatekeeper) sont employés à cette fin.Figure 4 : Équipements à traverser par une communication téléphonique sur IP2. Établissement de la communication. Cela passe par une acceptation du terminaldestinataire, 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 protocoleSIP (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 desession. 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
  • 16. 16(Redirect Server). Ces serveurs travaillent à trouver la route : le serveur proxy déterminele prochain serveur (Next-Hop Server), qui, à son tour, trouve le suivant, et ainsi de suite. Deschamps supplémentaires de l’en-tête gèrent des options, comme le transfert d’appel ou lagestion des conférences téléphoniques.3. Transport de l’information téléphonique. Le protocole RTP (Real-time TransportProtocol) prend le relais pour transporter l’information téléphonique proprement dite. Son rôleest 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 leré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 etde transcodage que cela pose. Ces passerelles ne cessent de se multiplier entre FAI etopérateurs télécoms.5. Arrivée au destinataire. De nouveau, le protocole SIP envoie une requête à la passerellepour déterminer si elle est capable de réaliser la liaison circuit de façon à atteindre ledestinataire. 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 lapartie du transport sur le réseau téléphonique classique est le moins cher possible.2.1.4 Avantage de la ToipLa téléphonie n’a jamais été une application simple. Les contraintes temps réel et desynchronisation pèsent lourdement sur sa mise en œuvre, et la téléphonie par paquet ne faitque compliquer le transport.Cependant, plusieurs raisons expliquent le succès de la téléphonie par paquet, et plusspé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 detransport.
  • 17. 17• Optimisation des ressources. Le réseau IP utilisant un transfert de paquets, l’utilisation desressources est optimisée en comparaison des solutions de type commutation de circuits. Dansle réseau RTC, qui est à commutation de circuits, des ressources sont dédiées pour toute laduré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 dimensionnementdu canal réservé systématiquement trop grand. Pour que la voix supporte simultanément lasuperposition des deux paroles correspondant aux deux intervenants d’une communicationtéléphonique (full-duplex), les réseaux RTC doivent allouer pour chaque intervenant descanaux 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êmetemps. Les ressources sont donc globalement gaspillées. C’est pourquoi la réservationeffectué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 denombreuses autres applications, le coût du transport devient pratiquement nul. Le réseaupermettant d’effectuer le transport est le réseau cœur des opérateurs, celui qui effectue tous lestransports de données. Ces opérateurs, qui étaient auparavant obligés de maintenir au moinsdeux 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 chuterles coûts de transport de cette application.• Services exclusifs. Certains services sont propres aux réseaux IP. Par exemple, le service deprésence, consistant à détecter si un utilisateur est connecté au réseau ou non, ne nécessiteaucune réservation de ressources dans un réseau IP, à la différence du réseau RTC. De façonanalogue, pour le nomadisme des utilisateurs, il est plus simple de passer, partout dans lemonde, 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ésultede la possibilité de gérer les téléphones depuis le réseau de l’opérateur (système Centrex). Dessolutions intermédiaires, comme les PBX-IP, permettent de passer petit à petit des circuitsnumériques aux liaisons paquet IP.2.2.5 ConclusionLa téléphonie reste une des applications dominantes du monde des réseaux, et ce pour encorede nombreuses années, en raison notamment de l’émergence de nouveaux et immenses
  • 18. 18marchés, comme celui de la Chine. La VoIP reste aujourd’hui majoritairement prise en chargepar les réseaux à commutation de circuits, mais une forte concurrence s’exerce avec lesréseaux à transfert de paquets.Le passage vers le tout-IP téléphonique, permettant d’intégrer les services de données et latéléphonie dans un même réseau, paraît inéluctable.2.2 : Signalisation H323La signalisation désigne la transmission d’un ensemble de signaux et d’informations decontrô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 etde 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 lasignalisation :• 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 unautre. L’objectif de ce transfert est de reproduire à l’identique des données en le faisanttransiter par un réseau.2.2.1 Protocoles et normalisation1996 a été une année charnière et un tournant particulièrement important pour l’essor de laVoIP. Si cette dernière suscitait de l’intérêt auparavant, ce n’est qu’à partir de cetteanné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 dansl’incompatibilité des protocoles utilisés pour mettre en œuvre une communication audio ouvidéo. Lorsque deux opérateurs distincts utilisent des normes de communication différentes, ilest impossible pour un utilisateur exploitant le réseau d’un opérateur de communiquer avec unutilisateur affilié à l’autre opérateur. Pour assurer la compatibilité des communications, il étaitindispensable de se fonder sur des bases communes. Pendant longtemps, un très grand nombrede constructeurs ont tenté d’imposer leur propre protocole comme standard. Aucun de ces
  • 19. 19protocoles propriétaires, le plus souvent coûteux et sans légitimité particulière vis-à-vis desautres, n’a réussi à s’imposer. Chaque constructeur cultivait ainsi sa différence, se montrantré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éed’installer des réseaux de téléphonie fondés sur des protocoles instables. Du reste, l’utilisationd’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 % avecson navigateur Web Navigator, annonça la sortie prochaine de son logiciel de téléphonieCoolTalk. Netscape nourrit l’attente, mais il ne put tenir la vedette. La conception d’unprotocole 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 lafamille de protocoles H.32x, très fortement soutenu par Microsoft et Intel. L’ITU parvintrapidement à convaincre les différents équipementiers et fournisseurs de services de lané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, cesprotocoles constituent immanquablement l’initiative la plus aboutie et la plus marquantedes débuts de la signalisation multimédia. La généralisation progressive et systématiquede H.323 finit par faire céder les plus récalcitrants des acteurs du multimédia, quiabandonnèrent leurs solutions propriétaires, pourtant très évoluées. La VoIP venait de trouverson 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 dela téléphonie, ni de la vidéo, ni même de la conférence, ces protocoles constituentimmanquablement l’initiative la plus aboutie et la plus marquante des débuts de lasignalisation multimédia. La généralisation progressive et systématique de H.323 finit parfaire céder les plus récalcitrants des acteurs du multimédia, qui abandonnèrent leurs solutionspropriétaires, pourtant très évoluées. La VoIP venait de trouver son protocole fédérateur etpouvait prendre son envol.La normalisation UIT : Fondée en 1865, l’ITU, en français UIT (Union internationale destélécommunications), est une des organisations internationales de normalisation les plusanciennes. Son rôle est de proposer des modèles de communication afin de favoriser lestélécommunications et les services associés, tout en réglementant au niveau mondial les
  • 20. 20usages 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 cequi 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 auxsignaux 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é depromouvoir l’assistance technique vers les pays en voie de développement. Il reprendl’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 codificationparticulière. La lettre indique la série (de la première à la dernière lettre de l’alphabet) etest 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 desopérations, par exemple E.164 pour le plan de numérotation de la téléphonie publiqueinternationale ;• série G pour les recommandations liées aux systèmes et supports de transmissionmultimé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éphoniquecommuté, par exemple V.90 pour les communications avec des modems à 56 Kbit/s enlien 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 communicationsentre systèmes ouverts, par exemple X.25 pour les communications en modepoint-à-point par commutation de paquets.2.2.2 Architecture et fonctionnalité du protocoles H323Avec le développement du multimédia sur les réseaux, il est devenu nécessaire de créer desprotocoles qui supportent ces nouvelles fonctionnalités, telles que la visioconférence : l’envoi
  • 21. 21de son et de vidéo avec un soucis de données temps réel. Le protocole H.323 est l’un d’eux. Ilpermet 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 pourl’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éveloppedes standards de communication. Concrètement, il est utilisé dans des programmes tels queMicrosoft NetMeeting, ou encore dans des équipements tels que les routeurs Cisco. Il existeun projet Open H.323 qui développe un client H.323 en logiciel libre afin que les utilisateurset les petites entreprises puissent avoir accès à ce protocole sans avoir à débourser beaucoupd’argent.Le protocole s’articule autour d’une architecture particulière ,cette architecture concentre lesfonctionnalité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.323Le protocole H.323 axe très fortement ses communications sur une typologied’équipements.Une architecture H.323 est généralement composée des quatre catégories d’entitéssuivantes :•Terminaux (au minimum deux). Ce sont les équipements de traitement destinés auxutilisateurs, leur permettant d’émettre et de recevoir des appels.• Gatekeeper, ou garde-barrière. C’est l’équipement permettant la localisation desutilisateurs. Ces derniers peuvent s’identifier entre eux par des noms, auxquels il fautattribuer l’adresse IP correspondante dans le réseau ou, si l’appelé n’est pas situé dansun réseau IP, la localisation de l’entité intermédiaire à joindre pour l’appel. Outre cettefonction primordiale, un gatekeeper remplit tout un ensemble de fonctions complémentairesde gestion et de contrôle des communications, certaines étant indispensableset d’autres facultatives.• Passerelle, ou gateway. C’est l’équipement permettant à des utilisateurs du réseau IP dejoindre 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, suivantla nature des réseaux non-IP à interconnecter.• MCU (Multipoint Control Unit), ou unité de contrôle multipoint, parfois appelée pontmultipoint. C’est l’équipement permettant la gestion des conférences, c’est-à-dire les
  • 22. 22communications multimédias mettant en jeu plus de deux interlocuteurs. Ces derniersdoivent préalablement se connecter à la MCU, sur laquelle s’établissent les demandeset 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’architectureH32 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 despoints 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 debien 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éesDans cette secttion nous présentons quelque fonctionnalitées complémentaire du protocleH323 .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’appeln’est établi qu’après le message H.225.0/Q.931 SETUP. Ce message contient les paramètrespermettant 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 decommunication tant que la personne appelée n’a pas accepté l’appel. Les négociationseffectuées s’avéreraient totalement inutiles si la communication ne devait pas être établie. Sil’appel aboutit effectivement, les négociations de paramètres qui interviennent entre lesintervenants retardent sensiblement le temps d’établissement de la communication. Parconséquent, anticiper ces actions se relève pratique. Avec la procédure Early H.245, il estpossible d’avancer l’établissement du canal H.245. Pour cela, il faut inclure les paramètres demise en place du canal H.245 dans un message précédant la requête SETUP. Typiquement, onutilise la requête ALERTING pour donner ces informations.
  • 23. 23Dès que cette dernière est reçue, l’établissement du canal H.245 peut commencerparallèlement à la signalisation H.225.0. Globalement, cela accélère sensiblement l’étape dené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 laprocédure FastConnect.La procédure FastConnect : En principe, le canal H.245 permettant la négociation desparamètres d’appel est nécessaire pour l’établissement d’une communication. On constatecependant que l’ouverture d’un tunnel de contrôle H.245 est relativement longue etpénalisante pour l’établissement d’une communication (de l’ordre de 15 à 30 secondes dansl’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 ceconstat, à partir de la version 2 de la recommandation H.323, l’ouverture du canal H.245a é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 desinformations de canal de contrôle. De cette manière, l’établissement d’un appel peut sefaire en seulement deux messages.L’inconvénient de cette méthode est qu’elle ne permet pas la transmission d’informationsDTMF. Il s’agit néanmoins d’une optimisation indispensable à l’établissement d’appels dansdes délais raisonnables.La procédure H.245 tunneling : Pour chaque appel, il est en principe nécessaire d’avoirdeux connexions séparées . L’une pour les messages de signalisation d’appel Q.931, l’autrepour la mise en place du canal de contrôle H.245. Avec la procédure H.245 tunneling, il estpossible de n’avoir qu’un seul canal. Pour cela, les messages de contrôle H.245 doivent êtreencapsulé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ésdè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 deH.235.0 à H.235.9. Ces documents détaillent les mécanismes de sécurité ajoutés à lanorme en les répartissant en plusieurs volets, notamment les suivants :• Authentification. Ce mécanisme permet de s’assurer de l’identité des correspondants.
  • 24. 24Tout utilisateur doit s’authentifier auprès du gatekeeper avant d’être autorisé à émettreou recevoir un appel. C’est également indispensable pour garantir la bonne gestion desfacturations d’appels.• Contrôle d’intégrité. Ce mécanisme permet de s’assurer que les données sont transmisessans 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 lasécurisation des échanges multimédias via le protocole SRTP (Secure RTP). Gatekeeper alternatif et gatekeeper affecterDans l’architecture H.323, les gatekeepers jouent un rôle prépondérant et sont relativementsouvent sollicités par les autres équipements, ce qui en fait des entités particulièrementsensibles.Deux mécanismes, appelés gatekeeper alternatif et gatekeeper affecté, ont été prévuspour 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 gatekeeperalternatif, 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 peuventbasculer 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 gatekeepertrop 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’ungatekeeper 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’unesaturation ou pour toute autre raison, la connexion avec celui-ci s’avère impossible, leterminal doit basculer vers un gatekeeper alternatif pour continuer à communiquernormalement.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é.
  • 25. 25En cas d’activité détectée, le terminal se réoriente vers lui pour s’y enregistrer. Cela permet derépartir au mieux les utilisateurs entre les gatekeepers et par voie de conséquencede disposer d’une meilleure gestion des ressources disponibles.Cette fonctionnalité a été introduite dans la version 6 du protocole H.323.2.2.4 ConclusionLe standard H.323 est omniprésent dans les communications multimédia en temps réel Et ilest utilisé par plusieurs compagnies telles que Intel, Microsoft, Cisco, IBM, etc. SonIndépendance des plates formes permet le concevoir des applications multimédia sans changerl’infrastructure des réseaux. Nous allons étudier un autre protocole de signalisation concurrentdu H.323 appelé protocole d’initiation de session. Nous présenterons aussi une comparaisonentre ces deux protocoles.2.3 Protocoles SIPSIP (Session Initiation Protocol) a été normalisé par le groupe de travail WG MMUSIC(WorkGroup Multiparty Multimedia Session Control). SIP est au sens propre un protocole designalisation hors bande pour l’établissement, le maintien, la modification, la gestion et lafermeture 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 lacouche 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 actionssollicitées par le client.Le protocole SIP a été conçu pour s’adapter à Internet, en particulier pour que le réseausupporte des montées en charge du nombre d’utilisateurs. Pour cela, l’architecture SIPrepose sur plusieurs serveurs distincts, qui distribuent la charge du réseau en communiquantentre eux, un peu à la manière des serveurs DNS sur Internet. Lorsque le nombre d’utilisateurscroît, il suffit d’ajouter des serveurs disposant de fonctions dédiées pour collaborer avec ceuxdéjà en place.Cette approche se révèle hautement évolutive et flexible puisque de nouvelles fonctionnalitéspeuvent à 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’autresprotocoles standards du monde IP. En tant que standard ouvert, il offre un service modulaire,
  • 26. 26prévu pour fonctionner avec différentes applications, telles que la téléphonie, la messagerieinstantané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é InternetMultimedia Conferencing Suite. À l’image de H.323, SIP est peu à peu devenu un protocoledit 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 fluxtemps réel.• RTCP (Real-time Transport Control Protocol), RFC 3550, qui fournit des informationsdynamiques sur l’état du réseau.• RTSP (Real-time Streaming Protocol), RFC 2326, pour contrôler la diffusion de fluxmultimédias en temps réel.• SDP (Session Description Protocol), RFC 2327, qui fournit la description d’unesession, 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 lesdescriptions de contenus, utilisé sur Internet.• RSVP (Resource reSerVation Protocol), RFC 2205, pour obtenir des garanties dequalité de service et effectuer des réservations de ressources.• HTTP (HyperText Transfer Protocol), RFC 2616, pour le traitement des pages Web surInternet (on peut inclure des adresses SIP directement dans des pages Web).• MGCP (Media Gateway Control Protocol), RFC 3435, pour le contrôle des passerellesassurant 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 pasavec la signalisation. Leur utilisation conjointe est possible, voire recommandée pourcertains d’entre eux.Cela dit, aucun d’eux n’est indispensable au bon fonctionnement de SIP, qui reste totalementindépendant à leur égard et autorise a priori n’importe quel autre protocole. Dansla pratique, nous verrons cependant que SIP est classiquement utilisé avec les mêmesprotocoles.2.3.1 Architecture de SIP
  • 27. 27L’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 doitdonc permettre de composer des numéros de téléphone. Il peut se présenter sous la formed’un composant matériel (un téléphone) ou d’un composant logiciel (un programmelancé à partir d’un ordinateur).Serveur d’enregistrement (Registrar Server) offre un moyen de localiser un correspondantavec souplesse, tout en gérant la mobilité de l’utilisateur. Il peut en outre supporterl’authentification des abonnésServeur de localisation (Location Server) joue un rôle complémentaire par rapport auserveur 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 baseest renseignée par le serveur d’enregistrement. Chaque fois qu’un utilisateur s’enregistreauprè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 terminalclient et le serveur de localisation. Il est sollicité par le terminal client pour contacter leserveur 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’unmessage d’invitation, qui est interprété comme une requête de localisation) au serveur deredirection. Celui-ci joint le serveur de localisation afin d’effectuer la requête de localisationdu correspondant à joindre. Le serveur de localisation répond au serveur deredirection, 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 interlocuteurset agit pour le compte de ces derniers.Le serveur proxy remplit les différentes fonctions suivantes :• localiser un correspondant ;
  • 28. 28• réaliser éventuellement certains traitements sur les requêtes ;• initier, maintenir et terminer une session vers un correspondant.2.3.2 L’adressage SIPL’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. SIPpropose des moyens très performants pour nommer les utilisateurs, grâce au conceptd’URI. Un URI définit une syntaxe permettant de désigner de manière unique, formelle etnormalisée une ressource, qu’il s’agisse d’un document textuel, audio, vidéo ou plusgé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’URIcorrespondant n’en conserve pas moins de manière permanente la valeur descriptive de laressource.Un URI est formé d’une chaîne de caractères.Tout utilisateur SIP dispose d’un identifiantunique. 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 UniformResource 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 avecle 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 estné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’authentifierauprès du serveur, notamment à des fins de facturation. C’est aussi un moyen pour joindre unutilisateur qui a souhaité s’enregistrer sur l’équivalent d’une liste rouge : sans la connaissancede ce mot de passe, le correspondant n’est pas joignable. De manière générale, cettepossibilité offre le moyen de restreindre l’utilisation de certains services.
  • 29. 29• La partie serveur spécifie le serveur chargé du compte SIP dont l’identifiant précèdel’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 seracontacté 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 lecomportement par défaut (par exemple, en modifiant les protocoles de transport ou lesports, 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’indicationd’appel, à la manière d’un e-mail précisant l’objet du message).2.2.3 FonctionnementSIP permet donc de mettre en place une communication. Pour cela avant que la connexionsoit établie, il se charge d’envoyer plusieurs paquets entre les postes afin de définir le début etla 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 êtrecorrecte 6xx : Echec général, la requête ne peut être traitée par aucun serveurOn 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 unepasserelle.
  • 30. 30Figure 5 Mode point à pointPour ouvrir une session, un utilisateur émet une invitation transportant un descripteur desession 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’uneURL mailto (utilisateur@machine). Pour le mode point à point on utilise donc l’adresse IP duposte à 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 lesdeux 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çuune 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 signalerqu’il souhaite mettre un terme à la session.
  • 31. 31Mode diffusif : Le mode diffusif, contrairement au mode point à point, utilise une passerellepour réaliser une communication entre deux éléments. Les clients sont enregistrés sur unserveur appelé M.C.U.[5] qui va les identifier par rapport à un numéro. Lorsqu’un client veutappeler quelqu’un, il ne va donc plus utiliser l’adresse IP mais sont identifiant.Figure : Mode de diffusifFigure 6 Mode diffusifFigure 6 :Mode diffusif
  • 32. 322.2.3.5 Comparaison avec H323Le protocole H.323 présente les avantages suivants :Il existe de nombreux produits (plus de 30) utilisant ce standard adopté par de grandesentreprises 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 faireattention aux types de média quils utilisent.Si telle sont les avantages de H323 ,ceux de Sip ne sont pas reste ,ainsi voici les avantages duprotocoles SIPSip est un protocole plus rapide. La séparation entre ses champs d’en-tête et son corps dumessage facilite le traitement des messages et diminue leur temps de transition dans leréseau.Nombre des en-têtes est limité (36 au maximum et en pratique, moins dune dizaineden-têtes sont utilisées simultanément), ce qui allège lécriture et la lecture des requêtes etréponses. Sip est un protocole indépendant de la couche transport. Il peut aussi bien s’utiliseravec TCP que UDP.De plus, il sépare les flux de données de ceux la signalisation, ce qui rend
  • 33. 33plus souple lévolution "en direct" dune communication (arrivée dun nouveau participant,changement de paramètres…).Pour mieux cerné la comparaison nous résumons cette dernièredans le tableau suivant :SIP H.323Nombre échange pourEtablir la connexio1 ,5 aller Retour 6 â 7 aller retourMaintenance du codeProtocolairesimple Complexe etnécessitant uncompilateurEvolution du protocole Protocole ouvert Ajout d’extensionpropriétaireFonction de conférence distribuée Centralisée par le MCUFonction de téléservice Oui H323 V2 + H450Detection d’un appel enboucleOui NonSignalisation multicast Oui NonTableau 1 : Comparaison2.2.3.5 ConclusionSIP a aujourd’hui les faveurs des industriels et s’impose progressivement auprès des acteursde 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 lasignalisation de leur service de téléphonie IP.De même, Microsoft utilise SIP dans son serveur unifié de communications multimédiasLCS (Live Communications Server).Le protocole SIP constitue donc un solide concurrent de H.323 : il repose sur des basessaines et solides, que devront conforter d’importants développements pour compléter lesfonctionnalité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 boutsoit limité puisque nous avons affaire à une application avec interaction humaine. Cettelimitation 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.
  • 34. 34Pour 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 desautres applications du monde IP. Nous allons dans un premier temps examiner la qualité duservice qu’offre la Voip puis nous examinerons le coté sécurité de la Voip.2.4.1 Qualité de serviceLatence : La maîtrise du délai de transmission est un élément essentiel pour bénéficier dunvéritable mode conversationnel et minimiser la perception décho .Or la durée de traverséedun 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 detraversée de chaque élément, qui est lui même fonction de la puissance et la charge de cedernier, du temps de mise en file dattente des paquets, et du temps daccès en sortie del’élément .Le délai de propagation de linformation, qui est non négligeable si oncommunique à lopposé de la terre. Une transmission par fibre optique, à lopposé de la terre,dure environ 70 ms.Noter que le temps de transport de linformation nest pas le seul facteur responsable de ladurée totale de traitement de la parole. Le temps de codage et la mise en paquet de la voixcontribuent 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 dequalité de service), chaque paquet IP « fait sont chemin » indépendamment des paquets qui leprécèdent ou le suivent: cest ce quon appelle grossièrement le « Best effort » pour signifierque le réseau ne contrôle rien. Ce fonctionnement est fondamentalement différent de celui duré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 indicatifpour préciser les classes de qualité et dinteractivité en fonction du retard de transmission dansune conversation téléphonique. Ces chiffres concernent le délai total de traitement, et pasuniquement le temps de transmission de linformation sur le réseau.Classe n°Délai par sens Commentaires1 0 à 150 ms Acceptable pour la plupart desconversations
  • 35. 35Tableau 2: Classe n° Délai par sensEn conclusion, on considère généralement que la limite supérieure "acceptable" , pour unecommunication téléphonique, se situe entre 150 et 200 ms par sens de transmission (enconsidérant à la fois le traitement de la voix et le délai dacheminement).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 dune certaineproportion des paquets entrant, en fonction de seuils prédéfinis. Cela permet égalementdenvoyer un signal implicite aux terminaux TCP qui diminuent dautant leur débit au vu desacquittements 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 dUDP, aucunmécanisme de contrôle de flux ou de retransmission des paquets perdus nest offert au niveaudu transport. Doù limportance des protocoles RTP et RTCP qui permettent de déterminer letaux de perte de paquet, et dagir en conséquence au niveau applicatif.Si aucun mécanisme performant de récupération des paquets perdus nest mis en place (cas leplus fréquent dans les équipements actuels), alors la perte de paquet IP se traduit par desruptures au niveau de la conversation et une impression de hachure de la parole. Cettedé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 sontgénéralement plus sensibles à la perte dinformation, et mettent plus de temps à «reconstruire» un codage fidèle.Enfin connaître le pourcentage de perte de paquets sur une liaison nest pas suffisant pourdéterminer la qualité de la voix que lon peut espérer, mais cela donne une bonneapproximation. En effet, un autre facteur essentiel intervient; il sagit du modèle de répartitionde cette perte de paquets, qui peut être soit « régulièrement » répartie, soit répartie de manièrecorrélée, cest à dire avec des pics de perte lors des phases de congestion, suivies de phasesmoins dégradées en terme de QoS.2 150 à 300 ms Acceptable pour descommunication faiblementinteractives3 300 à 700 ms Devient pratiquement unecommunication half duplex4 Au delà de 700 ms Inutilisable sans une bonnepratique de laconversation half duplex
  • 36. 36Gigue : La gigue est la variance statistique du délai de transmission. En dautres termes, ellemesure la variation temporelle entre le moment où deux paquets auraient dû arriver et lemoment de leur arrivée effective. Cette irrégularité darrivée des paquets est due à demultiples raisons dont: lencapsulation des paquets IP dans les protocoles supportés, la chargedu 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) quipermettent de lisser lirrégularité des paquets.Malheureusement ces paquets présentent linconvénient de rallonger dautant le temps detraversée global du système. Leur taille doit donc être soigneusement définie, et si possibleadapté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 unecombinaison des deux facteurs cités précédemment: le délai et la perte de paquets; puisquedune part on introduit un délai supplémentaire de traitement (buffer de gigue) lorsque londécide dattendre les paquets qui arrivent en retard, et que dautre part on finit tout de mêmepar 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 soninté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 multiplesstandardisations internationales, qui, sans la mettre à l’abri des évolutions permanentes,inhérentes aux technologies réseau, la rendent désormais suffisamment mature pour envisagerun déploiement à grande échelle. À condition toutefois de maîtriser la sécurité et sonintégration au monde du sans-fil. Les vulnérabilités dont les attaques peuvent avoir cinqorigines :• les protocoles ;• les logiciels ;• le système d’exploitation ;• l’infrastructure physique ;
  • 37. 37• l’erreur humaine.Chacune d’elles est une source potentielle de faille, qu’il convient d’étudier avec précautiondans 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 etfonctionnalités qui n’ont pas véritablement été attribués à l’attaquant.• Interception de service. Cette attaque compromet la confidentialité du service et vise à enanalyser ou modifier le contenu.• Interruption de service. L’objectif est purement de nuire au bon déroulement du service encherchant à le mettre hors d’usage.2.4.2.1 Les attaquesLes attaques de sécurité réseau sont divisées en attaques passives et actives. Ces deuxclasses sont elles-mêmes divisées en sous-classes. Les conséquences de ces attaques sontle coût légal et de recouvrement et la perte d’informations propriétaires, d’image ou deservices réseau.Une attaque est dite passive lorsqu’un individu non autorisé obtient un accès à uneressource sans modifier son contenu. Les attaques passives peuvent être des écoutes oudes 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érerle contenu des messages.• Analyse de trafic, ou sniffing. L’attaquant obtient des informations en surveillant lestransmissions 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 auxmessages 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 encombinaison :• Mascarade. L’attaquant usurpe l’identité d’un utilisateur autorisé et obtient ainsicertains privilèges d’accès. Des outils tels que Registration Hijacker, RegistrationEraser, Registration Adder ou RedirectPoison permettent d’effectuer ces manipulations.• Rejeu. L’attaquant surveille les transmissions (attaque passive) et retransmet les
  • 38. 38messages à un utilisateur légitime. Ce type d’attaque n’est pas possible dans le cas dela téléphonie puisque le rejeu n’est pas envisageable dans le cadre d’une applicationinteractive. 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 pasconcernée directement, mais des programmes dédiés existent, tels RTP InsertSound ouRTP MixSound.• Déni de service, ou DoS (Deny of Service). L’attaquant prévient ou interdit l’usagenormal ou la gestion des moyens de communication. Par exemple, en envoyant desmessages en masse, les ressources d’un équipement peuvent saturer. Des logiciels telsque UDP flooder, RTP flooder, INVITE flooder ou IAX flooder sont conçus à des finsd’audit, avec les risques d’utilisation que cela suppose.Ce dernier type d’attaque est une source de menace redoutable pour les solutions desécurité logicielle, puisque la sécurité est facilement mise en cause en cas de modificationmalveillante des programmes chargés d’appliquer les protocoles et les règles decontrôle.L’attaque par déni de service est une des plus simples à mettre en oeuvre et est généralementtrès difficile à parer dans les réseaux sans fil. Le déni de service est obtenu lorsquel’é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 leurfont é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 deprévoir cette convergence.Dans un réseau sans fil, un déni de service consiste à émettre un grand nombre de requêtesd’attachement vers le point d’accès jusqu’à le faire tomber. Il est pour le momentimpossible d’empêcher un utilisateur d’émettre ce flot de requête, même s’il n’est pasautorisé à se connecter. À chaque requête, le point d’accès doit exécuter une suited’instructions avant d’effectuer le refus. La seule parade connue consiste à déterminer lepoint 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 duprotocole ICMP (Internet Control Message Protocol). Ce protocole est utilisé par lesrouteurs pour transmettre des messages de supervision permettant, par exemple, d’indiquer
  • 39. 39à un utilisateur la raison d’un problème. Une attaque par déni de service contre unserveur consiste à générer des messages ICMP en grande quantité et à les envoyer auserveur à partir d’un nombre de sites important.Pour inonder un serveur, le moyen le plus simple est de lui envoyer des messages de type pinglui demandant de renvoyer une réponse. On peut également inonder un serveur pardes messages de contrôle ICMP d’autres types.Dans l’attaque par cheval de Troie, le pirate introduit dans la station terminale unprogramme qui permet de mémoriser le login et le mot de passe. Ces informations sontenvoyées vers l’extérieur par un message destiné à une boîte à lettres anonyme. Diversestechniques peuvent être utilisées pour cela, allant d’un programme qui remplace legestionnaire de login, jusqu’à un programme pirate qui espionne ce qui se passe dansle terminal.Ce type d’attaque est assez classique dans les réseaux sans fil puisqu’un client peuts’immiscer, via le point d’accès, dans un PC et y installer un logiciel espion lui permettantde prendre la place de l’utilisateur.Beaucoup de mots de passe étant choisis dans le dictionnaire, il est très simple pour unautomate de les essayer tous. De nombreuses expériences ont démontré la simplicité decette attaque et ont mesuré que la découverte de la moitié des mots de passe desemployé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 enleur 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 nesont 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 quiperturbent 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 foispar des requêtes et par des réponses, notamment les suivants :• Un message BYE correctement forgé par un attaquant peut mettre fin à la communicationd’autres personnes.• Un message REGISTER contenant un enregistrement d’un utilisateur fictif est envoyé enmasse vers un serveur d’enregistrement afin de saturer les capacités de stockage de ce
  • 40. 40dernier ou de le surcharger. Un message REGISTER contenant un enregistrement d’unutilisateur réel vers une localisation inexacte risque de détourner la communication vers lalocalisation mentionnée.Des attaques similaires sont envisageables avec les autres protocoles de signalisation.2.4.2.2 Les sécurités à mettre en placeLa sécurité dans les réseaux téléphoniques classiques est particulièrement forte. Ladisponibilité du réseau y atteint les 5 « neuf », c’est-à-dire que le système marche99,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) etautorisations d’usage. Cette identité peut être vérifiée de multiples manières, par exemplepar 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 oudes processus remplaçant ces personnes. Plusieurs solutions simples sont mises en œuvre pourcela, comme l’utilisation d’un identificateur (login) et d’un mot de passe (password), d’unemé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 lenuméro inscrit dans une carte à puce, ou code PIN (Personal Identification Number).L’authentification peut être simple ou mutuelle. Dans le cadre d’une communicationté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éesdans un site protégé. Les attaques sur les sites mémorisant les mots de passe représententune 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.
  • 41. 41Les algorithmes de chiffrement permettent de transformer un message écrit en clair en unmessage chiffré, appelé cryptogramme. Cette transformation se fonde sur une ouplusieurs clés. Le chiffrement le plus simple est celui où une clé unique et secrète estpartagé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 leré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éduresmises en œuvre dans le réseau d’accès, le réseau de transport IP et le réseau de destination, unintranet, 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 encinq catégories :• Chiffrement au niveau physique. Dans la cryptographie optique (PMD), le saut defréquences pseudo-aléatoire ou le chiffrement du flux d’octets (une méthode courammentdéployée par les banques), les clés sont distribuées manuellement.• Confidentialité, intégrité de données, signature de trames MAC. La distribution desclé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 juridiqueimportante, dont le rôle est d’interdire le transport des informations à des individus nonauthentifiés, et donc potentiellement dangereux.• Confidentialité, intégrité des données, signature des paquets IP ou TCP. C’esttypiquement 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’analysede l’en-tête IP par les passerelles traversées. IPsec crée un tunnel sécurisé entre leréseau d’accès et le domaine du fournisseur de services. On peut déployer une gestionmanuelle des clés ou des protocoles de distribution automatisés, tels que ISAKMP(Internet Security Association and Key Management Protocol). La philosophie de ceprotocole s’appuie sur la libre utilisation du réseau d’accès, qui ne va pas sans souleverdes problèmes juridiques. Par exemple, si des utilisateurs mal intentionnés protègentleurs échanges téléphoniques, il est impossible aux réseaux traversés de détecter leur
  • 42. 42complicité 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 lanavigation Web ou la téléphonie IP. SSL réalise généralement une simple authentificationentre serveur et client et négocie un secret partagé (Master Secret), à partir duquel sontdérivées les clés de chiffrement utilisées par l’algorithme de chiffrement négocié entre lesdeux parties. Une fois le tunnel sécurisé établi, le client s’authentifie à l’aide d’un login etd’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-FiPour sécuriser une communication téléphonique dans un réseau sans fil, il faut doterl’environnement d’un certain nombre de fonctions, qui peuvent être prises en charge soitpar 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émentsd’infrastructure, l’infrastructure qui permet l’authentification des clients et des équipementsde 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 lesmachines 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 deserveurs RADIUS (Remote Authentication Dial-In User Server). L’authentificationpeut ê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’authentificationest 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 signaturedes paquets. Ces services sont délivrés par des protocoles tels que WEP (WiredEquivalent Privacy), TKIP (Temporal Key Integrity Protocol) ou CCMP (Counter withCBC MAC Protocol), normalisés par le comité IEEE 802. Ils utilisent des clés déduites d’uneclé 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ètrentdans le système de distribution sont sûres (pas de risque de spoofing). Des systèmes de
  • 43. 43filtrage (point d’accès ou portail) gèrent les privilèges des paquets IP (destruction des paquetsillicites) 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 ConclusionVoIP 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éseauxdoivent être bâtis pour introduire de la qualité de service. la sécurité de la VoIP n’est pasvraiment 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, entreautres, la messagerie vocale, la conférence, les serveurs vocaux, la distribution des appels,téléphonie au sein dun LAN. Asterisk implémente les protocoles H.323 et SIP, ainsi quunprotocole spécifique nommé IAX (Inter-Asterisk eXchange) : ce protocole IAX permet lacommunication entre deux serveurs Asterisk ainsi quentre client et serveur Asterisk. Asteriskest un PABX permettant à un ordinateur dopérer en tant que commutateur téléphonique privé(PBX). Ces protocoles peuvent être sollicités auprès dun fournisseur daccès internet ou bienauprès dun opérateur de voix sur IP.3.1 Historique & Presentation d’asteriskAsterisk est né en 1999, créé par Mark Spencer, alors étudiant de luniversité dAuburn(États-Unis - Alabama). À la recherche dun commutateur téléphonique privé pour créer uncentre de support technique sur Linux, il est dissuadé par les tarifs trop élevés des solutionsexistantes, et décide de se créer son propre routeur dappels sous Linux, le PBX Asterisk.
  • 44. 44Quelque temps après, il fonde la société Digium, fournisseur de cartes FXO et FXScompatibles avec Asterisk. Son équipe sest rapidement rapprochée de celle de Jim Dixon(Zapata Telephony Project), dans le but de construire des cartes dinterface "bon marché" avecle réseau téléphonique classique. Leur but était de construire des cartes compatibles avec desplateformes basées sur Intel et ainsi de permettre à nimporte quel PC, avec le systèmedexploitation Linux, une carte dinterface et le logiciel Asterisk davoir un PBX entièrementfonctionnel.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 autrecaractère ou ensemble de caractères. Il s’agit en quelque sorte d’un joker, la carte ouvaleur qui remplace toutes les autres. C’est de ce concept de généricité, évoquant à la foisla 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 uneplate-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 aussiavec des réseaux de téléphonie non-IP.Asterisk étant un logiciel libre d’utilisation, ses sources sont téléchargeables sous licenceGNU GPL (General Public License). Cela permet à une importante communauté decontribuer à 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 fonctionnersous Linux, il est aujourd’hui multiplate-forme et s’installe aussi bien sur OpenBSDque FreeBSD, Sun Solaris, MacOS X ou Windows.L’enjeu d’une offre telle qu’Asterisk est colossal. Pour peu que l’on dispose desconnaissances 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 deréseaux non-IP. Le logiciel se pose en rival viable et robuste dans un marché dominé parles géants Alcatel, Nortel, Cisco, 3Com, Avaya ou Siemens, pour ne citer que quelques unsdes équipementiers les plus connus. L’architecture du logiciel se présente comme l’indique lafigure suivante.
  • 45. 45Figure 7 : Architecture dAsterisk3.2 FonctionnalitéAsterisk propose toutes les fonctionnalités d’un standard téléphonique de niveauprofessionnel, des plus élémentaires aux plus complexes. Non seulement, il permet de gérer leroutage 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’adressehttp://www.asterisk.org) :• Authentification des utilisateurs appelants.• Serveur vocal, ou standard d’accueil téléphonique automatisé, aussi appelé IVR (InteractiveVoice Response). Cette fonction permet de demander à l’appelant le service qu’il souhaiteutiliser 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.
  • 46. 46• Enregistrement des appels.• Listes noires.Messagerie SMS• Heure et date dappels• Identification de lappelant• Indicateur visuel de message en attente• Identification de lappelants 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 dattente ... etcLe logiciel peut être utilisé comme une passerelle ToIP hétérogène. Par exemple, desutilisateurs utilisant différents protocoles de signalisation, comme H.323 ou SIP, peuvent êtremis en relation. C’est le logiciel qui se charge d’effectuer les conversions de signalisation. Dela même manière, il peut servir de passerelle pour joindre des correspondants dans le réseautéléphonique RTC. Enfin, le logiciel est modulable et extensible au moyen de scripts et demodules implémentés en langage C ou Perl.Figure 8 Exemple d’un architecture avec Asterisk3.3 Télechargements des modules
  • 47. 47En exploitant un ensemble de fichiers restreint, le PBX Asterisk offre une gamme depossibilités de configuration extrêmement large, répondant aux besoins les plus divers etpermettant une personnalisation très évoluée.Nous commencerons par installer et exécuter le serveur avec une configuration pardéfaut. À ce stade, le serveur sera fonctionnel sans être exploitable. À partir de cetenvironnement, stable et propre, et auquel il sera possible de revenir ultérieurement en cas deproblème, nous passerons à l’étape de configuration des fichiers, avant de nous penchersur la mise en place de quelques services de base. Nous évoquerons ensuite des techniquesd’optimisation de la configuration. Nous terminerons enfin par la présentation defonctionnalités plus évoluées et fournirons des pistes pour poursuivre l’étude du logicielde différentes manières.3.3.1 Se connecter au réseau téléphonique traditionnelEn VoIP pure, le logiciel Asterisk est d’emblée fonctionnel, si bien qu’aucun composantsupplémentaire n’est nécessaire. Cependant, le réseau téléphonique traditionnel utilisantune commutation par circuits, et non par paquets comme dans la téléphonie IP, il estnécessaire de s’équiper d’une interface permettant d’effectuer la conversion des signauxd’un flux IP en un flux RTC et réciproquement.Ces interfaces sont disponibles facilement dans le commerce, généralement sousforme de cartes PCI, à installer sur son PC, ou de boîtiers, à connecter en USB. Ils offrentplusieurs branchements pour disposer de plusieurs lignes téléphoniques en parallèle .Selon lesmodèles, il faut en outre installer le pilote de la carte, fourni par le constructeur ,permettant ausystème d’exploitation de la reconnaître comme nouveau périphérique matériel et de la rendredisponible et configurable avec Asterisk.On distingue les deux formats d’interface suivants :• FXS (Foreign eXchange Subscriber), qui permet le branchement d’un téléphoneanalogique sur le serveur Asterisk. Si l’on ne souhaite pas investir dans l’achatd’équipements purement IP, il est possible d’utiliser son téléphone analogique habituelen le reliant au serveur Asterisk par le biais d’une carte FXS. La carte assure lafonctionnalité de conversion dans les deux sens d’un signal numérique en un signal
  • 48. 48analogique.• FXO (Foreign eXchange Office), qui permet le branchement du serveur Asterisk surune ligne téléphonique classique. Pour interagir avec le monde RTC et dépasser le cadredu réseau purement IP, cette carte assure la jonction avec la téléphonie RTC. Elle jouele rôle de passerelle en faisant communiquer tout utilisateur connecté à Asterisk avecdes 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 gestiondes cartes FXO/FXS avec Asterisk pour des composants de type Zaptel ou « Zaptelcompliant », c’est-à-dire conformes aux composants de type Zaptel, sans être pour autantstandards.3.3.2 Télécharger les composants utilesLes 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.Cescomposants sont disponibles, à l’adresse « http://www.asterisk.org/download (ouftp://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 disposede multiples miroirs. On y trouve les modules récapitulés au tableau 12.1.Module DescriptionAsterisk Cœur du logiciel, ce programme est le seul véritablementindispensable à 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 modulescomplémentaires qui peuvent se révéler utiles. Il estvivement recommandé de l’installerAsterisk-sounds Ces modules sont fournis sur plusieurs fichiers depaquetage. Ils fournissent une quantité desons qui peuvent être utilisés dans des messages d’accueilou pour signaler à l’appelant div erses
  • 49. 49informations. Ces messages audio sont disponibles en troislangues, anglais, espagnol etfrançais, et sous plusieurs formats de codec, comme G.711,G.722, G.729 et GSM. L’utilisationde ces sons n’étant pas limitative, il est possible, enrespectant les formats supportés par Asterisk,d’en ajouter de sa propre composition ou issus d’autressources . Ces paquetages ne sontpas indispensables, mais seulement pratiques. Ils peuventêtre ajoutés ultérieurement.Libiax Cette bibliothèque de codes source pour lescommunications utilisant le protocole IAX n’estpas indispensable. Elle est surtout destinée audé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 avecdifférents types de réseaux non-IP.Zaptel Ce paquetage contient les pilotes permettant de prendre encharge les cartes d’interfaceavec les réseaux non-IP. La section qui suit présente les casoù il est indispensable d’installerce composant.Tableau 3 :composants utiles3.4 Installation et Configuration d’Asterisk3.4.1 InstallationL’installation d’un serveur Asterisk peut se faire selon deux méthodes soit a l’aide de l’outilapt (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
  • 50. 50Mise à jour de la liste des paquets disponibles. Avec le terminal sous Debian saisir lacommande : « Apt-get update » comme l’illustre la ligne suivante. Sous Ubuntu on doit seconnecter en mode root sinon mettre sudo puis la commande .Cheick# apt-get updateInstallation du serveur Asterisk et de toutes ces dépendancesCheick # apt-get install asteriskInstallation des voix françaises d’Asterisk.Cheick# apt-get install asterisk-prompt-frPour 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/asteriskEt modifier le champ.RUNASTERISK=yesVoilà notre serveur Asterisk est installé. Nous allons apprendre à démarrer le service.3.4.1.2 Installation du serveur à apartir des modules téléchargerUne fois les téléchargements terminés, on peut ouvrir un terminal, se placer à l’emplacementoù les archives ont été téléchargées puis saisir la commande qui suit pour chacunedes archives que l’on a récupérées.Cheick # tar -xzvf nom_du_composant_à_installernom_du_composant_a_installer représente le nom de l’archive téléchargée. Chacune desarchives a été décompressée dans un répertoire portant le nom du composant. Les sonsn’ont pas besoin d’être installés ; il suffit, une fois l’installation effectuée, de les placerdans le répertoire de sons d’Asterisk (par défaut /var/lib/asterisk/sounds). Par contre,les autres programmes, doivent être installés.
  • 51. 51 Installer les programmesLes commandes suivantes permettent d’effectuer la compilation et l’installation d’uncomposant :Cheick #cd nom_du_repertoire_du_composant_à_installerCheick #cd makeCheick #cd make installLa 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 sonexécution. Les mêmes commandes sont à reproduire pour chacun des composants, en seplaçant chaque fois dans le répertoire adéquat.ImportantIl faut respecter l’ordre d’installation des composants. Si l’on souhaite les utiliser, les modulesLibpri et Zaptel doivent impérativement être installés avant le serveur Asterisk. Le moduleAsterisk-addons peut être installé à la fin.Première Lancement du serveurL’étape d’installation achevée, il faut la tester en lançant le serveur Asterisk, afin de vérifierson bon fonctionnement. Asterisk n’impose pas de fonctionnement par défaut. Il ne disposed’ailleurs pas de fichier de configuration préétabli lui conférant initialement un modèle defonctionnement.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 defichiers que l’on adaptera par la suite selon ses besoins. Nous allons demander à Asteriskde nous préparer une configuration initiale. Pour cela, nous utilisons un terminal, et nousnous 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 à lancerune nouvelle installation du serveur. C’est une configuration de référence. Démarrage
  • 52. 52Comme pour tous services nous avons la possibilité de le démarrer arrêter ou autres avecl’une des commandes suivantes:Cheick# cd /etc/init.d pour se placer dans le fichier /etc/init.dasterisk stopasterisk startasterisk restart DiagnostiqueLe serveur Asterisk permet d’interagir directement avec le système sans avoir à modifier lesfichiers de configuration avec la CLI « Interface de ligne de commande ». Nous utiliseronscette 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 suivanteAsterisk:~# asterisk –rOu bienAsterisk:~# rasteriskL’option «-r» signifie que l’on se connecter au processus asterisk en cours d’exécution. Acette option on peut ajouter l’option « -v »pour indiquer le niveau de verbosité afin d’avoirplus 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
  • 53. 53Name/username Host Dyn Nat ACL Port Statustrunck_A_vers_B 192.168.2.202 D 5060 UnmonitoredNous pouvons également afficher l’état des lignes quand le serveur Asterisk se comportecomme un client SIP avec la commande suivante :*CLI> sip show registryHost Username Refresh State Reg.Time192.168.1.101:5060 trunck_A_vers_B 105 Registered Sun, 22 Apr 2011 19:13:203.4.2 ConfigurationComme le serveur Asterisk ne sera pas configuré avec la CLI, il va falloir modifier certainsfichiers de configuration avec l’éditeur de texte nano(ubuntu) ou autre. Pour uneconfiguration 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’Asterisk3.4.2.1 sip.conf RôleLe fichier sip.conf est utilisé pour configurer les logins et mots de passe de tous lespériphériques. Ces périphériques peuvent être des téléphones, des passerelles analogiques ouencore d’autres serveurs. Ce fichier est organisé en différentes zones appelées « context ». Context generalLe 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 utilisateursbindport=5060 ; port UDP du protocole SIP
  • 54. 54bindaddr=0.0.0.0 ; adresse IP de l’interface sur lequel le serveur va écouter le ; trafic0.0.0.0 pour toutes les interfaceslanguage=fr ; messages vocaux en français Context utilisateurD’autres contexts sont utilisés pour créer des comptes utilisateur. Les paramètres des comptespeuvent ê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 duroutage NAT[Rayane] ; obligatoire ; login SIPsecret=azerty ; obligatoire ; mot de passe SIPcallerid="Rayane" <200> ; facultatif ; nom affiché et numéro affiché sur le téléphone delappelercontext=local ; obligatoire ; les appels que fait lutilisateur ; 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 sortanthost=dynamic ; obligatoire ; adresse IP du clientnat=yes ; facultatif ; résoud le pb de lenregistrement SIP ; quand le téléphone est derrière unNATcanreinvite=yes ; facultatif ; résoud le problème du flux RTP quand le ; téléphone estderrière un NAT Context pour les passerellesIl existe différentes passerelles. Ces passerelles permettent les communications vers le réseauFrance Télécom analogique ou numérique mais aussi GSM. Pour pouvoir fonctionner, cespasserelles doivent avoir des comptes. Ces comptes se configurent de la même façon que lescomptes utilisateurs, exemple :[SPA-3102-PSTN]secret=azertycontext=local
  • 55. 55type=friendhost=dynamicNous resumons dans le tableau suivant les paramètres pour configurer un compte utilisateurParamètre DescriptionUsername Identifiant de l’utilisateursecret Mot de passe associé au compteType Indique le type de compte, et les restrictionsassocié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é (appelsentrants).– Peer : permet de définir une liaison entre deuxterminaux seulement.Host Spécifie une adresse IP à partir de laquellel’utilisateur peut accéder à son compte. La valeurdynamicautorise une adresse IP fournie dynamiquement, parun serveur DHCP notamment. Cettevaleur est donc moins restrictive.Callerid Nom de l’utilisateur, entre guillemets, suivi de sonextension téléphonique, c’est-à-dire de sonnuméro d’appel (au format de la RFC 822).Context Spécifie le type de routage à appliquer pourl’utilisateur. Le type de routage correspond à uncontexte défini dans le plan de numérotation(fichier extensions.conf). Les communications aveccet utilisateur sont donc soumises au contexte dumê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 cecompte.Par exemple, pour autoriser le codec G.711, selon laloi mu, on saisira: allow=ulaw.Ce même paramètre est aussi valable pour spécifierles codecs vidéo (par exemple : allow=h263)Ilest possible d’en mentionner autant que l’onsouhaite, 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. Dansce cas, aucun codecs ne sera utilisable parl’utilisateur concerné, sauf ceux spécifiés
  • 56. 56explicitementdans le (ou les) paramètre(s) allow.Nat Précise si les flux traversant un réseau utilisent latranslation d’adresse (NAT). La valeur du paramètrenat est yes ou no.Ce paramètre est souvent indispensable carl’utilisation du nat est classique, même chez lesparticuliers.Canreinvite Ce paramètre peut prendre les valeurs yes ou no. Sisa valeur est fixée à yes, Lorsqu’une communicationest en train de s’établir le serveur Asterisk varécupérer des informations (notamment versqui envoyer les flux) et ils les réémettra dans unnouveau message d’invitation une fois que lacommunicationsera acceptée seulement.Attention, si l’utilisateur se trouve derrière un NAT,il est indispensable de mettre la valeur de ceparamètre à no pour laisser passer les fluxmultimédia correctement, car le nouveau messaged’invitation du serveur Asterisk ne tiendrait pascompte du NAT.mailbox Indique la boite vocale associée à ce compte. Nousdétaillons ce paramètre et son utilisation à lasection qui traite de la messagerie audio.dtmfmode Ce champ indique le type de tonalité DTMF qui seraappliqué. Les valeurs possibles sont inband,rfc2833, info ou autoTableau4 : des paramètres pour configurer un compte utilisateur3.4.2.2 extension.confLe fichier extension.conf est utilisé pour router les appels vers un utilisateur ou vers samessagerie. 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 sontutilisées comme suit :NuméroappeléOrdred’instructionActioneffectuéeTemps en seconde avant de passer à l’instructionsuivante (en fonction de l’action)Exten => 200, 1, Dial(SIP/Rayane,10)
  • 57. 57 Routage d’appel vers un utilisateurDans l’exemple suivant, les appels arrivant sur le serveur Asterisk à destination du numéro200 sont envoyés vers le téléphone de Rayane pendant 10 secondes puis sont envoyés sur lamessagerie de Rayane.[local]exten => 200, 1, Dial(SIP/Rayane, 10) exten => 200, 2, VoiceMail(200) Routage d’appel vers un groupe d’utilisateursDans l’exemple suivant, les appels arrivant sur le serveur Asterisk à destination du numéro205 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’undes 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 tempsL’exemple suivant montre comment faire sonner deux téléphones en même temps. Quand oncompose 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 vocaleVoici deux exemples d’accès à la messagerie. Dans le premier cas, l’utilisateur doit composersur son clavier numérique son login et son code pin. Dans le second exemple, le logincorrespond 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 analogiqueDans l’exemple suivant, tous les appels commençant par quatre cent sont envoyés vers lapasserelle. La passerelle va composer le numéro sur la ligne analogique.exten => _4xx, 1, Dial(SIP/SPA-3102-PSTN/${EXTEN})
  • 58. 58Dans l’exemple suivant, les appels commençant par 01, 02, 03, 04 ou 05 composés de 10chiffres sont envoyés vers la passerelle. La passerelle va composer le numéro sur la ligneanalogique.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 etl’on obtient la tonalité. Nous pouvons ensuite composer le numéro vers l’extérieur.exten => 8, 1, Dial(SIP/SPA-3102-PSTN) Standard automatiqueLe standard automatique permet à un utilisateur d’écouter un message lui indiquant les choixpossibles. Après, il lui suffit de presser une des touches pour effectuer l’action voulue. Il estpossible de combiner les menus pour développer une architecture plus complexe. Dansl’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 estenvoyé à 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 automatiqueexten => s, 1, Background(/var/msg/Menu) ; le message audio enregistré ;/var/msg/Menu.gsm et joueexten => s, 2, WaitExten(2) ; on attend 2 secexten => s, 3, Goto(Menu,s,1) ; on recommence le toutexten => 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 raccrocheAstuce : pour enregistrer le message vocal au bon format, il vous suffit de laisser un messagesur la boîte vocal d’un utilisateur et de copier le fichier dans le répertoire /var/msg/ avec lacommande suivante.
  • 59. 59cp /var/spool/asterisk/voicemail/default/200/INBOX/msg0000.gsm /var/msg/Menu.gsm Horloge parlanteDans l’exemple suivant le serveur Asterisk décroche, annonce la date et l’heure, attend 3secondes et recommence.exten => 211, 1, Answer ; horloge parlanteexten => 211, 2, SayUnixTime(,CET,AdbY digits/at kM)exten => 211, 3, Wait(3)exten => 211, 4, Goto(local,211, 2) Outil de test de fluxDans l’exemple suivant Asterisk décroche et joue un message expliquant le fonctionnementde la fonction de test. C’est ensuite à l’utilisateur de parler dans le combiné et de vérifier quele serveur Asterisk renvoie le son vers le combiné avec un petit décalage.exten => 212, 1, Answer ; permet de tester les flux entrant et sortantexten => 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 Asteriskdispose d’un grand nombre de procédures déterminant le comportement à adopter, c’est-à-direla manière de traiter les flux audioApplication DescriptionAnswer Répond à un appel téléphonique entrant.Background Lit un message audio de manière non bloquante. Autrement dit, une saisied’une ou plusieurs touchespar l’appelant est possible en parallèle. Dans ce cas, la lecture du messageaudio en cours est interrompue.L’extension correspondant aux touches saisies par l’appelant estautomatiquement appelée.Cela permet notamment de présenter une information facultative, commeune publicité ou un menu, que l’appelant peut interrompre dès qu’il a prisconnaissance de l’option qui l’intéresse.Dial Met en relation l’appelant et l’utilisateur ou le service spécifié en argumentde l’application Dial. Cette commande est donc utilisée pour affecter unnumé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 designalisation que le compte utilise (IAX2, SIP, etc.). Cela permet au serveurAsterisk de déterminer dans quel fichier de configuration se trouvent lespropriétés du compte appelé (iax.conf, sip.conf, etc.). Il est possible
  • 60. 60d’appeler plusieurs correspondants en même temps en mettant leurextension respective en arguments de l’application Dial, séparés par lecaractère & (esperluette). Par exemple : Dial (SIP/1001 &SIP/1005) fait sonner les postes affectés aux comptes 1001 et 1002 enmême temps. Il est aussi possible d’ajouter un argument à l’applicationmentionnant 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éphonede l’identifiant pendant une durée de 30 secondes.Echo Retourne l’écho de ce que l’appelant prononce. Cette application est utilenotamment pour tester que les composants audio de réception et d’émissiondu son sont fonctionnelsGoto Branchement inconditionnel vers un contexte, une extension et une prioritéparticuliers.GotoIf Branchement conditionnel vers un contexte, une extension et une prioritéparticuliers lorsqu’unecondition 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 del’application MeetmePlayback Lit un message audio de manière bloquante : la lecture du message doit sefaire intégralement, et l’appelant ne peut interrompre cette diffusion par unesaisie 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 estsauvegardée sous forme de variable par le système. Cela permet notammentde demander un mot de passe à l’utilisateur avant d’accéder à un servicespécifiqueRecord Enregistre une communication dans un fichier son.ResponseTimeOutSpé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 del’applicationSaydigit Annonce vocale de chiffres spécifiés en argument de l’applicationSayNumber Annonce vocale de nombres spécifiés en argument de l’applicationSayPhonetic Annonce vocale d’un message phonétique spécifié en argument del’applicationSayUnixTime Annonce vocale de l’heure, selon différents formatsSendText Envoie un message textuel à l’utilisateur.SMS Envoi et réception de messages instantanés SMSSystem 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.
  • 61. 61Wait Attend pendant un certain délai spécifié en argumentWaitExten Attend une saisie d’une extension par l’utilisateur.Tableau 5 : applications classiques de extensions.conf3.4.2.3 voicemail.conf RôleLe fichier voicemail.conf permet de configurer la messagerie vocale d’Asterisk. Nouspourrons y paramétrer la notification par email des messages et les logins des utilisateurs de laboîte vocale. Context generalLe 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=gsmattach=yesemailsubject=Nouveau message vocal provenant de ${VM_CIDNAME}emailbody=ntBonjour ${VM_NAME},nnt Tu as un message de la part de${VM_CIDNAME} dune 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 dutilisateur VM_DUR durée du message VM_MSGNUM numéro du message VM_MAILBOX numéro de lutilisateur VM_CIDNUM numéro du lappelant VM_CIDNAME nom de lappelant VM_DATE date du message n retour à la ligne t tabulation Context default
  • 62. 62Voici un exemple de context defaut, on y retrouveLe 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, john@toto.fr201 = 456, Fred202 = 789, Mike Notification par emailPour 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 postfixIl faut maintenant configurer le relais SMTP, en spécifiant l’adresse du serveur SMTP devotre FAI. Avec l’éditeur de texte nano, nous allons modifier le champ relayhost dans lefichier /etc/postfix/main.cfrelayhost = smtp.free.frVoilà notre serveur Asterisk opérationnel. Il ne nous reste plus qu’à configurer nos téléphoneset nos passerelles. Nous présentons quelques clients open source et leur mode configurationdans le paragraphe suivant .3.5 ClientLe client SIP (Soft Phone) permet de jouer le rôle d’un téléphone IP de manière logiciel. Ilrequière un système de son (carte son, baffles, micro,...) pour l’utiliser. Ces clients permettentde 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étaireet ne sont pas utilisables avec Asterisk.
  • 63. 633.5.1 X-LiteCe client est un des plus abouti en termes de fonctionnalités, de fiabilités et de simplicité. Ilpermet la gestion de contactes et de groupes et fait également la messagerie instantané. Ilexiste en version payante (EyeBeam) (Plusieurs comptes SIP, support de la vidéo,...). Ilfonctionne également sous Windows.Pour configurer le client X-Lite, un simple clic droit n’importe où dans l’interface ouvreun menu contextuel permettant d’accéder au menu « SIP Account Settings ». Dans la fenêtrequi s’ouvre, il suffit de renseigner les champs suivants :• identifiant affiché pour l’utilisateur (Display Name), pouvant être formé de caractèresAlpha 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êmeIl 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 à cellessaisies dans le fichier sip.conf du serveur Asterisk.Figure 9 XLite
  • 64. 643.5.2Windows MessengerC’est un logiciel de messagerie instantanée et de visioconférence développé par Microsoft etn’existe pas sous Linux. Il est compatible avec SIP et permet de communiquer avec unserveur 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 nomou l’adresse IP du serveur en précisant le protocole UDPPour passer un appel Aller dans Actions démarrer une conversation vocale et dans le champ adresse demessagerie on renseigne l’ID (ou le nom) de l’appelant et l’adresse IP ou le nom du serveurAsterisk.Figure 10 Windows Messenger3.5.3 SJPhoneCe logiciel gère les deux normes SIP et H.323 ce qui le rend compatible avec la plupart desvendeurs 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.
  • 65. 65Figure 11 :SJPhone3.5.4LinphoneLinphone est un client exclusivement Linux. Etant assez basique, il fait uniquement lesfonctions 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 serveurFigure 27 Linphone
  • 66. 663.5.5 Les logiciels SIP pour mobilesTous les téléphones qui sont compatibles Wi-Fi comme liPhone nont pas automatiquementune couche SIP par défaut. Dans ce cas il faut télécharger et installer un programme afin depasser des appels VoIP.3.6 Téléphones Nokia compatibles SIP dorigineNokia E51, Nokia E61 ; Nokia E65 ; Nokia E90 ;Nokia N81 & N81 8GB ; Nokia N8 ; NokiaN95 & N95 8GB ; Nokia N96.Pour les téléphones qui seraient compatible Wi-Fi mais sans couche SIP, vous pouveztélécharger le programme Fring à ladresse suivante : www.fring.comconfigurationMenu>Outils>Paramètres>Connexion>Paramètres SIP>Options>Nouveau mode SIP>Utilisermode par déf.Renseignez ensuite les champs suivants :Nom du mode : donner un nom quelconqueMode du service : IETFPoint daccès par défaut : choisissez votre réseau WiFiNom dutilisateur public : votre_identifiant@ asteriskUtiliser la compression : NonInscription : Toujours activéeUtiliser sécurité : NonServeur proxyAdresse serveur proxy : ippi.frDomaine : asteriskNom dutilisateur : votre identifiantMot de passe : mot de passeAutorise routage lache : OuiType de transport : UDP ou AutoPort : 5060
  • 67. 67Une fois ces paramètres introduits, vous devriez passer du statut "non inscrit" au statut"inscrit".3.7 Ajouter de Nouveau serviceNotre plate-forme Asterisk étant désormais pleinement opérationnelle, nous pouvonsinstaller sur le serveur quelques services classiques. Dans ce paragraphe nous présentons lamise 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 vocalautomatique, permettant à l’appelant de sélectionner lui-même la personne ou le service aveclequel il souhaite entrer en communication.Le standard automatique propose des menus à choix multiples conduisant à diversesactions 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éphoniqueparticulier.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éphoniquequ’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 latouche étoile. Un message est alors diffusé pour demander à l’appelant de choisir lenuméro de poste téléphonique qu’il souhaite joindre. Nous traitons dans cet exemple
  • 68. 68deux 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’ilvient 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 confirmationde la saisie, la communication vers le poste 2 attribué à l’utilisateur laurent estinitiée (en signalisation SIP).• L’appelant saisit une autre touche que 1 ou 2 (extension i) : un message audiol’informe de l’invalidité de la saisie, puis l’étape précédente est immédiatementréactivée, l’invitant à saisir une nouvelle touche.• L’appelant ne saisit aucune touche pendant un délai déterminé (extension t) : l’appel setermine aussitôt. ConférenceDeux étapes suffisent pour mettre en place une conférence avec Asterisk : créer les salonsde 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 enajoutant à la section [rooms] le code suivantconf => 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 minimumpar l’indication d’un numéro de salle (numero_de_conference). Il peut êtrecomplé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îtrel’administrateur, auquel des droits de gestion du salon virtuel sont attribués .Exemple de salonconf => 770, 123, 456Cela crée un salon d’identifiant 770, auquel les utilisateurs peuvent accéder en indiquantle code 123 et dont l’administrateur s’identifie par le code 456
  • 69. 69 Inviter des participants à la conférence (application Meetme)Pour inviter des participants à entrer dans la salle de conférence, il faut les aiguiller enutilisant le plan de numérotation et l’application Meetme.Pour rediriger une communication vers la conférence précédente, Il suffit d’utiliserl’appel Meetme (770) dans le fichier extensions.conf.Par exemple, si l’appelant compose le numéro 770, l’extension suivante l’invite à rejoindrela conférence 770 :exten => 770, 1, Meetme (770)Il est possible d’ajouter en second argument de l’application Meetme une ou plusieursdes options récapitulées au tableau 12.7 (s’il y en a plusieurs, les options sont indiquéesen se succédant sans caractère de séparation).Option Descriptionm Active le mode monitor : les participants peuvent écouter, mais pas parlerp 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 utilisateursentrent dans la conférenceou en sortent.d Ajoute une conférence dynamiquement.m Active une musique d’attente lorsqu’il n’y a qu’un seul par ticipant à laconférenceB Lance le script AGI spécifié dans la variableMEETME_AGI_BACKGROUND (celle-ci doit avoirété initialisée auparavant).Tableau 6 :Options de l’application Meetme
  • 70. 703.7 Callback avec AsteriskCe quon appelle callback, est, comme son nom lindique, se faire rappeler. Lintérêt se trouvedans le fait que si vous avez un abonnement illimité (tel que Voip Stunp), et au moins deuxlignes, vous pouvez passer des appels depuis nimporte quel fixe, gratuitement. Comment ca marcheVous appellez votre asterisk, il vous demande un code, vous lui donnez, vous raccrochez, etAsterisk vous rappelle 15 secondes plus tard. A ce moment la, vous tapez le numero de votrecorrespondant, il lappelle, 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 depasserelle. Il faut dans ce cas là la "Présentation du numéro". Lextension Les messages à enregistrerNous 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 formatdAsterisk, 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()
  • 71. 71vm-callsender est un message déjà présent dans Asterisk, que nous utilisons simplement poursavoir à quel moment parler :)Le fichier enregistré sera donc /tmp/rec, au format gsm (suffisant). Le 7 signifie dattendre 7secondes de blanc avant la fin de lenregistrement. Pourquoi autant de temps ? Toutsimplement parce que nous utiliserons la fonction Read(), qui ne lit les chiffres que durant lalecture dun message préenregistré. Donc si le message ne dure que 3 secondes, ca seracompliqué.Apres chaque message, pensez a déplacer le fichier parmi ceux dAsterisk.Vous aurez besoin de 3 messages : "Tapez vôtres code" "Tapez le numéro" "Merci" Le mot de passeDans le contexte de réception dappelle, on va donc demander le mot de passe, et le contrôler.Mais dabord, il faut régler quelques paramètres, sinon il y a quelques problèmes avec leDTMF :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, pourvérifier que cest bien le bon.
  • 72. 72exten => <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 CallbackIl faut maintenant faire appeler Asterisk. On ne peut bien sur pas utiliser Dial, car si onraccroche, ca sarrê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 bonsparamè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, plusieursfois par seconde), donc on ne peut pas éditer le fichier directement dans le dossier, sinon ilrisque den 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 regarderla date du fichier, si elle est dans le futur, il attendra cette date la (impossible tout de mêmedans notre cas, ca ne gère pas trop les secondes, et comme on ne veut pas attendre plus duneminute, on fera autrement).Voici le contenu du fichier :Channel: SIP/<num>@VoipStund-outMaxRetries: 2RetryTime: 10WaitTime: 20Context: RecallExtension: sPriority: 1Cest lendroit ou Asterisk ira apres que le téléphone distant ait répondu.Dans le context. On a donc vu quil faut écrire ce fichier, et attendre 15 secondes avant de leplacer dans le dossier outgoing. On peut donc ajouter après la demande de mot de passe :
  • 73. 73exten => <login>,8,system(echo -e "Channel: SIP/${CALLERIDNUM}@VoipStund-outnMaxRetries: 2nRetryTime: 10nWaitTime: 20nContext: RecallnExtension:snPriority: 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 nimporte quel langage, tant quil estexecutable) :#!/bin/sh# on creer un nom de fichier unique pour éviter les écrasementsfn="/tmp/$$.`date +%s`"mv /tmp/recall.call $fnsleep 15exec mv $fn /var/spool/asterisk/outgoingOn doit en faire un deamon car pour quasterisk ne bloque pas dessus en attendant la fin delexécution. Maintenant Asterisk peut nous appeller, mais il reste encore le contexte Recall acré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 dobtenir une confirmation du numero :
  • 74. 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,WaitExtenexten => #,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 :) PasserellePour la solution depuis un téléphone portable, il suffit de mettre dans le contexte de réceptiondappel :exten => <login>/<votre_num_tel>,1,Goto(Recall,s,1)Comme Asterisk est sur que lappelle vient bien de votre téléphone, il nest pas nécessaire depasser par la demande de mot de passe. Récapitulatif
  • 75. 75Voici 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-outnMaxRetries: 2nRetryTime: 10nWaitTime: 20nContext: RecallnExtension:snPriority: 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 écrasementsfn="/tmp/$$.`date +%s`"
  • 76. 76mv /tmp/recall.call $fnsleep 15exec mv $fn /var/spool/asterisk/outgoing3.8ConclusionOuvert à tous, gratuit, simple à utiliser, puissant et performant, Asterisk a vraiment dequoi séduire, et même rivaliser avec les équipements professionnels. En fait, les vraisconcurrents d’Asterisk ne sont pas les autres PBX logiciels, mais les PBX hardware euxmêmes.Dans un secteur en pleine mutation, où le monde RTC s’efface au fur et à mesure que lemonde IP prend sa place, Asterisk influence d’ores et déjà les stratégies des équipementiersen montrant la voie.Chapitre 4: Réalisation du projetCe chapitre a caractère partique decris les étapes de realisation du projet dont l’objectifprincipale est de mettre en palce un service de communication basé sur les techniques de laVoip au sain du departement informatique afin de facilité la communication .Nous commençons par donner une description du departement , puis les outils.4.1Departement InformatiqueLe departement informatique est constituer de plusieurs bureaux et salles de cours et de Tp etde laboratoire .Chaque bureau dispose d’une connexion Adsl cablé .Afin de faciliter lacommunication entre les différentes bureaux du departement nous propons la mise en place de
  • 77. 77reseaux téléphonique utilisant les infractructures de réseau existantes à travers l’architecturesuivant.Routeur4.2 Mise en place de l’arhitecturePour mettre en place cette architecture nous avons besoin de postes (Windows ouUnix ) unrouteur ,des cables un poste serveur ,des softphones.Etant donné que le departement dipsosed’un dipsostif reseau nous allons juste l’exploiter .Pour la mise en place du serveur nous allons devoir télécharger les différentes composantenécessaire comme décrsi dans la section pratique de la Voip. Une fois les composantetélécharger il nous reste plus qu’a configurer un des postes qui jouera le role du serveurcomme le montre l’architecture . Le système d’exploitation de cette poste doit etre unsystème Unix ,il nous faut donc avant d’installer le serveur installer une distribution unix surce 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 sofphonelibre téléchageable gratuitement sur Internet. Nous avons déjas fait une description dequelques un dans la partie pratique du rapport.Afin de faciliter l’usage des sofphone nous proposon un plan de numerotaion simple cest-à-dire que nous attribuer a chaque softphone un numero constitué de deux chiffre exemple :01et comme identifiant du softphone nous donnerons le nom responsable du poste .Une fois toute les configuration fait ,voici le departement disposant de son service decommunication securiser et fiable.Des exemples d’interfaces ci dessous permet d’avoir unevue 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 leFigure 13 Architecture du systeme de communication
  • 78. 78repertoire« asterisk » du repectoire « etc ».La figure suivant montre les commande a executerpour 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 commeindique 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 commel’indique la figure ci-dessous. C’est dans ce fichier qu’on crée les clients suivants les réglesdecritent dans la section pratique de ce rapport.Figure 16:fichier Sip.confVoici un exemple de configuration de client
  • 79. 79Figure 17 : Exemple de configuration de clientsSur 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 .confCette figure montre le contenu du fichier Sip.conf dans lequel nous avons créé un contextgénéral et un autre context nommé sip .C’est dans le context Sip que nous avons défini lesplans de numérotations .Ainsi Phone1 est joignable par le numéro« 01 ».Apres configurationdes clients et definitions des numéros nous pouvons commencer à passer les appels .Pour y
  • 80. 80parvenir il faut lancer le serveur .Avec les commandes « asterisk –r » on obtient une interfacecomme le montre la figure suivante :Figure 19:Lancement du serveurCette figure montre que notre serveur est opérationnel. Une fois le serveur démarrer nous pouvons voirles 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 sontdéconnectés. Les deux clients en lignes peuvent donc passer des appels et en recevoir. Surl’interface du serveur on peut exécuter plusieurs commandes .Exemple pour obtenir de l’aideil suffit de saisir « help ». Voir figure suivantFigure 21 : Exécution de la commande Help
  • 81. 81L’exécution de cette commande permet d’avoir de l’aide concernant le fonctionnement duserveur .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 ilsuffit de cliqué sur « Register » .Si le client est bien enregistré, sur l’interface du serveur on peur voirce ci :Figure 23:réponse du serveur suit à un clic sur RegisterLe serveur signal l’enregistre du compte sip.Idefisk2 et 3.C’est deux sofphones sontopérationnel et nous pouvons commencer les appels. La figure suivant montre deuxsoftphones en communication.
  • 82. 82Figure 24:Deux softphones en mode communicationSur cette figure le sofphone Xlite a composé le « 02 » mais n’a pas lancé l’appel. Le mêmesoftphone a reçu sur la ligne 3 un appel venant du client (Zoiper). Nous voyons que nouspouvons passer plusieurs appels et en recevoir plusieurs sur même sofphone. La figuresuivante ,nous permet de voir un poste en plein communication .Figure 25 :Softphone effectuant une communicationCe poste a recu un appel d’un poste ayant comme numéro « 04 ». L’appel se fait sur la ligne 2du sofphone.Apres avoir effectuer tous les service que l’veux pour arreter le serveur il suffitde d’excuter la commande « exit » . L’execution de cette est ilustrée dans la figure 13.Figure 26 : Arrêt du serveur
  • 83. 834.3 ConclusionLa voix sur IP (Voice over IP) est une technologie de communication vocale en pleine émergence Enplus de représenter un intérêt économique majeur, la téléphonie sur IP utilise jusqu’à dix fois moins debande passante que la téléphonie traditionnelle. Ceci apporte de grand intérêt pour la voix sur réseauprivé. 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 tocall .Ainsi la mise en place d’un service de communication au sain du département d’informatiques’avère utile car elle facilitera les échanges d’information entre les différents bureaux et cela aun cout minime.Conclusion généraleLa téléphonie sur IP constitue incontestablement une attraction de taille à la fois pour lesEquipementiers, les opérateurs, les entreprises et le grand public. Si les enjeux économiquesjustifient largement cette convoitise, il ne faut cependant pas négliger les contraintestechniques à surmonter.Durant le présent projet de fin d’études, il nous a été confié la mission, d’étudier et mettre enplace le service de communication basée sur les techniques de la VoIP au sain du départementinformatique de la faculté des sciences.Pour cela, notre travail a été décomposé en plusieurs étapes majeures dont l’un des plusimportantes 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 lesavoir faire et de mettre en pratique nos connaissances théoriques acquises en cours deré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
  • 84. 84Bibliographie 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’ WebographieWWW.google.frwww.asterisk.orgwww.asterisk-france.orgwww.asteriskguru.comwww.commentcamarche.netwww.iki.sos-admin.com/wikiGlossaire des AcronymesAACK:accusé de receptionADSL: Asymmetric Digital Subscriber LineATM:Asynchronous Transfer ModeCCCMP: Counter with CBC MAC ProtocolDDHCP : Dynamic Host Configuration ProtocolDNS : Domain Name SystemDOS: Deny of ServiceDTMF : Dual-tone multi-frequency
  • 85. 85FFAI :Fournisseur daccès à InternetFXO : Foreign eXchange OfficeFXS : Foreign eXchange SubscriberGGSM : Global System for Mobile CommunicationsGNU : General Public LicenseGPL : General Public License( traduction française du GNU)HHTPP: Hypertext Transmission ProtocolIIAX : Inter Asterisk eXchangeIP :Internet ProtocolIVR : Integrated Voice ResponderLLAN :Local Arear NetworkLCS: Live Communications ServerMMAC: Media Access ControlMCU: Multipoint Control UnitMGCP: Media Gateway Control ProtocolMIME: Multipurpose Internet Mail Extension
  • 86. 86OOSI: Open Systems InterconnectionPPABX : Private Automatic Branch eXchangePMD: Physical Medium DependantQQOS: Quality of ServiceRRADIUS : Remote Authentication Dial-In User ServerRNIS : Réseau numérique à intégration de servicesRSVP : Resource reSerVation ProtocolRTC :Réseau Téléphonique CommutéRTCP: Real-time Transport Control ProtocolRTP : Real-time Transport Protocol)RTSP: Real-time Streaming ProtocolSSAP: Session Advertisement ProtocolSDP: Session Description ProtocolSGBDR: Système de Gestion de Base de Données RelationnelSKMP : Secure key Management ProtocolSIP : Session Initiation ProtocolSRTP :Secure RTP
  • 87. 87SSL : Secure Sockets LayerTTKIP : Temporal Key Integrity ProtocolTOIP: Telephony over Internet ProtocolTTL :transistor Transistor LogicUUDP:User Datagram ProtocolUIT :Union internationale des télécommunicationsURI :Uniform Resource IdentifierURL :Uniform Resource LocatorVVOIP : Voice over IPVPN : Virtual Private NetworkWWEP : Wired Equivalent PrivacyWG MMUSIC : Work Group Multiparty Multimedia Session Control
  • 88. 88
  • 89. 89
  • 90. 90