Vous êtes sur la page 1sur 23

Ecole supérieure Multinationale des Télécommunications

Dakar Sénégal

VoIP et ToIP :

Guide des travaux pratiques

Dr Mamadou Alpha BARRY


Enseignant-Formateur ESMT
www.esmt.sn

www.esmt.sn
Document du participant

VoIP et ToIP : LPTI 3 RT 1


ATELIER N°1 :

Objectif de l’atelier :

L’objectif de cet atelier est d’utiliser d’une distribution de Linux, Ubuntu 18.04.5 LTS
par exemple ou tout autre version LTS. Ensuite, installer Asterisk de manière
automatique.
Après installation de l’asterisk, une configuration sera faite pour les appels locaux en
SIP et IAX.

Le schéma d’installation est représenté à la figure ci-dessous :

PC1: 4XX0

Réseau
internet

switch PC3: 4XX2


wifi

PC2: 4XX1
Serveur Asterisk

Note: XX Constitue les groupes

VoIP et ToIP : LPTI 3 RT 2


Configuration 1 : Installation de la machine virtuelle :
1. Télécharger et installer VirtualBox :
https://download.virtualbox.org/virtualbox/6.1.32/VirtualBox-6.1.32-149290-Win.exe
2. Télécharger Ubuntu 18.04.5 LTS et l’installer
https://old-releases.ubuntu.com/releases/bionic/ubuntu-18.04.5-desktop-amd64.iso
NB : l’installation de Ubuntu peut également se faire sur une machine physique.

Configuration 2 : Installation d’asterisk :

1. Lancer le terminal sous linux


2. Faire les mises à jour des paquets
# apt-get update && apt-get upgrade -y
3. Installer Asterisk de manière automatique
# apt-get install asterisk

Attendre la fin de l’installation.

Configuration 3 : Modification des fichiers d’Asterisk

Nous allons maintenant modifier certains fichiers de configuration d’Asterisk pour


l’adapter à nos besoins.
Racine

etc

asterisk

Zapata.conf
Zaptel.conf Sip.conf
mgcp.conf
var
extensios.conf
voicemail.conf
lib iax.conf

asterisk

sound

.gsm
VoIP et ToIP : LPTI 3 RT 3
NB: N’oubliez pas, qu’après chaque modification de paramètres pour qu’asterisk les
prennent en compte il faut la commande suivante :

# /etc/init.d/asterisk stop
# /etc/init.d/asterisk start
Ou encore dans les versions récentes d’ubuntu
#service asterisk restart
# asterisk -rvvvvv
*CLI>reload

Ou
*CLI>core restart now
# asterisk -rvvvvv

1° sip.conf

Le fichier sip.conf permet la déclaration des téléphones. Ce fichier permet de


configurer tous les clients SIP. Il est segmenté en plusieurs sections, chacune étant
identifiées par un label [entre crochet] : une section [general] et autant d’autres
sections qu’il y a de clients SIP.

La section [général]
Dans cette section on y trouve les paramètres commun à tous les clients SIP : N° de
port utilisé (ici ), codecs autorisés, etc. …

Editer le fichier sip.conf en passant la commande :

# vim /etc/asterisk/sip.conf ou # nano /etc/asterisk/sip.conf

[general]

Bindport=5060 ; port d’écoute du protocole SIP est standard : 5060


bindaddr=0.0.0.0 ; adresse IP à écouter (0.0.0.0 : toutes @IP)
language=fr ; passage de la langue en français

[XXX000] ; numéro de téléphone avec XXX= numéro de groupe (ex 746)


type=friend ; type de téléphone
context=formation ; utilise ce contexte pour tout appel à partir de ce poste
secret= XXX000 ; mot de passe
host=dynamic ; enregistrement dynamique de l’adresse IP du téléphone
username= XXX000 ; nom d'utilisateur associé
disallow=all
allow=ulaw ; autorise l’utilisation du codec G.711 loi µ
allow=alaw ; autorise l’utilisation du codec G.711 loi A
allow=g723.1
allow=g729

VoIP et ToIP : LPTI 3 RT 4


[XXX001]
type=friend
context=formation
secret=XXX001
host=dynamic
username=XXX001
disallow=all
allow=ulaw
allow=alaw
allow=g723.1
allow=g729

