Garnier Vianney
Carreno Julien
Page 2
Garnier Vianney Projet n°24 RTM1
Carreno Julien
Sommaire
1 Présentation du sujet.......................................................................................................................4
2 Etude du projet..............................................................................................................................5
3 Architecture matérielle et logiciel nécessaires...........................................................................6
3.1 Le serveur................................................................................................................................6
3.1.1 La configuration IP..........................................................................................................6
3.1.2 Mise en place du serveur Apache, de MYSQL et de php5.........................................6
3.1.3 Mise en place de SSH......................................................................................................6
3.1.4 Installation de libssh2 pour php5..................................................................................7
3.1.5 Mise en place du proxy SIP............................................................................................7
3.2 Le routeur................................................................................................................................8
3.2.1 La configuration IP..........................................................................................................8
3.2.2 Mise en œuvre du serveur DHCP.................................................................................8
3.2.1 Mise en œuvre du routage.............................................................................................9
3.2.2 PABX, priorité d’appel et carte TDM............................................................................9
3.2.3 La carte TDM.................................................................................................................12
3.3 Le client.................................................................................................................................13
3.3.1 Configuration IP............................................................................................................13
3.3.2 Mise en place d’un softphone......................................................................................13
3.4 Téléphone IP.........................................................................................................................13
3.4.1 Configuration du téléphone.........................................................................................13
4 Interface WEB de configuration des services...........................................................................14
4.1 Identification des clients.........................................................................................................14
4.2 Configuration du DHCP...........................................................................................................14
4.3 Configuration du NAT.............................................................................................................15
4.4 Configuration des Priorités d’appel.........................................................................................16
5 Difficultés rencontrées................................................................................................................16
6 Organisation du travail..............................................................................................................17
7 Conclusion...................................................................................................................................18
Page 3
Garnier Vianney Projet n°24 RTM1
Carreno Julien
1 Présentation du sujet
Ici nous avons seulement installé des postes et configurer notre réseau comme affiché
ci-dessus.
Ensuite, sur cette architecture, l’enjeu était d’installer des services nécessaires à un
client, comme de l’adressage automatique ou statique, du routage pour aller sur
internet à travers son routeur, de la redirection de port, du filtrage et de la téléphonie
sur IP. Tout ceci configurable à l’aide d’une interface web simple et accessible depuis
Internet.
Depuis cette interface on doit avoir accès à la configuration des services proposés
mais aussi et surtout à la gestion des priorités d’appel pour la voix sur IP. C'est-à-dire
que le client peut choisir si, quand on l’appel, le téléphone sonne d’abord chez lui sur
son téléphone RTC, d’abord sur son téléphone IP, ou bien d’abord sur son softphone
si il est connecté.
Cet objectif nécessitait donc un certain nombre de matériels comme un téléphone SIP,
un téléphone RTC et une carte TDM pour le branchement du réseau RTC mais aussi
beaucoup de recherche, d’installation et de configuration. Nous avons donc du faire
au préalable une étude sur le fonctionnement des systèmes de voix sur IP, sur les
logiciels nécessaires et sur quelle machine on devait les installer.
Page 4
Garnier Vianney Projet n°24 RTM1
Carreno Julien
2 Etude du projet
Lors de notre étude, nous avons compris où et comment placer les services
nécessaires à faire de la téléphonie sur IP. Premièrement les services dont nous avons
besoin sont :
Un proxy SIP pour enregistrer et localiser les clients qui ont un compte SIP qui
sera installé sur le serveur car il doit être accessible par n’importe quel client.
Un PABX pour transférer les appels RTC vers SIP ou l’inverse et gérer les
priorités qui sera, lui, installé sur le routeur du client car les priorités qui sont
propres à chaque client.
Un softphone pour appeler depuis un ordinateur
Un téléphone RTC
Une carte TDM qui relie le téléphone normal et la ligne téléphonique RTC
Un téléphone IP
Un client/serveur ssh pour envoyer des requêtes afin de les services
Un serveur web sur le serveur pour héberger le site web
Les autres services tels que l’adressage ou le routage seront installé sur le routeur du
client.
Page 5
Garnier Vianney Projet n°24 RTM1
Carreno Julien
3.1 Le serveur
3.1.1 La configuration IP
Le serveur est configuré avec une IP différente de celle du client pour simuler le
réseau Internet. Nous avons choisit d’utiliser le réseau 10.101.0.0/16, l’adresse du
serveur est donc 10.101.0.119/16.
Ensuite il faut installer les librairies nécessaires à apache pour pouvoir utiliser php5
et pour que php5 puisse utiliser mysql :
apt-get install libapache2-mod-php5 php5-mysql
On peut maintenant programmer notre site WEB qui doit se trouver dans
/var/www/
Ssh nous permet aussi de pouvoir travailler sur les machines en salle elec de chez
nous. Pour cela nous avons fais du tunelling ssh.
Page 6
Garnier Vianney Projet n°24 RTM1
Carreno Julien
Pour pouvoir accéder en local à l’interface WEB qui est sur notre serveur en salle elec
en locale : ssh -N -f uapv61111@in-etd.univ-avignon.fr -L8081:10.101.0.119:8081 sleep
60
Pour pouvoir utiliser php pour modifier les fichier de configuration du routeur ous
avons donc installé la librairie libssh2 pour php5 qui contient des fonctions
nécessaires à notre projet.
Le rôle du proxy SIP est important, c’est lui qui va faire le lien entre deux utilisateurs
ayant un compte SIP où qu’ils soient. C’est pour cela qu’il nous à fallu choisir un
logiciel performant et pouvant être couplé avec un PABX pour le transfert d’appel.
Nous avons donc choisi OpenSER, un logiciel puissant, entièrement configurable et
souvent mis à jour.
Notre configuration (en annexe) permet de rediriger tous les appels vers astérisk
placé sur le routeur du client. Cela permet de pouvoir gérer les appels différemment
pour chaque client.
Page 7
Garnier Vianney Projet n°24 RTM1
Carreno Julien
La configuration quand à elle est plus complexe, il faut dans un premier temps se
rendre dans le répertoire de configuration. Les principaux fichiers à modifier sont
« openser.cfg » et « openserctlrc ».
3.2 Le routeur
3.2.1 La configuration IP
Le routeur a deux cartes réseau et fait donc parti de deux réseaux car c’est lui qui va
faire le lien entre le client et le serveur qui est sur Internet. Par conséquent l’interface
1 est dans le réseau Internet : 10.101.0.0/16 et son interface 2 sur le réseau privé :
192.168.0.0/24 avec comme adresse respectivement 10.101.31.109 et 192.168.0.1.
3.2.2.1 Installation
3.2.2.2 Configuration
Page 8
Garnier Vianney Projet n°24 RTM1
Carreno Julien
# configuration du sous-réseau
subnet 192.168.0.0 netmask 255.255.255.0
{
range 192.168.0.2 192.168.0.10;
option domain-name-servers ns1.internal.example.org;
option domain-name "internal.example.org";
option routers 192.168.0.1 ;
option broadcast-address 192.168.0.255;
default-lease-time 600;
max-lease-time 7200;
}
Pour le routeur nous avons besoin des règles de routage afin que le client puisse
communiquer avec l’extérieur pour aller sur le réseau Internet et pouvoir
s’enregistrer avec son softphone sur le serveur.
Rappelons tout d’abord que le PABX sert à la redirection d’appels. Par exemple, si un
appel arrive chez vous et que vous avez un téléphone RTC mais aussi un téléphone
IP et un compte SIP c’est le PABX qui se chargera de rediriger l’appel entre ces
différents appareils. Il se charge également de la boite vocale et de l’enregistrement
de vos messages.
Le logiciel retenu pour administrer ce serveur est « Asterisk », cet outil, à la fois, très
puissant, gratuit, libre et fiable permet de connecter beaucoup de postes, ainsi que
l'emploi de fonctions très avancées et complexes, sans pour autant demander des
ressources considérables au serveur.
De plus, asterisk est un commutateur téléphonique privé à part entière mais
d’implémentation logicielle, compatible Linux, qui s'interconnecte avec quasiment
Page 9
Garnier Vianney Projet n°24 RTM1
Carreno Julien
tous les équipements de téléphonie de base standard et peu coûteux. C'est un logiciel
"Open Source", qui a été développé par Mark Spencer à l'origine, de l'entreprise
Digium, (anciennement Linux Support Services Inc.) et qui continue, grâce à de
nombreux contributeurs, à évoluer régulièrement . Ce logiciel a été conçu pour une
flexibilité maximale et reste un système ouvert à de nouvelles applications, et c’est
pour toutes ces raisons que nous l’avons choisi.
3.2.2.2 Installation
Avant d’installer Asterisk sur une notre serveur avec un kernel 2.6, quelques
packages sont requis pour une bonne compilation des sources : bison, ncurses-dev,
libssl-dev, libnewt-dev, zlib1g-dev, initrd-tools, cvs, et enfin procps.
Une fois les packages installés, on peut télécharger les programmes dont nous avons
besoin pour insaller notre PABX et notre carte TDM, (la librairie libpri, les pilotes
zaptel pour la carte TDM et le logiciel PABX Asterisk). La carte TDM et Asterisk ont
des fichiers en commun c’est pourquoi on doit installer ces deux programmes
ensemble.
#cd /usr/local/src/asterisk
#wget http://ftp.digium.com/pub/libpri/libpri-1.4-current.tar.gz
#wget http://ftp.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz
#wget http://ftp.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz
Page 10
Garnier Vianney Projet n°24 RTM1
Carreno Julien
En second zaptel :
#cd /usr/src/asterisk/zaptel/menuselect
#./configure
#make
#cd /usr/src/asterisk/zaptel
#./configure
#make linux26
#make install
Et en troisième Asterisk
#cd /usr/src/asterisk/asterisk
Mais avant de compiler Asterisk, vous devez installer le package mpg123 (permet de
lire les fichiers mp3 pour les mélodies d’attente).
#make mpg123
compilation d’asterisk :
#./configure
#make
#make install
#make samples (cette commande crée des fichiers de configuration par défaut)
Page 11
Garnier Vianney Projet n°24 RTM1
Carreno Julien
En général le routeur où est stocké astérisk ne contient pas une capacité de stockage
énorme, c’est pourquoi les messages seront stockés sur le serveur.
Avant de continuer il faut installer la carte TDM dans la machine pour pouvoir la
configurer. Cette carte sert à relier les lignes téléphoniques au serveur, elle est
équipée de deux modules FXO et d’un module FXS.
Page 12
Garnier Vianney Projet n°24 RTM1
Carreno Julien
Les modules FXO (Foreign Exchange Office) sont des modules rouges qui servent à
connecter des lignes téléphoniques externes, ils reçoivent donc le signal.
Les modules FXS (Foreign Exchange Station) sont des modules verts qui sont
destinés à envoyer le signal aux appareils de téléphone.
3.3 Le client
3.3.1 Configuration IP
Le client se situe derrière le routeur, il n’est donc pas directement sur Internet et a
une adresse privée. Il est sur le même réseau que la deuxième interface du routeur, à
savoir le réseau 192.168.0.0/24 avec une adresse qui est attribuée en DHCP par le
serveur DHCP qui tourne sur le routeur. Son adresse dépendra donc des paramètres
du serveur DHCP (ip fixe, plages d’adresses, DHCP static ou dynamic) que mettra le
client avec l’interface web.
Les règles de routage sur le routeur permettent au client d’effectuer des appels vers
l’extérieur et de pouvoir accéder à l’interface web pour modifier les paramètres de
ses services.
Pour le softphone du client nous avons choisi X-lite qui est un soft phone très connu
et très utilisé. De plus il est téléchargeable gratuitement sur ce site :
http://www.xten.com/
Après installation, très simpliste, de ce soft phone la fenêtre « SIP accounts » s’ouvre
vous invitant à ajouter un nouvel utilisateur pour se connecter au serveur. On entre
donc ici les paramètres de l’utilisateur que nous avons créé préalablement sur le
proxy SIP du serveur :
- User name le nom du téléphone qui s’affichera lors de l’appel
- authorization user name qui servira comme login pour l’authentification sur le
proxy SIP OpenSER
- password qui sert également pour l’authentification
- domain (adresse ip du serveur, ici 10.101.0.119) qui est l’adresse du proxy SIP
Puis, une fois connecté l’utilisateur peut passer des appels SIP.
Page 13
Garnier Vianney Projet n°24 RTM1
Carreno Julien
3.4 Téléphone IP
3.4.1 Configuration du téléphone
Chaque client de notre système est identifié grâce à un login et un mot de passe. Ces
données permettent la connexion à l’interface WEB et d’obtenir l’adresse IP du
routeur du client à configurer.
Une fois les informations entrées, on vérifie dans la BDD qui ceux-ci correspondent et
l’adresse IP est affectée à une variable de session. Cela permettra des connections
pendant toutes la session.
Page 14
Garnier Vianney Projet n°24 RTM1
Carreno Julien
Grâce à l’interface WEB, on peut configurer le DHCP sur le routeur. Le client peut
modifier le réseau, la plage d’adresse et les adresses fixes pour DHCP.
En fait, via ssh on copie le fichier dhcpd.conf du routeur sur le serveur, on récupère
les informations contenues dans ce fichier et on les affiche dans le formulaire.
Ici l’adresse MAC 00:06:5b:72:ad:af a déjà une adresse IP fixe que l’on peut modifier
tandis que 00:0a:f4:ad:73:d9 n’a pas d’adresse IP fixe.
Une fois le formulaire rempli et validé, on construit le fichier dhcpd.conf que l’on
renvoit au routeur puis on redemarre le service DHCP:
ssh2_scp_send($connection,’./tmp/dhcpd.conf’,’/etc/dhcp3/dhcp3.conf’)
ssh2_exec($connection,’/etc/init.d/dhcp3-server restart’) ;
Page 15
Garnier Vianney Projet n°24 RTM1
Carreno Julien
Pareil que pour le DHCP, nous récupérons le fichier iptables pour afficher les règles
déjà existantes que nous pouvons supprimer. Le formulaire permet d’ajouter des
règles dans le fichier :
À travers cette interface, le client peut gérer les priorités d’appel ; quand celui-ci
reçoit un appel, sur quelle interface l’appelant va tomber. Il a le choix entre le
téléphone fixe (celui qui est raccordé au routeur du client via la carte TDM), un
softphone (connecté au proxy sip n’importe ou sur internet) et le répondeur.
En fait le client choisit un ordre dans lequel celui qui l’appelle va tomber ; tous cela
avec un intervalle de 10 secondes entre chaque interface. Par exemple on appelle le
client et ca va sonner 10 secondes sur le softphone, puis 10 secondes sur le téléphone
fixe et enfin sur le répondeur si tel sont les priorités configurées par le client sur
l’interface WEB.
Page 16
Garnier Vianney Projet n°24 RTM1
Carreno Julien
5 Difficultés rencontrées
Les difficultés que nous avons rencontrées ont été nombreuses, tant au niveau
logiciel pour la configuration des différents services qu’au niveau matériel.
Pour ce qui est des problèmes logiciels les documentations fournie qui étaient censé
nous aider à configurer les logiciels n’ont pas joué leur rôle et nous avons du tout
reprendre à zéro que ce soit l’étude du fonctionnement ou la configuration des
fichiers pour tous les services (Asterisk, OpenSER et l’accès ssh sans mot de passe).
Pour ce qui est du matériel le téléphone IP qui nous a été fourni était protégé par un
mot de passe inconnu que nous avons du recherché par divers méthodes (mot de
passe normalement par défaut, méthode de réinitialisation du téléphone sur le site
du constructeur Cisco mais aucune n’a fonctionné) ce qui nous a pris beaucoup de
temps et que nous avons fini par trouvé par un coup de chance. Pour continuer avec
le matériel, les machines pour le projet sont extrêmement lentes et les compilations
qui auraient du prendre une à deux minutes ont pris plus de quinze minutes.
Nous voudrions aussi rappeler que nous n’avons eu qu’un semestre pour réaliser ce
projet et que nous avons dû fournir deux fois plus de travail dans un temps limité
entre les révisions, les cours et les TPs.
6 Organisation du travail
Page 17
Garnier Vianney Projet n°24 RTM1
Carreno Julien
7 Conclusion
En conclusion nous pouvons dire que ce projet nous a beaucoup apporté tant au
niveau de la compréhension de tous les protocoles et des mécanismes de la VoIP que
sur l’organisation et la finalité d’un projet.
Ce projet nous a permis d’étudier et de mettre en place des systèmes de voix sur IP
qui sont en pleine croissance dans le monde professionnel ce qui sera un avantage
non négligeable lors de notre entrée dans le monde du travail. Nous avons aussi mis
à l’épreuve notre organisation et notre esprit d’équipe ainsi que nos connaissances
dans les systèmes linux.
Enfin, l’avantage d’un tel projet est d’arriver à faire correspondre plusieurs logiciels
et services pour résulter sur un projet innovant et qui nous a fait découvrir l’avenir
de l’informatique, des réseaux et des télécommunications.
Page 18