Vous êtes sur la page 1sur 5

TP 3 : RELIER DEUX SERVEURS TRIXBOX

I INTRODUCTION

Chaque site possède son plan de numérotation, dépendant d’un identifiant, de la même manière qu’une
entreprise dispose généralement d’un préfixe.
Pour nous, chaque groupe d’étudiants dispose d’un identifiant nn, correspondant à son IPBX. Si nn=99
par exemple, les numéros sip composés sont par exemple 9901, 9902, 9903, etc...
Un autre groupe utilise le préfixe 10 ; son plan de numérotation adresse donc les numéros SIP 1001,
1002, 1003, etc ...
Dans un premier temps nous mettrons en place un inter-2-sites : 2 groupes d’étudiants travailleront
ensemble. Autrement dit, dans l’exemple précédent, depuis le site 99, on pourra appeler aussi bien le
990X qu’un 100X et vice-versa.
Voici l'avancement de vos travaux :

Et nous voulons obtenir cela :

En plus des matériels à paramétrer, il va falloir définir des "Trunk" sous Trixbox pour permettre aux
deux serveurs Trixbox de communiquer.

1 Marie-pascale Delamare d'après David Duron, le livre gratuit "Trixbox without Tears" et
http://www.switzernet.com/public/080701-stage-student-jobs/docs-examples/070426-
trixbox/#_Toc160943285
Dans ce TP nous mettons en place une liaison « inter-sites ». Le nom donné à cette liaison en
terminologie téléphonique s’appelle un « 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 » entre les systèmes téléphoniques. Certains sont des protocoles propriétaires et d’autres sont
ouverts. Entre autres, au niveau d’Asterisk, les protocoles suivants sont supportés :
ZAP : Protocole pour les interfaces analogiques Digium (FXO & FXS).
IAX2 : (Inter-Asterisk eXchange) Protocole Internet supporté que sur Asterisk.
SIP : (Session Initiation Protocol) Protocole Internet standard ouvert.
ENUM : Protocole de routage Internet utilisant un numéro de téléphone comme clé de recherche afin
de trouver la manière de joindre un contact.
DUNDi : Protocole de routage Internet offrant des services de répertoire similaire à ce qui est offert
par ENUM.
Personnalisé : Permet d’interfacer des protocoles spécifiques.
Nous utiliserons le protocole IAX afin de relier les deux systèmes Asterisk. Ce protocole,
contrairement au protocole SIP, n’utilise qu’un seul port de communication en UDP, soit le port 4569
pour la signalisation et le transport de la voix. Il est à noter que dans IAX2, le 2 représente la
deuxième version du protocole IAX.

II MODIFICATION DE LA CONFIGURATION

II.1 DÉFINIR LE TRUNK DANS PBX SETTINGS

Alors, que faut-il en termes de composant pour relier deux systèmes ensemble. Premièrement, on doit
définir un Trunk sur chacun des systèmes afin qu’ils puissent s’authentifier et échanger.
Deuxièmement, pour la sortie des appels d’un système vers un autre, on doit définir au minimum une
route de sortie afin que les appels puissent passer d’un système à l’autre via le plan d’acheminement
d‘appel et de numérotation.

Pour le trunk, dans la partie peer, on entre ici les paramètres que l'autre système s'attend à recevoir.
Son adresse pour le trouver, son type (ici peer). On donne aussi le "username" et mot de passe (secret)
nécessaire pour s'authentification auprès de lui. Ici nous n'avons pas besoin de préciser les codecs à
utiliser, car les deux serveurs Trixbox sont installés de la même manière.

2 Marie-pascale Delamare d'après David Duron, le livre gratuit "Trixbox without Tears" et
http://www.switzernet.com/public/080701-stage-student-jobs/docs-examples/070426-
trixbox/#_Toc160943285
Dans la partie user, on donne les paramètres qui permettront d'authentifier l'autre système : le user et le
"secret" attendus en entrée et surtout le "dial-plan" à appliquer, c'est à dire la suite des actions à
engager lorsqu'un tel appel se produit.

Dans la partie registration, on rajoute sur le serveur du site 1, l'utilisateur du site2 pour autoriser les
appels entrants.

Une route va permettre de diriger un appel sortant vers une destination particulière, en fonction du
numéro composé ("dial pattern"). Par exemple ici, on crée une route qui redirige l’appel vers le trunk
"site1site2" si le numéro appelé est préfixé d’un 1 suivi de trois chiffres (d'où l'intérêt d'avoir fait
commencer les numéros de chaque site par un préfixe).

A ce stade, le serveur sera capable d’appeler des appareils externes suivant les "trunks définis". On
définit un "trunk" par liaison.

