0% ont trouvé ce document utile (0 vote)
214 vues7 pages

Guide d'installation d'Asterisk 1.0.7

Transféré par

dbnppc
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
214 vues7 pages

Guide d'installation d'Asterisk 1.0.7

Transféré par

dbnppc
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

How-to Asterisk

Ce How-to a t ralis avec la version 1.0.7 dAsterisk

Ce tutorial est a t ralis titre dexemple et la configuration du serveur Asterisk peut tre largement personnalise et enrichie.

1. INSTALLATION DASTERISK SUR UNE DEBIAN SARGE 3.1R2


Lancez linstallation des paquets suivants : apt-get install asterisk asterisk-config asterisk-doc asterisk-sounds-main asterisk-prompt-fr Editez le fichier /etc/default/asterisk, on modifie la ligne : RUNASTERISK=no par RUNASTERISK=yes Cela permettra de lancer le service asterisk au dmarrage ainsi que par la commande /etc/init.d/asterisk On lance donc asterisk /etc/init.d/asterisk start La ligne de commande asterisk r permet dafficher la console de commande du processus dasterisk en cours. Il est possible de recharger la configuration grce la commande reload. La configuration dAsterisk se passe dans plusieurs fichiers de configurations situes dans /etc/asterisk/ : Le premier fichier modifier est sip.conf : On recherche la ligne ;language=us, d commentez la et placez la valeur fr language=fr On se place ensuite la fin du fichier pour passer la configuration des utilisateurs : [1001] type=friend username=1001 secret=1001 host=dynamic callerid="Maxime" mailbox=1001@default

On va fixer un numro pour appeler cet utilisateur, dans le fichier extensions.conf : exten => 1001,1,Dial(SIP/1001,20,tr) On pourra dsormais appeler lutilisateur 1001 en appelant le numro 1001, 20 est le timeout avant de raccrocher.

2. VOICEMAIL ET BOITES VOCALES


On rajoute les lignes suivantes dans le fichier voicemail.conf : 1001 => 1001,Maxime,maxime@localhost,,|attach=no|review=yes Le premier 1001 est le numro de la boite, le deuxime est le mot de passe de la boite vocal, puis vient le numro de lutilisateur, son adresse mail, ainsi que des options. Un message sera envoy ladresse mail lorsquun nouveau message sera laiss sur le rpondeur le fichier son ne sera pas en pice jointe du mail grce a loption attach=no, review=yes permet a celui qui laisse un message de relire ou de renregistrer son message. Les messages vocaux sont stocks dans le rpertoire /var/spool/asterisk Ajouter dans /etc/asterisk/extension.conf la commande pour activer le rpondeur si la personne ne rpond pas : exten => 1001,2,Voicemail(1001) Mettre le message du mail en franais en ditant le fichier /etc/asterisk/voicemail.conf et remplacer le message anglais par un message en franais : emailsubject=Nouveau message numero ${VM_MSGNUM} dans la boite ${VM_MAILBOX} emailbody=Cher(e) ${VM_NAME},\n\n\tVous avez un nouveau message de la part de ${VM_CALLERID}.\n Ce message dure ${VM_DUR} et il a ete envoye ${VM_DATE},\nvous pouvez consulter votre boite ${VM_MAILBOX} pour ecouter ce message.\n\n\t\t\t\tLe Service de Messagerie\n Recharger la configuration du serveur Asterisk via le client en ligne de commande pour valider les modifications : Reload

3. IVR
Cration des agents et des files dattente :
Editer le fichier /etc/asterisk/agents.conf et ajouter des agents qui seront chargs de rpondre aux appels sur les files dattente : agent => 2001,2001,Maxime Le premier 2001 correspond lidentifiant de lagent, le second au mot de passe, Maxime est le nom de lagent.

On va ensuite crer une file dattente et y associer des agents :

HOW-TO ASTERISK

1/11

[default] member => Agent/2001 On associe lagent 2001 la file dattente default, on peut crer dautres files dattente en crant de nouveaux contextes. Loption AgentLogin() permettra lagent de sauthentifier et de recevoir des appels depuis la file dattente, dans notre cas en appelant le numro de 800 : exten => 800,1,AgentLogin()