[XXX002]
type=friend
context=formation
secret=XXX002
host=dynamic
username=XXX002
disallow=all
allow=ulaw
allow=alaw
allow=g723.1
allow=g729

2° iax.conf

Les clients utilisant le protocole de signalisation IAX sont mentionnés dans le fichier
iax.conf. Son fonctionnement et sa description sont semblables à ceux du fichier
sip.conf.

Editer le fichier iax.conf en passant la commande :

# vim /etc/asterisk/iax.conf

[general]
bindport=4569

[XXX500]
username=XXX500
type=friend
host=dynamic
context=formation
callerid=XXX500

VoIP et ToIP : LPTI 3 RT 5


[XXX501]
username=XXX501
type=friend
host=dynamic
context=formation
callerid=XXX501

3° extensions.conf

Le fichier extensions.conf est le plus gros des fichiers (plusieurs pages !) mais c’est
également l’un des plus importants, il permet principalement le routage (l’aiguillage)
des appels internes et externes (entrants et sortants).

Il contient en fait le plan de numérotage, nommé en anglais le ‘Dialplan’. Celui-ci est


véritablement le ‘cerveau’ de l’IPBX, il consiste en une liste d’instructions qu’Asterisk
devra suivre en fonction des appels émis et reçus.
Pour configurer correctement Asterisk vous devez comprendre le plan de numérotation
(Dialplan), c'est-à-dire le contenu du fichier extensions.conf.

Le fichier "extensions.conf" permet d'associer à chaque numéro de téléphone une


suite de commandes.

Editer le fichier extensions.conf en passant la commande :

# vim /etc/asterisk/ extensions.conf

[general]
Static=yes

[globals]

[formation]
include=>sip ; le contexte formation inclus sip et iax
include=>iax

[sip]
exten=>4XX0,1,Dial(SIP/4XX0,15) ; si l’extension est 4XX0, en priorité (1) alors
compose en SIP le numéro 4XX0 pendant
15 secondes
exten=>4XX0,2,hangup ;si on ne peut pas joindre notre destinataire,
on raccroche : priorité(2)

exten=>4XX1,1,Dial(SIP/4XX1,15)
exten=>4XX1,2,hangup

exten=>4XX2,1,Dial(SIP/4XX2,15)
exten=>4XX2,2,hangup

VoIP et ToIP : LPTI 3 RT 6


[iax]
exten=>4XX8,1,Dial(IAX2/4XX8)
exten=>4XX9,1,Dial(IAX2/4XX9)

Configuration 3 : Configuration des softphones.

Pour la configuration des softphones (X-lite et Zoiper) et IP phones, on leur donne une
adresse IP suivant la figure ci-dessous :

192.168.5.x0
PC1: 4XX0

192.168.5.x2
Réseau switch PC3: 4XX2
internet wifi

Serveur Asterisk 192.168.5.x3


PC2: 4XX1
192.168.5.x1

Note: XX Constitue les groupes

SoftPhone

Configuration de Xlite_Beta 4.0 pour des abonnés SIP uniquement

VoIP et ToIP : LPTI 3 RT 7


Configuration de Zoiper 3.9 pour des abonnés IAX et SIP

VoIP et ToIP : LPTI 3 RT 8


Appels en SIP :

Les deux téléphones SIP arrivent-ils à s’appeler entre eux 4XX0 vers 4XX1 ou
4XX2 ?

Interroger les utilisateurs SIP (ou peers) connectés

*CLI> sip show peers

Appels en IAX

Les deux téléphones IAX arrivent-ils à s’appeler entre eux 4XX8 vers 4XX9 ?

Interroger les utilisateurs IAX (ou peers) connectés

*CLI> iax2 show peers

Appels SIP vers IAX

Le téléphone SIP arrive-il à appeler le téléphone IAX ?

*CLI> show cannels

Commandes principales

VoIP et ToIP : LPTI 3 RT 9


ATELIER N°2 :
Objectif de l’atelier :
L’objectif de cet atelier consiste à mettre en place un serveur tftp sous linux ou sous
Windows et enfin la mise en service des différents IP-Phones (HUAWEI, ALCATEL,
GIGASET, et CISCO)

Configuration des IPphones CISCO :

Configuration 1 : Serveur TFTP

Vous êtes dans l’environnement suivant des téléphones IP CISCO (auto-provisionning)

