Vous êtes sur la page 1sur 3

Rseaux et Scurit TP 6

VoIP avec SIP Serveur VoIP: Asterisk


Lobjectif de ce TP est dinstaller et configurer un serveur de VoIP (Asterisk) et plusieurs clients (Twinkle, X-Lite, SJphone, etc.). Ensuite, vous essayer danalyser le fonctionnement du protocole SIP et la scurit du protocole RTP. Vous devrez rendre un rapport complet sur ce TP la fin de la sance (travail en trinme). La topologie du rseau installer est la suivante :

` Ubuntu Twinkle Ubuntu Serveur Asterisk Windows X-Lite

La machine Windows est celle qui hberge la machine virtuelle.

Installation
Pour installer "Asterisk" sous Ubuntu (ou Debian) : $apt-get install asterisk Pour vrifier le bon fonctionnement du serveur "Asterisk", utiliser la commande suivante : $/etc/init.d/asterisk stop $asterisk vvvvc A la fin, une invite de commande doit apparatre dans le terminal : Asterisk Ready *CLI> Entrer la commande help pour afficher laide : *CLI>help Sur une autre machine Ubuntu, installer le softphone Twinkle $apt-get install twinkle Sur la machine windows, tlcharger la version gratuite de X-Lite ou de SJphone : X-Lite : http://www.counterpath.com/x-lite.html SJphone : http://www.sjlabs.com/sjp.html PS : noublier pas dinstaller Wireshark sur toutes les machines que vous utilisez. 1/3

Rseaux et Scurit TP 6

Configuration
Les fichiers de la configuration du serveur sont dans le rpertoire /etc/asterisk. Le fichier sip.conf permet la dclaration des tlphones. Pour dclarer 2 tlphones : Twinkle et XLite, il faut galement ajouter les lignes suivantes la suite la fin du fichier sip.conf: [user1] ; nom du tlphone type=friend ; type de tlphone host=dynamic ; enregistrement dynamique de ; ladresse IP du tlphone username=user1 ; nom d'utilisateur associ secret=user1Password ; mot de passe callerid="user1" <301> ; association user1 et num de tel mailbox=user1@IP_Aster ; Adresse de la bote vocale [user2] type=friend host=dynamic username=user2 secret=passwduser2 callerid="user2" <302> mailbox=user2@IP_Asterisk Pour forcer le serveur "Asterisk" lire le fichier de configuration, utiliser la commande suivante: *CLI>sip reload Le fichier "extensions.conf" permet d'associer chaque numro de tlphone 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 => 301,1,Dial(SIP/user1,10,tr) exten => 301,2,Voicemail(301) ;pour la messagerie vocale exten => 302,1,Dial(SIP/user2,10,tr) exten => 302,1,Voicemail(302) exten => 700,1,VoicemailMain Editer le fichier /etc/asterisk/voicemail.conf, et ajouter les deux lignes suivantes: 301 => 301,user1,user1@localhost,,|attach=no|review=yes 302=> 302,user2,user2@localhost,,|attach=no|review=yes Explication : attach=no : cette option permet de ne pas envoyer le message en pice jointe du mail. review=yes : cette option permet la personne qui laisse un message de relire ou de renregistrer son message. Vous pouvez galement modifier le texte du mail, qui vous avertit de l'arrive d'un message vocale, afin de le mettre en franais. Pour cela modifiez les paramtres emailsubject et emailbody dans le fichier voicemail.conf Ainsi le tlphone de "user1" pourra tre appel en composant le 301, et au bout de 10 secondes, l'appel passe sur la boite vocale. Pour quuser2 puisse consulter sa messagerie, il pourra appeler le numro 700 et il compose son login 302 et mot de passe 302.

2/3

Rseaux et Scurit TP 6 Redmarrer Asterisk Afin que vos modifications sur la configuration dAsterisk soient effectives, il vous faut redmarrer les services dAsterisk que vous avez modifis. 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 redmarrer chaque service qui a subi des modifications : *CLI> sip reload *CLI> module reload app_voicemail.so *CLI> dialplan reload Voil, le serveur Asterisk est maintenant prt enregistrer les deux clients Twinkle et X-Lite qui disposent respectivement des numros de ligne 301 et 302.

Questions
1) Quelle est la commande qui permet dafficher les clients inscrits sous Asterisk ? 2) Utiliser Wireshark sur une des machines cliente pour capturer toutes les conversations du client avec le serveur durant lenregistrement, et durant lappel avec lautre client (softphone). Donnez les noms des messages changs avec le serveur Asterisk lors dune inscription (enregistrement). Est-ce que ces messages sont chiffrs ? pouvezvous dduire le login et le mot de passe partir du Wireshark ? 3) Pouvez-vous retrouver les messages vu dans le cours de VoIP (REGISTER, INVITE, etc.), pour ltablissement dune session ? 4) Quel est le protocole de transport utilis par SIP (TCP ou UDP) ? 5) Quel est le numro de port utilis par le protocole SIP ? 6) Quel est le mcanisme dauthentification utilis (PAP ou CHAP) ? justifier votre rponse. 7) Donner les diagrammes de communications entre le client et le serveur Asterisk (Statistics => Flow Graph) 8) Aprs la fin de lappel, rejouer et rcouter la conversation capture par Wireshark (Telephony => VoIP calls => Player => Decode => Play) 9) Enregistrer la conversion audio (Telephony => RTP=> Show all Streams => Analyse => Save Payload ) sur votre machine pour la rcouter plus tard.

3/3