Asterisk est un serveur de téléphonie open-source permettant de
disposer sur un simple PC de fonctions jusque là réservées aux PABX
professionnel. Nous allons dans ce post installer un serveur Asterisk
sur PC fonctionnant sous Fedora (Core 6). Nous nous limiterons à la
configuration d’un serveur VoIP SIP sans passerelle vers le monde
téléphonique.
Installation d’Asterisk
# tar zxvf asterisk-1.4.2.tar.gz
On lance la compilation avec les commandes suivantes:
# cd asterisk-1.4.2
# ./configure
# make
# make install
# make samples
# make progdocs
PS: si vous souhaitez mettre à jour unes version existante d’Asterisk, il faut utiliser les commandes suivantes:
# cd asterisk-1.4.2
# ./configure
# make update
# make clean
# make upgrade
Une fois l’installation terminée, vous pouvez tester Asterisk:
# /usr/sbin/asterisk -V
Asterisk 1.4.2
L’installation est réussie, on peut passer à la phase de configuration.
Configuration d’Asterisk
Avant de nous attaquer aux fichiers de configuration. Voici la liste des répertoires utilisées par Asterisk:
- /etc/asterisk contient les fichiers de configuration.
- /usr/lib/asterisk/modules contient les modules utilisés par Asterisk (codec, applications tierces…).
- /var/lib/asterisk/agi-bin contient vos scripts.
- /var/lib/asterisk/firmware contient les drivers pour les cartes compatible Asterisk (par exemple Digium).
- /var/lib/asterisk/images contient des images pour les applications les supportant.
- /var/lib/asterisk/keys contient les clès publiques et privées (RSA)
- /var/lib/asterisk/mohmp3 contient les musiques d’attente au format MP3 (CBR uniquement et pas de tag ID3).
- /var/lib/asterisk/sounds contient les annonces vocales
- /var/log/asterisk contient les logs du processus Asterisk
Comme nous allons nous limiter à une configuration purement SIP du serveur Asterisk (sans interface vers le monde téléphonique), la configuration est relativement simple. Il faut commencer par éditer le fichier /etc/asterisk/sip.conf:
[general]
context=default
srvlookup=no
[nicolargo]
type=friend
username=nicolargo
secret=password
quality=yes
nat=no
canreinvite=no
auth=md5
host=dynamic
dtfmode=rfc2833
allow=ulaw
context=internal
Nous venons de créer un utilisateur nicolargo sur le serveur.
Lancement d’Asterisk
Pour lancer la console d’administration Asterisk, il suffit de taper la ligne suivante:
# /usr/sbin/asterisk -c
*CLI>
Nous pouvons alors vérifier que l’utilisateur SIP a bien été créé:
*CLI> > sip show users
Username Secret Accountcode Def.Context ACL NAT
nicolargo password default No RFC3581
Puis voir les détails de la configuration de l’utisateur nicolargo:
*CLI> sip show user nicolargo
* Name : nicolargo
Secret : <Set>
MD5Secret : <Not set>
Context : default
Language :
AMA flags : Unknown
Transfer mode: open
MaxCallBR : 384 kbps
CallingPres : Presentation Allowed, Not Screened
Call limit : 0
Callgroup :
Pickupgroup :
Callerid : "nicolargo" <1208>
ACL : No
Codec Order : (gsm:20,ulaw:20,alaw:20)
Auto-Framing: No
Pour arrêter le serveur, il faut saisir la commande suivante:
*CLI> stop gracefully
Problème
Si vous avez un problème pour vous connecté à votre serveur Asterisk, pensez à regarder du coté des règles de Firewall (iptables). Il faut ajouter la règle suivante:
# iptables -A RH-Firewall-1-INPUT -p udp -m udp --dport 5061 -j ACCEPT






