Installation d’Asterisk sur Fedora
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.
Attention: si vous voulez utiliser une carte téléphonique de tpy eDigium dans votre serveur, il faudra l’installer AVANT d’installer Asterisk.
Installation d’Asterisk
Nous allons compiler la dernière version d’Asterisk (1.4.2) au moment de l’écriture de ce post à partir des sources (téléchargeable ici).Une fois le fichier téléchargé, il faut commencer par le décompresser:
# 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
-> Seulement nécessaire pour un installation initiale. Écrase les fichiers de configuration actuels.
# 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 -VAsterisk 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 Account
code 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 : nicolargoSecret : <Set>MD5Secret : <Not set>Context : defaultLanguage :AMA flags : UnknownTransfer mode: openMaxCallBR : 384 kbpsCallingPres : Presentation Allowed, Not ScreenedCall limit : 0Callgroupickupgroup :Callerid : “nicolargo” <1208>ACL : NoCodec Order : (gsm:20,ulaw:20,alaw:20)Auto-Framing: No
Pour arrêter le serveur, il faut saisir la commande suivante:
*CLI> stop gracefully
Test du serveur à partir d’un client SIP
Pour mes tests j’ai utilisé X-Lite (disponible sous Linux, Mac et Windows), qui a le bon goût d’être gratuit et parfaitement compatible avec la norme SIP.La configuration doit être la suivante:

L’enregistrement sur le serveur Asterisk (192.168.29.246 dans mon cas) se passe alors sans 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
A partir de maintenant (et en définissant d’autres utilisateurs), vous devez être capable d’effectuer des appels SIP à l’intérieur de votre réseau.Voila donc une première étape de faite. Dans un prochain post nous verrons comment interfacer notre nouveau serveur vers un serveur père (par exemple chez votre fournisseur d’accès Internet)…
Pour ceux que cela intéresse, cet article raconte le retour d’expérience de l’installation d’une serveur Asterisk en entreprise.