Configuration pour la musique dattente Afin que les utilisateurs qui se retrouvent dans la file dattente puissent avoir le droit de la musique dattente, on modifie le fichier /etc/asterisk/musiconhold.conf. default => quietmp3:/var/asterisk/sounds/mp3 Le dossier de musique dattente est donc maintenant configur, il ny a plus qu ajouter les diffrentes pistes jouer dans ce dossier. Attention : il semblerait quil y ait quelques problmes avec la version 1.0.7 dAsterisk rendant parfois la musique dattente inactive. Ce problme ne semble pas toucher les versions plus rcentes (1.2.7) qui ne sont cependant pas disponible avec la distribution stable de GNU/Linux Debian.

Modification du fichier extensions.conf :


Editer le fichier /etc/asterisk/extensions.conf dans le contexte [default] pour commencer par y dfinir le numro auquel le serveur vocal sera joint. exten => 100,1,Ringing() exten => 100,2,Wait(4) exten => 100,3,Goto(accueil,s,1) La premire ligne va permettre dobtenir une tonalit et la deuxime un temps dattente de 4 secondes. Enfin, la troisime ligne renverra la communication vers un autre contexte nomm accueil qui servira de menu daccueil pour lutilisateur. La fonction Goto() redirige vers une priorit dextension dun contexte prcis, ici on va rejoindre la priorit 1 de lextension s prsente dans le contexte accueil. Remarque : les deux premires lignes (Ringing et Wait) sont facultatives. Nanmoins elles apportent un confort supplmentaire lutilisateur. Contexte daccueil : Source [accueil] ; dfinition dun contexte pour laccueil exten => s,1,SetGlobalVar(sounds_path=/var/asterisk/sounds/) exten => s,2,Background(${sounds_path}welcome) exten => #,1,Goto(menu,s,1) exten => i,1,Playback(${sounds_path}erreur-saisie) exten => t,1,Goto(accueil,s,1)

HOW-TO ASTERISK

2/11

Dtails Extensions prdfinies : i s h t T o lance lorsquune extension est invalide ; lance au lancement du contexte ; lance lors que lappel se termine ; lance au bout du timeout si lappel nest pas prit ; lance au bout de la dure maximale de communication ; lance lorsque loprateur pressera la touche 0 dans le VoiceMail.

exten => s,1,SetGlobalVar(sounds_path=/var/asterisk/sounds/) Lutilisation de variables globales peut simplifier la configuration, elles peuvent tre dfinies afin dtre rutilisable dans la configuration. On dfinit alors la variable contenant le chemin daccs aux fichiers sons sur le serveur.

exten => s,2,Background(${sounds_path}welcome) La fonction Background() va permettre de jouer en tche de fond le message de bienvenue welcome.gsm prsent dans le rpertoire des sons. On notera quil ne faut pas spcifier lextension du fichier.

exten => #,1,Goto(menu,s,1) Lextension # va se dclencher lorsque lutilisateur pressera la touche #, il pourra tre invit cela dans le message de bienvenue prcdent. Cette action redirigera lappel vers le menu principal (contexte : menu).

exten => i,1,Playback(${sounds_path}erreur-saisie) A lextension i pour lextension invalide (cf. extensions prdfinies), on attribue la fonction Playback() qui va jouer elle aussi un son pour avertir lutilisateur quil cest tromp lors de la saisie. Remarque : contrairement la fonction Background(), la fonction Playback() ne rendra pas la main lutilisateur avant la fin de la lecture.

exten => t,1,Goto(accueil,s,1) Pour terminer on va rediriger la fin du timeout vers le mme contexte, ainsi lutilisateur rentendra le menu des options jusqu' ce quil entre une option valide. Contexte de menu : Source [menu] ; exten => exten => exten => dfinition dun contexte pour le menu s,1,Background(${sounds_path}menu) 0,1,Goto(menu,s,1) 1,1,Goto(appel,s,1)

HOW-TO ASTERISK

3/11

exten exten exten exten exten

=> => => => =>

