Cours Elastix
Cours Elastix
Cours Elastix
Communications
Unifiées.
Table des matières
Projet ELASTIX...............................................................................................................................................................2
I. Caractéristiques d’ELASTIX ....................................................................................................................................2
1. Le cœur d’Elastix, une solution de téléphonie : Astérisk..................................................................................2
2. Messagerie Instantanée ...................................................................................................................................4
3. Serveur de mail .................................................................................................................................................4
4. Vidéoconférence...............................................................................................................................................5
5. Serveur de Fax ..................................................................................................................................................6
6. Les autres composants d’Elastix .......................................................................................................................6
II. Cahier des charges ................................................................................................................................................7
1. Paramètres réseaux ..........................................................................................................................................7
2. Les cartes de téléphonie (FXS, FXO) .................................................................................................................7
3. Trunk SIP et trunk IAX .......................................................................................................................................8
4. Standard automatique ......................................................................................................................................8
III. Projet ...................................................................................................................................................................9
1. Installation d’Elastix ..........................................................................................................................................9
2. Configuration des utilisateurs et des boîtes mails..........................................................................................10
3. Configuration des postes IP et des softphones ..............................................................................................15
IV. Conclusion .........................................................................................................................................................17
V. Sources ...............................................................................................................................................................18
1. Recherches......................................................................................................................................................18
2. Téléchargements ............................................................................................................................................18
1
Projet ELASTIX
ELASTIX est une plateforme de communication unifiée OpenSource qui utilise
CentOS (Community Enterprise Operating System), une distribution Linux
destinée aux serveurs.
I. Caractéristiques d’ELASTIX
Asterisk est un logiciel qui, installé sur un PC, fait office de PABX. C’est une plateforme ouverte et
Open Source de téléphonie sur IP. Elle permet de concevoir des solutions complètes de téléphonie intégrant aussi
bien la téléphonie traditionnelle en analogique ou numérique que la téléphonie sur IP avec les protocoles MGCP,
SIP et un protocole inter PABX propriétaire : IAX.
2
Asterisk implémente les protocoles :
H.323 :
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 qui le définit comme des Systèmes de communication multimédia en mode
paquet. Contrairement à SIP qui est un protocole issu d'Internet, H.323 trouve ses origines dans le protocole RNIS.
Apparu avant SIP, H.323 a été utilisé pour monter les premiers réseaux VoIP mais il est aujourd'hui supplanté par
SIP.
Fonctionnement de SIP :
SIP est un protocole de type requête/réponse comme http. Une adresse SIP se présente sous cette forme :
1- Le Softphone A s'inscrit dans le proxy SIP il effectue une demande d'appel auprès de ce proxy SIP Le proxy SIP
transfère la demande au téléphone SIP B.
2- Le téléphone SIP B sonne et demande à l'utilisateur s'il souhaite répondre. La réponse positive (200 OK) part
alors vers le proxy et arrive sur le softphone A pour lui indiquer que l'appel est accepté.
3
IAX (Inter-Asterisk eXchange) :
IAX est un protocole propriétaire qui permet la communication entre deux serveurs Asterisk. il peut réguler la
transmission de flux multimédia. Ce protocole est aujourd’hui utilisé dans sa version 2.
Asterisk comprend un nombre très élevé de fonctions permettant l'intégration complète pour répondre à la
majorité des besoins en téléphonie. Il permet de remplacer totalement, par le biais de cartes FXO/FXS, un PABX
propriétaire, et d'y adjoindre des fonctionnalités de VoIP pour le transformer en PBX IP.
Asterisk peut aussi utiliser LDAP (Lightweight Directory Access Protocol) qui est un protocole, défini par l’IETF (RFC
3377 et 3383) permettant l’accès à des annuaires. Le but est de récupérer des informations du serveur LDAP et de
les transférer sur le serveur Asterisk. Cela évite d’avoir à saisir tous les noms du personnel. Les adresses e-mail
serviront pour envoyer un mail en cas de message sur la boîte vocale.
2. Messagerie Instantanée
La messagerie instantanée d’ELASTIX est rendue possible grâce au serveur OpenFire. Il s’agit d’un
serveur de présence (service réseau qui reçoit, stocke et envoie des informations de présence – indicateur de
statut (par exemple « En ligne », « En train de téléphoner » ou « Ne pas déranger »)) et de messagerie
instantanée très populaire qui utilise le protocole Jabber/XMPP (Extensible Messaging Presence Protocol).
Afin de relier OpenFire au cœur d’ELASTIX qui est Asterisk, il est nécessaire d’installer un plug-in appelé Asterisk
IM.
Enfin, pour pouvoir utiliser les services d’OpenFire, on peut installer un client appelé Spark (il y en a d’autres, mais
Spark a été développé par ceux d’OpenFire).
3. Serveur de mail
Tous les systèmes de serveurs de messagerie fonctionnent de la même manière et sont composés de
trois éléments :
Un MUA (Mail User Agent) : il génère et lit les emails et est associé à un client mail tel que Microsoft
Outlook, Mozilla Thunderbird, etc. ou avec des services d’email du web comme Gmail, Yahoo ou Hotmail.
Un MTA (Mail Transfer Agent) : c’est un logiciel qui transfère les emails d’un ordinateur à un autre au
moyen du protocole SMTP (Simple Mail Transfer Protocol). Si le destinataire n’est pas trouvé, le message
est envoyé à un autre MTA.
Une MDA (Mail Delivery Agent) : il délivre le message au destinataire local provenant du MTA. Ce
programme utilise les protocoles POP (Post Office Protocol) et IMAP (Internet Message Access Protocol).
Les emails stockés se trouvent dans une boîte aux lettres ou sur MailDir.
4
Schéma d’un système de messagerie
ELASTIX utilise comme MTA Postfix, Cyrus-IMAP comme MDA, et RoundCube Mail pour MUA. Le stockage des
emails est effectué avec MailDir qui va créer un dossier par compte de messagerie et un fichier pour chaque
message.
MTA : Postfix
Postfix fonctionne sur des OS Unix. Il implémente les premières défenses contre les spams et les
malwares et aussi un moteur de livraison d’email travaillant en parallèle très performant.
Postfix consiste en une combinaison de programmes serveur qui tournent en arrière-plan tels que le serveur
SMTP, l’ordonnanceur, la réécriture d’adresses ou le serveur de livraison local.
MDA : Cyrus-IMAP
Cyrus est utilisé pour gérer de très grandes quantités de comptes de courriers électroniques. Ce type
d’implémentation de serveur est utilisé sur des serveurs « scellés » où la sécurité est renforcée.
Le système de fichiers est similaire au format MailDir dans lequel chaque utilisateur possède un sous dossier
contenant les emails.
4. Vidéoconférence
Il existe un addon (module complémentaire) appelé « Web Conference » qui implémente une
conférence virtuelle au moyen d’une page web. Il est possible de :
Suivre des conférences web en temps réel
Tchater
Montrer une présentation
D’envoyer des invitations par email
5
Avec quoi faire de la vidéo conférence ?
On peut configurer :
Des téléphones SIP :
Des softphones : logiciels pour faire de la téléphonie sur IP depuis un ordinateur au lieu d’un téléphone.
Sous Linux, on peut utiliser le logiciel Ekiga et sous Windows, il existe les logiciels Adore Video, Eyebeam
ou Bria. Un softphone qui est également très utilisé est XtenLite.
5. Serveur de Fax
Elastix implémente Hylafax, qui est un logiciel pour envoyer/recevoir des fax. Il présente
l'avantage d'offrir un vrai serveur de fax (utilisant par défaut le port 4559) vous permettant
d'avoir une machine sur votre réseau servant de façon transparente de relais fax par un
modem.
Le logiciel est conçu sur une architecture client-serveur. Les modems peuvent se situer sur une seule machine du
réseau et les clients peuvent soumettre des fax à l'envoi depuis n'importe quelle machine du réseau. Les logiciels
clients sont légers et faciles à mettre en place.
vTigerCRM est une application intégrée de gestion de la relation client (CRM), utilisable en Intranet ou
depuis Internet grâce à un navigateur. Elle est distribuée sous licence libre. vTiger CRM est surtout
destiné aux PME/PMI opérant en mode B2B, mais possède néanmoins les fonctions pour couvrir les
besoins des organisations non-commerciales et/ou des associations, parfois aussi ceux de départements
ou filiales de grandes entreprises.
SugarCRM est un logiciel libre de gestion de la relation client éditée par la société américaine SugarCRM.
La programmation est assurée en PHP et se base sur MySQL, Microsoft SQL Server ou Oracle.
A2Billing est un logiciel de taxation, très complet, qui permet non seulement de gérer les tickets d'appels,
mais aussi de gérer des comptes clients, de créditer de différentes manières ces comptes (cartes
prépayées, paiement à la facture, …), et de les débiter en fonction des appels passes, et leur facturation.
Flash Operator Panel (FOP) est une application de type standard, il s’exécute sur un navigateur Web. Il
est capable d'afficher des informations sur votre activité PBX en temps réel.
6
II. Cahier des charges
1. Paramètres réseaux
Dans l’optique d’avoir une bonne qualité de service, il est envisageable de créer un canal séparé pour la voix au
sein du réseau local en créant différents VLANs.
Cela apporte non seulement un contrôle du flux (en effet, on va allouer une bonne quantité de bande passante
pour les flux vidéo et audio qui demandent des temps de latence courts) mais aussi d’avantage de sécurité.
En effet, on peut isoler ce VLAN voix des VLANs données et même considérer la création d’un VLAN voix et d’un
autre VLAN pour la vidéo.
Il existe des cartes d'interface PCI (exemple : Digium) qui permettent aux logiciels PBX (tels
qu'Asterisk) de se raccorder à une ou plusieurs lignes analogiques. Le PCI est un standard de bus local destiné à
connecter une carte d’interface à la carte mère de l’ordinateur. Deux cartes PCI peuvent dialoguer entre elles sans
utiliser le processeur.
Les cartes FXO permettent de connecter des lignes analogiques en provenance de l’opérateur
Les cartes FXS permettent de connecter des terminaux téléphoniques analogiques : téléphone, fax, DECT
pour ligne analogique.
La désignation "TDM" est suivie par le nombre de modules FXSet du nombre de modules FXO, et enfin la lettre
"B" (pour "Bundle") ou "E" si elle est avec le module optionnel anti-écho VPMADT032.
Exemple : TDM4XY (B ou E)
X = Nombre de terminaux (ports FXS)
Y = Nombre de lignes opérateur (ports FXO)
7
3. Trunk SIP et trunk IAX
Pour relier deux systèmes de téléphonie (IPPBX), il faut établir une passerelle entre les systèmes pour permettre
les échanges entre eux. Il s’agit du « Trunk ». Les fonctions principales du Trunk sont de fournir les services de
signalisation et de transport de la voix. Plusieurs protocoles différents existent pour le « trunking », propriétaire
ou non.
IAX2 contrairement au protocole SIP, n’utilise qu’un seul port de communication en UDP le port 4569 pour la
signalisation et le transport de la voix. Il est à noter qu’il en est à sa deuxième version d’où le sigle IAX2 (IAX1
utilisait le port 5036).
4. Standard automatique
Le standard automatique (Interactive Voice Response en anglais) est un service qui va dialoguer avec un
utilisateur. Il peut non seulement recevoir les appels mais aussi en émettre. Ce système va aiguiller les
interlocuteurs en leur proposant des choix selon une logique préprogrammée.
Traiter les appels : le standard automatique suit un arbre de décision pour arriver étape par étape à un
résultat souhaité. Les traitements plus complexes peuvent faire l’objet de la programmation d’une
intelligence artificielle.
Emettre des appels : L’usage le plus commun est un message audio préenregistré que l’appelé va
écouter.
Les serveurs vocaux interactifs peuvent être intégrés aux centres d’appel pour transférer certains appels vers
certains opérateurs, ou peuvent envoyer des SMS (et réagir aux SMS) ou des emails (réaction aux emails).
L’avantage certain du standard est l’accueil de l’utilisateur pour le rediriger vers tel ou tel service au sein d’une
entreprise. Il permet aussi de faire beaucoup d’économies car il remplace les standardistes. Enfin, si le système
est abouti, le standard est une interface homme-machine très intéressante pour l’entreprise.
NB : Un standard automatique est différent d’un répondeur car il s’agit d’une communication à double sens.
8
III. Projet
3 PC
1 SWITCH 3560 niveau 3
2 Hardphones
2 Softphones
Nous devions installer un serveur Elastix sur l’une des machines, puis créer 4 utilisateurs membres du groupe
opérateur, activer des boîtes aux lettres pour chacun d’eux, leur attribuer des SDA (numéros de téléphone) et
configurer un groupe d’appel.
Pour la partie client, nous avons installé deux softphones sur les deux autres PC puis configuré également deux
téléphones IP Cisco Linksys SPA 942.
9
1. Installation d’Elastix
Nous avons installé le serveur Elastix à l’aide de Virtual Box. Pour que le système fonctionne
correctement, nous avons choisi d’allouer 1024 Mo de mémoire RAM (avec 512Mo, le module de messagerie
instantanée ne voulait pas se lancer).
L’installation est similaire à celles que nous avions pu voir auparavant. L’adresse IP du serveur proxy SIP Elastix
pour notre projet est 192.168.4.200/24.
Une fois l’adresse IP renseignée et l’installation terminée, nous pouvons accéder à l’interface graphique de
configuration d’Elastix en entrant dans la barre d’adresse d’un navigateur l’adresse IP précédemment entrée.
10
2. Configuration des utilisateurs et des boîtes mails
Dans l’onglet « System » et le sous onglet « Users », il est possible de créer de nouveaux
utilisateurs. Cette fonction permet de :
Créer les comptes des utilisateurs. Ces derniers vont pouvoir se connecter à l’interface graphique
d’Elastix. Dans ce cas, il faut bien évidemment veiller au groupe dans lequel on les placera. Un utilisateur
« Operator » aura accès à moins de fonctionnalité qu’un utilisateur « Administrator ».
Lier à l’utilisateur les informations des différentes fonctionnalités offertes par l’IPPBX Elastix.
Dans cette capture d’écran, on remarque les informations générales de l’utilisateur « bob » faisant partie du
groupe « Operator ». On lui assigne l’extension 410 (une fois l’extension créée) et un profil email.
Les extensions SIP sont les liens entre des périphériques finaux tels que les postes IP
(hardphone) ou les logiciels de téléphonie appelés softphones qui utilisent le protocole SIP.
11
Les extensions SIP sont configurables via l’onglet « PBX » et le sous onglet « PBX Configuration ». Lors d’un ajout
d’une extension SIP, les informations indispensables sont :
Le numéro de l’extension (sur la capture le numéro 415) : c’est aussi le numéro que l’on utilisera pour
appeler le périphérique final, il s’agit d’un identifiant pour ce périphérique
Le nom affiché : le nom de l’extension pour pouvoir la différencier des autres, on utilisera le nom de
l’utilisateur à qui on va assigner l’extension
Le secret : il s’agit d’un code que l’on va renseigner dans la configuration des hardphones et softphones
pour que ces derniers puissent s’identifier auprès du serveur Elastix
12
Une fois l’extension créée, il est possible de rajouter une boîte vocale. En renseignant l’adresse email on peut
recevoir sur sa boîte mail le message vocal enregistré sur la boîte vocale.
On peut configurer les comptes emails en créant tout d’abord un domaine puis en
ajoutant des comptes emails pour tous les utilisateurs concernés.
NB : Lors de la création du compte, il est nécessaire de renseigner le quota de données que peut supporter la
boîte mail. Ici, on a configuré le quota à 20Mo.
13
d. Création d’un groupe d’appel
Il est possible de configurer un groupe d’appel au moyen duquel les postes intégrés dans
ce groupe recevront simultanément ou non un appel.
Dans l’onglet « PBX » et le sous onglet « PBX Configuration », pour créer un groupe d’appel il suffit d’aller dans le
menu et sur la page « Ring Groups ».
Les numéros SDA permettent d’atteindre une personne depuis l’extérieur sans passer
par un standard. D’après cette petite définition il n’est donc pas possible de configurer entièrement les numéros
SDA pour notre projet.
Pour configurer les SDA, il est tout d’abord intéressant de savoir que dans la version anglaise du logiciel Elastix, les
SDA sont appelés DID (Direct Inward Dialing).
Pour qu’ils fonctionnent, il faut tout d’abord créer un trunk SIP. Pour rappel, un trunk SIP est un service
fourni par un opérateur de téléphonie sur IP permettant les appels entrants et sortants via le protocole
SIP. Dans l’onglet « PBX » et le sous onglet « PBX Configuration », on trouve la page des trunks. Les
informations à insérer sont celles fournies par l’opérateur.
14
Ensuite, il faut créer une route entrante et renseigner en priorité :
Le nom de la route
Le numéro SDA (DID en anglais)
La destination de la route : on peut choisir une extension
par exemple
NB : On peut aussi faire un test sur le numéro entrant et le rediriger vers une extension.
15
3. Configuration des postes IP et des softphones
Une fois les extensions créées, on peut configurer les périphériques finaux.
a. Les postes IP
Les postes IP utilisés pour ce projet sont des Cisco Linksys SPA 942.
Pour pouvoir configurer ces postes, il faut pouvoir se connecter à l’interface de configuration. Pour pouvoir y
accéder, il est indispensable de configurer une adresse IP sur les téléphones.
Enregistrer les
modifications.
b. Les softphones
Pour le projet, nous avons utilisé le
logiciel de téléphonie par Internet
« Zoiper ».
Pour faire de la VoIP avec Zoiper, il
suffit de configurer un compte qui va se synchroniser avec le serveur Elastix.
16
On peut choisir entre trois types de comptes :
Compte SIP : va utiliser le protocole SIP qui va établir, modifier et terminer les sessions
multimédia, mais aussi va s’occuper de l’authentification et de la localisation des participants
Compte IAX : ce protocole similaire à SIP va pouvoir contrôler et réguler les flux multimédia dont
le débit est plus faible
Compte XMPP : ce type de compte est lié à un service de messagerie instantanée qui sert aussi à
faire de la visioconférence
On a choisi un compte SIP pour qu’il puisse se synchroniser avec les extensions SIP que
nous avons créées précédemment.
La partie la plus importante est lorsque nous renseignons les informations de synchronisation :
L’utilisateur : il s’agit de l’identifiant de l’extension SIP (ici le n°412)
Le mot de passe : c’est le mot de passe « secret »
Le domaine : il s’agit du proxy SIP. Comme nous n’avons pas installé de DNS, nous avons
directement renseigné l’adresse IP du serveur.
Une fois que la synchronisation est réussie, le compte est « Registered ». Il est alors possible d’effectuer
des appels en renseignant leur numéro.
NB : Il y a une fonction de recherche d’utilisateur Zoiper mais elle semble fonctionner si les comptes sont liés au
service Zoiper avec licence.
17
IV. Conclusion
Ce projet a été intéressant pour nous car il nous a permis d’approfondir nos connaissances du monde de
la téléphonie sur IP par le biais du logiciel Open Source Elastix.
Elastix apporte tous les éléments de la communication unifiée en un produit, ce qui permet de réduire
considérablement les coûts et la maintenance.
Elastix propose également une interface graphique complète et la configuration des fonctionnalités est presque
intuitive.
Cependant, les entreprises préfèrent d’avantage les solutions propriétaires car elles disposent d’un support et de
garanties que l’on ne retrouve pas avec les solutions Open Source.
Le projet est une belle expérience qui nous a surtout permis de découvrir et d’asseoir ce que l’on a appris avec
une architecture concrète.
18
V. Sources
1. Recherches
fr.wikipedia.org
The Elastix Openfire Services and Elastix IM : www.databaseskill.com/4757396/
Elastix Addons : addons.elastix.org
Extrait du livre « Elastix Unified Communications Server Cookbook » de Gerardo Barajas Puente sur
Google Livres
Postfix : http://postfix.traduc.org/index.php/OVERVIEW.html
Expérience de déploiements Asterisk dans des entreprises françaises : people.via.ecp.fr/~alexis/asterisk/
Intro à la téléphonie IP Asterisk sous Linux : cril.ch/pub/CRIL/MarcSCHAEFERHomePage/asterisk.pdf
Rapport de stage d’un étudiant : cocktail.org/gedfs/ged/courrier/.../Rapport_de_stage_Asterisk.doc
SIP et trunk SIP : http://siptrunk.fr/
Autre site sur le trunk :
http://www.tux89.com/telephonie/trunk-iax-entre-deux-systemes-asterisk/
http://wapiti.telecomlille1.eu/commun/ens/peda/options/st/rio/pub/exposes/exposesrio2006/Deletre-
Mechin/signalisation.htm#iax
2. Téléchargements
19