1. Mise en place du Serveur TFTP

Sous Linux

#apt-get install xinetd tftpd tftp -y


#vim /etc/xinetd.d/tftp

Créer la service tftp

service tftp
{
protocol = udp
port = 69
socket_type = dgram

VoIP et ToIP : LPTI 3 RT 10


wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /var/lib/tftpboot -s
disable = no

}
On a mis dans server_args = /var/lib/tftpboot, donc le répertoire tftpboot se trouve dans :
/var/lib/.

#mkdir /var/lib/tftpboot
#chown -R barry:barry /var/lib/tftpboot
#chmod -R 777 /var/lib/tftpboot

Mettre en service le serveur TFTP:


#service xinetd stop
#service xinetd start

Vérifier que le TFTP marche correctement :


#netstat -na | grep LIST | grep 22
>q

Configuration 2 : Répertoire TFTP

Copier le contenu du répertoire TFTP dans le serveur Asterisk dans le bureau par
exemple.
Ensuite copier le contenu du dossier dans « /tftpboot » :

#cp /serveur/Bureau/TFTP/* /tftpboot

Remarque : serveur représente ici le nom d’utilisateur de la machine « serveur


Asterisk ».

Sur Windows 10

Installer « ftpd32-4.64-setup » :
https://bitbucket.org/phjounin/tftpd64/downloads/Tftpd32-4.64-setup.exe ou « ftpd64-
4.64-setup » : https://bitbucket.org/phjounin/tftpd64/downloads/Tftpd64-4.64-
setup.exe selon votre système d’exploitation et lancer le service.

Créer un dossier nommé tftpboot qui servira de racine pour le serveur tftp par
exemple dans C:\tftpbot et copier dessus le contenu du dossier TFTP(présent dans
votre dossier de documentation).

VoIP et ToIP : LPTI 3 RT 11


Dans l’interface graphique du logiciel tftpd, paramétrer le service comme illustré
dessous.

Utiliser le bouton Browse pour spécifier le dossier racine du serveur et dans Server
interfaces utiliser la flèche déroulante pour spécifier l’interface réseau correspondant.

VoIP et ToIP : LPTI 3 RT 12


Configuration 3 : configuration du fichier SEP@macIPPhone.cnf.xml

#gedit SEP108CCF7452E1.cnf.xml

Les parties en surbrillance doivent subir des modifications.

<!-- FIXME: Change to your own phone number (or another unique ID) -->

<device xsi:type="axl:XIPPhone" ctiid="4085551212">

<deviceProtocol>SIP</deviceProtocol>
…….
<ports>

<ethernetPhonePort>2000</ethernetPhonePort>

<sipPort>5060</sipPort>

<securedSipPort>5061</securedSipPort>

</ports>

<processNodeName>10.0.0.216</processNodeName>
…………..

<featureID>9</featureID>

<!-- FIXME: Text to display next to line button #1 -->

<featureLabel>5001</featureLabel>

<!-- FIXME: FQDN or IP of your SIP proxy -->

<proxy>10.0.0.216</proxy>

<port>5060</port>

<!-- FIXME: SIP username -->

<name>5001</name>

<!-- FIXME: Name to display on outbound caller ID -->

<displayName>5001</displayName>

<autoAnswer>

<autoAnswerEnabled>2</autoAnswerEnabled>

</autoAnswer>

<callWaiting>1</callWaiting>

<!-- FIXME: SIP authorization name (often matches username) -->

<authName>5001</authName>

<!-- FIXME: SIP authorization password -->

<authPassword>5001</authPassword>

<sharedLine>true</sharedLine>

……………………………

VoIP et ToIP : LPTI 3 RT 13


</line>

<line button="2">

<featureID>2</featureID>

<featureLabel>secretaire</featureLabel>

<speedDialNumber>5002</speedDialNumber>

</line>

<!-- FIXME: Add more line buttons or speed dial entries here -->

</sipLines>

<voipControlPort>5060</voipControlPort>

<dscpForAudio>184</dscpForAudio>

<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>

<dialTemplate>dialplan.xml</dialTemplate>

……………………………
</sipProfile>

<encrConfig>false</encrConfig>

</device>

VoIP et ToIP : LPTI 3 RT 14


Configuration des IPphones HUAWEI et ALCATEL :

