Rapport de stage Mise en place de solutions de VoIP et de

Transcription

Rapport de stage Mise en place de solutions de VoIP et de
Rapport de stage
Stage de fin d’études effectué à l’IRCAD
Mise en place
de solutions de VoIP
et de Visioconférence
Tuteur de stage : Johan MOREAU
Référent de stage : Bernard THIRION
Année Universitaire 2009/2010
BILS Raphaël
3ème année d'ingénieur
informatique et réseaux
ENSISA
Remerciements
Je voudrais d'abord remercier l'IRCAD de m'avoir accueilli durant 6 mois dans un environnement idéal
pour avancer efficacement dans mon projet.
Je remercie Johan Moreau pour m'avoir donné la chance de réaliser un stage enrichissant et dans un
domaine qui m'intéresse.
Je remercie aussi Frédéric Urban, Jacques Kern et Christian Haessig qui m'ont suivi et aidé lors de
certaines phases de mon projet.
Je remercie également tous ceux en alternance ou en stage que j'ai pu côtoyer: Oumar, Fabrice, Bertrand,
Yannick et Nalian. C'est grâce à la bonne humeur de chacun que ce stage a pu aussi bien se dérouler.
Pour finir j'ai une pensée reconnaissante envers nos professeurs qui nous ont offert des cours de qualité
durant ces trois années de formation.
2
Rapport de stage BILS raphaël
16 aout 2010
Table des matières
Remerciements..............................................................................................................................................2
Introduction...................................................................................................................................................4
Partie I : Présentation de l'entreprise ............................................................................................................5
1. Présentation IRCAD/EITS.................................................................................................................. .5
2. L’IRCAD en bref ............................................................................................................................... .5
3. Historique ........................................................................................................................................... .6
4. Le département R&D ......................................................................................................................... .8
Partie II : Infrastructures et missions.............................................................................................................9
1. Infrastructure réseau............................................................................................................................ .9
2. Infrastructure téléphonique................................................................................................................. .9
3. Infrastructure visioconférence .......................................................................................................... 10
4. Missions............................................................................................................................................. 10
Partie III : État de l'art en téléphonie et visioconférence ............................................................................11
1. La téléphonie sur IP .......................................................................................................................... 11
1.1 Les enjeux et les besoins.............................................................................................................11
1.2 Quatre solutions de migration VoIP.............................................................................................12
1.3 Quatre principaux protocoles : H323, SIP, MGCP, XMPP.........................................................16
1.4 Les différents IPBX.....................................................................................................................18
1.5 Récapitulatif des avantages et inconvénients de chaque approche d'Asterisk ...........................20
1.6 Les différents softphones.............................................................................................................21
1.7 Qualité du codage........................................................................................................................22
2. Visioconférence.................................................................................................................................. 24
2.1 Les enjeux et les besoins.............................................................................................................24
2.2 Codecs vidéo ..............................................................................................................................24
2.3 VLVC...........................................................................................................................................25
3. Le regroupement................................................................................................................................ 25
3.1 Les enjeux et les besoins.............................................................................................................25
3.2 BigBlueButton.............................................................................................................................25
3.3 Evo...............................................................................................................................................26
3.4 Open Meeting..............................................................................................................................27
Partie IV : Maquette et tests .......................................................................................................................29
1. Paramétrage d'Asterisk ..................................................................................................................... 29
2. Mise en place d'un trunk sip.............................................................................................................. 32
3. IAX.................................................................................................................................................... 34
4. Liaison AD......................................................................................................................................... 37
5. HA (High Avaibility).......................................................................................................................... 39
6. IPphone.............................................................................................................................................. 41
7. Tests codecs audio/vidéo.................................................................................................................... 42
8. QoS (Quality of Service).................................................................................................................. 43
9. Liaison RNIS Asterisk....................................................................................................................... 44
10. Évolution de la maquette de test au cours du stage......................................................................... 48
Conclusion...................................................................................................................................................50
Glossaire......................................................................................................................................................51
Table des références....................................................................................................................................55
Résumé........................................................................................................................................................56
3
Rapport de stage BILS raphaël
16 aout 2010
Introduction
Pour achever la formation d'ingénieur « informatique et réseaux » à l'ENSISA, il est nécessaire
d'effectuer un stage de 6 mois en entreprise.
Ce stage a pour but d’acquérir une expérience dans le monde professionnel, d'expérimenter la vie en
entreprise, le fonctionnement du service au sein de celle-ci et d’intégrer une équipe de travail afin de
mettre en pratique les enseignements reçus pendant la formation.
J'ai choisi de faire mon stage à l'Institut de Recherche contre les Cancers de l'Appareil Digestif (IRCAD)
à Strasbourg car le projet de stage me passionnait. En effet, l'IRCAD dispose d'installations à la pointe
de la technologie dans le domaine médical mais aussi celui de la visioconférence, de plus l'Institut
possède une renommée internationale.
Le projet du stage est axé autour de trois problématiques :
 La téléphonie IP
 La visioconférence
 L'interconnexion de la visioconférence et de la téléphonie
