Decouverte Du Serveur Asterisk

Embed Size (px)

Citation preview

  • Asterisk Dcouverte et prise en mains

    Depuis 1999, la tlphonie d'entreprise vit une rvolution numrique, grce notamment au dveloppement d'un fantastique programme, appel 'Asterisk'.

    Asterisk est un programme qui permet de crer et dployer une plate-forme logicielle de tlphonie sur IP, sur un serveur fonctionnant sous GNU/Linux.

    Avec Asterisk on peut crer un vritable autocommutateur priv de tlphonie sur IP (PABX IP).

    Le programme Asterisk existe en version libre et gratuite (Open source), soumis a licence GPL mais galement en version propritaire.

    Mais au fait, qu'est ce qu'un PABX ?

    Un PABX est un commutateur d'appels tlphonique priv, souvent nomm 'auto commutateur' ou 'autocom'.

    P.A.B.X. signifie littralement: Private Automatic Branch eXchange.

    Il sagit dun quipement matriel assurant la fonction de central de tlphonie, dont les rles essentiels sont les suivants :

    Distribuer les appels tlphoniques entrants.

    Transmettre les appels tlphoniques sortants.

    Grer les terminaux tlphoniques.

    Fournir les fonctionnalits ou options (mise en garde, attente, transfert, ...).

    Asterisk offre toute les fonctionnalits permettant de dployer un PABX IP complet et volutif, sur un PC quip de GNU/Linux.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 1

  • L'histoire d'Asterisk commence en 1999 avec le jeune Amricain 'Mark Spencer', alors tudiant l'universit d'Auburn en Alabama, dveloppa le programme 'Asterisk'.

    Grce aux diffrents modules et interfaces disponibles, Asterisk permet de s'interfacer et sintgrer dans tout environnement existant.

    Asterisk prend en charge les principaux Codec et protocoles utiliss en tlphonie, ce qui garanti une parfaite interoprabilit avec d'autre quipements et logiciels.

    Le dveloppeur d'Asterisk, Mark Spencer, est galement connu pour tre le crateur du logiciel de messagerie instantane GAIM.

    Aprs avoir dvelopp le programme Asterisk, Mark Spencer cr la socit 'Digium' qui maintien le code source Asterisk et distribue des quipements et cartes d'interfaces PC pour la tlphonie analogique et numrique.

    Asterisk existe en deux versions :

    1. Une version Open Source diffuse en licence GPL.2. Une version commerciale et propritaire en licence Business Edition / OEM.

    Il existe galement un certain nombre dadaptations du serveur Asterisk, plus ou moins russies, qui permettent de configurer cl en main, un IPBX.

    Je citerai la plus connue:

    FreePBX (anciennement ' Asterisk@home'), qui intgre une interface graphique de configuration permettant de dployer facilement et rapidement un IPBX cl en mains.

    En 2010, Digium labore un nouveau programme autour d'Asterisk, afin d'offrir une solution cl en main, facilement installable et configurable, "Switchvox".

    Prise en main d'Asterisk - v13032 Jean GAUTIER 2

  • Fonctionnalits

    Asterisk permet de constituer des solutions compltes de tlphonie interfaant la tlphonie traditionnelle analogique ou numrique et la tlphonie GSM sur la tlphonie sur IP.

    L'IPBX peut exploiter aussi bien les protocoles H.320, H.323, MGCP, SIP ainsi qu'un protocole propritaire destin l'interconnexion d'IPBX, Inter Asterisk eXchange ou "IAX".

    Avec l'utilisation de cartes d'interfaces aux rseaux et quipements de tlphonie traditionnels, (FXO, FXS et RNIS), Asterisk permet de remplacer totalement un PABX propritaire en y ajoutant de riches fonctionnalits de VOIP.

    Asterisk offre des fonctionnalits de messagerie vocale, confrence, serveurs vocaux, distribution des appels, et en ralit, une 'presque' infinit d'applications possibles.

    Asterisk peut tre configur en tant que 'registrar' et passerelle vers d'autres rseaux tlphoniques et permet de faire communiquer des ordinateurs et des tlphones travers Internet ou tout autre rseau IP.

    Le serveur Asterisk peut tre quip d'une carte lui permettant d'tre connect aux diffrents rseaux tlphoniques (RTC, RNIS et GSM).

    Il y a quatre types de connexions possibles :

    1. Connexion vers un rseau tlphonique analogique : interface FXO

    2. Connexion vers des tlphones analogiques : interface FXS

    3. Connexion d'quipements numriques : interface BRI

    4. Connexions vers des accs primaires : E1, T1,... (PRI)

    Prise en main d'Asterisk - v13032 Jean GAUTIER 3

  • Digium, la socit de Mark Spencer, propose diffrentes cartes d'interface, fonction de l'installation mettre en place.

    Par exemple, la carte 'TDM400P' offrant deux entres lignes standards (FXO), et deux sorties vers des tlphones analogique (FXS).

    Les termes FXS et FXO dsignent les ports utiliss pour interfacer les quipements de ToIP aux quipements et lignes analogiques.

    FXS signifie 'Foreign eXchange Subscriber' et permet de raccorder un quipement analogique au PABX IP.

    FXO signifie 'Foreign eXchange Office' et permet de raccorder le PABX IP la ligne analogique de labonn.

    Installation d'Asterisk

    Idalement, l'installation se fait sur une machine Linux ddie, configure sous GNU Linux Debian, Ubuntu ou Fedora et optimise pour fonctionner en mode serveur.

    Pour l'installation, je vous suggre de respecter la procdure dtaille fournie en annexe 4, afin de pouvoir facilement et pleinement exploiter votre serveur IPBX.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 4

  • Lancement du programme Asterisk

    Pour permettre le lancement automatique d'Asterisk, il faut modifier le fichier /etc/default/asterisk

    RUNASTERISK=yes

    RUNASTSAFE=no

    Pour dmarrer manuellement le programme Asterisk, on peut utiliser :/usr/sbin/asterisk ou bien la commande habituelle :

    /etc/init.d/asterisk start

    Pour vrifier si le programme est bien lanc :

    netstat -anu

    Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 0.0.0.0:4520 0.0.0.0:* port du protocole MGCP udp 0 0 0.0.0.0:5060 0.0.0.0:* port du protocole SIP udp 0 0 0.0.0.0:4569 0.0.0.0:* port du protocole IAX

    Ici, on peut voir les ports 4569 et 5060 qui correspondent aux protocoles SIP et IAX.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 5

  • Lancement de la console d'administration

    Asterisk dispose d'une interface en ligne de commandes interactif (CLI) qui permet de vrifier et agir sur les configurations et visualiser l'tat de fonctionnement en tant rel :

    asterisk -rcvvv pour se connecter la console.

    Asterisk -rcvvv o le nombre de 'v' augmente le degr de verbosit sur la console.

    Voici quelques commandes essentielles en mode CLI

    CLI> sip show users pour voir les utilisateurs SIPCLI> sip show peers pour voir les quipements SIPCLI> sip show channel pour voir les canaux SIP CLI> stop gracefully pour arrter le serveur.CLI> reload pour recharger Asterisk.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 6

  • Configuration Asterisk

    La configuration Asterisk repose sur plusieurs fichiers de configuration, situs dans le dossier ' /etc/asterisk ' .

    Dans les fichiers de configuration, il est conseill (mais pas toujours obligatoire) d'utiliser des minuscules pour les dclarations, actions et options et des MAJUSCULES pour dfinir et utiliser les variables.

    Il n'est pas ncessaire de mettre des espaces dans les dclarations.

    Attention

    Commenter vos fichier mais n'utilisez pas le sigle '#' qui serait interprte comme la touche '#' du clavier d'un tlphone !

    Toute la configuration d'un PABX s'appuie sur une organisation, appele 'DialPlan'.

    Le DialPlan est le plan de numrotation, o toutes les rgles de fonctionnement du PABX sont dfinies.

    Avec Asterisk, le DialPlan est configurable par le fichier "extensions.conf".

    Le plan de numrotation est organis en contextes de travail.

    Chaque contexte comprend les commandes ou actions raliser, range dans un ordre chronologique.

    On appelle ces actions, des ''extensions''.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 7

  • Les contextes agissent comme des zones permettant de sparer les sources d'appels, les modes de rponses ou les traitements effectuer.

    Chaque extension permet de mettre en relation une source (ligne, tlphone IP, softphone, etc) vers une destination, en fonction de conditions et d'options.

    Les sources sont dfinies dans diffrents fichiers de configuration selon les protocoles utiliss (mgcp.conf, iax.conf, sip.conf, zapata.conf).

    Par exemple, un tlphone utilisant le protocole 'sip' sera dfini dans le fichier 'sip.conf' alors qu'un tlphone utilisant le protocole 'iax' sera dfini dans le fichier 'iax.conf'.

    Le fichier 'asterisk.conf'

    Ce fichier dfinit les chemins d'accs aux donnes ncessaires Asterisk.

    astetcdir => /etc/asterisk astmoddir => /usr/lib/asterisk/modules astvarlibdir => /var/lib/asterisk astagidir => /var/lib/asterisk/agibin astspooldir => /var/spool/asterisk astrundir => /var/run/asterisk astlogdir => /var/log/asterisk

    Il est rarement ncessaire de le modifier

    Prise en main d'Asterisk - v13032 Jean GAUTIER 8

  • Le fichier 'sip.conf'

    Le fichier sip.conf permet la dclaration des quipements et sources de connexions, utilisant le protocole SIP.

    Exemple

    [general] port = 5060 context=labo

    [toto] username=toto type=friend host=dynamic callerid="toto"

    La directive 'context = xxxx' permet de dfinir le contexte dans lequel l'quipement est dfinit.

    Cette notion est trs importante car elle servira retrouver l'quipement depuis le fichier "extensions.conf".

    Exemple de configuration

    Dans cet exemple, les postes tlphoniques utilisent une adresse IP dynamique (obtenue par dhcp).

    La directive 'callerid' indique le nom de lutilisateur et son extension au format RFC822, permettant d'afficher le nom de l'appelant sur l'cran du poste appel, lors d'un appel.

    Le fichier 'sip.conf' dbute toujours par un bloc de dclaration gnrales, appel '[general]'.

    Le fichier est ensuite dcoup en contextes permettant d'isoler les dclarations des diffrents postes et lignes.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 9

  • Exemple

    [general] language = fr context=labo dclare le contexte utilis par dfaut

    [101] correspond au nom d'un poste tlphone (ou d'une ligne)username=101secret = poseidon type=friend host=dynamic callerid="Dupont Patrick"

    [secretaire] une autre faon de dfinir un posteusername=secretaire secret = poseidontype=friend host=dynamic callerid="Secretaire"

    Ici, avec le nom du compte '101', c'est 'Dupont Patrick ' qui apparatra sur l'cran du tlphone appel .L'ide est ici d'affecter Patrick Dupont, le numro de poste ''101''.

    Le [101] n'est pas forcment un numro, on peut parfaitement utiliser un nom, comme c'est le cas avec [secretaire].

    La directive 'type' reprsente le mode de fonctionnement du client, peer, user ou friend :

    peer est un client autoris recevoir des appels

    user est un client autoris passer des appels

    friend est la fois 'peer' et 'user'

    La directive 'username' est l'identifiant du compte (son 'login' ou 'id').

    La directive 'secret' est le mot de passe du compte.

    La directive 'host' indique la mthode pour trouver le client (IP dynamique, nom d'hte ou IP statique).

    La directive 'callerid' donne l'identit de l'utilisateur qui s'affichera sur les crans des tlphones appels.

    La directive 'language' dfinie la langue a exploiter par dfaut quand un fichier son est utilis.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 10

  • Simplification de dclaration de postes dans le fichier 'sip.conf'.

    Dans le but dallger la dclaration de donnes dans le fichier 'sip.conf', il est intressant d'utiliser le concept de 'template' qui sont des modles de dclaration.

    Chaque poste sera ensuite associ au modle auquel il correspondDe cette faon, plusieurs modles peuvent tres dclars en fonction par exemple, de la marque ou du modle dfinir.

    Le template est dfini comme ce ceci: [modele]!, chaque poste qui pointe vers ce template est dfini comme cela: [poste-1](modele), [poste-2](modele)

    Exemple: Voici deux configurations quivalentes

    [general]context=labo allow=alaw language=fr

    [general]context=labo allow=alaw language=fr

    [101] host=dynamic nat=no call-limit=2 pickupgroup=1 callgroup=1 type=friend secret=poseidoncallerid=Pierre

    [102] host=dynamic nat=no call-limit=2 pickupgroup=1 callgroup=1 type=friend secret=poseidoncallerid=Marie

    [telephones](!) host=dynamic nat=no call-limit=2 pickupgroup=1 callgroup=1 type=friend secret=poseidon

    [101](telephones) callerid=Pierre

    [102](telephones) callerid=Marie

    Prise en main d'Asterisk - v13032 Jean GAUTIER 11

  • Le fichier 'iax.conf'

    Le fichier iax.conf concerne les quipements ou sources de connexions qui se connectent en utilisant le protocole IAX.

    Iax.conf est assez similaire au fichier sip.conf.

    Chaque client sera identifi par un label.

    Exemple

    [general] context=defaut

    [555] username=555 type=friend host=dynamic callerid="toto"

    Dans cet exemple de configuration, les postes doivent utiliser une adresse IP dynamique. (configurs en client dhcp)

    La directive 'callerid' indique le nom de lutilisateur et son extension au format RFC822.

    Le nom ainsi dfinit, s'affichera sur l'cran du poste appel, lors d'un appel.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 12

  • Le plan de numrotation (dialplan)

    Comme je vous le disais prcdemment, le fichier 'extension.conf' constitue ce que l'on appelle de DialPlan ou plan de numrotation.

    Chaque extension du plan de numrotation va tre interprte et achemine vers les canaux dfinis dans les sections des fichiers sources (sip.conf, iax.conf, ...).Une extensions correspond a une ou plusieurs actions.Les actions sont effectues les unes la suite des autres, par ordre de priorit.

    Les extensions sont dfinies sous la forme:

    exten => 101,1,action N1,optionexten => 101,2,action N2,optionexten => 101,3,action N3,option

    Le DialPlan va permettre de dterminer quelle est l'action raliser en fonction de l'extension appele.

    A chaque appel reu, Asterisk examine quel contexte appartient l'appelant et vrifie sil peut atteindre le destinataire demand.

    Si c'est le cas, Asterisk excute l'action correspondant la priorit numro 1.

    La priorit est le numro situ aprs l'extension.

    On doit toujours commencer par le numro de priorit '1'.

    Par exemple, que va faire 'Asterisk' quand un appel entrant cherche joindre le numro '102' ?

    Prise en main d'Asterisk - v13032 Jean GAUTIER 13

  • Exemple :

    exten => 102,1,Answer

    exten => 102,2,Dial(SIP/secretaire,15)

    exten => 102,3,Hangup

    Ici, a priorit 1 correspond l'instruction "Answer" qui permet de prendre l'appel en compte et d'ouvrir le canal.

    Une fois le canal ouvert, Asterisk passera linstruction suivante, 102,2 pour effectuer l'action: Dial(SIP/secretaire,15).

    Lorsque l'appel sera termin, Asterisk va raccrocher et librer le canal, grce la fonction 'Hangup'.

    Dans l'exemple prcdent, quand un appel entrant cherche joindre le poste 102, Asterisk va rechercher dans le fichier sip.conf, le poste nomm [secretaire] pour le faire sonner pendant 15 secondes avant de raccrocher si personne ne prend l'appel.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 14

  • La cration du plan de numrotation (Dialplan)

    Le fichier ''extensions.conf'' regroupe l'ensemble des rgles de numrotation et de fonctionnement, donc, tout passe par lui.

    Ce fichier est compos de quatre parties principale :

    1. Les contextes

    2. Les extensions

    3. Les priorits

    4. Les applications.

    Les contextes jouent le rle d'organisation du plan de numrotation.

    Les contextes sont souvent utiliss pour crer des menus vocaux qui donnent lappelant le choix parmi une liste dextensions possibles en pressant sur une touche du clavier du tlphone.

    Cette fonctionnalit est appele rception automatique.

    Les contextes sont dfinis par un nom lintrieur de crochets, il s'agit d'un simple label qui permettra d'organiser les instructions et structurer le plan de numrotation.

    Par exemple:

    [repondeur] ou [appels-internes].

    Toutes les instructions places aprs une dfinition de contexte feront partie de ce contexte.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 15

  • Les extensions

    Une extension permet de dfinir une action raliser.

    A l'intrieur d'un mme contexte, on peut dfinir une suite d'actions raliser, sous forme d'une squence :

    En premier, l'action N 1, ensuite l'action N 2 et ainsi de suite.

    Les actions sont dfinies ligne par ligne, la premire porte le numro '1'.

    Le numro d'action s'appelle la priorit.

    Exemple

    exten => 101,1,Answerexten => 101,2,Dial (SIP/101,15)exten => 101,3, Hangup

    La commande 'exten =>' indique que la prochaine action est une commande.

    Ici, '101' est le code de l'extension, les chiffres 1, 2 et 3 reprsentent la priorit d'excution des commandes, c'est dire le numro d'action raliser.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 16

  • Modes de fonctionnement Asterisk

    Le fonctionnement Asterisk repose sur un modle client/serveur classique.

    Le poste tlphonique (ou tout autre source) est le client, le serveur "Asterisk" joue le rle de serveur.

    Asterisk est ainsi l'coute permanente des clients en scrutant les demandes mises par les postes et/ou les lignes tlphoniques.

    Si un client envoie une requte au serveur, ce dernier recherche l'action correspondante et tente de la raliser.

    Par exemple, si un utilisateur compose le numro 100 au clavier d'un poste, Asterisk recherchera l'extension qui porte le numro 100 dans le contexte dans lequel se trouve l'appelant.

    Si l'extension est trouv, les diffrentes commandes seront droules suivant l' ordre chronologique du numro de priorit, en premier la priorit N1, ensuite la priorit N2 et ainsi de suite.

    L'information qui suit le code de priorit reprsente l'action effectuer, ou autrement dit, la commande.

    L'action est parfois suivie d'options dfinies entres parenthses.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 17

  • Exemple

    exten => 103,1,Answerexten => 103,2,Dial(SIP/jean,20)exten => 103,3,Hangup

    Dans cet exemple, si un poste compose le N103, Asterisk effectuera la commande 'Dial' afin de faire sonner le poste dclar sous le nom ''[jean]'', dans le fichier ''sip.conf''.

    Aprs 20 secondes, si personne n'a rpondu, Asterisk raccrochera la ligne avec la commande 'Hangup'.

    Attention

    Pour simplifier les mises jours du DialPlan, on peut utiliser la lettre 'n', pour 'Next' en lieu et place du numro de priorit.

    Il faut cependant toujours commencer par dfinir la priorit 1exten => 103,1,Answerexten => 103,n,Dial (sip/jean,20)exten => 103,n,Voicemail(103@defaut)exten => 103,n,Hangup

    Prise en main d'Asterisk - v13032 Jean GAUTIER 18

  • Les applications

    Les applications effectuent certaines actions sur un canal donn. Les principales applications sont :

    Answer Playback Hangup Background Goto

    L 'application 'Answer'

    Lapplication Answer permet de prendre en compte l'appel entrant.

    Il s'agit gnralement de l'action initiale.

    L 'application 'Playback'

    Lapplication Playback est utilise pour faire entendre un message sonore pr-enregistr l'appelant.

    Cette application empche l'analyse des actions utilisateurs, c'est dire que rien de ce qui serait tap au clavier par l'appelant ne sera pris en compte durant la dure de lecture du fichier.

    On utilise 'Playback' pour faire entendre un message d'accueil ou publicitaire lors de la rception d'appels, par exemple.

    L 'application 'Hangup'

    Lapplication Hangup permet de raccrocher la ligne.

    Il s'agit gnralement de l'action terminale de traitement d'appel qui libre le canal.

    L 'application 'Background'

    Lapplication Background permet d'introduire l'interactivit.

    Elle fonctionne comme l'application Playback mais donne la possibilit l'appelant d'appuyer sur une touche du clavier de faon 'sauter' directement vers linstruction correspondant au code mis par la touche presse.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 19

  • L 'application 'Goto'

    Lapplication Goto permet de sortir du traitement en cours pour aller directement vers un point spcifi, soit dans le mme contexte ou soit dans un autre contexte, la manire d'un renvoi vers un sous programme.

    Exemple de traitement standard Asterisk

    Lorsqu'un appel arrive dans ce contexte, il est trait comme ceci :

    Answer : Prend le contrle de la ligne et dmarre lappel. Playback ou Background : Fait entendre l'appelant un message. Hangup : Raccroche la ligne et libre le canal.

    Un fichier son, appel 'accueil', sert de message d'accueil gnral pour tout appel entrant.

    Ce fichier contient un message qui demande au correspondant de presser la touche '1' pour aller dans le menu N1 ou la touche '2' pour aller dans le menu N2.

    Les messages sonores des menus 1 et 2 sont respectivement les fichiers 'message1' et 'message2'.

    [interne] exten => s, 1,Answerexten => s, 2,Background(accueil) exten => s, 3,Wait(10) exten => s, 4,Goto(interne,s,2)

    exten => 1, 1,Playback(message1) exten => 1, 2,Hangup

    exten => 2, 1,Playback(message2) exten => 2, 2,Hangup

    Quand lappel est intercept, Asterisk excute linstruction 's' avec la priorit 1.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 20

  • Notez Bien

    L'extension 's' est spciale, elle signifie 'start'.

    Tout appel ne ciblant pas un numro prcis est systmatiquement trait par l'extension 's'.

    Elle permet de traiter tout ce qui arrive dans un contexte,

    L'extension 's' est trs utilise pour capturer tout ce qui arrive dans un contexte suite un 'Goto'.

    1. Si lutilisateur presse la touche 1 pendant le droulement du message d'accueil, Asterisk cherchera l'extension qui correspond '1' dans le contexte [interne].

    L'appelant entendra alors le fichier son 'message1'.

    2. Ensuite, l'extension 'exten => 1, 2, Goto (interne,s,1) sera excute, ce qui ramnera au dbut du traitement dans le contexte [interne].

    Ici, l'extension 'Goto()' permet denvoyer l'appelant la premire priorit de lextension 's' du contexte 'entrant'.

    3. Si lappelant ne presse aucune touche, la troisime priorit sera excute ds que la lecture du message d'accueil sera termine, raccrochant ainsi la ligne grce l'application 'Hangup'.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 21

  • Traitement des erreurs et dlais d'attente dpass

    Dans l'exemple prcdent, je vous explique le fonctionnement d'un 'mini rpondeur vocal interactif'.

    Ce rpondeur est souvent dsign par l'acronyme 'IVR' pour 'Interactive Voice Response' ou 'serveur vocal interactif'.

    Dans mon exemple, on traite l'appui sur la touche 1 et la touche 2, mais, ni les erreurs et ni les oublis !Pour remdier cela, Asterisk prvoit deux nouvelles extensions.

    Asterisk a prvu une extension spciale pour le traitement des entres invalides. Cette extension s'appelle 'i' pour 'invalid'.

    Dans l'exemple, si l'appelant se trompe de touche et appuie sur la touche '4', Asterisk serait 'plant, aucune extension '4' ntant dfinie dans le contexte courant.

    Grce l'extension 'i', Asterisk excutera l'action correspondant 'i', s'il ne trouve pas '4'.

    De la mme manire, il existe galement une extension spciale prvue pour le traitement de dlai d'entre dpass, nomme 't' pour 'Timeout'.

    Si l'appelant ne fait aucun choix dans le dlai imparti (10 secondes par dfaut), l'appel est alors redirig vers lextension 't'.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 22

  • Exemple

    Dans cette exemple, nous ajoutons le prise en compte des erreurs et oublis.

    [interne] exten => s,1,Answer exten => s,2,Background(accueil) exten => s,3,WaitExten(10)

    exten => 1,1,Playback(message1) exten => 1,2,Goto(interne,s,2)

    exten => 2,1,Playback(message2) exten => 2,2,Goto(interne,s,2)

    exten => i,1,Playback(invalide) exten => i,2,Goto(interne,s,2)

    exten => t,1,Playback(pascompris) exten => t,2,Goto(interne,s,2)

    Dans cette exemple, si l'appelant se trompe de numro, il entendra le fichier son 'invalide' et si il oublie de choisir un numro, il entendra le fichier son 'pascompris'.

    L'application Dial()

    L'application 'Dial' est l'application cl d'Asterisk puisque elle permet d'atteindre un poste en composant son numro.

    Dial sert tablir une liaison avec le canal correspondant et peut prendre en compte jusqu 4 arguments.

    Pour renvoyer un appel vers un poste tlphonique, il faut associer un numro au poste.

    Quand quelqu'un composera ce numro, l'appel vers le poste sera dclench par Asterisk.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 23

  • Voici un exemple comment

    Exemple 1

    exten => 101,1,Dial(SIP/101)

    Ici, si quelqu'un compose le numro '101', Asterisk renverra l'appel vers le poste [101] dfini dans le fichier sip.conf.

    Exemple 2

    exten => 102,1,Dial(SIP/jean)

    Ici, si quelqu'un compose le numro '102', Asterisk renverra l'appel vers le poste [jean] dfini dans le fichier sip.conf.

    Exemple 3

    exten => 123,1,Dial(SIP/101&IAX/102&ZAP/103)

    Ici, les postes correspondant aux canaux SIP 101, IAX102 et ZAP 103 sonneront ensemble quand quelqu'un composera le N 123.

    Lapplication 'Dial' permet de spcifier un dlai (en secondes).

    Dial() attendra la fin de ce dlai avant dabandonner et passer la priorit suivante.

    Si aucun dlais n'est spcifi, l'application 'Dial' continuera de chercher atteindre le canal jusqu ce quelquun rponde ou bien que lappelant raccroche.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 24

  • E xemple 4

    exten => 101,1,Dial(SIP/101,20)

    exten => 101,2,Hangup

    Ici, si quelqu'un compose le numro '101', Asterisk renverra l'appel vers le poste [101] dfini dans le fichier sip.conf pour le faire sonner pendant 20 secondes.

    Au bout des 20 secondes, Asterisk raccroche et libre le canal.

    Traitement des lignes occupes

    Avec Asterisk, il existe une extension particulire qui ragit en cas de ligne occupe.

    Asterisk analyse les canaux et dtecte si un canal est libre ou occup.

    Si un canal de destination est occup, l'application 'Dial' tentera alors d'atteindre la priorit n+101 (o n correspond la priorit de dpart de l'instruction.)

    Ceci permet de rediriger les appels non rpondu avec un traitement diffrent des appels vers les destinations occupes.

    Attention:

    Pour que cette extension fonctionne, il faut que la directive 'priorityjumping=yes' soit dclare dans la rubrique [general] de extensions.conf.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 25

  • Exemple

    [general]priorityjumping=yes

    [labo]exten => 100,1,Dial(SIP/jean,10)exten => 100,2,Dial(sip/jean,10)

    exten => 100,3,Hangup()

    exten => 100,103,Playback(enligne)

    exten => 100,104,Hangup()

    Si jean est absent, Asterisk raccroche la canal au bout de 10 secondes.Par contre, si jean est dj en ligne, Asterisk jouera le fichier son 'enligne' l'appelant, avant de raccrocher.

    En effet, 103 = 2+101.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 26

  • Les options de l'application Dial()

    L'application 'Dial' sert tablir une liaison avec le canal correspondant, elle peut prendre en compte jusqu 4 arguments.Le troisime argument de Dial est une option qui modifie le comportement de lapplication.

    Par exemple, la lettre 'r' pour 'Ringing' fait entendre une tonalit l'appel durant le temps o le canal de destination est sollicit.A contrario la lettre 'm' pour 'music' ferait entendre une musique, au lieu de la tonalit habituelle.

    Lapplication Dial permet de spcifier un dlai (en secondes), Dial() attendra la fin de ce dlai avant dabandonner et passer la priorit suivante.Dans le cas ou aucun dlais n'est spcifi, 'Dial' continuera tenter de joindre le canal jusqu ce quelquun rponde ou bien que lappelant raccroche.

    A(fichier) : fait entendre le fichier nomm 'fichier' lappelant.

    C : permet de rinitialiser les donnes CDR (Call Detail Record), utilises pour la journalisation d'appels.

    D(code_dtmf) : permet l'envoi de codes DTMF l'appel lorsqu'il acceptera l'appel.

    f : force le CallerID tre dfini comme lextension.

    g : continuer dans l'excution du contexte lorsque l'appel raccroche.

    h : autoriser l'appel raccrocher en pressant la touche '*'.

    H : autoriser l'appelant raccrocher en pressant la touche '*' .

    L(limite[:alerte][:rptition]) : mettre en place une limite de dure (en ms) pour lappel.

    m : jouer la musique dattente la place de la sonnerie standard.

    M(macro) : excuter une macro lorsque la connexion stablit.

    P() : demander le numro de lappelant si aucun CallerID nest envoy.

    r : gnre une tonalit pour l'appelant.

    S(timer) : dfinir une dure maximale de communication.

    t : autoriser l'appel transfrer l'appel.

    T : autoriser lappelant transfrer lappel.

    w : autorise lappel dmarrer lenregistrement en pressant '*1'.

    W : autorise lappelant dmarrer lenregistrement en pressant '*1'.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 27

  • Configuration pour partager un abonnement SIP

    Avant d'utiliser Internet, il faut souscrire un abonnement auprs d'un fournisseur d'accs internet (FAI).

    De manire similaire, pour exploiter la Voix sur IP via Internet, on doit souscrire un abonnement auprs d'un fournisseur de service VoIP qui permettra d'acheminer les communications vers les diffrents oprateurs (fixes et mobiles).

    Pour atteindre un poste situ sur un autre rseau que celui sur lequel se trouve notre serveur, deux cas de figures:

    1. Soit le poste du correspondant est inscrit sur notre serveur, via un accs distant.

    2. Soit le poste du correspondant n'est pas connu et donc, non inscrit, sur notre serveur.

    Dans le premier cas, rien faire de particulier, si ce n'est rflchir et mettre en place des paramtres de scurisation.

    Dans le deuxime cas, notre serveur doit passer par un service oprateur de tlphonie sur IP qui jouera le rle d'intermdiaire entre notre systme et le poste du correspondant.

    Notre serveur devient un client de cet oprateur et doit donc s'inscrire comme un poste normal.

    L'inscription consiste fournir un identifiant de compte SIP associ a un ou plusieurs numros d'appels.

    Ainsi, tous les appels correspondant au numro que notre oprateur nous fournit, sont envoys vers notre adresse IP et 'capts' par notre serveur Asterisk.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 28

  • Les oprateurs de VoIP sont connects sur les diffrents rseaux des oprateurs via des passerelles.

    Lorsque nous souscrivons un abonnement auprs d'un oprateur, nous pouvons alors bnficier de son infrastructure et passer des appels vers des postes fixes, mobiles, en France ou ltranger.

    Cela est similaire la souscription d'un abonnement ADSL.

    La plupart des oprateurs de tlphonie sur IP proposent des comptes SIP appels 'trunk SIP'.

    Il s'agit de comptes accessibles via le rseau Internet.

    Un compte SIP ressemble une adresse email:

    sip://jean:poseidon@operateur/numro

    Un trunk correspond en quelques sortes a une ligne tlphonique qui permet de grouper plusieurs appels sur un mme canal.

    Le trunk permet n'importe quel tlphone d'appeler un correspondant extrieur.

    Les appels de l'extrieur et la redirection vers un service interne (poste, messagerie, attente, etc) sont bien videment, galement possibles.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 29

  • Inscription sur un serveur distant

    Nous avons vu que pour pouvoir passer des appels vers l'extrieur, par exemple vers des postes fixes ou GSM, il faut possder un compte chez oprateur (gnralement un trunk SIP).

    Ce trunk doit tre dclar dans le fichier sip.conf.C'est la fonction 'register' qui permet cette dclaration.

    Exemple: e xtrait du fichie r 'sip.conf'

    [general] . .. ... register => login:MotDePasse@operateur /numro

    Exemple

    register => 0872123456:[email protected] /numro

    Ici, la fonction "register" permet d'enregistrer le serveur Asterisk chez l'oprateur 'prestataire.fr' avec le login '0872123456' et le mot de passe 'poseidon'.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 30

  • Variables prdfinis

    Dans le but de simplifier la configuration du DialPlan, Asterisk dispose d'un certain nombre de variables.

    Une variable est toujours exprime en MAJUSCULES.Pour appeler une variable, on utilise la syntaxe suivante:

    ${NomDeLaVariable} Le nom est en Majuscules

    Voici quelques variables intressantes, utilisables dans le plan de numrotation (extensions.conf). Il est galement possible de dfinir ses propres variables:

    ${CALLERID(num)} : Numro de l'appelant

    ${CALLERID(name)} : Nom de l'appelant

    ${CALLERID(all)} : Nom et numro de l'appelant

    ${CONTEXT} : Contexte courant lors de l'appel cette variables

    ${TIMESTAMP} : Date et heure courants en format AAAAMMJJHHMMSS

    ${EXTEN} : Numro de l'extension courante

    ${EXTEN}:N : Numro de l'extension courante avec N caractres en moins

    Prise en main d'Asterisk - v13032 Jean GAUTIER 31

  • Rgles de filtrage d'appels

    Pour dfinir des rgles de filtrage dappels sans avoir dfinir une rgle par appel, on utilise des mta caractres prdfinis.

    Ces mta caractres s'appellent des motifs.

    Pour indiquer Asterisk de ne pas tenir compte de ces derniers en tant qu'extension, il faut les prcder d'un underscore (_).

    Les motifs :

    X (en majuscule) reprsente tout chiffre de 0 9

    Z (en majuscule) reprsente tout chiffre de 1 9

    N (en majuscule) tout chiffre de 2 9

    [135] reprsente un chiffre parmi ceux entre crochets

    [1-4] reprsente un chiffre compris entre 1 et 4

    . ''point'' reprsente un ou plusieurs caractres.

    On peut reprsenter les appels vers l'tranger par ''_00.''

    On peut reprsenter les appels en rgion parisienne par ''_01. '' ou ''_01XXXXXXXX''

    Exemple 1

    exten => _1XX,1,Answer exten => _1XX,2,Dial(SIP/${EXTEN},15,r) exten => _1XX,3,Hangup

    Ici on intercepte tout appel dont le numro est compos de trois chiffres, et dont le premier chiffre est '1'.

    Avec le motif '1XX' Asterisk traite tout appel vers les numros de 100 199.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 32

  • Exemple 2

    exten => _0XXXXXXXXX,1,Dial(SIP/${EXTEN}@sortant) exten => _0XXXXXXXXX,2,Hangup

    Ici tout appel vers un numro de 10 chiffres, commenant par '0' sera compos en utilisant le canal de sortie '[sortant]' dfini dans le fichier 'sip.conf'.

    Exemple 3

    exten => _06XXXXXXXX,1,Dial(SIP/${EXTEN}@operateur) exten => _06XXXXXXXX,2,Hangup

    Ici on traite tout appel vers un numro de portable GSM commenant par 06.

    Exemple 4

    Dans l'exemple suivant, c'est le filtre 'CALLERID(num)' qui est utilis.

    Le DialPlan renvoie tout appel en provenance du numro 0141261234 vers le fichier son 'nondispo' puis raccroche.

    Tout autre appel est dirig vers le fichier son 'accueil'.

    exten => s,1,GotoIf($[${CALLERID(num)}=0141261234]?20:10) exten => s,10,Backround(accueil) ../..exten => s,20,Background(nondispo) exten => s,21,Hangup(

    Le numro de priorit '20' est utilis quand la condition est vrifie et le numro '10', dans le cas contraire.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 33

  • Mise en application simple d'Asterisk

    Exemple 1 - Une configuration avec d eux postes en interne

    Cette configuration simple permet de dfinir deux postes tlphonique SIP en interne.

    Le premier possde le numro d'appel '101' et le deuxime '102'. Le poste 101 est affect l'utilisateur Pierre, le 102 est affect Marie. Le poste appel sonnera pendant 10 secondes avant de basculer l'appelant sur la

    boite vocale (rpondeur).

    Fichier sip.conf pour dfinir les postes.

    [general] port = 5060 indique le numro de port du protocole SIPcontext=labo indique le nom de contexte utilis par dfautlocalnet=10.0.0.0/255.255.255.0 indique le rseau local o opre Asterisk allow=ulaw spcifie le (ou les) Codec utilis

    [101] nom d'un compteusername=100 nom de l'utilisateur associ au comptetype=friend mode de fonctionnement host=dynamic indique le mode d'adresse IP utiliscallerid="Pierre" configure l'identifiant du postemailbox=101@labo associe la boite vocale 101 au compte [101]

    [marie] nom du compteusername=101 type=friend host=dynamic callerid="Marie" mailbox=102@labo

    Prise en main d'Asterisk - v13032 Jean GAUTIER 34

  • Fichier extensions.conf pour dfinir le plan de numrotation.

    [general] static=yes le plan de numrotation n'est pas modifiable en CLI

    [labo] exten => 101,1,Dial(SIP/101,10) fait sonner le compte SIP '101' pendant 10 secondesexten => 101,2,Voicemail(101) renvoie l'appelant vers la boite vocale 101exten => 101,3,Hangup raccroche et libre le canal

    exten => 102,1,Dial(SIP/marie,10) fait sonner le compte SIP 'marie'exten => 102,2,Voicemail(102) exten => 102,3,Hangup

    Fichier voicemail.conf pour dfinir les boites vocales des postes.

    [general]

    [zonemessages]paris = Europe/Paris|'vm-received' Q 'digits/at' R personnalise la gestion des 'locales'

    [labo]101 => 1234,Pierre KIROUL,[email protected] associe le code 1234 la B.V. 101 de Pierre102 => 1234,Marie ELEN,[email protected]

    Prise en main d'Asterisk - v13032 Jean GAUTIER 35

  • E xemple 2 - Deux postes en interne, un trunk oprateur SIP

    Dans cet exemple, on configure un IPBX Asterisk pour grer deux tlphones.

    On utilise un trunk sip de l'oprateur 'xyz' (login=jean, mot de passe=poseidon, numro=0141231234).

    Les appels sont orients vers un menu invitant appuyer sur 1 pour joindre 'Pierre' et '2' pour joindre 'Marie'.

    Les appels vers les portables et les numros commenant par '089' ncessitent un mot de passe.

    Les appels vers les numros spciaux '0836' seront impossibles.

    Si un poste rpond pas, l'appelant peut laisser un message dans la boite vocale.

    Fichier sip.conf

    [general] context=labobindport=5060 language=fr allow=alawregister => jean:poseidon@xyz/0141231234 [operateur] type=peer nat=yeshost=xyz username=jean fromuser=jean secret=poseidon fromdomain=xyz

    [pierre]host=dynamictype=peerusername=pierrecallerid=pierre mailbox=pierre@labo

    Prise en main d'Asterisk - v13032 Jean GAUTIER 36

  • [marie]host=dynamictype=peernat=nousername=mariecallerid=marie mailbox=marie@labo

    Fichier extensions.conf

    [general] static=yes

    [labo] include=interne permet d'inclure le contexte [interne]include=sortant permet d'inclure le contexte [sortant] exten => s,1,Answer rpond l'appelexten => s,n,Background(accueil) fait entendre le message d'accueilexten => s,n,Set(TIMEOUT(response)=15) fixe une temporisation d'attente (15 secondes)exten => s,n,WaitExten() attend le temps de la temporisationexten => s,n, Goto(labo,s,2) retourne au message d'accueil

    exten => 1,1,Goto(interne,101,1) si appui sur 1, va l'extension 101,1exten => 2,1,Goto(interne,102,1) si appui sur 2, va l'extension 102,1

    exten => i,1,Playback(numeroIncorrect) au cas ou choix autre que 1 ou 2exten => i,2,Goto(labo,s,2) retourne au message d'accueil

    exten => t,1, Goto(labo,s,2) retourne au message d'accueil

    [interne] exten => 101,1,Dial(sip/pierre,15)exten => 101,2,Voicemain(101@labo) exten => 101,3,Hangup

    exten => 102,1,Dial(sip/marie,15) exten => 102,2,Voicemain(102@labo) exten => 102,3,Hangup

    Prise en main d'Asterisk - v13032 Jean GAUTIER 37

  • [sortant] ;Appel vers les poste fixesexten => _0XXXXXXXXX,1,Dial(SIP/${EXTEN}@operateur) compose le numro demand au exten => _0XXXXXXXXX,n,Hangup travers du trunk [operateur]

    ;Appel vers les portables, avec mot de passe '1234'exten => _06XXXXXXXX,1,Authenticate(1234) exige le code pin '1234'exten => _06XXXXXXXX,n,Dial(SIP/${EXTEN}@operateur) exten => _06XXXXXXXX,n,Hangup

    ;Appel vers les numeros spciaux , avec mot de passe '1234'exten => _089.,1,Authenticate(1234) exten => _089.,n,Dial(SIP/${EXTEN}@trunk-xyz) exten => _089.,n,Hangup

    exten => _0836.,1,Playback(numero-interdit)exten => _0836.,2,Hangup

    Fichier voicemail.conf

    [labo] 101 => 1234101 => 1234

    Prise en main d'Asterisk - v13032 Jean GAUTIER 38

  • Annexe 1 - Les commandes CLI ! - Execute a shell command

    abort halt - Cancel a running halt

    cdr status - Display the CDR status

    feature show - Lists configured features

    feature show channels - List status of feature channels

    file convert - Convert audio file

    group show channels - Display active channels with group(s)

    help - Display help list, or specific help on a command

    indication add - Add the given indication to the country

    indication remove - Remove the given indication from the country

    indication show - Display a list of all countries/indications

    keys init - Initialize RSA key passcodes

    keys show - Displays RSA key information

    local show channels - List status of local channels

    logger mute - Toggle logging output to a console

    logger reload - Reopens the log files

    logger rotate - Rotates and reopens the log files

    logger show channels - List configured log channels

    meetme - Execute a command on a conference or conferee

    mixmonitor - Execute a MixMonitor command.

    moh reload - Music On Hold

    moh show classes - List MOH classes

    moh show files - List MOH file-based classes

    no debug channel: Dsactive le dbogage sur un canal.

    originate - Originate a call

    realtime load - Used to print out RealTime variables.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 39

  • realtime update - Used to update RealTime variables.

    restart gracefully - Restart Asterisk gracefully

    restart now - Restart Asterisk immediately

    restart when convenient - Restart Asterisk at empty call volume

    sla show - Show status of Shared Line Appearances

    soft hangup - Request a hangup on a given channel

    stop gracefully - Gracefully shut down Asterisk

    stop now - Shut down Asterisk immediately

    stop when convenient - Shut down Asterisk at empty call volume

    stun debug - Enable STUN debugging

    stun debug off - Disable STUN debugging

    udptl debug - Enable UDPTL debugging

    udptl debug ip - Enable UDPTL debugging on IP

    udptl debug off - Disable UDPTL debugging

    Exit: Quitte Asterisk.

    Quit: Quitte Asterisk.

    Extensions reload: Recharge les extensions.

    Reload: Recharge la configuration.

    Help Display: Affiche laide sur Asterisk.

    Les commandes AEL

    ael debug contexts - Enable AEL contexts debug (does nothing)

    ael debug macros - Enable AEL macros debug (does nothing)

    ael debug read - Enable AEL read debug (does nothing)

    ael debug tokens - Enable AEL tokens debug (does nothing)

    ael nodebug - Disable AEL debug messages

    ael reload - Reload AEL configuration

    Agents commands

    Prise en main d'Asterisk - v13032 Jean GAUTIER 40

  • agent logoff - Sets an agent offline

    agent show - Show status of agents

    agent show online - Show all online agents

    Les commandes AGI

    agi debug - Enable AGI debugging

    agi debug off - Disable AGI debugging

    agi dumphtml - Dumps a list of agi commands in html format

    agi show- List AGI commands or specific help

    dnsmgr reload - Reloads the DNS manager configuration

    dnsmgr status - Display the DNS manager status

    http show status - Display HTTP server status

    Les commandes console

    console active - Sets/displays active console

    console answer - Answer an incoming console call

    console autoanswer - Sets/displays autoanswer

    console boost - Sets/displays mic boost in dB

    console dial - Dial an extension on the console

    console flash - Flash a call on the console

    console hangup - Hangup a call on the console

    console mute - Disable mic input

    console send text - Send text to the remote device

    console transfer - Transfer a call to a different extension

    console unmute - Enable mic input

    Les commandes "core"

    core clear profile - Clear profiling info

    core set debug channel - Enable/disable debugging on a channel

    core set debug - Set level of debug chattiness

    core set debug off - Turns off debug chattiness

    Prise en main d'Asterisk - v13032 Jean GAUTIER 41

  • core set global - Set global dialplan variable

    core set verbose - Set level of verboseness

    core show applications - Shows registered dialplan applications

    core show application - Describe a specific dialplan application

    core show audio codecs - Displays a list of audio codecs

    core show channels - Display information on channels

    core show channel - Display information on a specific channel

    core show channeltypes - List available channel types

    core show channeltype - Give more details on that channel type

    core show codecs - Displays a list of codecs

    core show codec - Shows a specific codec

    core show config mappings - Display config mappings (file names to config engines)

    core show file formats - Displays file formats

    core show file version - List versions of files used to build Asterisk

    core show functions - Shows registered dialplan functions

    core show function - Describe a specific dialplan function

    core show globals - Show global dialplan variables

    core show hints - Show dialplan hints

    core show image codecs - Displays a list of image codecs

    core show image formats - Displays image formats

    core show license - Show the license(s) for this copy of Asterisk

    core show profile - Display profiling info

    core show switches - Show alternative switches

    core show threads - Show running threads

    core show translation - Display translation matrix

    core show uptime - Show uptime information

    core show version - Display version info

    core show video codecs - Displays a list of video codecs

    Prise en main d'Asterisk - v13032 Jean GAUTIER 42

  • core show warranty - Show the warranty (if any) for this copy of Asterisk

    Les commandes de base de donne

    database del - Removes database key/value

    database deltree - Removes database keytree/values

    database get - Gets database value

    database put - Adds/updates database value

    database show - Shows database contents

    database showkey - Shows database contents

    Les commandes "Dialplan"

    dialplan add extension - Add new extension into context

    dialplan add ignorepat - Add new ignore pattern

    dialplan add include - Include context in other context

    dialplan reload - Reload extensions and *only* extensions

    dialplan remove extension - Remove a specified extension

    dialplan remove ignorepat - Remove ignore pattern from context

    dialplan remove include - Remove a specified include from context

    dialplan save - Save dialplan

    dialplan show - Show dialplan

    Les commandes "DUNDI"

    dundi debug - Enable DUNDi debugging

    dundi flush - Flush DUNDi cache

    dundi lookup - Lookup a number in DUNDi

    dundi no debug - Disable DUNDi debugging

    dundi no store history - Disable DUNDi historic records

    dundi precache - Precache a number in DUNDi

    dundi query - Query a DUNDi EID

    dundi show entityid - Display Global Entity ID

    dundi show mappings - Show DUNDi mappings

    dundi show peers - Show defined DUNDi peers

    dundi show peer - Show info on a specific DUNDi peer

    Prise en main d'Asterisk - v13032 Jean GAUTIER 43

  • dundi show precache - Show DUNDi precache

    dundi show requests - Show DUNDi requests

    dundi show trans - Show active DUNDi transactions

    dundi store history - Enable DUNDi historic records

    Les commandes "GTalk" & "Jabber"

    gtalk reload - Enable Jabber debugging

    gtalk show channels - Show GoogleTalk Channels

    jabber debug - Enable Jabber debugging

    jabber debug off - Disable Jabber debug

    jabber reload - Enable Jabber debugging

    jabber show connected - Show state of clients and components

    jabber test - Shows roster, but is generally used for mog's debugging.

    Les commandes "IAX2"

    iax2 provision - Provision an IAX device

    iax2 prune realtime - Prune a cached realtime lookup

    iax2 reload - Reload IAX configuration

    iax2 set debug - Enable IAX debugging

    iax2 set debug jb - Enable IAX jitterbuffer debugging

    iax2 set debug jb off - Disable IAX jitterbuffer debugging

    iax2 set debug off - Disable IAX debugging

    iax2 set debug trunk - Enable IAX trunk debugging

    iax2 set debug trunk off - Disable IAX trunk debugging

    iax2 show cache - Display IAX cached dialplan

    iax2 show channels - List active IAX channels

    iax2 show firmware - List available IAX firmwares

    iax2 show netstats - List active IAX channel netstats

    iax2 show peers - List defined IAX peers

    iax2 show peer - Show details on specific IAX peer

    Prise en main d'Asterisk - v13032 Jean GAUTIER 44

  • iax2 show provisioning - Display iax provisioning

    iax2 show registry - Display IAX registration status

    iax2 show stats - Display IAX statistics

    iax2 show threads - Display IAX helper thread info

    iax2 show users - List defined IAX users

    iax2 test losspct - Set IAX2 incoming frame loss percentage

    Les commandes "Manager"

    manager show command - Show a manager interface command

    manager show commands - List manager interface commands

    manager show connected - List connected manager interface users

    manager show eventq - List manager interface queued events

    manager show users - List configured manager users

    manager show user - Display information on a specific manager user

    Les commandes "MGCP"

    mgcp audit endpoint - Audit specified MGCP endpoint

    mgcp reload - Reload MGCP configuration

    mgcp set debug - Enable MGCP debugging

    mgcp set debug off - Disable MGCP debugging

    mgcp show endpoints - List defined MGCP endpoints

    La gestion des modules

    module load - Load a module by name

    module reload - Reload configuration

    module show - List modules and info

    module show like - List modules and info

    module unload - Unload a module by name

    Les commandes PRI (numris)

    pri debug span - Enables PRI debugging on a span

    pri intense debug span - Enables REALLY INTENSE PRI debugging

    Prise en main d'Asterisk - v13032 Jean GAUTIER 45

  • pri no debug span - Disables PRI debugging on a span

    pri set debug file - Sends PRI debug output to the specified file

    pri show debug - Displays current PRI debug settings

    pri show spans - Displays PRI Information

    pri show span - Displays PRI Information

    pri unset debug file - Ends PRI debug output to file

    Les commandes de files d'attentes

    queue add member - Add a channel to a specified queue

    queue remove member - Removes a channel from a specified queue

    queue show - Show status of a specified queue

    rtcp debug ip - Enable RTCP debugging on IP

    rtcp debug - Enable RTCP debugging

    rtcp debug off - Disable RTCP debugging

    rtcp stats - Enable RTCP stats

    rtcp stats off - Disable RTCP stats

    rtp debug ip - Enable RTP debugging on IP

    rtp debug - Enable RTP debugging

    rtp debug off - Disable RTP debugging

    say load - Set/show the say mode

    show parkedcalls - Lists parked calls

    show queue - Show information for target queue

    show queues - Show the queues

    Les commandes "SIP"

    sip history - Enable SIP history

    sip history off - Disable SIP history

    sip notify - Send a notify packet to a SIP peer

    sip prune realtime - Prune cached Realtime object(s)

    sip prune realtime peer - Prune cached Realtime peer(s)

    Prise en main d'Asterisk - v13032 Jean GAUTIER 46

  • sip prune realtime user - Prune cached Realtime user(s)

    sip reload - Reload SIP configuration

    sip set debug - Enable SIP debugging

    sip set debug ip - Enable SIP debugging on IP

    sip set debug off - Disable SIP debugging

    sip set debug peer - Enable SIP debugging on Peername

    sip show channels - List active SIP channels

    sip show channel - Show detailed SIP channel info

    sip show domains - List our local SIP domains.

    sip show history - Show SIP dialog history

    sip show inuse - List all inuse/limits

    sip show objects - List all SIP object allocations

    sip show peers - List defined SIP peers

    sip show peer - Show details on specific SIP peer

    sip show registry - List SIP registration status

    sip show settings - Show SIP global settings

    sip show subscriptions - List active SIP subscriptions

    sip show users - List defined SIP users

    sip show user - Show details on specific SIP user

    Les commandes "Skinny"

    skinny reset - Reset Skinny device(s)

    skinny set debug - Enable Skinny debugging

    skinny set debug off - Disable Skinny debugging

    skinny show devices - List defined Skinny devices

    skinny show lines - List defined Skinny lines per device

    Les commandes des B.V.

    voicemail show users - List defined voicemail boxes

    voicemail show users for - List defined voicemail boxes for target context

    Prise en main d'Asterisk - v13032 Jean GAUTIER 47

  • voicemail show zones - List zone message formats

    Les commandes "Zaptel"

    zap destroy channel - Destroys a channel

    zap restart - Fully restart zaptel channels

    zap show cadences - List cadences

    zap show channels - Show active zapata channels

    zap show channel - Show information on a channel

    zap show status - Show all Zaptel cards status

    Quelques commandes supplmentaires

    Include context: Inclut un contexte dans un autre contexte.

    Init keys: Initialise les cls RSA.

    Local show channels: Affiche ltat dun canal local.

    Logger reload: Ouvre les fichiers logs.

    Meetme: Excute une commande sur une confrence.

    Pri debug span: Active le dbogage PRI sur un span.

    Pri intense debug span: Active le dbogage PRI intense sur un span.

    Pri no debug span: Dsactive le dbogage PRI sur un span.

    Pri show span: Affiche les Information PRI.

    Remove extension: Supprime une extension spcifie.

    Remove indication: Supprime lindication donne du pays.

    Remove queue member: Supprime un canal dune fille dattente donne.

    Restart gracefully: Redmarre Asterisk gracieusement.

    Restart now: Redmarre Asterisk immdiatement.

    Restart when convenient: Redmarre Asterisk quand le volume devient nul.

    Show audio codecs: Affiche les codecs audio.

    Show channels: Affiche les informations dun canal.

    Show channel: Affiche les informations dun canal spcifique.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 48

  • Show codecs: Affiche les codecs.

    Show codec: Affiche un codec spcifique.

    Show conferences: Afficher ltat dune confrence.

    Show config handles: Affiche les Config Handles.

    Show dialplan: Affiche le plan de numrotation.

    Show file formats: Affiche le format des.

    Show image codecs: Affiche les codecs image.

    Show image formats: Affiche les formats dimage.

    Show indications: Affiche une liste des pays ou des indications.

    Show keys: Affiche les informations de la cl RSA.

    Show manager command: Affiche les commande du manager.

    Show manager commands: Affiche les commandes du manager.

    Show manager connected: Affiche les utilisateurs du manager connects.

    Show modules: Liste les modules et les info.

    Show parkedcalls: Liste les appels parqus.

    Show queue: Affiche ltat dune file dattente.

    Show queues: Affiche ltat des files dattente.

    Show switches: Affiche les switches alternatifs.

    Show translation: Affiche la matrice de traduction.

    Show video codecs: Affiche les codecs video.

    Show voicemail users: Liste les boites vocales dfinies.

    Show voicemail zones : Liste les formats de messages vocaux.

    Soft hangup: Demande de raccrocher un canal donn.

    Stop gracefully: Arrte asterisk gracieusement.

    Stop now: Arrte Asterisk immdiatement.

    Stop when convenient: Arrter asterisk quand le volume dappels est nul.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 49

  • Annexe 2 Configuration d'exemple

    Fichier 'sip.conf'[general] context=default srvlookup=yes defaultexpirey=1800 bindport=5060 ; Port UDP par dfaut du protocole SIP bindaddr=0.0.0.0 ; Adresse IP utilises exterhost=mondomaine.local ; Nom DNS utilisable l'extrieur localnet=192.168.1.0/24 ; Adresse des rseaux correspondant aux postes disallow=all ; Dsactive tous les codecs ;allow=g729 ; Active le codec G729 allow=alaw ; Active le codec G711 alaw allow=ulaw ; Active le codec G711 ulaw language=fr ; Langage utilis par dfaut (par les applications) dtmfmode=rfc2833 ; Mode dtmf rfc2833compensate=yes ; Amliore la gestion DTMF useragent=PABX Asterisk ; Chane d'identification du serveur realm=2ip.local ; Chane d'identification du domaine videosupport=no ; Supporte la transmission de vidos t38pt_udptl=no ; Supporte la transmission et rception de fax progressinband=no ; Indique l'tat du canal en mode 'inband' notifyringing=yes ; Ncessaire pour la supervision BLF notifyhold=no ; " " " " " subscribecontext=blf ; " " " " " qualify=yes ; Active la supervision poste par messages SIP careinvite=no ; Pour que le serveur renvoi les messages 'Invite ' (no si NAT) callevents=yes ; Gre les vnements d'administration (utile pour FOP) recordhistory=yes ; Pour activer l'historique des canaux SIP progressinband=yes ; Pour permettre le renvoi d'appel vers un appel Ext allowguest=no ; Autorise tout appel non identifi

    ;============================== ;Enregistrements des trunks SIP ;============================== register => login:MotDePasse@operateur-sip/0141261234

    ;================================= ; Declarations des faisceaux SIP ;================================= [operateur-sip] host=operateur.local ; Nom du domaine correspondant au trunk defaultuser=login ; Nom de l'utilisateur du trunk secret=MotdePasse ; Mot de passe fromuser=login ; Nom du compte du trunk fromdomain=operateur.local ; Nom du domaine correspondant au trunk insecure=port,invite type=friend

    Prise en main d'Asterisk - v13032 Jean GAUTIER 50

  • ;====================== ;Dclaration des postes ;====================== [postes](!) host=dynamic nat=no call-limit=2 pickupgroup=1 callgroup=1 type=friend

    [100](postes) callerid=Mobile secret=poseidon defaultuser=Mobile mailbox=100@default

    [101](postes) callerid=Pierre defaultuser=Pierre mailbox=101@default

    [102](postes) callerid=Marie defaultuser=Marie mailbox=102@default

    [103](postes) callerid=Paul defaultuser=Paul mailbox=103@default .... [140](postes) callerid=Jean GAUTIER defaultuser=140 mailbox=140@default secret=poseidon

    Fichier 'extensions.conf'[general] static = yes writeprotect = no ;Le dialpan n'est pas modifiable par le cli autofallthrough = yes ;Permet de raccrocher automatiquement le canal clearglobalvars = yes ;Les variables sont effaces chaque boot priorityjumping = yes userscontext = default defaultexpirey = 1800

    Prise en main d'Asterisk - v13032 Jean GAUTIER 51

  • [globals] DYNAMIC_FEATURES => automon ;Permet l'enregistrement des appels

    [default] include => enregistre include => conferences include => parkedcalls

    ; Gestion des postes exten => _1XX,1,Answer ;Rpond l'appel exten => _1XX,n,Dial(SIP/${EXTEN},15,DtTmw) ;Appel l'argument saisi pendant 15 s exten => _1XX,n,Voicemail(${EXTEN}@default) ;Renvoi l'appelant sur la B.V. de l'appel exten => _1XX,n,Hangup ;Libre le canal en raccrochant

    ; Appels sortants nationaux exten => _0XXXXXXXXX,1,Set(CALLERID(num)=0141261234) exten => _0XXXXXXXXX,n,Dial(SIP/${EXTEN}@operateur-sip,,TrgDWL(3000000)) exten => _0XXXXXXXXX,n,Congestion exten => _0XXXXXXXXX,n,Hangup ; ; Appels vers les portables, avec une dure limiteexten => _06XXXXXXXX,1,Set(CALLERID(num)=0141261234) exten => _06XXXXXXXX,n,Authenticate(5646) exten => _06XXXXXXXX,n,Dial(SIP/${EXTEN}@operateur-sip,,TrgDWL(300000)) exten => _06XXXXXXXX,n,Hangup

    ; Appels services spciaux exten => _ZXXX,1,Dial(SIP/${EXTEN}@operateur-sip,,tTrgDwW) exten => _ZXXX,n,Congestion exten => _ZXXX,n,Hangup

    ;Appels vers les services d'urgences exten => _1X,1,Dial(SIP/${EXTEN}@operateur-sip,,tTrR) exten => _1X,n,Hangup

    ; Appels des N interdits exten => _089.,1,Authenticate(5646) exten => _089.,n,Dial(SIP/${EXTEN}@operateur-sip,,tTrgD) exten => _089.,n,Hangup

    exten => _0836.,1,Hangup

    ; Acces direct messagerie exten => 930,1,Answer() exten => 930,n,VoiceMailMain(${CALLERID(num)}@default) exten => 930,n,Hangup

    Prise en main d'Asterisk - v13032 Jean GAUTIER 52

  • ; Accs global au serveur B.V. exten => 950,1,Answer() exten => 950,n,VoicemailMain exten => 950,n,Hangup

    ; Horloge parlante exten => 777,n,SayUnixTime(,CET,kM) exten => 777,n,Hangup

    ; interception d'appel - faire le prfixe 916 puis numro de poste a intercepter exten => 916XXX,1,Pickup(${EXTEN:3})

    ; Gestion des appels entrants exten => _0141261234,1,Set(TIMEOUT(digit)=3) ;Fixe la dure d'appui sur les touches exten => _0141261234,n,Set(TIMEOUT(response)=10) ;Fixe un dlais d'attente maxi pour l'appui exten => _0141261234,n,Dial(SIP/101&SIP/102,20,dwtm) ;Fait sonner deux postes exten => _0141261234,n,Voicemail(101@default) ;Renvoie vers la B.V. exten => _0141261234,n,Hangup

    [enregistre] exten => 50,1,Answer exten => 50,n,Record(/var/tmp/son-%d:ulaw,3) exten => 50,n,Hangup()

    [conferences] exten => 901,1,Answer exten => 901,2,Wait(1) exten => 901,3,macro(conference,901,901)

    [macro-conference] ; ${ARG1} - Numro de la salle de conf ; ${ARG2} - Pin associ exten => s,1,NoOp(${DATETIME}) exten => s,n,Answer exten => s,n,NoOp(entre en conference en salle #${ARG1}) exten => s,n,Playback(conference-call) exten => s,n,SayDigits(${ARG1}) exten => s,n,Authenticate(${ARG2}) exten => s,n,Playback(conf-youareinconfnum) exten => s,n,SayDigits(${ARG1}) exten => s,n,Playback(conf-thereare) exten => s,n,MeetMeCount(${ARG1}) exten => s,n,Playback(conf-peopleinconf) exten => s,n,MeetMe(${ARG1},Mcps) exten => s,n,MeetMe(${ARG1},pvdMa) exten => s,n,Playback(vm-goodbye) exten => s,n,Hangup

    Prise en main d'Asterisk - v13032 Jean GAUTIER 53

  • Prise en main d'Asterisk - v13032 Jean GAUTIER 54

  • Annexe 3 Configuration diverses

    1 - Cration d'un filtre d'appel en fonction de l'heure et du jour.

    Un rpondeur vocal qui oriente l'appelant en fonction du jour et de l'heure d'appel en alimentant une variable.En fonction de l'heure et du jour, une variable portant le nom 'open' ou 'closed' est cre.

    Si l'appel arrive du Lundi au Vendredi, de 9H00 18H00, la variable sera 'open'. Si l'appel arrive en dehors de cette plage, la variable sera 'closed'.

    Ensuite, la variable est lue, si la valeur est 'open', l'appel est dirig vers le poste du standard, sinon, l'appel basculera vers la boite vocale.

    [entrant]exten => s,1,Answerexten => s,n,Set(HEURE=${IFTIME(08:59-17:59,mon-fri,*,*?open:closed)}) cr la variable en fonction de la priodeexten => s,n,GotoIf($[${HEURE}=open]?10:20) dirige en fonction de la variable

    exten => 10,1,Goto(standard,100,1) dirige vers le standard (poste SIP/100)exten => 20,1,Goto(standard,100,2) dirige vers le rpondeur [standard]exten => 100,1,Dial(SIP/100)exten => 100,2,Voicemail(100@labo)exten => 100,1,Hangup

    2 - Cration d'un filtre d'appel en fonction du numro de l'appelant

    Ici on filtre simplement un numro connu l'avance

    exten => 101/0142182633,1,Congestion si l'appelant est 0112182633, il entendra la tonalit 'occup'exten => 101,1,Dial(SIP/101,15) tout autre appelant fera sonner le poste 101exten => 101,2,Hangup

    3 - Cration d'un test simple de ligne occupe

    Ici si l'appel est en ligne, l'appelant entendra son message correspondant au mode 'occup, si l'appel est absent, l'appelant ' entendra son message correspondant au mode 'absent'.

    Il est possible de crer deux messages pour la B.V. :

    un message 'occup (busy)

    un message 'indisponible (unavailable)

    En jouant sur l'instruction 'n+101' et sur les deux types de messages de la boite vocale, on pourra orienter l'appel vers un message 'occup ou indisponible (b101 ou u101).

    exten => 101,1,Dial(SIP/101,15)exten => 101,2,Voicemail(u101@labo) on oriente l'appelant vers le message Unavailableexten => 101,102,Voicemail(b101@labo] on oriente l'appelant vers le message Busy

    Prise en main d'Asterisk - v13032 Jean GAUTIER 55

  • Annexe 4 - Installation Asterisk sous Debian

    Pr-requis

    Cette procdure dcrit les tapes permettant l'installation des applications et pilotes utiliss pour dployer le service Asterisk sur une machine serveur Linux Debian.

    Pour cette prsentation, j'utilise une machine virtuelle Linux serveur sur laquelle je suis connect en SSH, afin de pouvoir utiliser le copier/coller facilement.

    Cette machine est une Debian GNU/Linux 6.0.6 (squeeze) avec noyau Linux debian 2.6.32-5-amd64.

    La machine idale devra rsoudre des noms FQDN et disposera d'un pare-feu.

    Toutes les oprations ncessitent d'tre connect en tant qu'utilisateur 'root'.

    Pour tre certain de disposer des dernires versions stables d'Asterisk, il est impratif d'installer partir des sources.

    Linstallation depuis les fichiers sources permettra en outre la slection des options et modules de configuration que nous souhaitons utiliser.

    Prcisions

    Asterisk permet de s'interfacer sur les rseaux de tlphonie traditionnels, mais requiert pour cela des pilotes et librairies qui ne sont pas intgrs par dfaut sous Linux.

    Libpri (Basic Rate Interface) est une librairie permettant la prise en charge de fonctions de signalisation pour les rseaux et postes tlphoniques RNIS (Rseau numrique intgration de services).

    Prise en main d'Asterisk - v13032 Jean GAUTIER 56

  • Dahdi (Digium/Asterisk Hardware Device Interface) permet la prise en charge de cartes d'interfaces aux rseaux et postes analogiques RTC (rseau tlphonique commut).

    Mme si on utilise ni les rseaux RTC, RNIS, ni les cartes d'interfaces, ces pilotes sont absolument ncessaires pour profiter de certaines fonctionnalits d'Asterisk, comme la musique d'attente (fonctions moh) ou les confrences.

    Prparation du serveur

    L'installation ncessite que les sources du noyau GNU Linux ainsi que les outils ncessaires la compilation, soient prsents.

    Nous allons donc commencer par 'prparer' la machine.

    Mise a jour de l'indexation des paquets a partir des sites sources

    apt-get update

    Installer le ''kit de compilation'' Linux

    Le meta-packet "build-essential" fournit les compilateurs C et C++, les librairies et outils ncessaires au dveloppement.

    apt-get install build-essential

    Installation des en-ttes du noyau

    apt-get install linux-headers-`uname -r`

    uname -r permet de connatre la version de noyau utilis .Attention: le sigle ` est l'anti-cte.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 57

  • Installation des fichiers ncessaires l'installation Toujours en utilisant 'apt-get install', installer les paquets suivants:

    apt-get install libncurses5-dev

    apt-get install libssl-dev

    apt-get install libnewt-dev

    apt-get install zlib1g-dev

    apt-get install procps

    apt-get install binutils

    apt-get install libxml2-dev

    apt-get install libsqlite3-dev

    Installation des codecs et utilitaires audio

    Afin de pouvoir utiliser les musiques d'attente au format Mpeg3 (mp3), il faut installer le programme player mpg123.

    apt-get install mpg123

    Installer les librairies son et le programme 'sox'

    Sox est un outil de conversion pour transformer tout type de fichiers son.

    apt-get install sox

    apt-get install libspeex-dev

    apt-get install libogg-dev

    apt-get install libvorbis-dev

    Prise en main d'Asterisk - v13032 Jean GAUTIER 58

  • Tlchargement des paquets Asterisk, Dahdi et des librairies

    Vous trouverez lensemble des paquets le site de tlchargement de DIGIUM :

    http://downloads.asterisk.org/pub/telephony/

    Nous avons besoin de ''dahdi'', ''Asterisk'' et ''libpri''

    Prise en main d'Asterisk - v13032 Jean GAUTIER 59

  • Je me place directement dans le dossier /usr/src de mon serveur Linux.

    Avec la commande 'wget', je tlcharge directement les fichiers depuis le serveur Digium.

    Remplacez 'xx' par le numro correspondant la version installer.

    cd /usr/src

    Commenons par le programme Asterisk.

    wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-xx-current.tar.gz

    Prise en main d'Asterisk - v13032 Jean GAUTIER 60

  • Poursuivons avec 'libpri'

    wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-xx.tar.gz

    Et terminons avec 'Dahdi'

    wget

    http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz

    Prise en main d'Asterisk - v13032 Jean GAUTIER 61

  • Dsarchivage des fichiers archives

    Listez les noms de fichiers obtenus de faon a bien reprer leurs noms.

    Dsarchivez les fichiers obtenus avec la commande 'tar zxvf nom_du_fichier.tar.gz'

    Exemple

    tar zxvf libpri-xx-current.tar.gz

    tar zxvf dahdi-linux-complete-current.tar.gz

    tar zxvf asterisk-xx-current.tar.gz

    Une fois les archives dcompactes, on trouvera un ensemble de nouveaux dossiers, ressemblant ceci:

    Prise en main d'Asterisk - v13032 Jean GAUTIER 62

  • Installation des applications

    Toujours en prenant garde lister les noms de dossiers obtenus, se placer tour tour dans chaque dossier pour procder aux installations.

    J'installe dans l'ordre suivant, c'est trs important:

    1. libpri

    2. dahdi

    3. asterisk

    Installation de 'libpri'

    cd libpri-xx-current (remplacer xx par la version installe)

    make (procde la compilation des modules)

    make install (procde l'installation de l'application)

    Installation de 'dahdi'

    cd ../dahdi-linux ... (adapter en fonction de la version installe)

    make all

    make install

    make config

    Un certain nombre d'erreurs vont dfiler l'cran, ceci est normal.

    La dernire action rpondra par 'No hardware found ' puisqu'il n'y a pas de carte

    d'interface de tlphonie dans notre machine.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 63

  • Installation d'Asterisk

    Pour prparer l'installation du programme Asterisk, un grand nombre d'opration doivent tres verifies, voici comment faire :

    cd ../asterisk-x.x-current (A adapter en fonction de la version installe)

    ./configure (Vrifie les prs-requis et prpare le terrain)

    Cette tape est dcisive, si elle s'achve correctement, vous verrez le logo Asterisk en caractre dimprimerie, sinon, il faudra revoir votre procdure et recommencer.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 64

  • Important

    Il faut dsormais dfinir en fonction des quipements et liens vers les oprateurs que nous souhaitons utiliser, quels sont les Codecs son dont nous avons besoin, les applications et fonctions que nous souhaitons utiliser, etc ...

    J'utilise par exemple les sons en version Franaise, cods avec le Codec 'alaw' (G711a).

    C'est lopration 'menuselect'

    make menuselect (pour slectionner les modules installer)

    Nous allons ici devoir slectionner les fonctions, modules et options que nous souhaitons configurer.

    Je choisis d'utiliser les sons en Franais cods avec le Codec 'Alaw' (Core Sound Packages & Extra Sound Packages).

    (Je dcoche les sons en Anglais).

    J'opte pour les musiques au format 'Alaw' galement (Musiques On Hold Files Packages)

    Prise en main d'Asterisk - v13032 Jean GAUTIER 65

  • Une fois la slection faite, je valide.

    Poursuivons avec la compilation:

    make (Va prparer les lments installer)

    make install (Compile et installe les lments)

    make samples (copie des fichiers exemple de configuration dans le dossier /etc/asterisk)

    make config (Installe les scripts de dmarrage)

    Si tout se passe bien, votre procdure d'installation est maintenant termine.

    A la fin de l'installation, on trouvera l'ensemble des fichiers de configuration, dans le dossier: /etc/asterisk.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 66

  • Prise en main d'Asterisk - v13032 Jean GAUTIER 67

  • Vrification

    Avant de configurer notre serveur, nous allons tester son fonctionnement.

    Il suffit de lancer le service Asterisk:

    /etc/init.d/asterisk start

    On observe ensuite les processus et ports rseaux activs.

    neststat -antup | grep asterisk

    On voit que plusieurs ports sont ouverts.

    A ce stade, se serveur Asterisk est prt tre configur.

    Prise en main d'Asterisk - v13032 Jean GAUTIER 68

    FonctionnalitsInstallation d'AsteriskLancement du programme AsteriskLancement de la console d'administrationConfiguration AsteriskLe fichier 'asterisk.conf'Le fichier 'sip.conf'Simplification de dclaration de postes dans le fichier 'sip.conf'.Le fichier 'iax.conf'Le plan de numrotation (dialplan)La cration du plan de numrotation (Dialplan)Les extensionsModes de fonctionnement AsteriskLes applicationsTraitement des erreurs et dlais d'attente dpassL'application Dial()Traitement des lignes occupesLes options de l'application Dial()Configuration pour partager un abonnement SIPInscription sur un serveur distantVariables prdfinisRgles de filtrage d'appelsMise en application simple d'AsteriskAnnexe 2 Configuration d'exempleAnnexe 3 Configuration diversesPr-requisPrcisions