Pour les deux types de téléphones, saisir l’adresse IP de l’IPphone sur un navigateur
web pour accéder à l’interface graphique.

Pour HUAWEI :

Pour Alcatel :

VoIP et ToIP : LPTI 3 RT 15


ATELIER N°3 (TP 4) :
Objectif :
L’objectif de cet atelier est d’interconnecter des serveurs asterisk avec les protocoles
SIP et IAX2.
Le trunk SIP nécessite un code d’accès un code d’accès tandis que le trunk iax ne
necessite pas de code d’accès.

Serveur Asterisk 01 (ast1) : 44XXX adresse : 192.168.1.4


Serveur Asterisk 02 (ast2) : 55XXX adresse : 192.168.1.104
1. Trunk SIP
Côté serveur 1 :
Fichier sip.conf Fichier extensions.conf

[ast2] [formation]
type=friend ; appels sortants SIP vers Asterisk 2
username=ast2 exten=>_55XXX,1,Dial(SIP/outgoing/${EXTEN:1},30,tr)
secret=passer ; le serveur01 pourra rediriger les appels commençant par 5
context=formation suivis de 5XXX vers le serveur 02.
host=dynamic

[outgoing]
type=peer
username=ast1
secret=passer
host=192.168.1.104
fromuser=ast1
fromdomain=192.168.1.104
canreinvite=no
VoIP et ToIP : LPTI 3 RT 16
Côté serveur 2 :
Fichier sip.conf Fichier extensions.conf
[ast1] [formation]
type=friend ; appels sortants SIP vers Asterisk 1
username=ast1 exten=>_44XXX,1,Dial(SIP/outgoing/${EXTEN:1},30,tr)
secret=passer ; le serveur01 pourra rediriger les appels commençant par 4
context=formation suivis de 4XXX vers le serveur 01.
host=dynamic

[outgoing]
type=peer
username=ast2
secret=passer
host=192.168.1.4
fromuser=ast2
fromdomain=192.168.1.4
canreinvite=no

2. Trunk IAX
Côté serveur 01 :
Fichier iax.conf Fichier extensions.conf
[general] [formation]
; création d'un iax que ast2 va ; appels sortants IAX vers le ast2
utiliser pour le trunk exten=>_5XXX,1,Dial(IAX2/pabx1:passer@192.168.1.104/${E
XTEN},30,tr)
[ast2] ; le serveur 01 pourra rediriger les appels commençant par 5
username=ast2 suivis de XXX vers le serveur 02 (sans code d’accès).
type=friend
host=dynamic
context=formation
secret=passer

VoIP et ToIP : LPTI 3 RT 17


Côté serveur 02 :
Fichier iax.conf Fichier extensions.conf
[general] [formation]
; création d'un iax que ast1 va ; appels sortants IAX vers le ast1
utiliser pour le trunk exten=>_4XXX,1,Dial(IAX2/pabx2:passer@192.168.1.4/${EXT
EN},30,tr)
[ast1] ; le serveur 02 pourra rediriger les appels commençant par 4
username=ast1 suivis de XXX vers le serveur 01 (sans code d’accès).
type=friend
host=dynamic
context=formation
secret=passer

VoIP et ToIP : LPTI 3 RT 18


ATELIER N°4 (TP5) :
Objectif :
Il s’agit ici d’utliser le CallManager UC560 de cisco pour créer un système de
communication unifié. Il faut donc créer des abonnés analogiques et des abonnés
utilisants la VoIP (SIP). Enfin, il faut interconnecter le routeur UC560 avec le serveur
Asterisk.
1. Configuration du routeur
Utilisez telnet pour accéder au routeur

Les paramètres de connexion par défaut sont :


Adresse IP : 192.168.10.1
Login : cisco
Password : cisco
Enable password : cisco

Remarque : ces configurations sont déjà présentes sur le routeur, donc à vérifier uniquement.

1.1 L’interface GigabitEthernet 0/0 :

UC560-ESMT(config)# interface GigabitEthernet0/0


UC560-ESMT(config-if)# ip address 192.168.10.1 255.255.255.0

1.2 Les Serveurs DHCP :

VoIP et ToIP : LPTI 3 RT 19