Ce rapport dresse le compte rendu du travail effectué durant le stage.
4
Rapport de stage BILS Raphaël
16 aout 2010
Partie I : Présentation de l'entreprise
1. Présentation IRCAD/EITS
L'IRCAD (Institut de Recherche contre les Cancers de l'Appareil Digestif) a été fondé en 1994 au sein
des Hôpitaux Universitaires de Strasbourg par le professeur Jacques Marescaux . Il réunit des laboratoires
de Recherche en Cancérologie Digestive et en Robotique Médicale, un département Recherche et
Développement Informatique et un centre de formation en chirurgie mini-invasive.
Les missions de l’IRCAD sont au nombre de trois:
- Développer la recherche en dehors des critères d’excellence des instituts nationaux de recherche dont
les règles ne sont applicables qu’aux disciplines fondamentales, souvent trop loin des préoccupations du
chirurgien.
- Initier et non pas de subir les révolutions technologiques à venir dans le domaine de la chirurgie.
- Intégrer les nouveaux moyens de télécommunication car les chirurgiens se doivent de participer à la
diffusion planétaire de l’information qui est dans l’air du temps.
L’idée était donc de créer un lieu où se côtoient chercheurs, ingénieurs informaticiens, roboticiens,
experts chirurgicaux et géants de l’industrie chirurgicale.
Le succès fût au rendez-vous car après 15 ans de fonctionnement, l’institut a pu acquérir une réputation
aussi bien dans les domaines de la recherche fondamentale et appliquée que dans l’enseignement des
nouvelles technologies chirurgicales. En effet, l’IRCAD accueille plus de 3000 chirurgiens par an dans
une structure de plus de 8000 m² et possède une renommée internationale puisque celle-ci (IRCAD/EITS)
est la première école de formation aux nouvelles technologies chirurgicales dans le monde.
2. L’IRCAD en bref
Structure : Privée
Président : Le Professeur Jacques Marescaux est président de l’IRCAD/EITS depuis sa création à titre
bénévole.
Conseil scientifique : Afin de garantir une indépendance de recherche et une déontologie sans reproche,
l'IRCAD s'est doté d'un conseil scientifique d'experts reconnus et indépendants dirigé par le Professeur
Jean-Marc Egly.
Statut : L’IRCAD/EITS est une association régie par la loi de 1908 du code civil local d’Alsace Moselle. Cette structure juridique spécifique permet en particulier à l’IRCAD/EITS d’avoir un objet
5
Rapport de stage BILS Raphaël
16 aout 2010
économique et d’être habilitée à effectuer des actes habituels de commerce, tout en conservant un objectif
non lucratif. L'Ircad a le titre d'organisme de formation, son diplôme est reconnu par l'Université de
Strasbourg.
Salariés : 50 salariés permanents répartis en 7 groupes de recherche
Financement :
-Une importante part de donations d’origines privées
-L'autofinancement via l’EITS (European Institue of TeleSurgery, l’école de formation pour
chirurgiens)
-Les financements publics des collectivités locales, territoriales et européennes (via la
participation à des projets de recherche)
Cible : patients, chirurgiens, industriels
Thème de recherche : Les groupes de recherche ont pour objectifs d’améliorer le diagnostic précoce du
cancer et d’élaborer de nouvelles thérapies avec une priorité dans la prise en charge des cancers digestifs.
3. Historique
1994 :
Céation de l’IRCAD/EITS sous la forme d’une association de droit local.
Labellisation du projet Eureka MASTER (geste chirurgical assisté par ordinateur).
1995 – 1998 :
Création de l'équipe de recherche et développement informatique .
1999 – 2001 :
Mise en œuvre d’une plate-forme expérimentale (Argonaute 3d) permettant à plusieurs acteurs distants
du corps médical (médecin généraliste, radiologue, chirurgien,…) de travailler ensemble en temps réel
sur une image 3D.
Première opération (Lindbergh) mondiale de télé-chirurgie entre les États-Unis et l’Europe.
Ouverture du site Websurg, qui devient rapidement une structure indépendante de l’IRCAD.
2002 – 2003 :
Développement de la formation avec la création d’un nouveau bâtiment qui permettra d’accueillir
environ 1 500 chirurgiens supplémentaires par an.
Évolution de Websurg, outil de communication et d’échange de l’IRCAD/EITS, qui devient gratuit, grâce
au soutien des industriels.
2004 – 2005 :
Labellisation du projet Eureka Odysseus (logiciels coopératifs et simulation).
Première opération de réalité augmentée (superposition des organes virtuels du patient sur ses organes
réels) .
Création d’une unité de formation à la chirurgie mini-invasive en partenariat avec la Chinese University
of Hong-Kong .
Labellisation du projet Anubis par le pôle de compétitivité Innovations thérapeutiques.
Mise en open-source du projet vgSDK (http://code.google.com/p/vgsdk/) et Yams++
6
Rapport de stage BILS Raphaël
16 aout 2010
(https://gna.org/projects/yams)
2006 – 2007 :
Signature du partenariat avec le Show Chwan Memorial Hospital de Taïwan pour l’ouverture d’un centre
de formation « miroir » de l’IRCAD, « l’ASIA-IRCAD-AITS ».
2008 :
Labellisation du projet PASSPORT (Simulation et planification d'actes chirurgicaux). Mise à disposition
gratuitement, via Internet, du logiciel VR-Render permettant de visualiser des images médicales en vues
MPR et volumiques
2009 :
Mise à disposition gratuitement, via Internet, d'une base de données d'images segmentées permettant à la
communauté scientifique de valider ses algorithmes de traitement d'images médicales.
Mise en open-source du projet FW4SPL (http://code.google.com/p/fw4spl/) et du projet SConspiracy
(http://code.google.com/p/sconspiracy/) suite du projet YAMS++
Organigramme:
7
Rapport de stage BILS Raphaël
16 aout 2010
4. Le département R&D
Dans ce cadre innovant, le département Recherche et Développement (R&D) constitue le principal
moteur de cette recherche appliquée, en parallèle des départements Robotique, WebSurg (formation en
ligne), EITS (conférences et cours sur site) et Audiovisuel notamment.
L’équipe de recherche et développement en informatique et robotique est dirigée par le professeur Luc
Soler. Elle est composée de :
- Quatre docteurs en informatique spécialisés dans le traitement d’images médicales
- Cinq chirurgiens responsables des études et validations cliniques
- Deux manipulateurs en radiologie qui réalisent les analyses 3D et 4D des patients et du petit
animal
- Une assistante de recherche responsable de la gestion administrative et des dossiers de
financement.
- Un ingénieur de recherche appliquée en mécanique et en robotique.
Une unité en développement composée de 5 ingénieurs en développement spécialisés dans les problèmes
de réseaux, les bases de données et les interfaces hommes-machines.
En relation avec le département R&D, une cellule gestion informatique gère le système d'information
avec 3 ingénieurs système et réseaux, un assistant ingénieurs, deux BTS administration réseaux en
alternance, le tout dirigée par Mr Moreau.
8
Rapport de stage BILS Raphaël
16 aout 2010
Partie II : Infrastructures et missions
1. Infrastructure réseau
L'infrastructure réseau de l'ircad se présente de la manière suivante:
•
•
•
•
Interconnexion fibre entre les salles réseau
Stack de Cisco dans chaque salle réseau
Utilisation de la technologie 802.1q (VLAN) pour segmenter
QoS en cours d'être mise en place.
Pour la séries de tests, les machines et équipements ont été installé dans une maquette de test pour ne pas
perturber le réseau en production de l'ircad. Cette maquette reproduit le réseau de l'ircad à petite échelle.
Les machines sont connectées dans un VLAN dédié, ici le E.
2. Infrastructure téléphonique
L'infrastructure téléphonique du site de Strasbourg se compose de:
•
•
•
•
9
PABX Alcatel + équipement de distribution
Quelques postes accueil
150 postes actuel + 150 à venir (institut annexe)
Sortie ISDN
Rapport de stage BILS Raphaël
16 aout 2010
• 3 FAX
• capacité : 4 T2 + 9 T0
• capacité : 201 UA (numérique) + 120 Z (analogique)
L'installation téléphonique n'est pas récente pour le PABX.
3. Infrastructure visioconférence
Actuellement, la visioconférence à l'IRCAD, est constituée de :
• 2 salles visioconférence numeris 4 canaux + 1 salle (8 à 10 personnes) composé d'un écran et
d'une caméra
• 2 nouvelles salles à créer.
A terme de :
• L'ircad 5 à 6 salles (Actuel : 3 non HD / 2 CISCO et 1 Polycom), le tout en HD
• Institut annexe 2 salles en HD
La connaissance de l'architecture fut très importante aussi bien au niveau téléphonique qu'au niveau de
l'infrastructure réseaux afin que le projet final fasse la jonction entre les deux mondes, le monde de la
téléphonie analogique (lien T0) et le monde IP.
4. Missions
La principale mission qui m'a été confiée par l'ircad durant mon stage consistait à mettre en œuvre une
maquette opérationnelle de solution VoIP, pour apporter une solution de remplacement à l'installation
téléphonique vieillissante.
Le but du stage vise à :
 La réalisation d'un état de l'art des solutions de migration d'une ancienne installation téléphonique
vers une nouvelle installation à base IP. Cette solution de dernière génération permet de regrouper
les données voix, vidéo et data et ainsi faciliter la gestion de l'ensemble.
Cet partie du stage avait déjà été donnée au précédent stagiaire sans réel approfondissement de sa
part pour cette partie.
Le fait de migrer la solution téléphonique va permettre au service informatique de gérer et
d'administrer de bout en bout la solution.
 La recherche de solutions de visioconférences et de regroupement de ses différentes technologies
afin de concevoir un système de communication unifiée.
10
Rapport de stage BILS Raphaël
16 aout 2010
Partie III : État de l'art en téléphonie et
visioconférence
Dans un premier temps, je me suis familiarisé avec les nouvelles technologies : VoIP, visioconférence,
IPBX... puis je me suis informé sur l'état d'avancement du précèdent stagiaire dans ce domaine afin de
poursuivre et non pas recommencer ce qu'il avait déjà mis en œuvre.
1. La téléphonie sur IP
1.1 Les enjeux et les besoins
Un des principaux enjeux de la VoIP consiste à faire évoluer la communication, transmettre et recevoir,
communiquer plus facilement à moindre coût.
Des solutions comme Asterisk permettent de mettre en place une architecture téléphonique à base IP, de
faire de la liaison multi-site très facilement avec des protocoles dédiés.
Les principaux besoins pour ce projet sont:
 Changer la solution de téléphonie vieillissante (1994)
 Faire baisser les coûts de communication avec les sites étrangers
 Être autonome sur l'administration et évolution de la solution
 Avoir des protocoles ouverts
 Disposer d'une compatibilité IPv6 à moyen ou long terme (pas nécessaire pour 2010)
Les fonctions actuellement utilisées et souhaitées sont les suivantes:
 Transfert d'appel
 Renvoi d'appel
 Interception d'appel
 Messagerie (téléphonique et voiceToMail)
 FaxToMail
 Mode conférence (confcall) (interne/externe)
 Annuaire (bind Active Directory)
 Système Haute-disponibilité (redondance)
Il s'agit des fonctionnalités de bases si d'autres sont pertinentes elles seront à ajouter.
Après avoir effectué une étude des besoins, nous pouvons regarder le style de migration possible pour
passer d'une vieille installation téléphonique à une installation téléphonique plus moderne à base d'IP.
11
Rapport de stage BILS Raphaël
16 aout 2010
1.2 Quatre solutions de migration VoIP




Avec un IPBX
Avec un Centrex
Avec une Gateway
Apparaît une 4e manière dite hybride, où un prestataire loue un IPBX au client depuis ses locaux
et le raccordement se fait en IP
De ces solutions découlent des architectures possibles au sein d’une entreprise.
1.2.1 Avec un IPBX et encore une ligne téléphonique
12
Rapport de stage BILS Raphaël
16 aout 2010
1.2.2 Avec un IPBX
Quelque soit la solution, toute l’architecture est à refaire. C'est-à-dire qu’il faut mettre en place
l’architecture pour supporter la VOIP
13
Rapport de stage BILS Raphaël
16 aout 2010
1.2.3 Avec le Centrex
Ce cas de figure est plus spécialement adapté aux structures de petites tailles voire moyennes.
En effet, l'ensemble de l'installation téléphonique est décentralisée chez le prestataire, ce qui facilite la
mise en place, puisque c’est le prestataire qui se charge de l'administration du système du service
téléphonique. En revanche bien qu’il n’y ait finalement rien à acheter, le coût par poste coûte plus cher
qu’une solution non centralisée chez un prestataire.
14
Rapport de stage BILS Raphaël
16 aout 2010
1.2.4 Avec la Gateway
Le dernier cas de figure est également une solution assez hybride. En effet, le réseau téléphonique
existant est conservé. On ne rajoute finalement qu’une Gateway (passerelle) reliant le réseau IP au réseau
téléphonique. Cela permet aux téléphones IP d’être mis en place dans le réseau Lan et de pouvoir
fonctionner au travers du réseau téléphonique déjà mis en place.
Pour la sélection du canal de communication avec l'extérieur, trois choix s'offraient à nous. Leurs
avantages et inconvénients respectifs sont résumés ci-dessous. Quand je parle d'un lien xDSL, je désigne
un lien ADSL ou SDSL.
Lien
entrant
Lien sortant Avantages
RNIS
RNIS
15
Inconvénients
- Pas de nouvelles installations - Conservation de la dépendance vis-à-vis
- Fiabilité d'une liaison RNIS du fournisseur de téléphonie pour le lien
RNIS
Rapport de stage BILS Raphaël
16 aout 2010
- Achat nécessaire et déploiement d'une
passerelle SIP/RNIS (ou carte PCI RNIS)
VoIP sur
xDSL
VoIP sur xDSL -Tarifs agressifs sur les
communications de certains
opérateurs VoIP.
- Pas d'achat et de déploiement
d'une passerelle SIP/RNIS (ou
de problèmes de drivers des
cartes PCI RNIS).
- Pour un lien SDSL, ne pas négliger son
coût. Pour un lien ADSL, il faut prévoir
une solution de secours si le lien est
tombé.
- Si votre opérateur VoIP n'est pas le
même que l'ISP qui vous fournit le lien
xDSL, il faut s'assurer que l'opérateur
VoIP a une collecte IP spéciale chez l'ISP
(i.e. ont un lien direct entre leurs deux
réseaux sans passer par Internet), sinon
vos flux VoIP passeront par Internet, or il
n'y a pas de garantie de qualité de service
sur Internet, donc pas de garantie sur la
qualité audio de vos communications vers
l'extérieur.
- Le portage des numéros de téléphones
existants vers votre opérateur VoIP devrait
bien se passer.
RNIS
VoIP sur xDSL - Fiabilité parfaite du lien
RNIS pour les appels entrants.
- Pas de portage des numéros
de téléphone à réaliser.
- Lien RNIS sert aussi de lien
de backup pour les appels
sortants.
- Tarifs agressifs sur les
communications de certains
opérateurs VoIP.
- Abonnement pour le lien RNIS et
abonnement pour le lien ADSL ou SDSL.
- Achat et déploiement d'une passerelle
SIP/RNIS (ou carte PCI RNIS)
Lors de la phase de test pratiquement tous les types de migrations sauf la migration à l'aide d'un
prestataire (Centrex)ont été testé.
En ce qui concerne les liaisons, des tests VoIP sur xDSL ↔ VoIP sur xDSL et RNIS ↔ VoIP sur xDSL
seront effectués
Pour la suite il nous reste encore à choisir quel type de protocole utiliser.
1.3 Quatre principaux protocoles : H323, SIP, MGCP, XMPP
1.3.1 H.323
Présentation
H.323 est une norme publiée par l’ITU-T (International Telecommunication Union – Telecommunication
Standardization Sector) en février 1996. La dernière version de H.323 est la 6, et a été approuvée en juin
16
Rapport de stage BILS Raphaël
16 aout 2010
2006.
La norme H.323 est dérivée de la norme H.320, qui elle est prévue pour les réseaux à commutation de
circuits (ISDN/RNIS). La norme H.323 est quant à elle destinée aux réseaux à commutations de paquets.
Elle est prévue pour permettre les communications multimédias sur les réseaux de paquets sans garantie
de qualité de service.
L’architecture de la norme H.323 s’appuie sur trois familles de protocoles :
 Les protocoles de communication (RTP, RTCP, …)
 Les protocoles de codage audio (G.711, G.723.1, G.729, …) et vidéo (H.261, H263, H.264, …)
 Les protocoles de signalisation (Q.931, RAS, H.245, …)
Avantages
Il existe de nombreux produits utilisant ce standard adopté par de grandes entreprises telles Cisco, IBM,
Intel, Microsoft etc. Le protocole présente un niveau d'interopérabilité très élevé, ce qui permet à
plusieurs utilisateurs d'échanger des données audio et vidéo sans faire attention aux types de média qu'ils
utilisent.
1.3.2 SIP
Présentation
SIP (Session Initiation Protocol) est un protocole normalisé et standardisé par l’IETF (Internet
Engineering Task Force) en juin 2002. Cependant, son premier brouillon « draft » a commencé à être
rédigé lorsque la norme H.323 a été publiée (février 1996).
SIP est un protocole de signalisation qui permet de créer des sessions de communication entre deux ou
plusieurs machines. L'ouverture de ces sessions permet de réaliser de la téléphonie ou de la visiophonie.
SIP gère seulement la mise en relation entre deux ou plusieurs correspondants, ce qui lui confère une
certaine modularité. Il possède l'avantage de ne pas utiliser des normes audio et vidéo spécifiques, ce qui
le rend indépendant.
Avantages
SIP est un protocole plus rapide. La séparation entre ses champs d'en-tête et son corps du message facilite
le traitement des messages et diminue leur temps de transition dans le réseau. Le nombre des en-têtes est
limité (36 au maximum et en pratique, moins d'une dizaine d'en-têtes sont utilisées simultanément), ce
qui allège l'écriture et la lecture des requêtes et réponses. SIP est un protocole indépendant de la couche
transport. Il peut aussi bien s'utiliser avec TCP qu’UDP. De plus, il sépare les flux de données de ceux de
la signalisation, ce qui rend plus souple l'évolution "en direct" d'une communication (arrivée d'un
nouveau participant, changement de paramètres...).
1.3.3 MGCP
Présentation
MGCP est le sigle de Media Gateway Control Protocol. C'est un protocole asymétrique (client-serveur)
de VoIP. Il se distingue par exemple des protocoles SIP et H323 qui, eux, sont symétriques (client-client).
Les FAI par ADSL français et nord-américains utilisent en règle générale ce protocole pour la téléphonie
(le serveur, un SoftSwitch, contrôle le téléphone de l’abonné). Le MGCP est à la base de services de
téléphonie sur IP du type Centrex IP : une plateforme en cœur de réseau chez l’opérateur et des postes IP
chez les clients. C’est un des axes d’évolution de la téléphonie professionnelle. MGCP est composé d’un
agent d’appel, un MG (media gateway), qui effectue la conversion des signaux entre les médias et les
17
Rapport de stage BILS Raphaël
16 aout 2010
circuits de paquets et d’un SG (passerelle de signalisation) lorsqu’il est connecté au PSTN (Public
Switched Telephone Network). MGCP est largement utilisé entre les éléments d’une passerelle
multimédia décomposé.
Avantages
Permet d’utiliser des téléphones « idiots » (sans interface de configuration)
Indépendant des protocoles de signalisation supérieurs (H323,SIP)
Adapté pour les opérateurs voulant faire du RTC-IP-RTC
1.3.4 XMPP
Présentation
XMPP (Extensible Messaging and Presence Protocol) est un ensemble de protocoles standards ouverts de
l’IETF pour la messagerie instantanée, et plus généralement une architecture décentralisée d’échange de
données. XMPP est également un système de collaboration en quasi-temps-réel et d’échange multimédia
via Jingle, dont la VoIP (téléphonie sur Internet), la visioconférence et l’échange de fichiers sont des
exemples d’applications.
C’est un protocole basé sur une architecture client/serveur permettant les échanges décentralisés de
messages instantanés ou non, entre clients, au format XML. XMPP est en développement constant et
ouvert au sein de l’IETF.
Avantages
Le protocole de base contient les concepts fondamentaux pour faire fonctionner une infrastructure Jabber.
Il est défini par les RFC 3920, 3921, 3922 et 3923.
Les XEP (XMPP Extension Protocols) sont des propositions pour ajouter des fonctionnalités au protocole
Jabber. Les serveurs ou clients ne sont pas obligés d’adopter ces extensions. Cela peut bloquer certaines
fonctionnalités entre deux utilisateurs. Les XEP sont continuellement créées, révisées ou améliorées.
À la différence des autres systèmes de présence et de messagerie instantanée populaires et propriétaires,
XMPP est conçu de manière bien plus large et ouverte que le simple « chat » (discussion sur Internet,
clavardage).
L'orientation va se faire sur le protocole SIP, qui est de plus en plus rependu. Il n'utilise pas des normes
audio et vidéo spécifiques, ce qui correspond bien aux besoins.
1.4 Les différents IPBX
Le marché actuel des IPBX libres ne cesse de s'étendre. Asterisk est la solution la plus commune,
désormais d'autres commencent à se faire connaître: SipX, Callweaver
Le tableau suivant montre les différents IPBX possible, les distributions Linux spécialisées Asterisk, i.e.
une distribution Linux dont l'objet est de contenir Asterisk et tous les composants logiciels listés dans le
tableau ci-dessous, et parfois plus (certaines distributions englobe, en plus un webmail, un logiciel de
CRM, etc...).
18
Rapport de stage BILS Raphaël
16 aout 2010
Distribution
Société
Interface de Fournis
management asterisk
1.6?
OS
Trixbox
Fonality, USA
FreePBX
Oui dans
trixbox
2.8 et
superieur
CentOS Distribution Asterisk la plus
ancienne. Il existe une version
communautaire gratuite et une
version "entreprise" payante.
AsteriskNow Digium, USA
FreePBX
Seulement CentOS Version 1.0.0 sortie en février 2008.
en option
Elle utilisait jusqu'à fin 2008
l'interface Web de configuration
AsteriskGUI, mais les développeurs
ont finalement décidé de passer à
FreePBX.
Elastix
PaloSanto
Solutions
FreePBX
A partir
d'Elastix
2.0
PBX in a
Flash
100%
FreePBX
communautaires
En option CentOS Projet créé en Novembre 2007 par
dans v1.4
d'anciens développeurs de Trixbox
en réaction à l'orientation de plus en
plus propriétaire de Trixbox.
Xivo
Proformatique
Xivo
Pas
encore
Debian
Projet initialement non
communautaire qui constituait la
base des solutions commerciales de
la société française ProFormatique ;
le projet est devenu communautaire
début 2009. C'est la seule
distribution Asterisk basée sur
Debian. Elle possède son interface
de management propre et elle se
distingue de ses homologues,
d'après ses concepteurs, sur
certaines fonctions avancées
comme le filtrage Patron-Secrétaire,
l'intégration des annuaires
téléphoniques propres à chaque
modèle de téléphone, etc...
SipX
SIPfoundry
SipX
Non
Fedora
Solution jeune mais qui se veut
innovante et intègre de nombreuses
fonctionnalités, qui ne sont pas
encore toutes fonctionnelles.
Callweaver
Callweaver
Callweaver
Dérive
Multipla Projet initialement appelé
d'asterisk teforme OpenPBX.org qui est au départ basé
sur Asterisk.
19
Commentaires
CentOS Distribution lancée en 2006. Ce
projet a l'air très dynamique et
possède une bonne réputation.
Communauté espagnole très forte.
Rapport de stage BILS Raphaël
16 aout 2010
Note : CentOS est un clone gratuit de RedHat Enterprise Linux, qui est la distribution Linux payante de
RedHat pour les serveurs d'entreprise ; le projet CentOS reprend les paquets source de RedHat Enterprise
Linux et se contente de les recompiler en enlevant les logos RedHat.
Pourquoi asterisk au final:
Asterisk a été créé par la société Digium, de mon point de vue c’est une des meilleures solutions VoIP
Open Source du marché car il possède une communauté active et de nombreux matériels compatibles
avec Asterisk existent. Asterisk supporte les principaux protocoles de VoIP (H323, SIP, IAX, MGCP…).
Il est possible de développer des applications (en Java par exemple) et de les intégrer à Asterisk grâce aux
scripts AGI (Asterisk Gateway Interface).
Les principales fonctionnalités d'Asterisk sont les suivantes :
- routage des appels,
- contrôle des appels,
- gestion des files d'attente,
- transfert d'appel,
- conférence,
- détail des appels CDR (Call Detail Records),
- service vocal interactif (standard téléphonique),
- boîtes vocales.
De plus, Digium et Sangoma proposent des cartes analogiques au format PCI pour l'IPBX Asterisk. Ces
cartes, munies d'interfaces analogiques, permettent soit de connecter l'IPBX Asterisk au RTC (Réseau
Téléphonique Commuté), soit de connecter des téléphones analogiques à l'IPBX. C'est une façon simple
et économique de se connecter au RTC ou de prolonger les services offerts par Asterisk vers une
installation téléphonique analogique existante.
1.5 Récapitulatif des avantages et inconvénients de chaque approche
d'Asterisk
1.5.1 Asterisk inclus dans votre distribution Linux habituelle
Avantages
 Maitrise de l'administration d'une distribution connue
 En cas de faille de sécurité, mettre à jour la distribution selon la procédure habituelle ( apt-get
update && apt-get upgrade sous Debian/Ubuntu)
Inconvénients
 Ce n'est pas la solution la plus courante, donc ce n'est pas celle sur laquelle on peut trouver de
l'aide le plus facilement
 Les paquets Asterisk sont parfois anciens et pas toujours très bien maintenus (cela dépend des
distributions)
 Les paquets de la distribution contenant les drivers des cartes téléphoniques sont parfois anciens
 Certains composants logiciels utilisés risquent de ne pas être inclus dans la distribution (par
exemple, FreePBX n'est inclus ni dans Debian ni dans Ubuntu)
20
Rapport de stage BILS Raphaël
16 aout 2010
1.5.2 Asterisk compilé à la main sur sa distribution Linux habituelle
Avantages
 Maitrise de l'administration d'une distribution connue
 Choix des versions d'Asterisk, des librairies et des drivers des cartes téléphoniques
 C'est la solution qui est documentée dans la documentation officielle d'Asterisk et dans la plupart
des documents sur Asterisk
Inconvénients
 Requiert un minimum d'expérience de la compilation d'un logiciel libre et d'un driver Linux
 Il faut s'occuper des mises à jour de sécurité : recevoir les mails d'annonce des failles de sécurité,
télécharger les versions corrigées si nécessaire, recompiler, etc...
 Le choix des versions des différents composants logiciels n'est pas facile pour un débutant. Si une
combinaison de versions des différents composants logiciels marche parfaitement, tout va bien...
mais dans le cas contraire, peu de personnes choisissent la même combinaison et donc sont
confrontées aux mêmes problèmes.
1.5.3 Asterisk Business Edition
Avantages
 Inclus un support professionnel fourni par Digium pendant 1 an
 Tests de qualité logicielle effectués par Digium sur chaque mise à jour.
Inconvenients
 Cette offre introduit un coût de licence, en sachant que ce coût augmentera si le nombre de postes
téléphoniques augmente
 Sortie du domaine du logiciel libre, version sous une licence propriétaire et non sous licence GPL
 Asterisk n'est pas le seul composant logiciel qui entre en jeu dans la construction d'un IPBX... et
donc avoir une garantie de qualité sur un seul composant ne garanti pas la bonne marche de
l'ensemble
1.5.4 Distribution Linux spécialisée Asterisk (Trixbox, AsteriskNow,
Elastix, PBX in a Flash, Xivo)
Avantages
 Combinaison "noyau + drivers de cartes téléphoniques + librairies + Asterisk + interface de
management"
 Mises à jour de sécurité simplifiées
 Trixbox et Elastix sont des solutions répandues donc support de la communauté
 Ces distributions proposent par défaut une interface Web d'administration (FreePBX ou Xivo) qui
permet de gagner du temps et de profiter de certaines fonctions prêtes-à-l'emploi
 Ces distributions incluent des outils de fax (fax2mail) et souvent des applications de billing, de
monitoring de l'utilisation des lignes, etc..
21
Rapport de stage BILS Raphaël
16 aout 2010
Inconvénients
 Apprendre à administrer une nouvelle distribution Linux (Debian pour Xivo, CentOS pour toutes
les autres)
 Dépendance par rapport au support matériel de la version de la distribution Linux sur laquelle
repose la distribution spécialisée Asterisk (attention en particulier à CentOS qui est très
conservateur au niveau des versions de noyau)
 Pas de maîtrise complète des versions d'Asterisk, des librairies, des drivers, etc...
1.6 Les différents softphones
L'étude et le choix des softphones est une étape importante. Il faut obtenir le meilleur taux
d'interopérabilité entre les différents équipements. L'ircad possède des postes sous différents systèmes
d'exploitation: Windows, Mac OS, Linux. J'ai également comparé des sofphones sous plate-forme
mobile, Windows mobile, Android. De plus en plus d'utilisateurs disposent de tels appareils mobiles il
serait intéressant de les intégrer dans le nouveau système de téléphonie qui pourra être mis en place.
Produit
Editeur
Licence
Caractéristiques
Windows Messenger
Microsoft
Gratuite
Windows,Mac, (linux),
PDA, SIP, vidéo,
messagerie instantanée
Sip communicator
OpenSources
Gratuite
Multiplateforme, SIP,
messagerie
instantanée,vidéo
Skype
Skype
Gratuite, Commerciale
Windows, MAC OS,
Linux, PDA,
Skype,messagerie
instantanée
SJPhone
SJLabs
Gratuite
Windows, MAC OS,
H.323, SIP, vidéo,PDA
Ekiga
Source Forge
Gratuite
Multiplateformes, H.323,
SIP
PDA Softphone
SysMaster
Commerciale
Windows, PDA, H.323,
SIP
WengoPhone
Wengo
Commerciale
Multiplateforme, SIP,
messagerie instantanée
EyeBeam
Xten
Commerciale
Windows, MAC OS, SIP,
vidéo
X-lite
Xten
Gratuite
Multiplateformes, SIP
Pocket PC
Xten
Commerciale
PDA, SIP
Sipdroid
OpenSources
Gratuite
SIP, Android
22
Rapport de stage BILS Raphaël
16 aout 2010
Après l'étude et la comparaison des différents softphones décrits dans le tableau, on constate qu'en règle
générale le plus souvent les différents softphones sont très compatibles entre eux, ils intègrent
pratiquement tous SIP.
Pour continuer dans l'étude des compatibilités nous allons étudier les différents types de codage
possibles, pour voir lequel serait le plus à même de convenir.
1.7 Qualité du codage
Généralement, plus le taux de compression est élevé par rapport à la référence de 64 Kb/s (G711), moins
la qualité de la voix est bonne. Toutefois, les algorithmes de compression récents permettent d’obtenir
des taux de compression élevés tout en maintenant une qualité de la voix acceptable. L’acceptabilité par
l’oreille humaine des différents algorithmes est définie selon le critère MOS (Mean Operationnal Score),
défini par l’organisme de normalisation internationale ITU (International Telecommunication Union /
Union internationale des Télécommunications). Dans la pratique, les deux algorithmes les plus utilisés
sont le G.729 et le G.723.1.
Nom du codec
Débit
G.711
64 kbps
G.726
32 kbps
G.726
24 kbps
G.728
16 kbps
G.729
8 kbps
G.723.1
MPMLQ 6.3 kbps
G.723.1
ACELP 5.3 kbps
GSM
13 kbps
iLBC
15,2 kbps
Correspondance entre les débits et les codecs
23
Rapport de stage BILS Raphaël
16 aout 2010
Représentation de la qualité par le débit
Le choix du codec est très important car il doit convenir aussi bien au softphone qu'a l'IPBX. Pour
déterminer au final quel codec utiliser, une série de test va être effectué.
2. Visioconférence
2.1 Les enjeux et les besoins
Un des principaux enjeux de la visioconférence consiste à communiquer, travailler en collaboration sans
déplacement des participants.
Un des sujets de mon stage était l'intégration de la visioconférence par l'utilisation d' Asterisk, il permet
de mettre en œuvre la vidéo en complément de la voix. Mon travail consistait à effectuer des recherches
en ce sens et explorer les différentes solutions possibles avec les meilleures codecs. J'ai également
recherché d'autres logiciels de visioconférence.
2.2 Codecs vidéo
-Normes Vidéo de 1ère génération
-JPEG et Motion JPEG
24
Rapport de stage BILS Raphaël
16 aout 2010
-H.261
-MPEG-1
-Normes Vidéo de 2ème génération
-H.263 (H.263+)
-MPEG-2/H.262
-Normes Vidéo de 3ème génération
-MPEG-4/H.264
-MPEG-7
-MPEG-21
-Une quatrième génération arrive, le 4k
Les formats standards: CIF
Il s'agit tout simplement d'abréviations pour les dimensions d'image couramment utilisées. Ces valeurs
optimisent certains des algorithmes de compression/décompression.
Common Interchange
Format
QCIF: Quarter CIF
SQCIF: Sub quarter CIF
4CIF: 4 x CIF
16CIF: 16 x CIF
CIF:
(352 x 288)
(176 x 144)
(128 x 96)
(704 x 576)
(1408 x 1152)
Il est important de faire le bon choix de codec car la vidéo prend beaucoup plus de bande passante que la
voix. Les codecs vidéo sont aussi beaucoup moins compatible entre eux que les codecs audio.
2.3 VLVC
Cette solution est en fait un module additionnel au célèbre médiaplayer Vidéo LAN Client (VLC), ce
projet a été créé au départ en 2003 par un groupe de 6 étudiants d’Epitech pour leur projet de fin d’étude
et repris en 2005 par un autre groupe afin de le finaliser.
Quatre types de vidéoconférences sont possibles :




Salle de Discussion : l'ensemble des participants peuvent dialoguer en même temps.
Conférence : un seul parle, les autres ne peuvent qu’écouter.
Amphithéâtre : un modérateur donne la parole à une seule personne à la fois.
Réunion : un modérateur donne la parole à plusieurs personnes à la fois
Cette extension de VLC est très fonctionnel et marche très bien. De plus la solution VLC est de plus en
plus utilisée. Un des principale problème est le non suivi du développement de ce module, car VLC lui
est en constante évolution.
25
Rapport de stage BILS Raphaël
16 aout 2010
3. Le regroupement
3.1 Les enjeux et les besoins
Un des principaux enjeux des solutions qui regroupent la voix, la vidéo et la donnée est de pouvoir avoir
dans un logiciel ou dans une seul page web tous les éléments pour communiquer. Essentiel pour le
travail collaboratif, l'enseignement à distance...désormais se trouver à des endroits différents ne pose plus
un problème... Ces solutions de communication et de collaboration pourront être utiles pour les différents
centres de recherche (Taïwan et Brésil).
3.2 BigBlueButton
BigBlueButton est un système open source de conférence web qui permet aux universités d'offrir une
expérience d'apprentissage de qualité aux étudiants à distance.
C'est est un support de partage de documents (PDF, PPT), vidéo, chat, voix (Asterisk), et de bureau. Il est
basé sur plus de 15 composants open source, il tourne sur Mac, Unix et PC.
Principaux composants:
Ubuntu
Flex SDK
Ghostscript
Grails
ActiveMQ
Asterisk
Image Magick
MySQL
nginx
Red5
swf Tools
Tomcat
Asterisk Java
Xuggler
Open Office
26
Rapport de stage BILS Raphaël
16 aout 2010
3.3 Evo
EVO offre des services de vidéoconférence multipoint, d'audioconférence, de partage d'écran, de tableau
blanc, de chat et d'enregistrement de sessions.
Les trois plates-formes principales sont supportées (Linux, MacOS X, Windows).
27
Rapport de stage BILS Raphaël
16 aout 2010
3.4 Open Meeting
OpenMeetings est un logiciel libre basé sur un navigateur qui permet de créer instantanément une
conférence sur le Web. Vous pouvez utiliser votre microphone ou une webcam, partager des documents
sur un tableau blanc, partager votre écran ou enregistrer des réunions. Il est disponible en service hébergé
ou téléchargeable et installable en paquet sur un serveur, sans limites dans l'utilisation ou dans le
nombres d'utilisateurs.
28
Rapport de stage BILS Raphaël
16 aout 2010
Ces différentes solutions de communication et de collaboration disposent des mêmes fonctionnalités les
unes par rapport aux autres, excepté Evo qui n'a pas le partage de tableau blanc.
Elles sont assez facile à mettre en œuvre. Mon choix se porterait plutôt sur la solution BigBlueButton qui
dispose de nombreuses fonctionnalités et le moins de bugs. Evo est une solution intéressante qui s'adapte
aux performances réseau et à la machine client, dommage que l'on ne maitrise pas l'administration du
système. OpenMeeting contient encore beaucoup de bugs.
29
Rapport de stage BILS Raphaël
16 aout 2010
Partie IV : Maquette et tests
Après avoir effectué de nombreuses recherches sur les différents protocoles, softphones, IPBX... j'ai
décidé de me faire ma propre expérience de ses produits, protocoles et de leurs compatibilités.
En étudiant les différents IPBX possibles, j'ai opté pour Asterisk et en particulier la solution Trixbox dans
un premier temps, qui était plus intéressante et plus adaptée à mon objectif. Puis, j'ai migré sur la solution
Xivo.
Différents types d'IPBX comme SipX, AsteriskNow, Asterisk compilé à la main sur une Ubuntu ont été
testés.
1. Paramétrage d'Asterisk
Dans un premier temps, la réalisation d'une maquette composée de deux pc avec windows xp et un pc
avec trixbox a été nécessaire pour la connexion de deux softphones en sip grâce à un serveur Asterisk.
En effet, Asterisk dispose de plusieurs fichiers de configuration modifiable avec un éditeur en ligne de
commande (vi, nano...) ou à l'aide d' une interface web disponible dans la plupart des distributions
permettant de modifier ces fichiers grâce à des formulaires ou en modifiant directement le fichier avec un
éditeur de l'interface web.
La création de deux comptes sip avec comme numéro de téléphone 205 et 206 a été réalisée.
Schéma du protocole SIP de la communication entre deux clients avec un serveur Asterisk:
30
Rapport de stage BILS Raphaël
16 aout 2010
1.1 Configuration de base d'Asterisk
1.1.1 Ajout de clients
La configuration de nouveaux clients SIP est réalisée dans le fichier /etc/sip.conf par une entrée pour
chaque client.
Plusieurs options permettent de définir et de paramétrer un client :
• type : Type de client (peer, user ou friend)
• username : Identifiant de l'utilisateur
• secret : Mot de passe de l'utilisateur
• host : Méthode pour trouver le client (dynamique, nom d'hôte ou adresse IP)
• callerid : Identité de l'utilisateur
• language : Langue par défaut pour l'utilisateur
Description des paramètres :
Pour chacun des paramètres précédents, plusieurs valeurs sont disponibles selon la configuration
désirée.
• type :
◦ peer : Client SIP auquel Asterisk pourra envoyer des appels
◦ user : Client SIP qui pourra passer des appels via Asterisk
◦ friend : Client qui sera à la fois en mode 'peer' et 'user'
• host :
◦ dynamic : Le client s'enregistre auprès du serveur
◦ nom d'hôte : Nom d'hôte du client
◦ adresse IP : Adresse IP du client
• language :
◦ us : Langue par défaut
◦ fr : Langue française
Exemple : Création de l’utilisateur Maxime
[1001]
type=friend
username=1001
secret=1001
host=dynamic
callerid="Maxime"
language=fr
1.1.2 Attribution de numéros d’appel
Pour attribuer un numéro à un client on édite le fichier /etc/asterisk/extensions.conf :
exten => 1001,1,Dial(SIP/1001,20,tr)
exten => 1001,2,VoiceMail(1001)
•
31
exten permet de définir une nouvelle extension :
Rapport de stage BILS Raphaël
16 aout 2010
◦ 1001 : numéro d’appel (ou d’extension) du serveur vocal ;
◦ [1,2,3] : ordre de priorité pour l’exécution ;
◦ Dial, VoiceMail… : Commande à exécuter.
Les fonctions Dial() et VoiceMail() seront détaillées plus bas avec les autres fonctions Asterisk.
Ici l’appel vers la destination 1001 sera redirigé vers le serveur de messagerie vocale si jamais
l’appel n’a pas été intercepté au bout du temps imparti.
Après avoir effectuer des premiers tests de bases. J'ai rajouté des fonctionnalités au serveur téléphonique
telles que :
1.1.3 Mise en place d'une messagerie vocal
Pour avoir accès à la boite vocale rajout des lignes suivantes dans le fichier extensions.conf
[internal]
...
exten => **1,1,VoicemailMain(${CALLERID(num)})
exten => **1,2,Hangup
En composant le **1 sur un poste on pourra consulter sa boite vocale après avoir rentré le mot de passe
correspondant à ce poste (le ${CALLERID(num)} permet de récupérer le N° du poste appelant)
1.1.4 Routage vers un groupe d'utilisateurs
Dans l’exemple suivant, les appels arrivants sur le serveur Asterisk à destination du numéro 205 sont
envoyés vers le téléphone 101 puis vers le téléphone 102.
[local]
exten => 205, 1,
Dial(SIP/101, 10)
exten => 205, 2,
Dial(SIP/102, 10)
exten => 205, 3,
Goto(local,205, 1)
1.1.5 Routage vers plusieurs téléphones en même temps
[local]
exten => 206, 1,
Dial(SIP/101&SIP/102, 10)
L’exemple suivant montre comment faire sonner deux téléphones en même temps. Quand on compose le
206, les téléphones 101 et 102 sonnent.
OU
avec l'interface aller dans PBX-> PBX Setting → Ring Group
32
Rapport de stage BILS Raphaël
16 aout 2010
1.1.6 Horloge parlante
Dans l’exemple suivant le serveur Asterisk décroche, annonce la date et l’heure, attend 3 secondes et
recommence.
exten => 211, 1, Answer ; horloge parlante
exten => 211, 2, SayUnixTime(,CET,AdbY \'digits/at\' kM)
exten => 211, 3, Wait(3)
exten => 211, 4, Goto(local,211, 2)
Toutes ses fonctionnalités ont été testées sur Trixbox, AsteriskNow, Ubuntu avec Asterisk et Xivo
2. Mise en place d'un trunk sip
Le trunk sip correspond à la liaison xDSL ↔ xDSL du tableau présent dans la première partie.
Il n'est plus nécessaire de disposer d'une ligne téléphonique, ni de converser et le tarif est souvent
attractif.
Un trunk est la ligne de service téléphonique permettant de passer et de recevoir des appels vers
l’extérieur. Dans notre cas, le trunk est Free.
Pour les tests l'utilisation de deux trunks sip FREE (personnels) ont été nécessaire afin de ne pas avoir à
payer une liaison.
Des trunks sip ont été créés sur Trixbox, AsteriskNow, Ubuntu avec Asterisk et Xivo. Dans tous les cas,
ces solutions basées sur Asterisk ont été suffisantes pour modifier les fichiers de configurations à l'aide de
l'interface web disponible; FreePBX pour Trixbox et AsteriskNow ou Xivo pour Xivo.
Dans l’interface de configuration freePBX, cliquez sur le lien trunks, dans le menu de droite, puis sur le
lien Ajout Trunk SIP.
33
Rapport de stage BILS Raphaël
16 aout 2010
La configuration du trunk s'établit avec les informations suivantes :
CID Sortant : Votre numéro de téléphone Free
Nombre maximal de canaux : 1
Nom du trunk : freephonie
Détails du peer :
allow=all
context=from-trunk
fromdomain=freephonie.net
fromuser=08xxxxxxxx (votre numéro de téléphone Free)
host=freephonie.net
insecure=very
qualify=yes
secret=password (le mot de passe que vous avez définit précédemment)
type=peer
username=08xxxxxxxx (votre numéro de téléphone Free)
Chaîne d’enregistrement : 08xxxxxxxx:[email protected]
Laissez les autres champs vides. Pour finir, cliquez sur le bouton Soumettre changement puis sur la barre
rouge pour enregistrer les modifications.
Configuration des routes sortantes
Nous souhaitons composer le 9 puis le numéro du destinataire pour les appels extérieur. Pour cela nous
allons créer une route sortante.
Aller dans la section Routes sortantes de freePBX puis cliquez sur Ajout route.
Donnez un nom à votre trunk, définissez un masque de numérotation puis sélectionnez le trunk free que
vous avez créé précédemment.
A propos du masque de numérotation
Le masque de numérotation permet de définir quels types de numéros doivent être acheminés par le
fournisseur téléphonique.
Dans notre exemple nous avons définit le masque 9|., c’est-à-dire que tous les numéros commençant par
9 seront rediriger vers l’extérieur. Quand le numéro 90642424242 est composé, asterisk enlève le 9 puis
redirige le numéro vers Free.
Voici un tableau récapitulant les différents caractères spéciaux permettant de créer un masque :
X
Un digit entre 1 et 9
N
Un digit entre 2 et 9
Z
Tous les digits sauf 0 (1 à 9)
.
Un nombre indéfinis de n’importe quel digit
|
Passe au trunk seulement les digits suivant |
Permet de créer des masque plus complexe (Par exemple : 02-6*# correspondra à 0, un digit entre 2 et 6,
* ou #)
A propos de la séquence de trunk
Dans le cas de plusieurs trunks, la séquence de trunk permet de définir l’ordre de priorité des trunks.
34
Rapport de stage BILS Raphaël
16 aout 2010
Imaginons que la séquence de trunk est la suivante :
0 SIP/Freephonie
1 SIP/Freephonie2
Ainsi, si la ligne Freephonie ne fonctionne pas, asterisk essayera de joindre le correspondant en utilisant
le fournisseur SIP Freephonie2. Cela permet donc d’avoir une ligne de secoure.
Configuration des routes entrantes
Il ne reste plus qu’à créer une route entrante pour récupérer les appels provenant de l’extérieur.
Dans le menu de droite, cliquez sur le lien Routes Entrantes, puis sélectionnez la route Tout CDA / Tout
CID. Enfin choisissez la destination des appels. Puis cliquez sur soumettre.
Modification du fichier sip.conf
Editez le fichier sip.conf, grâce à l’editeur de config ou à nano, et dans la section general ajoutez les deux
lignes suivantes :
defaultexpirey=1800
dtmfmode=auto
3. IAX
Il permet la communication entre serveurs Asterisk uniquement.
Sa principale différence avec SIP vient de sa capacité à contrôler la transmission de flux multimédia avec
un débit plus faible (notamment pour la voix). Il présente aussi l'avantage de s'intégrer dans des réseaux
NATées, en effet IAX n'utilise qu'un seul port UDP : le 4569 pour la signalisation et les données.
Le nom IAX est souvent utilisé pour parler de la version 2 du protocole en effet la première version n'est
pratiquement plus utilisée.
Ses faiblesses sont sa jeunesse et sa non-standardisation, bien qu'il soit de plus en plus utilisé.
Étant donné qu' il existe plusieurs instituts dans le monde, à Taiwan et bientôt au Brésil, il pourrait être
intéressant d'utiliser la connexion IAX pour interconnecter les différents sites.
La liaison IAX a été testé entre différents serveurs Asterisk.
Pour faire fasse au problème de liaison lié à l'authentification, un cryptage RSA a été mis en place ce qui
35
Rapport de stage BILS Raphaël
16 aout 2010
résolu le problème.
La configuration des clés RSA sur les deux serveurs s'établit de la manière suivante :
Création des clés RSA
•
Pour générer une clé il suffit de se déplacer dans le répertoire de stockage des clés d'Asterisk et de
lancer l'application "astgenkey"
cd /var/lib/asterisk/keys
•
Lors du lancement de astgenkey, mettre le paramètre '-n' car par défaut "astgenkey" demande une
"passphrase" à chaque démarrage d'Asterisk.
Avec le paramètre '-n' il enregistre la clé sans "passphrase"
astgenkey -n
•
Appuyez sur <ENTER> et tapez le nom de la clé que vous voulez créer ("serveur1" dans notre
exemple.
Enter key name: serveur1
Une fois les clés générées il affiche le résultat:
Key creation successful.
Public key: serveur1pub
Private key: serveur1.key
La clé .pub est la clé publique et la clé .key et la clé privée.
• Pour transférer la clé publique sur notre serveur "client" il suffit juste de la copier dans le répertoire
cd /var/lib/asterisk/keys
cat serveur1.pub
copier le contenu du fichier
• aller sur l'autre serveur dans
cd /var/lib/asterisk/keys
cat > serveur1.pub
coller le contenu du fichier
ctrl+d
Faire de même sur l'autre serveur.
Serveur 1
A rajouter dans le fichier IAX.conf
[VOIP2]
type=friend
host=192.168.E.5 (ip serveur2)
auth=rsa
inkey=voip1
outkey=voip2
context=FROM_VOIP2
qualify=yes
trunk=yes
A rajouter dans le fichier extensions.conf
36
Rapport de stage BILS Raphaël
16 aout 2010
[from-internal] //par defaut lors de la création d'un compte sip sous TrixBox
…
exten => 5003,1,dial(IAX2/VOIP2/${EXTEN})
[FROM_VOIP2]
include=> from-internal
Serveur 2
A rajouter dans le fichier IAX.conf
[VOIP1]
type=friend
host=192.168.E.10
auth=rsa
inkey=voip2
outkey=voip1
context=FROM_VOIP1
qualify=yes
trunk=yes
A rajouter dans le fichier extensions.conf
[from-internal] //par defaut lors de la création d'un compte sip sous TrixBox
…
exten => 102,1,dial(IAX2/VOIP1/${EXTEN})
[FROM_VOIP2]
include=> from-internal
Test de la liason IAX
asterisk -r
CLI>iax2 show peers
Liaison entre Xivo 1,0 et ubuntu10,4 Asterisk 1,62
Sur xivo
La version XiVO 1.0.4 intègre la nouvelle version d'asterisk 1.4.26.2 qui corrige une faille de sécurité
dans IAX. Cette correction rend incompatible les trunk IAX avec d'ancienne version d'IAX à moins de
passer le paramètre requiredcalltoken=no.
Pour cela il faut changer le fichier /etc/asterisk/extconfig.conf et commenter les lignes suivantes :
iaxusers => sqlite,asterisk,useriax
iaxpeers => sqlite,asterisk,useriax
iax.conf => sqlite,asterisk,staticiax
IL faut créer le fichier IAX, il n'existe pas par default.
37
Rapport de stage BILS Raphaël
16 aout 2010
chmod 660 /etc/asterisk/iax.conf
chown asterisk:www-data /etc/asterisk/iax.conf
asterisk -r
CLI> reload
La liaison et la communication des softphones sur des Asterisk différents reliés par liaison IAX a réussi.
Aucune déformation de la qualité sonore n'a été constaté, ni de délais de latence. De plus le cryptage de la
liaison en RSA offre une certaine sécurité aux informations qui transitent par le réseau.
D'autres liaisons ont été crées comme la liaison avec l'AD.
4. Liaison AD
La liaison avec l'Active Directory de l'IRCAD était un enjeu important dans le cadre de mon projet.
Pour ne pas avoir à recréer des comptes SIP pour chaque utilisateurs, il existe un module intégrable à
Asterisk qui permet de faire la liaison entre l'Asterisk et un LDAP lors de la connexion d'un compte SIP
et d'utiliser les informations comprise dans l'Active Directory pour se connecter.
La configuration de cette liaison a rencontré de nombreux bugs liés à des problèmes de compatibilité.
De nombreux essais ont été effectués en commencent avec Trixbox et AsteriskNow, ils ne disposaient pas
à la base de modules d'interconnexion avec un LDAP que ce soit un OpenLDAP ou un Active Directory.
Il a fallu recompiler le trixbox avec les modules LDAP ce qui a généré des problèmes de compatibilité.
Mes tests et recherches se sont orientés vers une solution personnelle Ubuntu avec l'installation manuelle
de paquets Asterisk et d'autres composants nécessaires sur le site officiel d'Asterisk: DIGIUM.
Configuration des fichiers Asterisk pour la mise en place de la connexion avec l'Active Directory :
• Allez dans le dossier des fichiers de conf: /etc/asterisk
• Modifier le fichier res_ldap.conf
38
Rapport de stage BILS Raphaël
16 aout 2010
[_general]
host=192.168.A.150
port=389
protocol=3
basedn=ou=IRCAD,dc=ircadtest,dc=el
;filter=
user=cn=ldap,ou=services,dc=ircadtest,dc=el
pass=*****
[sip]
name=cn
callerid=telephoneNumber
•
Mettre en commentaire les autres attribues avec « ; »
•
Compléter les champs qui corresponde à l'AD:
• Modifier le fichier extconfig.conf
sipusers => ldap, « ou=1erEtage,ou=IRCAD,dc=ircadtest,dc=el »,sip
sippeers => ldap, « ou=1erEtage,ou=IRCAD,dc=ircadtest,dc=el »,sip
•
39
Modifier le fichier extensions.conf
Rapport de stage BILS Raphaël
16 aout 2010
switch => Realtime/@
• Dans le context [default] (qui a été rentrer dans l'AD)
ajouter les règles d'appels
exten => _2XXX,1,Dial(SIP/$EXTEN) // tous les numéros à 4 chiffres commençant par 2
• Recharger les fichiers de conf:
Lancer le CLI d'asterisk:
asterisk -rvvv
dans cli> reload
• Dans le cli exécuter la commande pour voir si la connexion est effective:
cli> realtime ldap status
• Si la commande n'est pas trouvé, charger le module
cli> module load
res_config_ldap.so
Pour cette partie de stage plusieurs jours ont été nécessaires pour réussir à créer une liaison et à récupérer
les comptes de l'Active Directory lorsqu'un softphone ou un IPPhone essayait de s'enregistrer sur
l'Asterisk.
5. HA (High Avaibility)
HA : Haute disponibilité en français.
Pour des services sensibles comme la téléphonie, il est important d'avoir un services en continue 24h/24
7j/7. Pour cela il est intéressant de se pencher sur la mise en place d'un dispositif qui prendrait le relais de
l'IPBX principal. En cas de panne, un second serveur prendrait le relais et un message serait envoyé à
l'administrateur réseaux, par mail ou sms.
Pour cela j'ai utilisé le logiciel Heartbeat permettant d'effectuer de la HA.
Les tests sont réalisés avec Xivo, il dispose d'un système de monitoring pratique pour détecter les bugs et
lancer le second serveur en cas de dysfonctionnements.
Dans ce cas, un mail serait envoyé a l'administrateur réseaux ou un sms grâce à des scripts mis en place
vérifiant continuellement le système.
Mise en place de la haute disponibilité logicielle via Heartbeat :
Soit :
- Serveur 1 : 192.168.E.1 (xivo)
- Serveur 2 : 192.168.E.2 (xivo2)
- Une ip dispo pour heartbeat : 192.168.E.200
- Gateway : 192.168.E.254
40
Rapport de stage BILS Raphaël
16 aout 2010
Les deux serveurs ont la même config xivo.
Installation du package heartbeat:
apt-get install heartbeat
Pour faire fonctionner le système, il est nécessaire de créer trois fichiers de configuration, dans le dossier
/etc/heartbeat.
• Fichier ha.cf commun à tous les serveurs (à placer dans le répertoire /etc/ha.d)
41
Rapport de stage BILS Raphaël
16 aout 2010
logfacility daemon
node xivo
node xivo2
keepalive 1
deadtime 10
bcast eth1
ping 192.168.E.254
auto_failback no
•
# Les logs du démon heartbeat seront envoyé au syslog,
#
#
#
#
#
#
Liste de tous les membres de notre cluster
Le keepalive définit la vitesse de polling/controle
Au bout de 10 secondes, on déclare qu'un des noeuds est ko
Quelle carte réseau utiliser pour les broadcasts Heartbeat
Adresse du routeur pour vérifier la connectivité
Rebascule-t-on automatiquement sur le primaire?
Le authkeys contient les informations nécessaire à l'authentification des noeuds du cluster entre
eux, pour maximiser la sécurité (à placer dans /etc/ha.d)
Chaque serveur dispose du même fichier authkeys.
auth 1
1 sha1 dacriraph
Quoi qu'il en soit, il est nécessaire de protéger ce fichier afin qu'il ne soit plus visible par n'importe qui (si
la procédure n'est pas effectuée, le programme ne se lancera pas) :
chmod 600 /etc/heartbeat/authkeys
•
Les deux machines sont donc prêtes à recevoir leur ressource IP à partager. Le rôle du dernier
fichier "haresources" :
xivo 192.168.E.200
Une fois ces troix fichiers intégrés à tous les noeuds du cluster (ici nos deux serveurs serveur1 et
serveur2), il suffit de lancer heartbeat pour activer le service "haute-disponibilité" :
/etc/init.d/heartbeat start
Pour voir si l'adresse IP virtuelle est active, tapez :
ifconfig
La mise en place d'une solution de haute disponibilité est importante, lors des tests la coupure
téléphonique n'a durée que 5 secondes. Heartbeat et la solution Xivo s'intègrent parfaitement ensemble,
surtout grâce à l'outil de monitoring de Xivo (« monit ») qui évite d'écrire ses propres scripts de
monitoring du système et des modules.
6. IPphone
L'institut a mis à disposition deux téléphones IP un Thomson ST2022 et un Thomson ST2030.
A la base les deux téléphones étaient en MGCP, une mise à jour du logiciel interne a été nécessaire pour
les faire passer en SIP.
Je me suis heurté par la suite à plusieurs problèmes de compatibilité, les différentes mises à jour du
logiciel interne disposant d'avantages et d'inconvénients. Chaque version du logiciel interne étant
seulement compatible avec certaine version de DSP (cf tableau ci dessous)
42
Rapport de stage BILS Raphaël
16 aout 2010
ST2030 :
Version du logiciel interne
Fichier DSP
MGCP v1.xx
v1.00 MGCP (ST2030MEC_v100_dsp.zz)
MGCP v1.55 et supérieur
v1.01 (ST2030_dsp_v101.zz) or v1.00 MGCP
SIP à partir de v1.53
v1.00 SIP (ST2030_ SIP_v100_dsp_4way.zz)
SIP v1.54 et supérieur
v1.01 (ST2030_dsp_v101.zz) or v1.00 SIP
SIP v2.67
v3.10 (v2030_dsp_v310_r11.1.zz)
SIP v2.68
v3.20 (v2030_dsp_R11.1_SED_v320.zz)
ST2022 :
Version du logiciel interne
Fichier DSP
MGCP v3.xx
v3.00 MGCP (ST2022m_DSP_v300.zz)
SIP v3.xx
v3.00 SIP (v2022s_dsp_v300.zz)
SIP v4.67
v3.10 (v2022_dsp_v310.zz)
SIP v4.68 et supérieur
v3.20 (v2022_dsp_R11.1_SED_v320.zz)
Les logiciels interne sortis en 2008 et 2009 comportent trop souvent des bugs gênants. Il devient difficile
de trouver une version récente de logiciels interne déployable sans bug significatif.
Je n'ai pas pu tester d'autres téléphones IP mais il serait intéressant de le faire car même avec les derniers
logiciels interne des bugs importants sont toujours présents et l'autoprovisionning ne se fait pas aisément.
Par la suite je me suis documenté pour savoir quels autres téléphones IP seraient une bonne alternative au
niveau qualité et prix , le modèle Aastra 6730i serait intéressant à tester.
7. Tests codecs audio/vidéo
Chaque softphone et hardphone disposent d'un certain nombre de codecs compatibles ou non entre eux.
Pour mes phases de tests j'ai décidé de garder X-lite, SIPCommunicator et Twinkle qui me semblais être
les meilleures solutions.
Codecs (audio/video)
Débit
Remarques
G711a
10,4ko/s
Twinkle(linux)/Xlite/SIPCommunicator
GSM
4,2ko/s
X-lite/SIPCommunicator
iLBC
3,5ko/s
X-lite/SIPCommunicator
BroadVoice-32
X
Pas possible X-lite
G728
X
SIPCommunicator (mais pas
installé sous trixbox)
43
Rapport de stage BILS Raphaël
16 aout 2010
G723
1,6ko/s
SIPCommunicator
h261
X
Ne fonctionne pas avec
SIPCommunicator
h263 et h263+
25ko/s
Fonctionne sur Xlite et
SIPCommunicator
h264
X
Ne fonctionne pas avec
SIPCommunicator
Lors de tests effectués avec le codec GSM on constate une petite perte de la qualité sonore.
SIPCommunicator dispose d'une communauté dynamique, de ce fait le logiciel est en constante
évolution, ce qui induit l'ajout de nouvelles fonctionnalités et de codecs non maîtrisés.
Après différents tests effectués, le codec audio G711a et le codec vidéo h263 seront utilisées.
8. QoS (Quality of Service)
La qualité du transport de la voix est affectée par les paramètres suivants :
- La qualité du codage
- Le délai d’acheminement (delay)
- La gigue (jitter)
- La perte de paquets (packet loss)
- L’écho
La qualité du transport de la vidéo à également été testé.
Pour cette partie un switch cisco 3750 a été mis à ma disposition. Je me suis familiariser avec la
configuration d'un switch cisco, grâce au anciens TP de Master système et réseaux de Mr Urban et j'ai pu
acquérir rapidement les mécanismes de configuration.
Des tests ont été effectués afin de connaître la réaction du réseau face à un appel lors du téléchargement
d' un fichier par FTP et la réception d'un flux multicast envoyé par un des blocs opératoires.
Comme le flux audio de la communication était affecté j'ai priorisé les flux audio au téléchargement FTP
et limité le flux video multicast au strict nécessaire pour son fonctionnement.
Une priorité a été mise sur le flux visioconférence pour qu'il reste fluide.
Mise en place de la QoS
DSCP
Création des ACL pour définir les champs DSCP des trames et permettre de classifier les flux
//Flux unicast
access-list 100 permit udp host 10,0,0,1 host 10,0,0,2 eq 1234
//Flux visio
access-list 101 permit udp host 10,0,0,1 host 10,0,0,2 eq 2345
Explication: Trafic en provenance de la machine 10,0,0,1 à destination de l'adresse 10,0,0,2 sur le port
44
Rapport de stage BILS Raphaël
16 aout 2010
1234, le flux sera considéré comme un flux de streaming vidéo et sera affecté à l'ACL 100.
Définition des attributs donnant la classe d'un paquet IP
class-map match-all ucaststream
match access-group 100
class-map match-all visio
match access-group 101
Tag de chaque paquet via son champ DSCP de la manière suivante:
policy-map mypolicymap
class ucaststream
set ip dscp 50
class visio
set ip dscp 51
Activation de la gestion de la QoS au niveau global, puis assignation d'un policy-map sur le bon port
(l'interface sur laquelle entrent les paquets sur le switch i.e l'interface connectée serveur)
(conf t)
mls qos
switch(config)>int GigabitEthernet1/0/17
service-policy input mypolicymap
Activation du trust DSCP sur toute interface ou entre le flux à partir du switch ce qui est le cas dans
l'interface dans le VLAN opposé au serveur. (chez nous l'interface GigabitEthernet1/0/18)
switch(config)>int GigabitEthernet1/0/18
mls qos trust dscp
Policing
Pour éviter le problème de visioconférence au-dessus on applique un policier à 1Mbits sur le flux
streaming unicast.
Policy-map mypolicymap
class ucaststream
police 1000000 1000000 exceed-action drop
exit
exit
La mise en place de la QoS va permettre de garder une qualité sonore et vidéo lors de l'intégration de
l'IPBX au réseau. On constate que si aucune qualité de services n'est mis en place des problèmes de
communication apparaissent.
9. Liaison RNIS Asterisk
Ce dernier sujet abordé fut également le dernier projet mis en place à l'ircad et un des plus important.
Une liaison entre l'ancienne installation téléphonique, le vieux PABX 4400 et le serveur Asterisk (Xivo).
Ce qui correspond a la liaison RNIS ↔ VoIP sur xDSL du tableau présent dans la troisième partie.
45
Rapport de stage BILS Raphaël
16 aout 2010
Dans un premier temps testé la liaison T0 a été effectué avec une carte Eicon Divas. La carte a bien été
détectée par l'ordinateur, le linux installé, que ce soit centos ou debian mais les modules permettant
d'utiliser la carte comme mISDN, capi ou encore isdn4linux ne détectaient pas la carte ou alors n'étaient
pas compatibles avec elle.
Par la suite, Mr Moreau a réussi à se procurer une carte digium très compatible avec Asterisk.
Une fois la carte digium (B410P) installé dans la machine, debian ou centos la détecte sans problème
ainsi que le module mISDN.
Ici Asterisk sera utilisé comme une gateway (liaison entre l'ancienne installation téléphonique avec des
liaison T0 (T2) et le nouveau monde de la téléphonie IP).
Carte DIGIUM B410P
46
R
d stag BILS R
16 a
2010
Il existe deux modes pour la carte digium B410P:
le mode TE (terminal equipement)
le mode NT (network termination)
Ici, l'Asterisk est connecté au PABX de l'IRCAD et le port 1 de la carte est mis en mode NT. Si la carte
avait directement été connecté sur la liaison T0 qui arrive à l'ircad, il aurai fallu se mettre en mode TE.
Schéma de la carte :
Pour ma part j'ai testé la carte sur Trixbox (centos) et sur Xivo (debian).
IL existe deux méthodes pour configurer la carte digium:
l'ancienne methode avec mISDN
la nouvelle avec Dahdi
47
R
d stag BILS R
16 a
2010
Ci-dessous la méthode pour configurer la carte sous Xivo.
1) Installation des modules des cartes T0 (ISDN/RNIS)
• Pour vérifier que la carte est bien détectée :
aptitude update
aptitude install pciutils
update-pciids
Exemple d'un résultat de lspci pour une carte T0 :
lspci
01:0d.0 ISDN controller: Digium, Inc. Wildcard B410 quad-BRI card (rev 01)
•
Si la carte n'est pas détectée avec la commande :
lspci
On peut taper la commande suivante :
dahdi_hardware
pci:0000:03:00.0
wctdm+
e159:0001 Wildcard TDM400P REV I
• Charger les bons modules DAHDI : allez dans /etc/dahdi/modules et commentez tous les modules
qui ne servent pas. Il faut _toujours_ commenter wcb4xxp car on utilise mISDN pour les cartes
T0.
• Puis relancer dahdi (pour arrêter dahdi, il faut arrêter asterisk) :
/etc/init.d/dahdi restart
2) Installation d'une carte T0
•
Vérifier que le module wcb4xxp est bien commenté dans le fichier /etc/dahdi/modules.
•
Si c'est bien le cas, il faut re-générer la configuration dahdi :
/etc/init.d/monit stop
/etc/init.d/asterisk stop
/etc/init.d/dahdi stop
dahdi_genconf
/etc/init.d/dahdi start
•
Installation du module :
aptitude install misdn misdn-modules-$(uname -r)
•
Vérification du bon chargement du module par asterisk. Pour cela vérifier qu'il n'y ait pas une
ligne de type noload => chan_misdn.so dans le fichier /etc/asterisk/modules.conf :
grep -i misdn
/etc/asterisk/modules.conf
48
R
d stag BILS R
16 a
2010
•
Édition du fichier /etc/asterisk/misdn.conf pour qu'il reflète votre installation. Pensez à mettre le
bon nombre de ports (i.e. le nombre de ports que vous utilisez réellement).
Par exemple si vous n'utilisez qu'un port :
Ports=1
Si vous utilisez le port 1 et 3 :
Ports=1,3
•
Vérification du fichier /etc/mISDN.conf : la ligne 'card type' et le nombre de ports mentionnés
doivent correspondre avec la carte installée.
•
Redémarrer Asterisk pour être sûr que la modification ait bien été prise en compte
(/etc/init.d/asterisk restart).
• Vérification du bon fonctionnement, dans la CLI :
asterisk -r
CLI> misdn show stacks
La mise en place de la liaison entre l'Asterisk et le PABX de l'ircad s'est effectué non sans problèmes.
Mais au final elle a réussi à être mis en place. Il est maintenant possible d'appeler vers les postes interne,
mais aussi d'appeler vers extérieurs en passant par une ligne T0.
10. Évolution de la maquette de test au cours du stage
L'ensemble des équipements de la maquette de la VoIP se situe dans le même VLAN, à l'exception des
tests de la QoS où plusieurs VLAN ont été utilisés.
Évolution de la maquette:
 Un switch
3 PC ( 1 serveur, deux clients)
deux micro casque deux webcam
dans le même vlan (avec un serveur windows 2003 avec dhcp et active directory)
 un switch
4PC (1 serveur, trois client (2windows et 1 linux)
deux micro casque, 3 webcam
dans le même vlan
 un switch
4PC (2 serveur, 2clients)
deux micro casque, 3 webcam
dans le même vlan
49
R
d stag BILS R
16 a
2010
 un switch
4PC (1 serveur, trois client (2windows et 1 linux)
deux micro casque, 3 webcam
2 IPphones (thomson)
dans le même vlan
 test QoS
2 vlan
2 pc (un serveur et un client) un dans chaque vlan
routeur cisco 3750
Schéma d'architecture téléphonique pour la phase de test final
Voici le schéma actuel de l'architecture téléphonique et périphériques associés.
50
R
d stag BILS R
16 a
2010
Conclusion
Apport personnel
Ayant décidé d'orienté ma formation dans les réseaux et systèmes, j'ai choisi d'effectuer un stage dans ces
domaines. Le stage à l'ircad ma permis d'améliorer mes compétences dans ces domaines et tout
particulièrement dans le domaine de la VoIP.
Le stage s'est très bien déroulé, j'ai pu atteindre l'objectif fixé et mettre en place une maquette
opérationnelle . J'ai également effectué des recherches et des tests quant à l'intégration de la
visioconférence avec Asterisk.
J'ai par ailleurs réellement apprécie l'autonomie que Mr Moreau m'a accordé dès le début du stage. Les
courtes réunions hebdomadaires me permettant de m'assurer que je travaillais dans la bonne direction.
Apport humain
L'ambiance au sein de l'équipe a été agréable et sympathique, idéale pour de bonnes conditions de travail,
entouré de personnes compétentes toujours prêtes à m'aider. Je remercie encore toutes les personnes que
j'ai pu côtoyer. Je suis contant d'avoir pu intégrer l'ircad pour mon stage de fin d'études et d'avoir trouver
une structure dans laquelle j'ai pu abordé des sujets passionnants et toucher à plusieurs domaines.
Apport à l'ircad
Pour conclure, je pense que mes recherches et ma maquette final aideront l'ircad dans son avancement
pour renouveler son installation téléphonique. La maquette étant fonctionnelle elle donnera une idée des
possibilités futures d'une installation téléphonique avec un IPBX, cette installation va permettre en plus
de communiquer avec la voix de faire de la vidéoconférence.
51
R
d stag BILS R
16 a
2010
Glossaire
Gatekeeper, ou garde-barrière. Un gatekeeper réalise la traduction d'adresse (numéro de
téléphone - adresse IP) et la gestion des autorisations. Ce dernier point permet de donner
ou non la permission d'effectuer un appel, de limiter la bande passante si besoin et de
gérer le trafic sur le LAN. Il permet également de gérer les téléphones classiques et la
signalisation permettant de router les appels afin d'offrir des services supplémentaires. Il
peut enfin offrir des services d’annuaire.
Gateway, ou passerelle: c’est un équipement qui permet de faire la conversion entre un
réseau H323 et un autre réseau ayant un protocole normalisé par l’UIT-T (par exemple de
H225 à H221). La gateway peut également faire la conversion entre les codecs utilisés. Il
peut y avoir autant de passerelles différentes que nécessaire, suivant la nature des
réseaux non IP à interconnecter.
Simulations, tests:
SIPP : permet de simuler des connexions SIP et ainsi de monter en charge l’IPBX
Ping : permet de tester des connectivités IP.
IPerf : outils permettant de mesurer la bande passante disponible entre deux hôtes sur
lequel tourne IPerf. Il est également possible de mesurer la gigue et la perte de paquet
D-ITG (Distributed Internet Traffic Generator) : comme IPerf permet de faire des mesures
du réseau
Wireshark (Ancien Ethereal) : c’est un analyseur de réseau, il peut analyser un grand
nombre de protocole
WANem : outil localisé entre deux hôtes (téléphone et PBX), il permet de simuler des
qualités de liens spécifiques afin de tester le comportement d'une application. Par
exemple, tester si un téléphone IP localisé sur un site distant avec une faible bande
passante est capable d'appeler le site central avec une qualité suffisante
Un module FXO sert à relier un serveur IPBX au réseau téléphonique (à une ligne France Telecom par
exemple, ou a un PABX).
Un module FXS sert à relier un serveur IPBX à un poste téléphonique.
IPBX (Intranet Private Branch eXchange)
Version "IP" du PABX. Il gère la plupart des communications en interne grâce à l'infrastructure réseau de
l'entreprise. Il sert aussi (quand la fonction est incluse dans le système) de lien avec les lignes
téléphoniques externes. Il a, de plus, la possibilité de faire toutes les fonctions classiques présentes sur un
PABX (renvois d'appels, mises en attente avec musique, etc.).
PABX (Private Automatic Branch eXchange)
Désigne un système téléphonique pour sites privés. Le PABX prend généralement en charge les
communications internes et externes d'une organisation. Il sert principalement à relier les postes
téléphoniques d'un établissement (lignes internes) avec le réseau téléphonique public (lignes externes). Il
permet en plus la mise en œuvre d'un certain nombre de fonctions notamment : relier plus de lignes
internes qu'il y a de lignes externes, permettre des appels entre postes internes sans passer par le réseau
public, programmer des droits d'accès au réseau public pour chaque poste interne…
Le couplage téléphonie informatique (CTI) est un ensemble des techniques permettant la mise en œuvre
52
R
d stag BILS R
16 a
2010
d'applications reposant sur un interfonctionnement d'applicatifs informatiques et d'applicatifs
téléphoniques. Il s'inscrit dans la logique de convergence numérique.
Trunk SIP
La technologie SIP est un standard de téléphonie sur IP qui favorise la convergence voix-données.
Le trunk SIP est une liaison de type IP permettant de relier le central téléphonique de l’entreprise à
l’infrastructure de l’opérateur de téléphonie IP. De ce fait, les communications ne requièrent plus
obligatoirement de ligne analogique de type T0 ou T2 pour aboutir ce qui induit une économie
importante.
Broadcast
Le broadcasting définit une diffusion de données depuis une source unique à un ensemble de récepteurs.
Centrex
Service téléphonique commercial offert par un fournisseur de services et qui permet d'accéder
directement à un poste de client, de transférer les appels d'arrivée, depuis un poste à un autre, d'identifier
les téléphones supplémentaires aux fins de la facturation des appels interurbains.
DECT
Digital European Cordless Telephone. Norme européenne de téléphone sans fil, sur la bande 1880-1900
MHz. numérique et utilisant la compression, elle est de meilleure qualité que le système analogique
précédent, et assure en plus la confidentialité des communications car les canaux ne se recouvrent plus
DSP
Un Digital Signal Processor ou DSP en anglais, soit « processeur de signal numérique », est un
microprocesseur optimisé pour les calculs. Son application principale est le traitement du signal
numérique (filtrage, extraction de signaux, etc.), d'où son nom.
Les DSP sont utilisés dans la plupart des applications du traitement numérique du signal en temps réel.
On les trouve dans les modems (modem RTC, modem ADSL), les téléphones mobiles, les appareils
multimédia (lecteur MP3), les récepteurs GPS... Ils sont également utilisés dans des systèmes vidéo, les
chaînes de traitement de son, partout où l'on reçoit un signal complexe que l'on doit modifier à l'aide du
filtrage.
Diffserv
DiffServ ou Differentiated Services est une architecture réseau qui spécifie un mécanisme pour classer et
contrôler le trafic tout en fournissant une qualité de service. Mécanisme qui permet de garantir la qualité
de service. Les données sont identifiées par un marquage qui fixe les priorités de passage. Diffserv
propose trois options selon le niveau de qualité requis.
H323
Le protocole H.323 regroupe un ensemble de protocoles de communication de la voix, de l'image et de
données sur IP. C'est un protocole développé par l'UIT-T. Il est dérivé du protocole H.320 utilisé sur
RNIS. QoS (qualité de service) non garantie.
IAX
IAX est un protocole de voix sur IP issu du projet de PABX open source Asterisk. Il permet la
communication entre un client et serveur Asterisk ainsi qu’entre deux serveurs Asterisk.
53
R
d stag BILS R
16 a
2010
Multicast
On entend par multicast le fait de communiquer simultanément avec un groupe d'ordinateurs identifiés
par une adresse spécifique (adresse de groupe).
NAT
Le terme barbare NAT représente les initiales de "Network Address Translation", ou "Traduction
d'Adresse réticulaire" en français. Mais il est souvent utilisé pour représenter différents concepts que nous
allons différencier, notamment NAT statique, NAT dynamique, PAT, IP masquerading...
Si l'on s'en tient intrinsèquement à la définition du terme NAT, cela représente la modification des
adresses IP dans l'en-tête d'un datagramme IP effectuée par un routeur.
PABX Private Automatic Branch eXchange
(Autocommutateur telecommutateur privée) en usage dans certaines sociétés et industries pour lesquelles
la densité des postes téléphoniques nécessitent un système poussé de réception et tri des appels.Un PABX
sert principalement à relier les postes téléphoniques d'un établissement (lignes internes) avec le réseau
téléphonique public (lignes externes).
Le PABX-IP possède un registre de tous les téléphones/usagers et de leur adresse SIP respectives et ainsi
est capable de connecter un appel interne ou de router un appel externe soit par le biais d’une passerelle
VoIP ou d’un fournisseur de service VoIP.
Passerelles IP
Elles servent de liens entre les réseaux téléphoniques commutés (RTC) des lignes standard et les réseaux
IP. Moins chers qu'un PABX-IP, ils permettent de relier une partie du réseau interne de l'entreprise qui
n'aurait pas migré vers la téléphonie IP.
PSTN
Le réseau téléphonique commuté (ou RTC) est le réseau du téléphone (fixe et mobile), dans lequel un
poste d'abonné est relié à un central téléphonique par une paire de fils alimentée en batterie centrale (la
boucle locale).
RTP
Real-Time Transport Protocol (RTP) est un protocole de communication informatique.
RTCP
Le protocole réseau RTCP (Real-time Transport Control Protocol) repose sur des transmissions
périodiques de paquets de contrôle par tous les participants dans la session.
C'est un protocole de contrôle des flux RTP, permettant de véhiculer des informations basiques sur les
participants d'une session, et sur la qualité de service.
SDA
La Sélection Directe à l'Arrivée (SDA) est une technique en télécommunications qui permet d'atteindre
directement un interlocuteur depuis l'extérieur (le réseau téléphonique commuté par exemple) sans passer
par un standard. Elle est mise en oeuvre dans un PABX où chaque poste interne peut recevoir un numéro
direct. Système pour autocommutateurs téléphoniques d'entreprises permettant l'accès direct au poste d'un
correspondant sans passer par le standard
SIP
SIP est un protocole standard ouvert de télécommunications multimédia (son, image, etc.). Il est en 2007
le plus courant pour la téléphonie par internet (la VoIP).SIP est une IP téléphonie indiquant le protocole
utilisé pour la connexion, la modification et fin des appels téléphoniques VoIP. Le SIP a été développé par
54
R
d stag BILS R
16 a
2010
le groupe IETF et publié sous RFC 3261. Le SIP décrit la communication nécessaire pour passer des
appels téléphoniques.
T0
Ligne d'accès numéris de base de FT, soit 2 canaux B à 64 Kbps et 1 canal D (pour la signalisation) à 64
Kbps
Une ligne T0 permet d'avoir 2 conversations téléphoniques simultanées
ToIP
Telephony over IP = téléphonie sur IP.
La téléphonie IP consiste à mettre en place des services téléphoniques sur un réseau IP en utilisant la
technique de la voix sur IP. Les communications vocales sont alors transmises via un réseau IP. Les
postes particuliers sont baptisés IP-Phone. Qu'est-ce qui les distingue des téléphones classiques ? Un
téléphone IP doit être alimenté par courant. Il est capable de numériser la voix pour la transmettre sur des
réseaux IP et peut, à l'inverse, rassembler les paquets entrants pour interpréter la voix reçue. La
téléphonie sur IP circule sur des réseaux privés - LAN ou VPN - ou publics.
Unicast
Le terme unicast définit une connexion réseau point à point. Transfert d'un hôte vers un autre hôte
VoIP
Voice Over IP. Principe consistant à faire passer des communications téléphoniques numérisées dans des
paquets IP. Technologie de télécommunication utilisant de bout en bout des réseaux numériques basés sur
le protocole IP en lieu et place de réseaux filaires analogiques pour la transmission de conversations
téléphoniques
55
R
d stag BILS R
16 a
2010
Table des références
Hacking VoIP
Himanshu Dwivedi
2009
Trixbox-2 Without Tears
Ben Sharif
2007
Asterisk The Future of Telephonie 2nd Edition
Jim Van Meggelen
2007
Réseaux et télécoms 2nd Edition
Claude Servin
2009
Forum communauté Asterisk Francais: http://www.asterisk-france.net/
Site officiel Asterisk Digium: http://www.digium.com/en/
Site d'une solution Asterisk: http://www.asteriskguru.com/
Un wiki sur la VoIP: http://www.voip-info.org/
Un wiki sur Xivo: https://wiki.xivo.fr/index.php/Accueil
Site officiel de TrixBox: http://fonality.com/trixbox/
56
R
d stag BILS R
16 a
2010
Résumé
Pour achever ma formation d'ingénieur à l'ENSISA, j'ai effectué un stage à l'ircad (institut de recherche
contre les cancers de l'appareil digestif) dans les domaines de la VoIP et de la visioconférence. Le but du
stage est de mettre en place une maquette opérationnelle de solution VoIP et de visioconférence. Afin de
tester les solutions de renouvellement de l'installation téléphonique vieillissante de l'ircad. Pour mener à
bien mon projet j'ai suivi la démarche suivante: je me suis renseigné sur le travail du précédent stagiaire
dans le domaine de la VoIP, j'ai réalisé un état de l'art des solutions et des protocoles pour une migration
dans le domaine IP, j'ai effectué des tests sur les différentes solutions trouvées et enfin j'ai mis en place
une maquette opérationnelle répondant aux besoins de l'institut. Le stage s'est très bien déroulé, j'ai pu
atteindre l'objectif fixé et mettre en place une maquette opérationnelle en utilisant la solution Asterisk.
57
R
d stag BILS R
16 a
2010

Documents pareils