2,1,Goto(message,s,1) 3,1,Goto(support,s,1) i,1,Playback(${sounds_path}erreur-saisie) i,2,Goto(menu,s,1) t,1,Goto(menu,s,1)

Dtails exten => s,1,Background(${sounds_path}menu) Comme pour le message de bienvenue, il sera jou lutilisateur le fichier son du menu pour linviter slectionner un service.

exten exten exten exten

=> => => =>

0,1,Goto(menu,s,1) 1,1,Goto(appel,s,1) 2,1,Goto(message,s,1) 3,1,Goto(support,s,1)

Il faut ensuite dfinir les diffrentes extensions de redirection vers les autres services. Une seule priorit est ncessaire pour ces actions car elles ne soccuperont que de rediriger vers dautres contextes. Contexte dappel : Source [appel] ; dfinition dun contexte pour le menu dappel exten => s,1,Background(${sounds_path}appel) exten => 0,1,Goto(menu,s,1) exten => _1XXX,1,Dial(SIP/${EXTEN},20,tr) exten => i,1,Playback(${sounds_path}erreur-saisie) exten => t,1,Goto(appel,s,1) Dtails Mis part les lments rcurrents tels que les messages de menu, derreurs de saisie et de redirection. Le service fourni par ce contexte est un service de redirection dappel. On invite donc lutilisateur composer le numro du correspondant joindre.

exten => _1XXX,1,Dial(SIP/${EXTEN},20,tr) Le numro dextension _1XXX va cibler toutes les extensions commenant par 1 et comportant 4 chiffres. Une fois le numro entre, via la fonction Dial() le correspondant sera joint. Le protocole utilis sera le protocole SIP et la cible la variable globale ${EXTEN} contenant le numro compos par lutilisateur. Le second paramtre sera le timeout, temps au bout duquel la tentative de connexion sera annule si lappel na pas t prit. Options : t r autoriser lappel transfrer lappel ; gnrer une tonalit pour lappelant.

HOW-TO ASTERISK

4/11

Contexte de messagerie : Source [message] ; dfinition dun contexte pour la messagerie exten => s,1,VoiceMailMain(${CALLERIDNUM}) exten => t,1,Hangup() Dtails exten => s,1,VoiceMailMain(${CALLERIDNUM}) Lutilisateur ici sera redirig vers le module de serveur de messagerie vocale VoiceMailMain. Il pourra consulter et grer ses messages. Le paramtre ${CALLERIDNUM} va servir pointer au lancement du module sur la messagerie de lappelant sans quil ait entrer son identifiant.

exten => t,1,Hangup() Cette ligne va tre utile au cas o il ne serait pas possible de joindre le VoiceMail. Arriv au bout du timeout, la communication sera termin par la fonction Hangup(). Contexte de support : Source [support] ; dfinition dun contexte pour le support exten => s,1,GoToIfTime(09:00-17:00|mon-fri|*|*?s,4) exten => s,2,Playback(${sounds_path}no-relation-support) exten => s,3,Goto(menu,s,1) exten => s,4,Playback(${sounds_path}relation-support) exten => s,5,Queue(default) exten => t,1,Hangup() Dtails exten => s,1,GoToIfTime(09:00-17:00|mon-fri|*|*?s,4) La premire priorit du contexte utilise une fonction GoToIfTime() similaire la fonction Goto() la diffrence que lont peut spcifier une plage horaire. Si la condition est remplie le Goto() est excut, sinon on passe la priorit suivante. 09:00-17:00 mon-fri * * s,4 de 09h00 17h00 ; du lundi au vendredi ; tous les jours du mois ; tous les mois ; extension s priorit 4 du contexte en cours.

Dans le cas prsent si la condition est valide, le message de mise en relation avec le support technique sera diffus.

exten => s,5,Queue(default)

HOW-TO ASTERISK

5/11

La fonction Queue() permet de diriger lappel vers une file dattente, ici vers la file dattente nomm default.

4. LIENS UTILES
http://www.asterisk.org/ (site officiel) http://www.asteriskguru.com/ http://voip-info.org/ http://www.cis-consultants.com/

HOW-TO ASTERISK

6/11

Vous aimerez peut-être aussi