Ces manipulations sont à réaliser sur les deux serveurs Trixbox".

3 Marie-pascale Delamare d'après David Duron, le livre gratuit "Trixbox without Tears" et
http://www.switzernet.com/public/080701-stage-student-jobs/docs-examples/070426-
trixbox/#_Toc160943285
II.2 VÉRIFICATION DE LA MISE EN PLACE DU TRUNK

II.3 OBSERVATION DU CONTENU DU FICHIER "EXTENSIONS-ADDITIONNAL.CONF"

[from-trunk-iax2-site1site2]
include => from-trunk-iax2-site1site2-custom
exten => _.,1,Set(GROUP()=OUT_2)
exten => _.,n,Goto(from-trunk,${EXTEN},1)

[outrt-002-Site1versSite2]
include => outrt-002-Site1versSite2-custom
exten => _1xxx,1,Macro(user-callerid,SKIPTTL,)
exten => _1xxx,n,Set(_NODEST=)
exten => _1xxx,n,Macro(record-enable,${AMPUSER},OUT,)
exten => _1xxx,n,Macro(dialout-trunk,2,${EXTEN},,)
exten => _1xxx,n,Macro(outisbusy,)
; end of [outrt-002-Site1versSite2]

Trixbox fait appel aux définitions déjà présentes dans son fichier de configuration pour gérer ce
nouveau "trunk".

II.4 OBSERVATION DU CONTENU DU FICHIER IAX_ADDITIONNAL.CONF

[site1]
context=from-trunk
secret=1234
username=site2
type=user
fromuser=site2

[site1site2]
host=172.31.0.200
username=site1
secret=1234
type=peer
trunk=yes
qualify=yes

4 Marie-pascale Delamare d'après David Duron, le livre gratuit "Trixbox without Tears" et
http://www.switzernet.com/public/080701-stage-student-jobs/docs-examples/070426-
trixbox/#_Toc160943285
II.5 TESTER QUE LE TRUNK FONCTIONNE

Vérifiez – après redémarrage des services ASTERISK de part et d’autre – que vous pouvez appeler un
téléphone du site XX depuis le site NN. Au besoin, lancez la console (asterisk -rvvvv) pour visualiser
les messages de bon ou mauvais fonctionnement.

III QU'EST-CE QU'UN DIAL PLAN

Dans la configuration d’Asterisk, un dial-plan représente la suite d’actions qui se déroule pendant un
appel. Toute la configuration d’Asterisk passe par ces dial-plans, même si l’interface Trixbox les
cache à l’utilisateur. Pour obtenir des fonctions plus avancées, on doit passer par la création de dial-
plans personnalisés.
Au lieu de simplement faire sonner un appareil, on peut définir des actions particulières (par exemple,
lire un message, demander une entrée à l’utilisateur…).
L'exemple ci-dessous définit un dial-plan personnalisé pour les appels entrants, dans l’onglet "Inbound
Routes" (qui ne concerne que les appels venant de l’extérieur, et pas les connexions SIP à SIP) :

[custom-mes]
exten => _4121550.,1,Answer 1. Décrocher l’appel
exten => _4121550.,2,Wait(1) 2. Attendre une seconde
exten => _4121550.,3,Set(fromext=${EXTEN:4}) 3. Mémoriser le numéro
appelé dans la variable
fromext (moins les 4 premiers
chiffres)
exten => _4121550.,4,SayDigits(${fromext}) 4. Dire le numéro
exten => _4121550.,5,Playback(fpm-world-mix) 5. Jouer une musique
exten => _4121550.,6,Hangup 6. Raccrocher l’appel

Chaque ligne du plan commence par l’extension concernée. Ici on utilise "_4121550.", qui matche
tous les numéros de la forme 4121550*. Le "_" au début de l’extension signifie qu’elle doit être
interprétée comme une expression régulière. Les expressions utilisables sont :

X N’importe quel chiffre de 0 à 9


Z N’importe quel chiffre de 1 à 9
N N’importe quel chiffre de 2 à 9
[1237-9] N’importe lequel des caractères entre crochets (ici 1,2,3,7,8,9)
. N’importe quelle suite (un ou plus) de caractères
! N’importe quelle suite (zéro ou plus) de caractères, mais interprété dès que
l’expression correspond.

On donne ensuite pour chaque commande sa priorité d’exécution, et enfin la commande elle-même.

5 Marie-pascale Delamare d'après David Duron, le livre gratuit "Trixbox without Tears" et
http://www.switzernet.com/public/080701-stage-student-jobs/docs-examples/070426-
trixbox/#_Toc160943285

Vous aimerez peut-être aussi