34 0 287KB
Université de Paris-Est Marne-La-Vallée
H. Badis
TP VOIP VOIP H. Badis L’objectif de ce TP est d’installer un serveur Asterisk et des clients VoIP et de voir le fonctionnement du protocole SIP. Vous devrez rendre un compte rendu de TP qui sera noté. La date limite est 2 semaines après le TP. La topologie de notre réseaux VoIP est la suivante :
I.
Installation et configuration du serveur Asterisk
I.1 Installation de Asterisk La première opération consiste à installer le logiciel Asterisk sur la machine serveur Debian : apt-get install asterisk Pour vérifier le bon fonctionnement du serveur Asterisk, il est maintenant possible de l'exécuter en mode verbeux (option -v) avec une interface ligne de commande associée (option -c) : asterisk -vvvvc Une invite de commande doit apparaître à la fin si tout se déroule correctement :
2010/2011 VoIP
Université de Paris-Est Marne-La-Vallée
H. Badis
Asterisk Ready. *CLI> On peut alors rapidement voir l'ensemble des commandes disponibles via l'interface CLI (Command Line Interface). *CLI>help
I.2 Configuration de Asterisk La configuration du serveur est réalisée à travers plusieurs fichiers textes qui se situent dans le répertoire /etc/asterisk. Parmi eux, le fichier sip.conf permet la déclaration des téléphones. Pour déclarer les deux téléphones logiciels Ekiga, il faut également ajouter les lignes suivantes à la suite (attention, les ligne en rouge sont modéfiables) :
[hakim]
; nom du téléphone
type=friend
; type de téléphone
host=dynamic
; enregistrement dynamique de l’adresse IP du téléphone
username=hakim
; nom d'utilisateur associé
secret=toto
; mot de passe
callerid="hakim"
; association user et num de tel
mailbox=hakim@nomdomaine
;Adresse de la boite vocale et dans notre cas remplacer nomdomaine par l’adresse ip de serveur asterisk
[zak]
; nom du téléphone
type=friend
; type de téléphone
host=dynamic
; enregistrement dynamique de
2010/2011 VoIP
Université de Paris-Est Marne-La-Vallée
H. Badis
l'adresse IP du téléphone username=zak
; nom d'utilisateur associé
secret=toto
; mot de passe
callerid="zak"
; association user et num de tel
mailbox=zak@nomdomaine
; Adresse de la boite vocale
Pour recharger le module SIP afin de relire la configuration modifiée il suffit de taper la Commande *CLI> sip reload Il suffit maintenant d'attribuer un numéro de téléphone à chacun des deux téléphones que nous venons de déclarer. Le fichier extensions.conf permet d'associer à chaque numéro de téléphone une suite de commandes. Pour ce faire, il suffit d'ajouter les deux lignes suivantes à la fin de ce fichier (plus exactement à la fin du contexte [default]) : exten => 555,1,Dial(SIP/hakim,10,tr) ; 555 appel hakim en priorité (1) avec un timeout de dix secondes pour raccrocher exten => 556,1,Dial(SIP/zak,10,tr) téléphone zak
; 556 appelle le
Rechargez de nouveau la configuration comme vous l'avez fait précédemment. Voilà, le serveur Asterisk est maintenant prêt à enregistrer les deux clients Ekiga qui disposent respectivement des numéros de ligne 555 et 556.
II.
Installation et configuration des téléphones logiciels Twikle
II.1 Paramétrage d’ALSA Pour utiliser le téléphone logiciel Twikle, il est préférable de se procurer un micro-casque. Il faut également s'assurer que le son du micro et celui du casque fonctionnent correctement avec le greffon ALSA (Advanced Linux Sound Architecture).
Avant tout, il faut installer le système de base ALSA et ses utilitaires : apt-get install alsa-base apt-get install alsa-utils Il est alors possible de lancer la détection de la carte son et l'installation du driver ALSA 2010/2011 VoIP
Université de Paris-Est Marne-La-Vallée
H. Badis
correspondant, via la commande alsaconf. Puis, de paramétrer convenablement les volumes du casque et du micro via la commande alsamixer.
Le logiciel Alsamixer s'utilise à l'aide : • Des flèches haut/bas pour régler un niveau sonore. • Des flèches gauche/droite pour se déplacer sur les différentes sources. • De la touche [M] pour activer/désactiver une source. • De la touche [ESC] pour quitter. La configuration de alsamixer doit correspondre aux deux figures suivantes
Pour un premier essai, le micro et le casque seront activés (Attention ! « MM » dans Alsamixer signifie Mute donc désactivé) et mis au maximum.
Pour commencer, on peut tester le casque avec un fichier .wav quelconque : aplay fichier.wav Ensuite, lorsque le test du casque est positif, on peut tester le micro : 2010/2011 VoIP
Université de Paris-Est Marne-La-Vallée Vallée
H. Badis
arecord –f cd test.wav aplay test.wav Il faut généralement relancer plusieurs fois Alsamixer pour affiner empiriquement les niveaux sonores du micro et du casque jusqu'à avoir une qualité audio correcte. corre
II.2 Installation et configuration des clients Twikle Maintenant que l'on est assuré du bon fonctionnement du micro-casque, micro casque, on peut installer le téléphone logiciel Twikle sur la première des machines clientes Debian. Pour cela : apt-get install twikle Le reste de la configuration d twikle se fait simplement à travers l'interface graphique. La configuration décrite est réalisée sans l'assistant de première configuration. Lancer maintenant un client Twikle : #twikle Suiver les étapes suivante
2010/2011 VoIP
Université de Paris-Est Marne-La-Vallée Vallée
H. Badis
Etc, …. Si la registration est OK, lLe premier client twikle est configuré correctement, il est possible d'appeler un numéro d'accueil sur le serveur Asterisk en composant le 3. Un message de bienvenue est alors annoncé (« Welcome to the Asterisk Open Source PBX... »). Une fois les deux clients correctement configurés, il est possible d'effectuer un appel interne du premier poste client twikle vers le second et vice-versa. versa. Pour cela, il faut respectivement composer le 556 sur le premier poste ou le l 555 sur le second.
Pour le rapport 1. A quoi sert le secret dans le fichier de configuration sip.conf 2. Quelle est la commande sous Asterisk qui permet d’afficher les clients sip ? commenter le résultat 3. Afficher les canaux sip avant un appel et pendant un appel 4. Quels sont les messages échangés avec le serveur Asterisk lors d’une inscription (registration) 5. Détailler (le contenu) et commenter en utilisant Wireshark les messages de signalisation SIP/SDP SIP ainsi que les messages RTP échangés entres les deux PCs et le serveur Asterisk lors d’un établissement d’une connexion VoIP 2010/2011 VoIP
Université de Paris-Est Marne-La-Vallée
H. Badis
6. Quels sont les messages de signalisation SIP échangés entre les deux PCs et le serveur lors d’une rupture d’une connexion VoIP 7. Quels sont les messages de signalisation SIP échangés lorsqu’un 3eme PC tente d’appeler un PC qui est déjà en communication. 8. Si Hakim veut appeler Zak sans passer par le serveur Asterisk, quelle serait la technique utilisée. Montrer dans ce cas-là les messages échangés en détaillant le contenu
III.
Configuration de la boite vocale et le voicemail
Pour qu'une boite vocale se déclenche lorsque l'utilisateur ne répond pas, éditez le fichier /etc/asterisk/voicemail.conf Puis ajoutez les deux lignes suivantes: 555 => 555,hakim,hakim@localhost,,|attach=no|review=yes 556=> 556,zak,zak@localhost,,|attach=no|review=yes
attach=no : cette option permet de ne pas envoyer le message en pièce jointe du mail. review=yes : cette option permet à la personne qui laisse un message de relire ou de réenregistrer son message. Vous pouvez également modifier le texte du mail, qui vous avertit de l'arrivée d'un message vocale, afin de le mettre en français. Pour cela modifiez les paramètres emailsubject et emailbody dans le fichier voicemail.conf
Modifier le DialPlan Pour ajouter et choisir le numéro qui servira à appeler l'utilisateur dans le DialPlan, ouvrez le fichier /etc/asterisk/extensions.conf Puis ajoutez les lignes suivantes dans le contexte que vous avez défini pour les utilisateurs : exten => 555,2,Voicemail(555) exten => 556,2,Voicemail(556) exten => 700,1,VoicemailMain
; le num de la messagerie principale
Ainsi le téléphone hakim pourra être appelé en composant le 555, au bout de 10 secondes, l'appel passe sur la boite vocale. Pour que zak puisse consulter sa messagerie, il pourra appeler le num 700 et il compose son login à 556 et mot de passe à 556.
2010/2011 VoIP
Université de Paris-Est Marne-La-Vallée
H. Badis
Redemarrer Asterisk Afin que vos modifications sur la configuration d’Asterisk soient effectives, il vous faut redémarrer les services d'Asterisk que vous avez modifiés. Pour cela, dans le terminal de votre serveur, entrez la ligne suivante pour entrer dans la console d'Astersik: asterisk -r Entrez par la suite les lignes suivantes afin de redémarrer chaque service qui a subi des modifications : sip reload module reload app_voicemail.so dialplan reload
Pour le rapport 1. Expliquer les lignes qu’on vient de rajouter dans le fichier /etc/asterisk/extensions.conf 2. Expliquer par un schéma le fonctionnement global de la messagerie qu’on vient de réaliser
2010/2011 VoIP