BTS Services informatiques aux organisations Session 2015
E4 – Conception et maintenance de solutions informatiques Coefficient 4
DESCRIPTION D’UNE SITUATION PROFESSIONNELLE
Épreuve ponctuelle Contrôle en cours de formation
PARCOURS SISR PARCOURS SLAM
NOM et prénom du candidat : DUBRULLE Jérémy
N° candidat : M326080121
Contexte de la situation professionnelle1 : Mise en place d’une solution de TOIP/VOIP sur deux sites distants interconnectés
Intitulé de la situation professionnelle : Mise en place de la solution de TOIP/VOIP Asterisk avec 2 serveurs et diverses fonctionnalités téléphoniques
Période de réalisation : 2ème semestre année 2014/2015 Lieu : PROMEO, 60000 BEAUVAIS Modalité : Seul En équipe
Principale(s) activité(s) concernée(s)2 : Mise en place de la solution de TOIP/VOIP Asterisk avec 2 serveurs et diverses fonctionnalités téléphoniques
Conditions de réalisation2 (ressources fournies, résultats attendus) : Projet réalisé avec deux serveurs virtuels sur deux ordinateurs, ainsi que deux téléphones IP Cisco toujours à disposition
Productions associées
Modalités d’accès aux productions 3 : Identifiants d’accès aux serveurs : root / 123456 Modalités d’accès à la documentation des productions 4 : Un document papier et un électronique rendus au responsable de section
Au verso de cette page, le candidat présente un descriptif détaillé de la situation professionnelle et des productions réalisées sous forme d’un rapport d’activité permettant notamment de mettre en évidence la démarche suivie et les méthodes retenues.
1 Conformément au référentiel du BTS SIO, le contexte doit être conforme au cahier des charges national en matière d’environnement
technologique dans le domaine de spécialité correspondant au parcours du candidat. 2 En référence à la description des activités des processus prévue dans le référentiel de certification. 3 Conformément au référentiel du BTS SIO « Dans tous les cas, les candidats doivent se munir des outils et ressources techniques nécessaires
au déroulement de l’épreuve. Ils sont seuls responsables de la disponibilité et de la mise en œuvre de ces outils et ressources. Les candidats qui
n’en sont pas munis sont pénalisés dans les limites prévues par la grille d’aide à l’évaluation proposée par la circulaire nationale d’organisation. ».
Il s’agit par exemple des identifiant, mot de passe, URL d’un espace de stockage et de la présentation de l’organisation du stockage.
4 Lien vers le document décrivant la situation professionnelle tant au niveau logiciel (par exemple service fourni par la situation, interfaces
utilisateurs, description des classes, de la base de données…) que matériel (par exemple schéma complet de réseau mis en place et
configurations des services).
DUBRULLE Jérémy Page 2/15
Téléphonie IP avec Asterisk
PPE N°2
DUBRULLE JEREMY
TELEPHONIE IP AVEC ASTERISK
DUBRULLE Jérémy Page 3/15
Téléphonie IP avec Asterisk
h
SOMMAIRE
I) Contexte
1) Projet
2) Topologie globale
II) Plan d’action
1) Installation
2) Configurations de base
a) Fichier sip.conf
b) Fichier extensions.conf
c) Téléphones et softphones
3) Configurations avancées internes
a) Trunk SIP
b) Boîte vocale
c) Parcage d’appel
d) Transfert aveugle
e) Transfert supervisé
4) Configurations avancées externes
III) Conclusion
DUBRULLE Jérémy Page 4/15
Téléphonie IP avec Asterisk
I) Contexte
1) Projet
La société DJ & Cie est une entreprise basée exclusivement sur la ville de
New York. J’y travaille en tant qu’ingénieur systèmes et réseaux et je propose de
mettre en place la solution libre de TOIP/VOIP Asterisk pour remplacer le
système téléphonique classique en place. En effet, la TOIP possède de nombreux
avantages :
-Une facilité de gestion du système TOIP par le biais du serveur.
-La possibilité d’utiliser des softphones (téléphones logiciels) sur les ordinateurs.
-Une économie réalisée sur le câblage : avec la technologie POE (Power Over
Ethernet), seul un câble Ethernet est nécessaire au fonctionnement d’un
téléphone IP.
-Une flexibilité, modularité du système qui permet d’étendre le réseau TOIP très
aisément.
De plus, Asterisk utilise le protocole SIP (Session Initiation Protocol). C'est
un protocole standard ouvert conçu pour établir, modifier et terminer des
sessions multimédia (son, message, vidéo, etc.). Il est actuellement le protocole le
plus utilisé pour la téléphonie par internet ou Voix sur IP (VOIP).
Sur le site, les bureaux sont répartis sur deux bâtiments A et B, sur le même
réseau, qui sont interconnectés par une liaison fibre optique. Aussi voici ce que je
souhaite implémenter avec Asterisk :
-La configuration de deux serveurs de téléphonie Asterisk, un pour chaque
bâtiment, ce qui implique la mise en place d’un trunk SIP. Deux serveurs
permettraient une meilleure gestion de chaque bâtiment, et faciliteraient les
paramétrages.
-Au niveau interne, les fonctionnalités suivantes :
La possibilité pour chaque utilisateur de consulter sa boîte vocale.
Le parcage d’appel.
Le transfert aveugle.
Le transfert supervisé.
-Au niveau externe, la possibilité pour les personnes extérieures à l’entreprise de
communiquer avec les utilisateurs (Il a été impossible de mettre en place la
communication des utilisateurs vers l’extérieur car il aurait fallu créditer le
compte Ippi servant à cela).
DUBRULLE Jérémy Page 5/15
Téléphonie IP avec Asterisk
2) Topologie globale
Serveur AsteriskA Serveur AsteriskB
IP IP
SW1 SW2
Softphone
Utilisateur jey
Ippi.fr
R1
INTERNET
Liaison Fibre optique
Liaison Ethernet
Liaison WAN
Softphone
Utilisateur jeje
Téléphone IP
Utilisateur jeremy
Softphone
Utilisateur dave
Téléphone IP
Utilisateur david
DUBRULLE Jérémy Page 6/15
Téléphonie IP avec Asterisk
II) Plan d’action
1) Installation
Afin de mettre en place Asterisk sur l’ensemble de la société, j’ai choisi de
l’installer sur un serveur Linux avec le système d’exploitation Debian. Asterisk
peut s’installer sur quasiment toutes les plateformes Linux comme CentOS,
Debian, Fedora ou encore Suse. Parmi celles-ci, j’ai choisi Debian car elle est très
réputée pour sa stabilité et je l’ai déjà utilisée dans le cadre d’autres projets.
Ensuite, pour installer Asterisk, trois paquets sont essentiels :
-Libpri, qui est une librairie.
-Dahdi, qui permet à Asterisk de supporter certaines interfaces téléphoniques.
-Asterisk, le paquet principal.
Comme on peut le voir sur le schéma de la topologie que j’ai réalisé, les
serveurs s’appelleront pour le bâtiment A et le bâtiment B respectivement
asteriska et asteriskb (afin d’alléger l’expression, les termes de aa et ab seront
assimilés à asteriska et asteriskb).
2) Configurations de base
a) Fichier sip.conf
Le paramétrage d’Asterisk se fait par la modification de plusieurs fichiers
de configurations. Il y en a deux que l’on peut considérer comme principaux. Le
premier est appelé « sip.conf ». Tout d’abord, je vais créer les utilisateurs des
téléphones dans ce fichier.
Sur l’image ci-dessous, je crée deux utilisateurs (jeremy et jey) sur le
serveur asteriska, un sera utilisé avec un téléphone, l’autre avec un softphone (sur
asteriskb, je crée david et dave, respectivement pour un téléphone et un
softphone).
DUBRULLE Jérémy Page 7/15
Téléphonie IP avec Asterisk
Note : j’ai créé un troisième utilisateur jeje sur asteriska, attribué à un softphone,
qui servira plus tard lors de la configuration de la communication avec l’extérieur.
b) Fichier extensions.conf
Après avoir paramétré le fichier sip.conf, c’est dans l’ordre des choses de
modifier le fichier extensions.conf. Il représente le dialplan, c'est-à-dire que c’est
dans celui-ci que nous allons pouvoir attribuer les numéros et décider quelles
actions seront effectuées (telles qu’un appel, un transfert, ou le fait de
raccrocher).
Pour le moment, j’ai paramétré des actions basiques comme on le voit sur
l’image. L’utilisateur jeremy est joignable au 7001 et après 10 secondes sans
réponse, l’appel est terminé (j’ai réalisé les mêmes paramétrages sur asteriskb
pour david et dave).
-Type : la valeur friend indique que
l’utilisateur peut recevoir et émettre des
appels.
-Host : elle indique à partir de quelle IP
on peut se connecter avec ce compte,
dynamic signifie toute adresse.
-Secret : c’est le mot de passe du
compte.
-Context : il définit le contexte du
compte dans le fichier extensions.conf.
-Allow : cette variable permet
d’indiquer les codecs utilisés (facultatif).
-Mailbox : nous verrons plus tard
l’importance de cette variable pour la
boîte vocale.
Pour indiquer une action, il faut écrire « exten
=> » juste avant. Puis le numéro attribué au
compte, l’ordre de l’action (1 à n) et son type
(Dial pour appeler, Hangup pour raccrocher).
Enfin, entre parenthèse, la syntaxe est
SIP/compte_utilisateur,délai_avant_l’action_n+1
DUBRULLE Jérémy Page 8/15
Téléphonie IP avec Asterisk
c) Téléphones et softphones
Enfin, une fois que les utilisateurs et le dialplan sont créés, il reste à
configurer les périphériques, lesquels sont des téléphones IP et des softphones.
J’ai décidé, pour effectuer les futures opérations, d’utiliser deux comptes
utilisateurs par serveur, un avec un softphone et un avec un téléphone IP. Pour
ajouter un utilisateur sur un softphone, tel que Zoiper dans ce cas, il suffit de créer
un nouveau compte en renseignant l’identifiant, le mot de passe du compte
(indiqué dans extensions.conf) et l’IP du serveur Asterisk. Dans le cas d’un
téléphone IP, tel que le linksys SPA922 dans notre configuration, il faut se rendre
sur l’interface du téléphone, puis indiquer les mêmes informations que pour le
softphone. Les utilisateurs jeremy et david sont attribués à des téléphones alors
que jey et dave à des softphones.
3) Configurations avancées internes
a) Trunk SIP
Désormais, les périphériques étant opérationnels et attribués aux
utilisateurs, j’en viens à la configuration du trunk SIP. Il va permettre aux
utilisateurs des deux serveurs, et donc des deux bâtiments, de communiquer
entre eux par la TOIP. Il est alors nécessaire de modifier les deux fichiers
extensions.conf et sip.conf sur les deux serveurs.
DUBRULLE Jérémy Page 9/15
Téléphonie IP avec Asterisk
Note : le contexte des comptes d’authentification du trunk SIP est trunk. Dans ce
contexte dans extensions.conf, la seule ligne est « include => users ». J’aurais pu
mettre comme contexte users directement mais j’ai préféré séparer ces deux
comptes des autres.
SIP.CONF
asteriska asteriskb
Sur le serveur aa, je crée un utilisateur appelé asteriskb. Ce compte sera utilisé par ab pour
s’authentifier sur aa. De la même manière, je crée un utilisateur asteriska sur ab qui sera
utilisé par aa pour s’authentifier sur ab.
Sur aa, cette ligne située dans l’emplacement [general] authentifie aa sur ab. En effet
asteriska va utiliser le compte asteriska (avec le mot de passe) pour se connecter sur ab.
Dans la même logique, asteriskb utilise le compte asteriskb pour s’authentifier sur aa.
EXTENSIONS.CONF
Ici (sur aa), on va indiquer dans le contexte users que tous les appels de la forme 6XXX vont
utiliser le compte asteriskb, qui a servi à l’authentification. ${EXTEN} correspond au
numéro composé. La ligne sur le serveur ab est la « réciproque » en quelque sorte.
DUBRULLE Jérémy Page 10/15
Téléphonie IP avec Asterisk
b) Boîte vocale
Parmi les fonctionnalités qui sont importantes dans un système
téléphonique d’entreprise, il y a la boîte vocale. Pour la mettre en place, trois
fichiers doivent être modifiés :
-voicemail.conf :
Dans celui-ci, il faut dans un premier temps écrire [VoiceMail], puis dans un
second temps, sous cet élément, mettre le numéro de téléphone de l’utilisateur, le
mot de passe de sa boîte vocale (qui n’a aucun lien avec celui du compte dans
« sip.conf ») et son nom. J’ai configuré cela pour les quatre utilisateurs.
-sip.conf :
Dans ce fichier, je rajoute la ligne mailbox=VoiceMail (en référence à
[VoiceMail] dans voicemail.conf) à tous les utilisateurs de asteriska et asteriskb.
-extensions.conf :
Cette ligne, que je rajoute dans le contexte users, va définir le numéro à appeler
pour consulter sa boîte vocale, et terminer la configuration de celle-ci. Pour
asteriska, c’est le numéro 7500 qui doit être composé, comme on le voit sur
l’image. Pour asteriskb, c’est le 6500.
Note :
DUBRULLE Jérémy Page 11/15
Téléphonie IP avec Asterisk
Pour que les utilisateurs puissent laisser des messages vocaux, il faut rajouter la
ligne encadrée ci-dessus, ainsi après 10 secondes sans réponse, la boîte vocale
va être lancée. J’ai donc rajouté cette ligne à tous les utilisateurs.
c) Parcage d’appel
Une deuxième fonctionnalité très utile est la possibilité de parquer les
appels téléphoniques. Cela signifie plus précisément que quelqu’un peut mettre
en attente son interlocuteur et raccrocher. L’interlocuteur sera placé sur un
numéro de parking, et sera joignable à ce numéro de n’importe quel autre
téléphone du réseau.
Je vais modifier trois fichiers pour mettre cela en place :
-features.conf :
La variable atxfer définit la touche qui initialisera un transfert. J’ai choisi que les
touches seraient « ** », ainsi dès que cette combinaison sera faite, l’interlocuteur
sera mis en attente (pour asteriska et asteriskb).
-res_parking.conf :
parkext indique que le numéro à composer pour parquer un appel est le 50.
Avec parkpos, c’est la valeur et le nombre de numéros de parking que l’on
annonce, j’en ai réservé 5. Cela signifie que quand le 50 sera composé, le 51 sera
attribué, s’il l’est déjà, le 52, etc. Cette configuration est celle d’asteriska. Pour
asteriskb, le parkext est le 60, et les places disponibles de 61 à 65.
Enfin le contexte associé à cela est parkedcalls.
-extensions.conf :
Dans le contexte users, on inclut parkedcalls, par conséquent les deux contextes
sont liés et le parcage s’applique aux utilisateurs de users.
Pour que le parcage soit opérationnel, il faut rajouter à la fin des lignes de
type Dial du fichier extensions.conf, après le délai, la valeur tT. Cette dernière
autorise tout type de transfert lorsqu’elle est inscrite, que ce soit le parcage, le
transfert aveugle ou supervisé que nous verrons juste après.
DUBRULLE Jérémy Page 12/15
Téléphonie IP avec Asterisk
J’ai ajouté tT, et par conséquent activé le parcage ; En l’occurrence lorsqu’un
appel sera passé à jeremy, celui-ci pourra parquer l’appel. J’ai ajouté cela à toutes
les lignes Dial d’utilisateur sur aa et ab.
d) Transfert aveugle
Une troisième fonctionnalité, autant, voire plus utile encore que les
précédentes, est le transfert aveugle. Il consiste en le transfert direct d’un appel :
A appelle B | B transmet à C | C décroche et est en conversation avec A.
Pour le configurer, il suffit de décommenter la ligne suivante :
J’ai choisi la touche # pour le transfert aveugle sur asteriska et asteriskb.
e) Transfert supervisé
La quatrième fonctionnalité est le transfert supervisé, qui est une forme de
transfert aveugle plus poussé. Voici une situation expliquant le principe :
IP
IP
IP
A B
C
A appelle B
B initialise le transfert
vers C (avec **) et
tape le numéro de C
C décroche, il est en
conversation avec B.
A est en attente
B raccroche, A est en
conversation avec C
1
34
2
DUBRULLE Jérémy Page 13/15
Téléphonie IP avec Asterisk
Pour effectuer le transfert, « ** » sera utilisé, comme pour le parcage.
En outre, pour que le transfert soit possible, il faut rajouter tT à certaines lignes du
fichier extensions.conf comme je l’expliquais pour le parcage. Pour le permettre
entre les deux serveurs, j’ai ajouté tT à cette ligne :
4) Configurations avancées externes
Même si la configuration interne d’un système téléphonique est très
importante, il est primordial pour l’entreprise de pouvoir communiquer avec des
numéros extérieurs (et vice versa). Afin de mettre en place cela, j’ai souscrit à
une offre gratuite de l’opérateur SIP Ippi, laquelle fournit un numéro
géographique et permet d’être contacté par n’importe quel numéro. Cependant,
cette offre ne permet pas de contacter des numéros (autre que de type Ippi)
extérieurs à l’entreprise.
Le numéro fourni (0363534767) va donc être celui par lequel la société sera
joignable.
Le paramétrage n’est autre qu’un trunk SIP (spécifique à Ippi), je vais donc
modifier sip.conf et extensions.conf. Pour ce trunk, la configuration n’a été faite
que sur asteriska.
-sip.conf :
Voilà comment je connecte mon serveur aa avec ippi.fr : jerdub est l’identifiant du
compte Ippi auquel le numéro a été attribué, ippi.fr l’hôte de destination,
Jerdav123456 le mot de passe, 5060 le port SIP et pour finir 0363534767 est le
numéro géographique.
Il faut créer un utilisateur, ippi_incoming,
qui va être utile pour s’authentifier avec
Ippi.fr (dont l’IP est 213.215.45.230). Il est
de type peer, c’est-à-dire qu’il permet de
recevoir et transmettre des appels, pas
d’en émettre. Le contexte est from_ippi ;
Les autres paramètres sont conseillés par
Ippi, mais il n’est pas nécessaire d’en
parler.
DUBRULLE Jérémy Page 14/15
Téléphonie IP avec Asterisk
-extensions.conf :
Placé dans le contexte from_ippi (lié à [from_ippi] dans sip.conf), la ligne
encadrée indique que tout appel vers notre numéro (_X. représente tous les
numéros possibles) va être redirigé vers l’utilisateur jeje. La ligne « include =>
users » va ensuite permettre à jeje de communiquer avec tous les autres
utilisateurs internes.
DUBRULLE Jérémy Page 15/15
Téléphonie IP avec Asterisk
III) Conclusion
Je peux dire que cette solution est très efficace, et qu’après l’avoir bien
comprise au bout de quelques semaines, elle devient relativement simple
d’utilisation. De surcroît, les fonctionnalités y sont abondantes alors que la
solution est bien entendue gratuite.
Alors que j’ai choisi comme premier PPE le routage dynamique EIGRP pour
mettre en pratique et approfondir mes connaissances sur le routage, celui-ci a eu
un tout autre intérêt. J’ai voulu travailler sur la TOIP/VOIP car c’est un domaine
qui m’intéressait énormément (de plus avec Linux) et que je ne connaissais pas du
tout. Après avoir réalisé ce projet, je suis très satisfait car d’une part j’ai appris les
bases de la TOIP/VOIP, et d’autre part j’ai étudié en profondeur une solution qui
est Asterisk et qui est je pense l’avenir de la TOIP.