Question versions des paquets, voici ce que j’ai utilisé :
J’ai installé la version du paquet d’Asterisk existant dans la version 6.0 de Debian Squeeze :
# aptitude versions asterisk
p 1:1.6.2.9-2 <NULL> 500
Bien sur, une version plus récente est disponible ici mais mon but n’est pas de montrer comment l’installer mais plutôt comment le configurer avec les différents possibilités de gérer les comptes utilisateurs.
Pour la réalisation, j’ai utilisé un serveur et 2 clients tous les 3 sous Squeeze. Sur les clients on peut évidemment utiliser un autre SE autre que Debian mais puisqu’on a déjà Ekiga installé par défaut pourquoi chercher autre chose ???
Pour l’adressage des postes :
Serveur:192.168.0.250
Client1:192.168.0.1
Client2:192.168.0.2
On va tout de suite commencer la première partie. C’est très simple, vous allez voir :
Sur le serveur :
On installe d’abord les paquets nécessaires :
# aptitude install asterisk
Il faut ensuite modifier le fichier /etc/asterisk/sip.conf :
# vim /etc/asterisk/sip.conf
Pour le moment, il ne faut toucher qu’aux lignes suivantes :
Commenter la ligne : udpbindaddr=0.0.0.0
Modifier les lignes :
tcpenable=yes
tcpbindaddr=192.168.0.250:5060
A la fin du fichier, ajouter les lignes :
[user1]
type=friend
host=192.168.0.1 (mettre dynamic pour dhcp)
user=user1
secret=user1 (mot_de_passe_en_clair)
context=user1
[user2]
type=friend
host=192.168.0.2 (mettre dynamic pour dhcp)
user=user2
secret=user2 (mot_de_passe_en_clair)
context=user2
Ici j’ai mis un mot de passe qui apparait en clair dans mais on peut utiliser un mot de passe haché md5. Pour le générer, il suffit de lancer la commande :
# echo –n "<user>:asterisk:<secret>" | md5sum
Par exemple :
# echo -n "user1:asterisk:user1" | md5sum
aaf4b2aa7dcc971d16c554705cb2881f -
# echo -n "user2:asterisk:user2" | md5sum
c664a55b5d6ff1268740d85ea8d83aa6 -
Il faut simplement remplacer le mot de passe en claire par son équivalent haché en md5.
Il faut ensuite éditer le fichier /etc/asterisk/extensions.conf
# vim etc/asterisk/extensions.conf
Ajouter les lignes :
[user1]
exten => 101,1,Dial(SIP/user1)
[user2]
exten => 102,1,Dial(SIP/user2)
Ici on attribut le numéro 101 (resp. 102) à user1 (resp. user2)
Le 1 suivant est un numéro de séquence.
Dial() est ici une fonction avec comme argument l’utilisateur à contacter.
En tout, cette ligne signifie :
Lorsque le numéro 101 est composé, il faut directement (il n’y a que la séquence 1) appeler [Dial(SIP/user1)] l’utilisateur correspondant au compte SIP user1.
Ceci n’est qu’un exemple mais il y a beaucoup de chose qu’on peut faire avec ces extensions.
Il faut maintenant qu’Asterisk recharge ses fichiers pour que les modifications soient prises en compte :
# asterisk –rvvvvdddd
Serveur *CLI> reload
Serveur *CLI> dialplan reload
Serveur *CLI> quit
Executing last minute cleanups
Asterisk ending (0).