UC560-ESMT(config)# ip dhcp excluded-address 10.1.1.1 10.1.1.10
UC560-ESMT(config)# ip dhcp excluded-address 192.168.10.1 192.168.10.10
UC560-ESMT(config)# ip dhcp pool phone
UC560-ESMT(dhcp-config)# network 10.1.1.0 255.255.255.0
UC560-ESMT(dhcp-config)# default-router 10.1.1.1
UC560-ESMT(dhcp-config)# option 150 ip 10.1.1.1
UC560-ESMT(dhcp-config)# ip dhcp pool data
UC560-ESMT(dhcp-config)# import all
UC560-ESMT(dhcp-config)# network 192.168.10.0 255.255.255.0
UC560-ESMT(dhcp-config)# default-router 192.168.10.1
UC560-ESMT(dhcp-config)# option 150 ip 192.168.10.1

1.3 Configuration des codecs :


UC560-ESMT(config)# voice class codec 1
codec preference 1 g711ulaw
codec preference 2 g729r8
!
UC560-ESMT(config)# voice class codec 2
codec preference 1 g711ulaw
codec preference 2 g711alaw
codec preference 3 g729br8
!

UC560-ESMT(config)#Telephony-service
UC560-ESMT(config- Telephony-service)# max-ephones 138
UC560-ESMT(config- Telephony-service)# max-dn 600
UC560-ESMT(config-Telephony-service)# ip source-address 192.168.10.1 port 2000

1.4 Activation du service téléphonie :

VoIP et ToIP : LPTI 3 RT 20


1.5 Configuration du routeur comme un serveur SIP

Configurer le serveur SIP en saisissant les commandes suivantes :


sip-ua
registrar ipv4:192.168.100.1 expires 3600
sip-server ipv4:192.168.100.1
exit
Ensuite ;

UC560-ESMT(config)# voice service voip


allow-connection sip to sip
sip
registrar server expires max 3600 min 500

1.6 Définition des paramètres du global Voice register

UC560-ESMT(config)# voice register global


mode cme
source-address 192.168.10.1 port 5060
max-dn 10
max-pool 10
authenticate realm 192.168.10.1

2. Configuration des postes analogiques


En exemple, pour deux postes connectés respectivement aux ports FXS 0/0/0 et
0/0/1 du routeur.

❖ Poste 1
UC560-ESMT# dial-peer voice 1 pots
destination-pattern 101
port 0/0/0
❖ Poste 2
UC560-ESMT# dial-peer voice 2 pots
destination-pattern 102
port 0/0/1

3. Configuration des postes CISCO en SIP

VoIP et ToIP : LPTI 3 RT 21


3.1 Création des numéros de téléphones :

UC560-ESMT(config)# voice register dn 1


number 2001
name Alice
UC560-ESMT(config)# voice register dn 2
number 2002
name Bob

3.2 Attribution des numéros aux téléphones :

UC560-ESMT(config)# voice register pool 1


id mac 0000.0000.1000
number 1 dn 1
username 2001 password 2001
codec g711ulaw
UC560-ESMT(config)# voice register pool 2
id mac 0000.0000.2000
number 1 dn 2
username 2002 password 2002
codec g711ulaw

3.3 Créer le fichier SEPXXXXXXXXXXXX.cnf.xml de chaque téléphone


Dans un PC, créer le fichier et le placer dans le répertoire racine de votre serveur
tftp. XXXXXXXXXXXX représente l’adresse MAC du téléphone.
Pour les téléphones de type 7945, en utilisant le Template SEP108CCCCC.cnf.xml, il
faut le renommer avec la bonne adresse MAC et modifier les lignes suivantes :
- (31) : mettre l’adresse IP du Routeur : 192.168.10.1
- (100) : Nom à afficher à côté du bouton exemple : Alice
- (102) : mettre l’adresse IP du Routeur : 192.168.10.1
- (105) : le numéro de l’abonné : 2001
- (107) : le numéro de l’abonné : 2001
- (113) : le numéro de l’abonné : 2001
- (115) : le numéro de l’abonné : 2001
- (132) : Nom à afficher à côté du bouton Numérotation rapide exemple : Bob
- (133) : le numéro de Bob : 2002.

VoIP et ToIP : LPTI 3 RT 22


Enfin, sur le téléphone, donner la bonne adresse du serveur tftp « 192.168.10.X» et
redémarrer le téléphone.

VoIP et ToIP : LPTI 3 RT 23

Vous aimerez peut-être aussi