Twitter:
Rss:
70 commentaires
salut !!! x trixbox, SIP Express Router, FreeSWITCH ne sont pas des serveurs IPBX comme asterisk allez voir http://www.freeswitch.org/ !!
moi je cherche a faire la comparaison entre Asterisk et d’autres IPBX kil soient propritaires ou Opensources !!! merci de bien vouloir m’orienter avec tout type de liens et de documentations!!!
slt a tous,
j’utilise asterisk pour la 1ere fois et je veux savvoir les étapes de configuration pour réaliser une communication entre 2 Pc avec X-lite,merci
nadjuv@gmail.com
bonjour a tous ,
je viens de terminer l’installation d’asterisk et je viens de configurer les fichiers sip.conf et extensions.conf mais apres configuration de mon x-lite , le softphone ,n’arrive pas a s’authentifier et m’affiche le message suivant :
awaiting proxy login information
logging in ….
login timed out! Contact Network
if u have any idea please help me
thx
je suis installer asterisk sous fedora et mon probleme comment configurer les fichiers sip.conf et extentions.conf
pour connecter avec xlite sous windows
bonjour,
merci bcp à toi qui a penser à mettre en ligne ce blog pour partager ton savoir. j’ai TRixbox sur mon PC et je voudrai savoir comment router mes appels sortant via mon IPBX. dans mons pays (GABON)
nous avons 3 opérateurs GSM (CELTEL, LIBERTIS, MOOV) et un opérateur historique (GABON-TELECOM). j’ai une connexion ADSL de bon débit et un compte SIP chez ACF’2i.
mon compte sip ACF’2i ne doit permettre de sortir que pour les appels internationaux et vers les GSM CELTEL et PSTN.
merci
slt
les mecs
j’ai installé asterisk sous fc 8 mais j’arrive pas a me connecter a mes x lite sous windows .
pouvez vous bien me passer un coup main c un projet de fin d’etude
contacter moi sur diallogenie@gmail.com
merci de votre comprehension
bonjour à tous et merci à toi Nicolargo de nous éclairer les points d’ombre que nous rencontrons.
voici mon problème.Je suis entrain d’installer astérisk sur fédora tout en suivant vos recommandations.mais arrivé au niveau de la commande #./configure ça me met :
configure: error: C++ preprocessor “lib/cpp” fails sanity check
je dois je faire?Merci de m’aider.
tapez si commande et sa va marcher
yum update
yum install make
yum install kernel-package
yum install bin86
yum install libncurses5-dev
yum install bison
yum install openssl
yum install libssl0.9.7
yum install libssl-dev
yum install libreadline5
yum install libreadline5-dev
yum install libeditline0
yum install libeditline-dev
yum install libedit-dev
yum install libedit2
yum install libncurses5
yum install libncurses5-dev
yum install zlib1g-dev
tenez moi au courant
bon courage
merci pour les el Adadi,je les essais en même temps.A bientôt
bjr à tous,
el Adadi,j’ai utilisé la commande yum update mais finalement voici le résultat que j’ai:
ERROR:dbus.connection:Unable to set arguments () according to signature u’s': : More items found in D-Bus signature than in Python arguments
Traceback (most recent call last):
File “/usr/bin/yum”, line 29, in
yummain.user_main(sys.argv[1:], exit_code=True)
File “/usr/share/yum-cli/yummain.py”, line 241, in user_main
errcode = hotshot(main, args)
File “/usr/share/yum-cli/yummain.py”, line 193, in main
# Run the transaction
File “/usr/share/yum-cli/cli.py”, line 432, in doTransaction
errstring += ‘ %s\n’ % to_unicode(descr)
File “/usr/lib/python2.5/site-packages/yum/__init__.py”, line 790, in runTransaction
if os.path.exists(fn):
File “/usr/lib/python2.5/site-packages/yum/plugins.py”, line 175, in run
func(conduitcls(self, self.base, conf, **kwargs))
File “/usr/lib/yum-plugins/refresh-packagekit.py”, line 37, in posttrans_hook
packagekit_iface.StateHasChanged(‘posttrans’)
File “/usr/lib/python2.5/site-packages/dbus/proxies.py”, line 68, in __call__
return self._proxy_method(*args, **keywords)
File “/usr/lib/python2.5/site-packages/dbus/proxies.py”, line 140, in __call__
**keywords)
File “/usr/lib/python2.5/site-packages/dbus/connection.py”, line 597, in call_ blocking
‘path %s’ % LOCAL_PATH)
TypeError: More items found in D-Bus signature than in Python arguments.
que faire?merci.
bonjour
on fait comment quand il s’agit de h323
bsr j’ai un pb
quand je fais
yum update
kubuntu(la console) m’envoie
Setting up Update Process
No Packages marked for Update
et quand je fais
make
elle m’envoie
if cmp -s .cleancount .lastclean ; then echo ; else \
make clean; cp -f .cleancount .lastclean;\
fi
build_tools/make_version_h > include/asterisk/version.h.tmp
if cmp -s include/asterisk/version.h.tmp include/asterisk/version.h ; then echo; else \
mv include/asterisk/version.h.tmp include/asterisk/version.h ; \
fi
rm -f include/asterisk/version.h.tmp
build_tools/mkdep -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -Iinclude -I../include -D_REENTRANT -D_GNU_SOURCE -O6 -march=i686 -fomit-frame-pointer acl.c aescrypt.c aeskey.c aestab.c alaw.c app.c asterisk.c ast_expr2.c ast_expr2f.c astmm.c autoservice.c buildinfo.c callerid.c cdr.c channel.c chanvars.c cli.c config.c cryptostub.c db.c devicestate.c dlfcn.c dns.c dnsmgr.c dsp.c enum.c file.c frame.c fskmodem.c image.c indications.c io.c jitterbuf.c loader.c logger.c manager.c md5.c muted.c netsock.c pbx.c plc.c poll.c privacy.c rtp.c say.c sched.c slinfactory.c srv.c strcompat.c tdd.c term.c translate.c ulaw.c utils.c
build_tools/make_defaults_h > defaults.h.tmp
if cmp -s defaults.h.tmp defaults.h ; then echo ; else \
mv defaults.h.tmp defaults.h ; \
fi
rm -f defaults.h.tmp
for x in res channels pbx apps codecs formats agi cdr funcs utils stdtime; do make -C $x depend || exit 1 ; done
make[1]: entrant dans le répertoire « /asterisk-1.2.0/res »
../build_tools/mkdep -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -Iinclude -I../include -D_REENTRANT -D_GNU_SOURCE -O6 -march=i686 -fomit-frame-pointer -DOPENSSL_NO_KRB5 -fPIC `ls *.c`
make[1]: quittant le répertoire « /asterisk-1.2.0/res »
make[1]: entrant dans le répertoire « /asterisk-1.2.0/channels »
../build_tools/mkdep -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -Iinclude -I../include -D_REENTRANT -D_GNU_SOURCE -O6 -march=i686 -fomit-frame-pointer -Wno-missing-prototypes -Wno-missing-declarations -DCRYPTO -fPIC `ls *.c`
make[1]: quittant le répertoire « /asterisk-1.2.0/channels »
make[1]: entrant dans le répertoire « /asterisk-1.2.0/pbx »
../build_tools/mkdep -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -Iinclude -I../include -D_REENTRANT -D_GNU_SOURCE -O6 -march=i686 -fomit-frame-pointer -fPIC `ls *.c`
make[1]: quittant le répertoire « /asterisk-1.2.0/pbx »
/bin/sh: curl-config: not found
/bin/sh: [[: not found
make[1]: entrant dans le répertoire « /asterisk-1.2.0/apps »
../build_tools/mkdep -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -Iinclude -I../include -D_REENTRANT -D_GNU_SOURCE -O6 -march=i686 -fomit-frame-pointer -fPIC `ls *.c`
make[1]: quittant le répertoire « /asterisk-1.2.0/apps »
make[1]: entrant dans le répertoire « /asterisk-1.2.0/codecs »
../build_tools/mkdep -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -Iinclude -I../include -D_REENTRANT -D_GNU_SOURCE -O6 -march=i686 -fomit-frame-pointer -fPIC `ls *.c`
make[1]: quittant le répertoire « /asterisk-1.2.0/codecs »
make[1]: entrant dans le répertoire « /asterisk-1.2.0/formats »
../build_tools/mkdep -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -Iinclude -I../include -D_REENTRANT -D_GNU_SOURCE -O6 -march=i686 -fomit-frame-pointer -fPIC `ls *.c`
make[1]: quittant le répertoire « /asterisk-1.2.0/formats »
make[1]: entrant dans le répertoire « /asterisk-1.2.0/agi »
../build_tools/mkdep -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -Iinclude -I../include -D_REENTRANT -D_GNU_SOURCE -O6 -march=i686 -fomit-frame-pointer `ls *.c`
make[1]: quittant le répertoire « /asterisk-1.2.0/agi »
make[1]: entrant dans le répertoire « /asterisk-1.2.0/cdr »
../build_tools/mkdep -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -Iinclude -I../include -D_REENTRANT -D_GNU_SOURCE -O6 -march=i686 -fomit-frame-pointer -fPIC `ls *.c`
make[1]: quittant le répertoire « /asterisk-1.2.0/cdr »
make[1]: entrant dans le répertoire « /asterisk-1.2.0/funcs »
../build_tools/mkdep -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -Iinclude -I../include -D_REENTRANT -D_GNU_SOURCE -O6 -march=i686 -fomit-frame-pointer -fPIC `ls *.c`
make[1]: quittant le répertoire « /asterisk-1.2.0/funcs »
make[1]: entrant dans le répertoire « /asterisk-1.2.0/utils »
../build_tools/mkdep -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -Iinclude -I../include -D_REENTRANT -D_GNU_SOURCE -O6 -march=i686 -fomit-frame-pointer -DNO_AST_MM `ls *.c`
make[1]: quittant le répertoire « /asterisk-1.2.0/utils »
make[1]: entrant dans le répertoire « /asterisk-1.2.0/stdtime »
../build_tools/mkdep -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -Iinclude -I../include -D_REENTRANT -D_GNU_SOURCE -O6 -march=i686 -fomit-frame-pointer *.c
make[1]: quittant le répertoire « /asterisk-1.2.0/stdtime »
cd editline && unset CFLAGS LIBS && test -f config.h || ./configure
creating cache ./config.cache
checking for gcc… gcc
checking whether the C compiler (gcc ) works… yes
checking whether the C compiler (gcc ) is a cross-compiler… no
checking whether we are using GNU C… yes
checking whether gcc accepts -g… yes
checking how to run the C preprocessor… gcc -E
checking host system type… i686-pc-linux-gnu
checking for a BSD compatible install… install
checking for ranlib… ranlib
checking for ar… /usr/bin/ar
checking for tgetent in -ltermcap… no
checking for tgetent in -ltinfo… no
checking for tgetent in -lcurses… no
checking for tgetent in -lncurses… no
configure: error: termcap support not found
make: *** [editline/libedit.a] Erreur 1
Salut j’ai eu le meme probleme hier sur Mandriva en fait il faut que tu installes termcap pour ça le paquet c’est
Pour debian
apt-get install libncurses5-dev
Pour Fedora
yum list | grep ncurses
Bon j’espere que tu pourras corriger ton probleme.A+
Salut ,
J’ai suivi à la lettre toutes les instructions mais j’ai un problème.
Mon serveur fonctionne bien, la preuve j’ai installé sur la même machine que le serveur un softphone (dans mon cas wengophone) , qui arrive à émettre des coups de fil vers lui même et à avoir accès à tous les services qu’offrent mon serveur: en local tous fonctionne.
J’ai donc essayé de configurer xlite sur des machines clientes xp ,mais celles-ci n’arrivent pas à communiquer avec le serveur.
J’ai déactiver les pare-feu ,ouvert les ports : mais rien à faire .
Je suis sûr que la configuration de xlite est bien faite puisque avec cette même configuration j’émettais des appels via un serveur trixbox.
Une aide venant de votre me sera très bénéfique. Merci d’avance
@CEDRIC CISSE: Y a t’il un firewall sur votre serveur Asterisk ?
non j’y avais pensé et j’ai désactivé tous les firewall du serveur pour voir s’ils posaient problème mais rien du tout.
J’avais oublié quelque chose lorsque je lance asterisk j’ai ce message
…..[Nov 25 10:25:47] WARNING[4875]: res_smdi.c:1335 load_module: No SMDI interfaces are available to listen on, not starting SMDI listener.
je sais pas ce que ça signifie est-ce que cela pourrait posé problème
Tu ne peux avoir ton serveur et on softphone sur la même machine. Tout deux demande à avoir le port 5060 en écoute.
bjr a tous j’ai un probleme avec xlite sur fedora 10 il ne peut pas etre installer aussi je ne sais pas comment faire communiquer deux serveurs asterisk pouvez vous m’aider c urgent car c’est un projet de fin d’etude
bonjour,
avec la même configuration mentionnée dans votre exemple, j’arrive pas a repérer mes compte SIP à l’aide de la commande sip show registry, et avec la commande sip show peers j’ai mes deux comptes configurées qui apparaissent offline.
merci de me faire parvenir l’erreur accompagné de votre solution.
bien à vous
Adil Messaoudi
bjr Ms NICOLARGO ,moi ossi j’ai un projet sur voip ,je travaille sur la plateforme de fedora 11 ,voila la démarche q j’ai suivi mais en suite je sais pa comment completer
L’installation décrite est celle réalisée sur CentOS ou Fedora. Donc vous devez avoir déjà une
machine Fedora qui tourne.
Ensuite, sur cette page http://sourceforge.net/project/showfiles.php?group_id=123387,
télécharger la dernière (ou une autre) version de asterisk@home. Vous obtiendrez un fichier
du genre : asteriskathome-2.2.tar.gz
2. Installation : (Donc sur votre machine Fedora ou CentOS)
# mkdir /var/aah_load // Créer le répertoire ou vous allez décompresser le fichier
télécharger
# cp asteriskathome-2.2.tar.gz /var/aah_load/
# cd /var/aah_load
# tar -zxvf asteriskathome-2.2.tar.gz
# ./install_all.sh
# ./install.sh
Redémarrez votre machine, et vous aurez votre Asterisk qui tourne.
Avec cette commande, normalement, tout est bon ; même AMP (Asterisk Management
Portal) est installé, et vous pourrez administrer votre Asterisk à travers un navigateur (web
bien sûr).
j’usqio si ts va bien ,,,,,,,,,,,,,mais koi je faire d’autre je sais pa d’autre chose ,si vs pouvez m’aider je serais sincèrement trop heureuse ,,,,merci d’avance