Administrer Asterisk avec FreePBX

Administrer Asterisk avec FreePBX

Administrer Asterisk avec FreePBX

Date

24/10/2013

Auteurs Version Nbr page

[email protected]

V1.3

36

1/36

‣ LE DOCUMENT PRÉSENT

Nous avons créé ce guide pour vous permettre une prise en main rapide de l'interface d'administration

FreePBX et vous aider ainsi à gérer votre serveur Asterisk.

Il vous indiquera les étapes nécessaires à la mise en place de votre premier dialplan dans Asterisk.

Sommaire

‣ LE DOCUMENT PRÉSENT........................................................................................................................ 2

‣ LA SOCIÉTÉ PROLIBRE............................................................................................................................ 3

‣ PREAMBULE............................................................................................................................................ 4

Qu'est ce qu'un PBX ?........................................................................................................................... 4

Qu'est ce que Asterisk ?....................................................................................................................... 4

Autres notions...................................................................................................................................... 4

‣ L'INTERFACE FREEPBX............................................................................................................................ 7

La page d'accueil.................................................................................................................................. 7

La page d'administration...................................................................................................................... 7

‣ MISE EN PLACE DE LA CONFIGURATION.................................................................................................8

Création d'une extension SIP................................................................................................................ 8

Création d'une extension « customisée » (par exemple : pour téléphone portable)...........................13

Modification des paramètres généraux...............................................................................................13

Création d'une route entrante............................................................................................................ 14

Création d'un Trunk............................................................................................................................ 17

Création d'une route sortante............................................................................................................. 25

Création d'une Follow me................................................................................................................... 27

Création d'un IVR................................................................................................................................ 29

Utilisation du « Parking lot – Call transfer »........................................................................................30

Utilisation du module Conférences.....................................................................................................31

Vérifications à effectuer en cas de problème de connexion ou de qualité...............................................33

Problèmes de qualité.......................................................................................................................... 33

Perte de ligne, problème de connexion au fournisseur VOIP...............................................................35

‣ SOURCES.............................................................................................................................................. 36

‣ LICENCE .............................................................................................................................................. 36

2/36

‣ LA SOCIÉTÉ PROLIBRE

ProLibre est une société de service en Informatique et en Logiciel Libre.

Fondée en 2000 à Genève, ProLibre conseille ses clients dans les processus d'intégration, de migration ou de développement de solutions informatiques libres. Nous mettons en place des infrastructures

économiques, fiables et performantes que nous adaptons aux besoins de chacun de nos clients.

Que ce soit un petit bureau d'ingénieurs ou une organisation internationale, nous assurons d'être au plus proche des besoins de chacun de nos clients et de fournir un service de qualité répondant à notre charte et à nos engagements.

De nombreux clients - tels que Terre-des-Hommes Suisse, la Fondation Foyer-Handicap, l'Asloca ou encore la Fondation Clairbois - nous font confiance.

ProLibre est membre des associations GULL (Groupe des Utilisateurs de Linux et de Logiciel Libre du

Léman) pour laquelle M. Robert a été membre fondateur et président durant 6 ans APRES-GE (Chambre de l'économie sociale et solidaire de Genève).

NOS ENGAGEMENTS

Sécurité et fiabilité

ProLibre installe et configure ses serveurs avec le souci permanent de garantir un haut niveau de sécurité et de fiabilité.

Personnalisation et modularité

Chaque installation correspond à vos besoins et à votre métier, et vous la faites évoluer à votre rythme tout en respectant votre budget. Nous ne changeons pas tout!

Infrastructure consistante

Assurer une maintenance minimum pour des performances optimales nécessite une infrastructure réseau et informatique consistante.

Réactivité et proximité

ProLibre assure une assistance de proximité et une grande réactivité notamment grâce à la maintenance à distance.

Logiciel Libre

ProLibre propose et utilise les Logiciels Libres.

Sur le site www.prolibre.com

ou www.prolibre.org

vous trouverez plus d'informations sur le logiciel libre destiné aux entreprises.

Un Logiciel Libre est un logiciel accompagné de son code de fabrication, ainsi que d'une licence d'utilisation qui octroie le droit de modifier ou de faire modifier par un tiers (société de service) ce logiciel pour l'adapter à ses besoins particuliers. Cette licence permet aussi de redistribuer ce logiciel, modifié ou non.

3/36

‣ PREAMBULE

Qu'est ce qu'un PBX ?

La définition de Wikipedia .

Un autocommutateur téléphonique privé est souvent désigné par l'anglicisme Private Automatic Branch

eXchange, lequel est abrégé par le sigle PABX et parfois PBX.

Un PABX sert principalement à relier les postes téléphoniques d'un établissement (lignes internes) avec le réseau téléphonique public (lignes externes).

Il permet en plus la mise en oeuvre de certaines autres fonctions telles que:

Relier plus de lignes internes qu'il n'y a de lignes externes.

Permettre des appels entre postes internes sans passer par le réseau public.

Programmer des droits d'accès au réseau public pour chaque poste interne.

Proposer un ensemble de services téléphoniques (conférences, transferts d'appel, renvois, messagerie, appel par nom…).

Gérer les SDA (Sélection Directe à l'Arrivée).

Gérer la ventilation par service de la facture téléphonique globale (taxation).

Un PABX (ou central téléphonique privé si vous préférez) travaille aussi bien en numérique qu'en analogique. Les raccordements opérateurs les plus courants sont le RTC (ligne analogique type

Swisscom) et le RNIS (NUMERIS en T0 ou T2).

Il existe deux sortes de PABX : les PABX traditionnels ceux que l'on appelle de génération TDM (Time

Division Multiplexing), qui peuvent éventuellement migrer partiellement ou totalement en IP (sur certaines gammes seulement), et les PABX-IP ou IPBX ou PBXIP (qui offrent nativement une connectivité IP Ethernet afin d'offrir des services de téléphonie sur IP).

Les IPBX peuvent actuellement se présenter sous la forme d'un PC traditionnel équipé d'un logiciel

Asterisk par exemple (Open Source), et de cartes d'entrées/sorties RNIS et/ou analogiques.

Qu'est ce que Asterisk ?

La définition de Wikipedia

Asterisk est un PABX logiciel libre, multi-plateforme, publié sous licence GPL par Mark

Spencer de la société Digium. Asterisk permet, comme les PBX propriétaires coûteux, la messagerie vocale, la conférence, les serveurs vocaux, la distribution des appels, etc.

Asterisk implémente les protocoles H323 et SIP. Il peut jouer le rôle de registrar et passerelle avec les réseaux publics (RTC, GSM, etc.).

Asterisk implémente également un protocole spécifique nommé IAX (Inter-Asterisk eXchange) : il permet la communication entre client et serveur Asterisk ainsi qu'entre deux serveurs Asterisk.

Asterisk est extensible par des scripts ou des modules en Perl ou en C.

Site web officiel : http://www.asterisk.org/

Autres notions

FXS ET FXO

Source: http://www.3cx.fr/voip-sip/

FXS et FXO sont les noms donnés aux ports utilisés par des lignes téléphoniques analogiques (aussi connus sous le nom anglais de POTS - Plain Old Telephone Service)

FXS – l’interface Foreign eXchange Subscriber est un port qui raccorde la ligne téléphonique de l’abonné. En d’autres termes, la « prise murale » qui fournit la tonalité, le courant de charge et le voltage de la sonnerie

4/36

FXO - l’interface Foreign eXchange Office est un port qui reçoit la ligne téléphonique. C’est la prise du téléphone ou du fax, ou la (les) prise(s) de votre réseau téléphonique analogique. Le FXO offre un indicateur d’état raccroché/décroché (fermeture de circuit). Puisque le port FXO est raccordé à un appareil, tel un téléphone ou un fax, il est souvent appelé « périphérique FXO ».

Le FXO et le FXS vont toujours de paire – similaire à la prise mâle et femelle.

Sans un autocommutateur, un téléphone est connecté directement au port FXS fourni par la compagnie de téléphone

ISDN PRI/BRI

Source : Wikipedia

Que signifie ISDN ? Integrated Services Digital Network ou RNIS, réseau numérique à intégration de services est une liaison autorisant une meilleure qualité et des vitesses pouvant atteindre 2 Mbit/s

(accès S2) contre 56 kbit/s pour un modem classique.

Une connexion RNIS donne accès à plusieurs canaux numériques : les canaux de type B (64 kbit/s en

Europe, 56 kbit/s en Amérique du Nord) et les canaux de type D (16 kbit/s). Les canaux B servent au transport de données et peuvent être agglomérés pour augmenter la bande passante. Les canaux D servent à la signalisation des communications mais peuvent également servir pour le raccordement de terminaux de paiement comme Banksys. Ces derniers utilisent une bande passante de 4 kbit/s.

Les réseaux RNIS bande de base fournissent des services à faible débit : de 64 kbit/s à 2 Mbit/s.

L'actuelle technologie ATM dédiée aux réseaux grandes distances ( WAN ) faisait à l'origine partie des définitions RNIS sous la dénomination RNIS large bande pour les services à haut débit : de 10 Mbit/s à

622 Mbit/s.

Avec RNIS, les sites régionaux et internationaux de petite taille peuvent se connecter aux réseaux d'entreprises à un coût mieux adapté à la consommation réelle qu'avec des lignes spécialisées. Les liaisons à la demande RNIS peuvent être utilisées soit pour remplacer les lignes spécialisées, soit en complément pour augmenter la bande passante ou assurer une redondance. Avec ces mêmes liaisons, les sites ou les utilisateurs distants peuvent accéder efficacement aux ressources critiques à travers l'Internet en toute sécurité.

ISDN BRI (Basic Rate Interface) offre deux canaux B et un canal D (2B + D). BRI B-canal de service fonctionne à 64 kbit/s et est destinée à transporter des données utilisateur; BRI D-canal de service fonctionne à 16 kbit/s et est destinée à effectuer le contrôle et la signalisation, même si elle peut prendre en charge l'utilisateur de transmission de données dans certaines circonstances. Le canal D de signalisation protocole comprend des couches 1 à 3 du modèle de référence OSI. BRI fournit également pour le cadrage de contrôle et autres frais généraux, ce qui porte son débit total à 192 kbit/s appelé

RNIS 2. La spécification de la couche physique de l'IRB est de l'UIT-T anciennement CCITT 1,430.

5/36

ISDN PRI (Primary Rate Interface) offre 23 chaînes de service B et un canal D dans certaines régions comme l'Amérique du Nord et le Japon, ce qui donne un débit total de 1544 kbit/s, y compris le PRI D

Channel qui tourne à 64 kbit/s. En Europe, Australie, et dans les autres parties du monde ISDN PRI fournit 30 canaux B et un canal à 64 kbit/s, avec un taux interface total de 2048 kbit/s appelé RNIS 30.

La spécification de la couche physique de la PRI est de l'UIT-T 1,431.

Qu’est ce que la Voix sur IP (VoIP) ?

Source: http://www.3cx.fr/voip-sip/

La Voix sur IP est aussi connue sous le terme VoIP .

La VoIP se réfère à la diffusion du flux de la voix sur les réseaux Internet. Le protocole Internet (IP) fut conçu à l'origine pour la gestion de réseau de données puis après son succès, le protocole a été adapté

à la gestion de la voix.

La VoIP peut faciliter des tâches et fournir des services qu’il serait difficile ou coûteux de mettre en

œuvre en utilisant le réseau RTC traditionnel:

Plusieurs appels téléphoniques peuvent être transmis sur la même ligne haut-débit. De cette

• manière, la VoIP peut faciliter l’ajout de lignes téléphoniques à l’entreprise.

Les fonctionnalités qui sont habituellement facturées par les sociétés de télécommunication, tels que Transfert d’appel, Identifiant de l’appelant ou Composition automatique, sont simples avec la technologie de la VoIP.

Les communications unifiées sont sécurisées avec la technologie de VoIP car elle permet l’intégration avec d’autres services disponibles sur Internet tels que la communication vidéo, la messagerie instantanée, etc.

Cela, et bien d’autres avantages de la voix sur IP, font que les entreprises adoptent les PBX-IP VoIP à une allure stupéfiante.

Qu’est-ce qu’un serveur STUN ?

Un serveur STUN (Simple Traversal of User Datagram Protocol [UDP] Through Network Address

Translators [NATs] ou « traversée simple de UDP à travers les NATs») permet aux clients NAT (par exemple les ordinateurs situés derrière un pare-feu) de passer des appels à un fournisseur VoIP endehors du réseau local.

Le serveur STUN permet aux clients de découvrir leur adresse IP publique, le type de routeur NAT derrière lequel ils se trouvent et le port Internet associé par le routeur NAT à un port local particulier.

Ces informations sont utilisées afin d’établir une communication UDP entre le client et le fournisseur

VoIP et par là même de passer des appels. Le protocole STUN est identifié dans le RFC 3489.

Le serveur STUN est contacté sur le port UDP 3478. Cependant le serveur poussera les clients à faire des essais sur des numéros de ports et IP différents (les serveurs STUN possèdent deux adresses IP). Le

RFC indique que le port et l’IP sont à titre arbitraire.

Qu’est-ce qu’un téléphone SIP ?

Les téléphones SIP sont l’équivalent des téléphones VoIP ou les soft-phones (logiciel). Ces derniers sont des téléphones qui permettent de téléphoner en utilisant la technologie VoIP (voix sur protocole

Internet).

Il y a deux types de téléphones SIP. Le premier type de téléphone est matériel et ressemble à un téléphone classique mais peut recevoir et passer des appels via Internet plutôt qu’en utilisant le réseau téléphonique traditionnel.

Les téléphones SIP peuvent aussi être logiciels. Ceux-ci permettent à n’importe quel ordinateur d’être utilisé comme un téléphone avec un micro-casque et/ou une carte son. Une connexion haut-débit est nécessaire, ainsi qu’une connexion à un fournisseur VoIP ou à un serveur SIP.

6/36

‣ L'INTERFACE FREEPBX

FreePBX est un outil de configuration graphique très convivial pour le logiciel de téléphonie libre

Asterisk. C'est également le logiciel utilisé dans la distribution Trixbox et Elastix.

http://www.freepbx.org/

La page d'accueil

Voicemail & Recording (ARI ) : Permet d'accéder à la messagerie vocale.

Flash Operator Panel (FOP) : Une interface permettant de visualiser les extensions, la file d'attente, la conférence, les trunks actifs, etc.

FreePBX Administration : Page d'administration

L'utilisation de l'ARI est expliquée plus en détails dans la documentation destinée aux utilisateurs.

La page d'administration

7/36

‣ MISE EN PLACE DE LA CONFIGURATION

Création d'une extension SIP

Ici on configure les extensions permettant de relier des téléphones (analogiques ou IP) et des softphones au serveur. Il y a essentiellement 3 types d'extension :

SIP : pour connecter un client SIP

IAX2 : pour connecter un client IAX.

ZAP : pour connecter un téléphone analogique grâce à une interface FXS ou un téléphone ISDN grâce à une interface ISDN.

Se positionner sur la page d'accueil de l'interface d'administration de FreePBX puis dans le menu

à gauche choisir le lien “extensions”.

Choisir ensuite comme Device “Generic Sip Device” et cliquer sur le bouton “submit”.

Paramétrage basique de l'extension SIP

Création de l'extension :

Dans la case “User Extension” mettre le Numéro que l'on veut attribuer à l'extension.

Dans la case “Display Name” mettre le nom que l'on veut afficher sur l'écran de l'appelé.

8/36

Dans la case “secret” mettre le mot de passe que l'extension devra utiliser dans ses paramètres pour pouvoir accéder au serveur Asterisk.

Dans la case “Language Code” mettre le code de la langue que l'on souhaite utiliser pour par exemple accéder à notre boîte vocale ( pour français, mettre “fr” ).

NOTE :

Si l'on souhaite activer notre boîte vocale et recevoir les messages par Email, il faut :

- Choisir "Enable" en face de "Status"

- Mettre un mot de passe d'accès à notre boîte vocale ( Voicemail Password )

- Rentrer l'adresse E-Mail sur laquelle on souhaite recevoir les messages ( Email Address )

- Cliquer sur "yes" en face de l'option "Email Attachment"

L'option VMX Locater permet de rediriger les appels a destination de l'extension après que ceux ci ont suivi ce qui a été paramétré dans la “follow me” correspondant à cette extension.

Cliquer maintenant sur « Submit » pour permettre la validation des modifications

9/36

NOTE IMPORTANTE :

NE PAS OUBLIER DE VALIDER TOUTES LES MODIFICATIONS FAITES VIA L'INTERFACE !

Pour cela:

Cliquer sur le lien de couleur orange nommé “Apply configuration changes” situé sous les onglets “Administrator” ,”Reports” et “Panel”

Cliquer ensuite sur le bouton “continue with reload” pour enregistrer les modifications

Finalisation du paramétrage de l'extension avec quelques paramètres supplémentaires.

Cliquer sur le numéro de l'extension désirée :

10/36

Exemple ci dessous:

Voici un exemple de configuration pour une extension au numéro 201:

Exemple de configuration : secret=votre_mot_de_passe dtmfmode=rfc2833 canreinvite=no context=from-internal host=dynamic type=friend nat=no port=5060 qualify=yes callgroup=1 pickupgroup=1 disallow=all allow=alaw,ulaw,gsm dial=SIP/201 accountcode= [email protected] deny=0.0.0.0/0.0.0.0 permit=0.0.0.0/0.0.0.0

Quelques explications pour une utilisation basique:

Edit Extension:

Display Name : nom de l'extension, apparaîtra lorsqu'un appel est émis, peut être effacé si l'appel passe par une ligne d'un opérateur téléphonique.

CID Num Alias : permet de changer le numéro de l'appelant pour les appels internes, il masque alors le numéro de l'extension. Si on veut par exemple que n'importe quelle extension d'un service donné apparaisse comme un appel depuis une extension déterminée du service pour les appels internes.

SIP Alias : permet de recevoir des appels anonymes sur l'extension depuis l'intranet ou l'extranet. Par exemple, si on met dans ce champ la valeur toto, alors on peut appeler cette extension depuis n'importe où en appelant SIP/[email protected] Pour que cela fonctionne il faut par ailleurs que l'option 'Allow Anonymous Inbound SIP Calls ?' dans General

Settings soit mise sur “yes”, ce qui, pour des questions de sécurité, n'est pas conseillé.

11/36

Extension Options:

Direct DID : la valeur donnée ici est généralement un numéro mais peut être une chaîne de caractères. Les appels entrants sur un trunk enregistré avec un DIDnumber qui a la même valeur (voir registration string dans la page Trunk) seront aiguillés vers cette extension.

DID Alert Info : ne fonctionne que si un Direct DID est spécifié. Permet de faire sonner des téléphones SIP avec des sonneries particulières en fonction de la valeur de l'alerte. Il faut que cette fonctionnalité soit disponible sur le téléphone SIP.

Music on Hold : permet de choisir la musique d'attente.

Outbound CID : identité de l'appelant pour les appels émis depuis cette extension. Si pareilles valeurs sont spécifiées sur le Trunk utilisé, alors ce sont celles spécifiées dans l'extension qui prédominent, mais un opérateur téléphonique peut écraser ces informations.

Ring Time : nombre de secondes durant lesquelles l'extension sonnera avant que l'appel ne soit renvoyé vers la messagerie (si elle est activée pour l'extension). La valeur par défaut est celle spécifiée dans l'onglet General Settings.

Call Waiting : permet d'activer la mise en attente pour l'extension.

Emergency CID : caller ID transmise en cas d'appel d'un numéro passant par l'outbound route où l'option Emergency Dialing est sélectionnée.

Device Options

secret : mot de passe de l'extension.

dtmfmode : mode des fréquences vocales, laisser la valeur par défaut rfc2833.

host : valeurs possibles dynamic ou une adresse IP. Si une adresse IP est spécifiée alors le client

SIP ne pourra se connecter à cette extension que s'il a cette adresse IP.

type : friend ou peer. Utiliser "friend" pour un téléphone."Peer" est utilisé pour un périphérique

SIP capable d'effectuer des appels comme un Trunk.

nat : valeur yes ou no, si la valeur est no alors le client ne pourra pas se connecter à l'extension s'il est situé derrière une NAT.

port : ce champ n'a pas d'incidence dans le cas d'une extension.

qualify : valeur yes, no ou xx, “xx” étant un nombre de millisecondes, permettant de considérer que le client est hors de portée si la latence est trop longue.

callgroup : groupe d'appels auquel appartient l'extension (on peut en mettre plusieurs en séparant par une virgule)

pickupgroup : (paramètre optionnel) permettant de spécifier le groupe à vérifier si un appel entrant doit être intercepté. Si ceci est omis, le groupe spécifié dans sip.conf sera utilisé (on peut en mettre plusieurs en séparant par une virgule).

disallow : codecs interdits pour l'extension, valeur par défaut vide.

allow : codecs autorisés pour l'extension, valeur par défaut vide.

dial : SIP/extension est le paramètre par défaut.

accountcode : ce champ, s'il est défini, est utilisé pour remplir le champ «accountcode" de la

CDR. Entrez un code de compte pour une utilisation par un module de facturation.

mailbox : permet de configurer la boîte vocale liée à cette extension. On peut définir plusieurs boîtes vocales séparées par des virgules. ([email protected] est le paramètre par défaut).

Dictation Services

Ces champs n'apparaissent que si le module Dictation est installé.

Dictation Service : activer ou désactiver le service.

Dictation Format : format d'enregistrement des messages.

Email Address : adresse E-mail pour l'envoi des messages enregistrés.

Language Code:

Permet de sélectionner le code de la langue que l'on souhaite utiliser pour notre messagerie.

Recording Options

Record Incoming : enregistrement des appels entrants : à la demande, toujours, jamais.

Record Outgoing : enregistrement des appels sortants : à la demande, toujours, jamais

12/36

Voicemail & Directory

Status : activation de la messagerie

Voicemail Password : mot de passe pour accéder à la messagerie. Pourra aussi être changé depuis le téléphone en composant *98. (UNIQUEMENT DES CHIFFRE )

Email Address : adresse vers laquelle seront envoyés les messages vocaux (champ optionnel)

Pager Email Address : adresse où seront envoyés des courts messages notifiant la présence de messages sur la messagerie.

Email Attachment, Play CID, Play Envelope, Delete Vmail: ces champs sont faciles à comprendre. A noter que Email Attachment et Delete Vmail tous les 2 sur yes permet d'envoyer les messages enregistrés et de les effacer aussitôt du système.

VmX Locater™ : s'il est mis sur Enabled, autorise l'utilisateur de l'extension à configurer les variables de la messagerie depuis le User Portal ARI.

NOTE IMPORTANTE:

Une fois les options renseignées, ne pas oublier d'appuyer sur “Submit” et ensuite de valider les modifications en cliquant sur “Apply Configuration Changes”

Création d'une extension « customisée » (par exemple : pour téléphone portable)

Il est parfois intéressant d'avoir un numéro de téléphone mobile ou un numéro externe enregistré comme une extension.

Se positionner sur la page d'accueil de l'interface d'administration de FreePBX puis dans le menu

à gauche choisir le lien “extensions”

Choisir ensuite comme Device “Other (custom) Device” et cliquer sur le bouton “submit”

Comme une extension SIP, renseigner les champs vus précédemment et dans la section

« Device options » indiquer dans le champ « This device uses custom technology dial » les informations nécessaires selon la synthaxe suivante :

Local/<numero de telephone>@outbound-allroutes

Exemple :

Local/[email protected]

Modification des paramètres généraux

Dans le menu « Setup », cliquer sur l'onglet “configuration” puis sur le lien “paramètres généraux”

Configurer ensuite le paramètres “Réglages internationaux” et “Mise à jour réseau”

13/36

Création d'une route entrante

Permet d'établir des règles d'aiguillage des appels arrivant depuis les Trunks.

Fonctionnement

Lorsqu'un appel arrive vers un trunk, l'aiguillage sera fait en fonction du DIDnumber avec lequel le trunk est enregistré et du CallerID de l'appelant si la ligne téléphonique transmet aussi le CallerID.

Le DIDnumber sera alors comparé aux numéros des extension et des Direct DID des extension. S'il ne trouve pas d'issue, il sera alors comparé aux caractéristiques des Inbound Routes, de la première vers la dernière. L'appel sera alors aiguillé selon la première route conforme à l'appel.

Configuration

Dans le menu « Setup », cliquer sur "routes entrantes" puis sur "Ajouter une route entrante"

Description : nom donné à la route.

DID Number : DIDnumber auquel doit être conforme l'appel entrant pour suivre cette route. A noter que ceci ne dépend pas de la personne qui appelle mais du trunk sur lequel arrive l'appel, en effet, le DIDnumber est spécifié dans le registration string du Trunk. On peut utiliser les wildecard X, Z, N… dans le DIDnumber pour prendre en compte plusieurs numéros. Si DID

Number est vide alors cette route prendra n'importe quel DID Number.

Caller ID Number : Caller ID auquel doit être conforme l'appel entrant pour suivre cette route.

Ceci dépend du numéro depuis lequel la personne appelle, et peut être inexistant si la ligne téléphonique dont on dispose ne donne pas l'identité de l'appelant. On peut utiliser les wildecard

X, Z, N… dans le Caller ID Number pour prendre en compte plusieurs numéros. Si Caller ID

Number est vide alors cette route prendra n'importe quel Caller ID.

Zaptel Channel : canaux ZAP que prend cette route. Utile uniquement si on utilise des interfaces FXO.

14/36

Options :

Alert Info : voir paragraphe « Paramétrage basique de l'extension SIP »

CID name prefix : permet de rajouter un préfixe au CallerID avant de l'aiguiller.

Music On Hold : musique d'attente pour les appels arrivant sur cette route.

Signal RINGING : en fait, quand un téléphone SIP reçoit un appel, il envoie un message Ringing

à l'émetteur de l'appel avant de commencer à sonner. Mais si l'appel est orienté vers un IVR au lieu d'un téléphone, il n'y aura pas de message Ringing envoyé. Il se trouve que certains serveurs SIP (peut-être ce sera le cas de nos gateway) ont besoin que le destinataire envoie le message Ringing avant le message Answer (envoyé quand on décroche). Dans le cas d'un IVR, il y aura directement le message Answer sans passer par le message Ringing. Donc si on rencontre un tel problème, il suffit de cocher cette case, et un message Ringing sera toujours envoyé avant un message Answer.

Protection :

Privacy Manager : si la valeur est yes, alors si un appel arrive sans CallerID, il lui sera demandé de composer son numéro à 10 chiffres (il aura 3 tentatives) avant que l'extension ne se mette à sonner. Cela permettra d'avoir toujours un numéro affiché sur le téléphone en recevant un appel avant de décrocher, on peut alors décider de répondre ou non.

Fax Handling

Fax Extension : destination des appels fax. La valeur peut être une extension, 'disabled',

'system' (auquel cas les fax seront reçus par le système et renvoyés par email à l'adresse spécifiée dans le champ Fax Email) ou 'FreePBX default'. Dans ce dernier cas, le fax sera traité selon la configuration spécifiée dans General Settings.

Fax Email : adresse destinataire des e-mail si la valeur de Fax Extension est system.

Fax Detection Type : permet de répondre automatiquement aux appels entrants et de jouer pendant un nombre de secondes déterminé dans le champ Pause after answer la musique de détection de fax. S'il n y pas de fax détecté, l'extension se mettra à sonner. Valeur : NVFAX pour les trunks SIP et IAX ou Zaptel pour les trunks ZAP.

Pause after answer : nombre de secondes pour la détection de fax avant le réacheminement de l'appel.

15/36

CID Lookup Source

Source : cette ligne n'apparaît que si le module Caller ID Lookup est installé. Elle permet d'ajouter le nom de l'appelant en plus du numéro de l'appelant s'il est résolu dans la source sélectionnée.

Set Destination:

Plusieurs options sont possibles selon les modules installés dans le serveur. Pour l'aiguillage des appels on a souvent affaire à des conditions qui permettent qu'un appel soit testé afin de déterminer sa destination. C'est le cas des Inbound Routes, IVR, Day Night Mode…

Le choix de la destination est en général proposé après la détermination des conditions.

Il faut alors choisir parmi les possibilités proposées. Certaines n'existent que si le module correspondant est installé.

Quelques exemples :

Custom Contexts : change le contexte de la communication. Voir module Custom

Contexts.

Terminate Call : termine la communication. Il y a le choix entre raccrocher, jouer le message “all circuits are busy now” puis raccrocher, jouer le message busy, jouer la tonalité de ligne raccrochée mais sans raccrocher ou mettre le correspondant indéfiniment en attente (on hold).

Extensions : oriente l'appel vers une extension.

Voicemail : oriente l'appel vers un répondeur. Voir Voicemail.

DISA : voir module DISA.

Announcements : voir module Announcements.

Custom App : utilise la commande Goto() pour envoyer le correspondant vers un custom context. Le nom du contexte doit commencer avec “custom-” et être au format custom-context,extension,priority. Exemple : custom-myapp,s,1.

16/36

Création d'un Trunk

Ici on configure les Trunks permettant au serveur d'être connecté aux différents types de lignes. Il y a essentiellement 3 types de Trunks :

SIP : pour connecter une ligne SIP.

IAX2 : pour connecter une ligne IAX sur un serveur Asterisk par exemple.

DAHDI : pour connecter une ligne analogique grâce à une interface FXO ou ISDN grâce à une interface ISDN.

Par ailleurs il y a les trunks ENUM qui permettent de téléphoner gratuitement entre serveurs VOIP privés enregistrés sur un serveur ENUM.

Trunk SIP

Cliquer sur « Ajout d'un Trunk »

General Settings

Trunk Name : nom indicatif du trunk.

Outbound Caller ID : nom et numéro de l'appelant pour un appel sortant. Par défaut les valeurs sont celles de l'extension à l'origine de l'appel. Si ce champ n'est pas vide, la valeur sera réécrite par le Trunk, effaçant celle donnée par l'extension. La syntaxe est la suivante : “Mon nom” <01234567>, où 01234567 est le numéro de téléphone.

Maximum channels : contrôle le nombre maximal de canaux sortants (appels simultanés) qui peut être utilisé sur cette ligne.

Monitor Trunk Failures : Permet d'exécuter un script AGI prévenant que le Trunk rencontre un problème.

Exemple de script AGI nommé « alarm.agi

» pouvant être utilisé (Adresse e-mail à changer !)

#!/bin/bash

DATE=`date "+%d.%m.%Y. %H:%M"`

HOST=`hostname`

# initializing agi variables declare -a array while read -e ARG && [ "$ARG" ] ; do

array=(` echo $ARG | sed -e 's/://'`)

export ${array[0]}=${array[1]} done

MESSAGE="Incident happend $DATE.\n$agi_calleridname [$agi_callerid] tried to dial number

17/36

$agi_dnid.\nCall could not be established on channel $agi_channel."

# write log echo "$DATE Call could not be established. $agi_calleridname [$agi_callerid] --> $agi_dnid" >>

/var/log/asterisk/trunk

# send email echo -e "$MESSAGE" | mail -s "Incident at $HOST IP-PBX" [email protected] -- -F "Asterisk"

Le script est à mettre dans /var/lib/asterisk/agi-bin/ avec les bons droits (voir les autres scripts présents).

Il suffit simplement de mettre ensuite le nom du script dans la case « Monitor Trunk Failures » !

Dial Rules : définit les règles de numérotation, en ajoutant ou en enlevant un préfixe. Mettre une règle par ligne. Le système appliquera la première règle compatible à partir du haut. On peut utiliser les caractères suivants :

« X » : correspond à un chiffre entre 0 et 9.

« Z » : correspond à un chiffre entre 1 et 9.

« N » : correspond à un chiffre entre 2 et 9.

« . » : correspond à n'importe quelle suite de chiffres longue d'au moins un chiffre.

« | » : supprime le préfixe situé à gauche du pipe.

« + » : ajoute le préfixe situé à gauche du + au numéro situé à droite du +.

Exemple : 0033+0|ZXXXXXXXX prendra le numéro 0512345678 lorsqu'il sera composé et passera

0033512345678 à la ligne téléphonique du Trunk.

On peut aussi écrire 0|0033+ZXXXXXXXX.

A noter que ceci ne permet pas de bloquer les numéros qui ne sont pas compatibles avec l'une de ces règles, le blocage se fait depuis Outbound Routes.

Trunk Name : nom indicatif du trunk.

PEER Details : permet de configurer le trunk pour les appels sortant. Pour connecter le trunk à une ligne SIP sur un serveur Asterisk,

18/36

Exemple de fichier de configuration pour un compte SIP:

Outgoing Settings

disallow=all username=<nom de connexion> type=peer secret=<mot de passe de connexion> qualify=no port=5060 outboundproxy=<serveur VOIP du provider> nat=yes maxexpirey=60 localnet=<reseau>/<masque reseau> insecure=port,invite host=<serveur VOIP du provider> fromuser=<nom de connexion> externip=<adresse IP externe si NAT> dtmfmode=rfc2833 defaultexpirey=1800 context=from-trunk canreinvite=no allow=alaw&ulaw&gsm

Incoming Settings (selon votre fournisseur VOIP, il n'est pas nécessaire de remplir les champs

User context et User details)

USER Context : C'est le plus souvent notre numéro ou le nom du compte que notre fournisseur

VoIP attend (peut être vide).

USER Details : Modifie les paramètres de connexion de l'utilisateur par ceux fourni par notre provider VoIP (peut être vide).

Registration

Register String : Ceci permet d'enregistrer ce serveur chez le serveur fournissant la ligne SIP permettant ainsi de recevoir les appels entrants. La syntaxe est la suivante :

<nom de connexion>:<mot de passe de connexion>@<serveur VOIP du provider>:5080/DIDnumber.

La signification en est :

– login : le login qui est généralement un numéro mais peut être une chaîne de caractères motdepasse : le mot de passe de la ligne.

serveur.domain.com : le nom de domaine du serveur SIP. On peut aussi utiliser l'adresse IP.

5080 : le port sur lequel le serveur écoute. Ce champ est optionnel, s'il n'est pas spécifié la valeur sera 5060. Dans ce cas il faut omettre toute la chaîne de caractère :5060.

DIDnumber : est une chaîne de caractères, de préférence un numéro. C'est un champ optionnel mais utile pour aiguiller les appels entrants. XYZ peut être soit le numéro d'une extension si on veut que les appels entrants soient orientés vers cette extension. Sinon ont peut lui donner une valeur qui doit être égale à celle du DID Number d'une Inbound Route ou d'une extension. Les appels entrants dans ce trunk seront alors aiguillés vers la Inbound Route ou l'extension correspondante.

Exemple:

+41225678907:[email protected]/+41225678907

19/36

Trunk DAHDI

DAHDI est le nouveau nom pour 'Zaptel »du 19 mai 2008.

Le post de http://blogs.digium.com/2008/05/19/zaptel-project-being-renamed-to-dahdi/ détaille les raisons de ce changement.

A partir de la version 1.4 , Asterisk supporte Dahdi et à partir de la version 1.6, Asterisk utilise exclusivement DAHDI de préférence à Zaptel.

Il est nécessaire de vérifier que la carte BRI ou FXO soit détectée avant de continuer.

Exemple pour une carte FXO ( Foreign eXchange Office ) monserveur:~# lspci

...

00:0d.0 Communication controller: Motorola Wildcard X100P

Exemple pour une carte BRI monserveur:~# lspci

...

03:00.0 Network controller: Cologne Chip Designs GmbH ISDN network controller [HFC-PCI] (rev

02)

03:01.0 Network controller: Cologne Chip Designs GmbH ISDN network controller [HFC-PCI] (rev

02)

Les commandes DAHDI:

• dahdi_hardware exemple pour la carte FXO monserveur:~# dahdi_hardware pci:0000:00:0d.0 wcfxo+ 1057:5608 Wildcard X100P monserveur:~#

- La première colonne indique l'interface utilisée ( PCI )

- La deuxième indique le module du noyau utilisé par la carte

- La troisième des informations sur le type de carte

20/36

– dahdi_genconf

Permet de générer le fichier de configuration ”/etc/dahdi/system.conf” et « /etc/asterisk/dahdichannels.conf » en fonction du matériel détecté

Le fichier système pour dahdi ressemble ensuite à l'exemple ci dessous ( carte FXO ):

# Autogenerated by /usr/sbin/dahdi_genconf on Fri Nov 19 08:39:21 2010

# If you edit this file and execute /usr/sbin/dahdi_genconf again,

# your manual changes will be LOST.

# Dahdi Configuration File

#

# This file is parsed by the Dahdi Configurator, dahdi_cfg

#

# Span 1: DAHDI_DUMMY/1 "DAHDI_DUMMY/1 (source: HRtimer) 1" (MASTER)

# Span 2: WCFXO/0 "Wildcard X100P Board 1" fxsks=1 echocanceller=mg2,1

# Global data loadzone = ch defaultzone = ch

Exemple pour une carte BRI :

# Autogenerated by /usr/sbin/dahdi_genconf on Mon Nov 22 12:52:35 2010

# If you edit this file and execute /usr/sbin/dahdi_genconf again,

# your manual changes will be LOST.

# Dahdi Configuration File

#

# This file is parsed by the Dahdi Configurator, dahdi_cfg

#

# Span 1: DAHDI_DUMMY/1 "DAHDI_DUMMY/1 (source: HRtimer) 1" (MASTER)

# Span 2: ZTHFC1 "HFC-S PCI A ISDN card 0 [TE] " AMI/CCS span=2,1,0,ccs,ami

# termtype: te bchan=1-2 hardhdlc=3 echocanceller=oslec,1-2

# Global data loadzone = ch defaultzone = ch

• dahdi_cfg

Permet de vérifier le fichier /etc/dahdi/system.conf .

Exemple pour une carte FXO: monserveur:~# dahdi_cfg -vv

DAHDI Tools Version - 2.2.0

DAHDI Version: 2.2.0.2

Echo Canceller(s): MG2

Configuration

======================

Channel map:

Channel 01: FXS Kewlstart (Default) (Echo Canceler: mg2) (Slaves: 01)

21/36

1 channels to configure.

Setting echocan for channel 1 to mg2 monserveur:~#

Exemple pour une carte BRI : monserveur:~# dahdi_cfg -vv

DAHDI Tools Version - 2.2.1

DAHDI Version: 2.2.1

Echo Canceller(s): OSLEC

Configuration

======================

SPAN 1: CCS/ AMI Build-out: 0 db (CSU)/0-133 feet (DSX-1)

Channel map:

Channel 01: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 01)

Channel 02: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 02)

Channel 03: Hardware assisted D-channel (Default) (Echo Canceler: none) (Slaves: 03)

3 channels to configure.

Setting echocan for channel 1 to oslec

Setting echocan for channel 2 to oslec

Setting echocan for channel 3 to none monserveur:~#

Pour que le trunk dahdi soit ensuite fonctionnel, il faut éditer le fichier /etc/asterisk/chan_dahdi.conf .

Notes :

ATTENTION. La commande dahdi_genconf a aussi généré le fichier « /etc/asterisk/dahdi-channels.conf »

Le contenu de « /etc/asterisk/dahdi-channels.conf » doit être maintenant placé dans

« /etc/asterisk/chan_dahdi.conf » et le fichier « /etc/asterisk/dahdi-channels.conf » commenté !

L'exemple ci-dessous illustre le fichier de conf pour PRI:

[channels] language=fr context=from-pstn signalling=fxs_ks rxwink=300 ; Atlas seems to use long (250ms) winks usecallerid=yes hidecallerid=no callwaiting=yes usecallingpres=yes callwaitingcallerid=yes threewaycalling=yes transfer=yes canpark=yes cancallforward=yes callreturn=yes echocancel=yes echocancelwhenbridged=yes faxdetect=both echotraining=0 rxgain=-5.0

txgain=3.0

callgroup=1 pickupgroup=1 callerid=asreceived group=0 channel => 1

22/36

L'exemple ci-dessous illustre le fichier de conf pour PRI:

[channels] language=fr rxwink=300 ; Atlas seems to use long (250ms) winks usecallerid=yes hidecallerid=no callwaiting=yes usecallingpres=yes callwaitingcallerid=yes threewaycalling=yes transfer=yes canpark=yes cancallforward=yes callreturn=yes echocancel=yes echocancelwhenbridged=yes faxdetect=both echotraining=0 rxgain=-5.0 txgain=3.0 callgroup=1 pickupgroup=1 callerid=asreceived

;####################

;####################

; Autogenerated by /usr/sbin/dahdi_genconf on Mon Nov 22 12:52:35 2010

; If you edit this file and execute /usr/sbin/dahdi_genconf again,

; your manual changes will be LOST.

; Dahdi Channels Configurations (chan_dahdi.conf)

;

; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended

; to be #include-d by /etc/chan_dahdi.conf that will include the global settings

;

; Span 1: DAHDI_DUMMY/1 "DAHDI_DUMMY/1 (source: HRtimer) 1" (MASTER)

; Span 2: ZTHFC1 "HFC-S PCI A ISDN card 0 [TE] " AMI/CCS group=0,12 context=from-pstn switchtype = euroisdn signalling = bri_cpe_ptmp channel => 1-2

Nous pouvons aussi exécuter des commande dahdi directement depuis la console d'Asterisk.

Exemple pour une carte BRI

[email protected]:~# asterisk -r

Asterisk 1.6.2.14, Copyright (C) 1999 - 2010 Digium, Inc. and others.

Created by Mark Spencer <[email protected]>

Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.

This is free software, with components licensed under the GNU General Public

License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details.

=============================================================

==

Connected to Asterisk 1.6.2.14 currently running on monserveur (pid = 1256)

Verbosity is at least 3 monserveur*CLI> monserveur*CLI> monserveur*CLI> dahdi show status

Description Alarms IRQ bpviol CRC4 Fra Codi Options LBO

DAHDI_DUMMY/1 (source: HRtimer) 1 UNCONFI 0 0 0 CAS Unk 0 db (CSU)/0-133 feet

23/36

(DSX-1)

HFC-S PCI A ISDN card 0 [TE] OK 0 0 0 CCS AMI 0 db (CSU)/0-133 feet (DSX-

1) monserveur*CLI> monserveur*CLI> monserveur*CLI> dahdi show channels

Chan Extension Context Language MOH Interpret Blocked State

pseudo default default In Service

1 from-pstn fr default In Service

2 from-pstn fr default In Service monserveur*CLI>

Exemple pour une carte FXO :

monserveur:/var/www# asterisk -r

Asterisk 1.4.28, Copyright (C) 1999 - 2009 Digium, Inc. and others.

Created by Mark Spencer <[email protected]>

Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.

This is free software, with components licensed under the GNU General Public

License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details.

=============================================================

==

Connected to Asterisk 1.4.28 currently running on monserveur (pid = 7412)

Verbosity is at least 3

-- Remote UNIX connection monserveur*CLI> monserveur*CLI> monserveur*CLI> dahdi show status

Description Alarms IRQ bpviol CRC4

DAHDI_DUMMY/1 (source: HRtimer) 1 UNCONFIGUR 0 0 0

Wildcard X100P Board 1 OK 0 0 0 monserveur*CLI> monserveur*CLI> monserveur*CLI> dahdi show channels

Chan Extension Context Language MOH Interpret

pseudo default default

1 from-pstn fr default monserveur*CLI>

24/36

Création d'une route sortante

Permet d'établir des règles d'aiguillage des appels sortants vers les trunks.

Fonctionnement

Lorsqu'un appel sortant est émis, l'aiguillage sera fait en fonction du numéro appelé.

Le numéro appelé sera comparé aux règles autorisées dans chaque Outbound Route en commençant par la première route. Dès qu'une route autorisant ce numéro est rencontrée, l'appel sera traité par cette route.

A noter qu'il est possible de réarranger l'ordre de priorité des routes grâce aux flèches orientées vers le haut et vers le bas.

Par ailleurs, si on utilise le module Custom Contexts, l'ordre de priorité des routes défini dans cette page passera au second plan et n'aura d'effet que si les priorités des routes, dans la page du contexte concerné au paragraphe Outbound Routes grâce à au champ Priority, ne sont pas définies.

Configuration

Route Name : nom à donner à cette route.

Route Password : mot de passe de la route, si on veut protéger cette route par mot de passe.

Il sera demandé à l'appelant pour laisser passer son appel.

25/36

PIN Set : ce champ n'apparaît que si le module PIN Sets est installé. Si un PIN Set est spécifié alors le champ Route Password sera ignoré et les mots de passe de la route seront ceux spécifiés dans le PIN Set utilisé.

Emergency Dialing : indique que cette route sert pour les appels d'urgence. Le Caller ID sera alors remplacé par le Emergency CID de l'extension.

Intra Company Route : si cette route sert à appeler un autre site de l'entreprise à travers les trunk, alors cette option permet d'utiliser les Caller ID internes au lieu des externes.

Music On Hold : musique d'attente pour la route.

Dial Patterns that will use this Route : patterns autorisés par la route. Mettre un pattern par ligne. On peut utiliser les wildecards X (0-9), Z (1-9), N (2-9), le point ”.” qui désigne toute suite de chiffre longue d'au moins 1 caractère et la barre verticale ou pipe | qui indique un préfixe à enlever avant de passer le numéro au trunk. Par exemple 354|[13-68]NXXXX. prend les numéros commençant par 345 ensuite un des chiffres 1,3,4,5,6 ou 8, ensuite un des chiffres de

2 à 9, enfin au moins 5 autres chiffres quelconques. Le numéro sera alors tronqué du préfixe

345 et passé au trunk de la route.

Dial patterns wizards : permet de rentrer des patterns pré-configurés pour les USA, on peut modifier ces modèles en modifiant le code source du web FreePBX.

Trunk Sequence : séquence de trunks pour aiguiller l'appel. La route orientera l'appel vers le premier trunk libre de la liste. Si la communication n'est pas réussie, le système essayera le trunk suivant. A noter qu'un trunk est considéré occupé s'il y a autant de communications

(entrantes ou sortantes) l'utilisant que ce qui est spécifié pour ce trunk dans Maximum channels.

26/36

Création d'une Follow me

Fonction

Fonctionne selon un principe similaire au Ring Groups, la différence c'est que Follow Me est rattaché à une extension bien déterminée et réoriente les appels arrivant à cette extension.

Pré-requis

Installation du module Follow Me.

Fonctionnement

Exemple : pour ajouter un Follow Me à l'extension 2000 par exemple il faut faire l'une de ces deux manipulations qui sont équivalentes et aboutissent à la même page:

1. Depuis la page de l'extension 2000, cliquer sur Add Follow Me Settings.

2. Depuis la page Follow Me, cliquer sur l'extension concernée.

Ensuite il suffira de configurer le Follow Me créé.

Configuration

Après installation du module un onglet Follow Me sera ajouté au paragraphe Inbound Call

Control.

Par ailleurs, une ligne Add Follow Me Settings sera ajoutée au début des pages Extensions.

27/36

Edit Extension 2000 : Permet d'aller à la page de configuration de l'extension 2000 pour

éventuellement faire des modifications.

Disable as Default : Par défaut, non sélectionné. Dans ce cas, les appels par défaut destinés à cette extension seront traités selon les règles du Follow Me. Si par contre cette option est sélectionnée, le Follow Me sera ignoré et les appels destinés à cette extension iront à l'extension. Toutefois, les destinations spécifiant Follow Me 2000 seront traitées par le Follow Me quel que soit l'état de cette option. L'activation de cette option est souvent utilisée conjointement au VmX Locater afin que l'appelant fasse sonner l'extension (et ira donc au VmX

Locater) et ensuite l'appelant pourra revenir ici seulement s'il tape la bonne touche du menu

VmX Locater qui le ramène ici. Bien entendu il faudra que le VmX Locater soit activé et préalablement configuré pour ça.

Initial Ring Time : Durée durant laquelle la destination concernée sonnera avant de faire sonner les destinations de la follow-me list. En donnant à cette variable la valeur 0, l'extension concernée ne sonnera pas et l'appel sera directement redirigé vers la follow-me list.

Ring Strategy : Comment sonner les extensions du Follow Me :

ringallv2 : fait sonner la première extension du Follow Me pour une durée égale au Initial Ring

Time et ensuite fera sonner toutes les autres extensions de la liste jusqu'à obtenir une réponse.

ringall : fait sonner simultanément toutes les extensions jusqu'à ce qu'une d'elles soit décrochée. (Valeur par défaut)

hunt : fait sonner successivement les extensions jusqu'à ce qu'il y ait une réponse.

memoryhunt : fait sonner la 1ère extension, ensuite la 1ère et la 2ème, ensuite la 1ère, la 2ème et la 3ème…

prim : même chose qu'avant, avec une différence. Si la 1ère extension sur la liste est occupée, les autres extensions ne seront pas sonnées. Si la 1ère extension sur la liste est en état FreePBX

DND, elle ne sera pas sonnée. Si la 1ère extension sur la liste est en état FreePBX CF unconditional, alors toutes les extensions seront sonnées selon la règle spécifiée.

firstavailable : Sonne uniquement la première extension disponible.

firstnotonphone : sonne uniquement la première extension qui n'est pas à l'état offhook - ignore

CW.

Confirm Calls : Cette option demande à l'extension décrochée de taper 1 avant de la mettre en communication avec l'appelant. Cela permet d'éviter par exemple les situations où dans la liste du Follow Me il y a un numéro de portable et alors si le portable est éteint, l'appelant sera mis en communication avec la messagerie.

Remote Announce : Message à jouer à l'extension décrochée si l'option Confirm Calls est sélectionnée.

Too-Late Announce : Message à jouer à l'extension décrochée si avant de taper 1, une autre extension a déjà pris l'appel.

Follow-Me List : Liste des extensions du Follow Me. Mettre une extension par ligne. On peut aussi mettre des numéros externes, il suffit de les suffixer par #. Le numéro correspondant sera alors appelé selon les règles de Outbound Routing. Par exemple pour faire sonner le numéro

012345678, il suffit de mettre 012345678#.

CID name prefix : On peut éventuellement préfixer le CallerID quand le Follow Me fait sonner une extension. Par exemple, si on met Ventes, un appelant avec un CallerID Toto, sera affiché sur l'extension Vente:Toto.

Ring time : Temps en secondes durant lequel le Follow Me fait sonner chaque extension avant de passer à l'autre. Le maximum est 60s.

Announcement : Message à jouer à l'appelant avant de faire sonner les extensions. On peut ajouter des enregistrements depuis le menu System Recordings.

Play Music On Hold : Si on sélectionne une musique d'attente, alors elle sera jouée à l'appelant pendant que le système fait sonner les extensions. Il faut remarquer que si on choisit cette option, l'appelant est considéré comme déjà en communication par son opérateur téléphonique et commence à être facturé pour l'appel, ce qui n'est pas le cas de l'option Ring.

Destination if no answer : destination de l'appel si aucune extension ne répond. Voir page

Destination if no answer.

28/36

Création d'un IVR

Fonction

Permet de créer un Digital Receptionist, qui joue un message proposant des touches à presser selon l'action voulue et qui effectue une action quand la touche correspondante est pressée.

Pré-requis

Installation du module IVR.

Fonctionnement

D'abord créer et configurer un IVR. Ajuster le nombre de possibilités sur la page à celui dont on a besoin. Pour cela, cliquer sur les boutons Increase Options et Decrease Options.

Pour chaque destination, spécifier la touche à taper dans la case située en dessous de Return to IVR. On a le choix entre 0-9, *, #, i et t.

Il possible de mettre un numéro de plusieurs chiffres dans une case.

Enfin, l'IVR créé sera disponible dans la ligne IVR parmi les destinations, par exemple dans Inbound

Routes…

Configuration

Après installation du module un onglet IVR sera ajouté au paragraphe Inbound Call Control.

Les entrées que peut prendre un IVR sont :

« 0-9 » : les chiffres du clavier téléphonique.

« * » : la touche * du clavier téléphonique.

« # » : la touche # du clavier téléphonique.

« i »: l'événement correspondant au fait de presser une touche non valide, non proposée par l'IVR. Valeur par défaut : jouer le message "Invalid option, please try again", puis rejouer le menu. Au bout de trois tentatives invalides, l'IVR raccroche.

« t » : l'événement correspondant au fait de ne pas presser de touche. Valeur par défaut : rejouer le menu 3 fois puis raccrocher.

Depuis la page IVR on peut ajouter des IVR en cliquant sur Add IVR :

29/36

Change Name : nom indicatif à donner à l'IVR.

Timeout : délai d'attente au bout duquel l'IVR considère la réponse comme étant « t ».

Enable Directory : permet aux appelant dans l'IVR de taper « # » pour accéder à l'annuaire.

Directory Context : le voicemail directory context utilisé quand on presse #.

Enable Direct Dial : permet aux appelants dans l'IVR d'appeler directement une extension.

Announcement : message joué à l'appelant à son arrivée à l'IVR. Pour ajouter des annonces, voir System Recordings.

VM Return to IVR : si cette option est activée et si s'appelant tape l'option correspondante alors : l'appelant retournera vers l'IVR qui l'a orienté vers cet IVR (IVR parent), s'il vient d'un autre IVR. l'appelant sera orienté vers la destination sélectionnée à droite, s'il ne vient pas d'un autre IVR.

Utilisation du « Parking lot – Call transfer »

Fonction

Permet de transférer un appel reçu vers une destination interne au système (ex. extension) ou externe (numéro de téléphone public) à travers un trunk.

Pré-requis

Installation du module parking lot

Configuration

Le transfert se fait avec la touche #.

Il est possible qu'on ne veuille pas que le système réagisse à la touche # (par exemple parce qu'on appelle des lignes extérieures qui nous demandent d'appuyer sur la touche # et ce sera gênant si le système réagit à la touche avant le correspondant extérieur).

Dans ce cas, il suffit d'aller dans le fichier /etc/asterisk/feature.conf et de décommenter la ligne

;blindxfer =>

##

Enable Parking Lot Feature : activer/désactiver le module.

Parking Lot Extension : extension donnée au Parking Lot. (voir le paragraphe

Managed transfer)

Number of Slots : nombre de places de parking. (voir le paragraphe Managed

transfer)

Parking Timeout : délai en secondes au-delà duquel un appel parké est considéré comme orphelin.

Parking Lot Context : contexte des appels parkés.

Parking Alert-Info : alerte pour certains téléphones SIP possédant cette fonctionnalité par exemple pour indiquer qu'il s'agit d'un appel orphelin du parking.

CallerID Prepend : ajout d'un préfixe au CallerID avant de rediriger l'appel orphelin.

Announcement : annonce à jouer à la personne en attente avant de la rediriger.

Destination for Orphaned Parked Calls : destination de l'appel orphelin.

Fonctionnement

La configuration par défaut de Freepbx permet le transfert d'appel uniquement à l'appelé interne au système, et pas à l'appelant. Donc par exemple si on appelle un numéro extérieur depuis une extension, le destinataire ne peut pas opérer un transfert d'appel par le serveur. Cette configuration peut être modifiée depuis le paragraphe Dialing Options dans General Settings.

Par exemple mettre t dans le champ Asterisk Outbound Dial command options permet à un correspondant extérieur appelé depuis une extension de transférer cette extension, ce qui est généralement à proscrire.

30/36

Blind transfer

Il suffit de composer # (ATTENTION vérifier le code paramétré pour l'option « In-Call Asterisk Blind

Transfer » dans « Features code » ) suivi du numéro destinataire du transfert (qui peut être un numéro interne ou externe au système). On est alors déconnecté et le numéro destinataire se met à sonner. Il lui suffira alors de décrocher. L'appel sera alors traité comme n'importe quel appel, si le destinataire ne répond pas il ira vers sa messagerie, ou l'appel sera terminé selon la configuration de la destination.

C'est ce qu'on appelle le blind transfert où on ne se soucie pas des conséquences après la manœuvre.

Managed transfer

Pour faire des transferts de façon plus élaborée, il faut passer par le Parking Lot. Les places de parking sont numérotée par défaut de 71 à 79 et leur extension est par défaut 70.Ces paramètres sont modifiables depuis l'onglet Parking Lot.

Si par exemple on assigne à Parking Lot Extension la valeur 80 et à Number of Slots la valeur 15 alors l'extension du parking sera 80 et les places iront de 81 à 95.La valeur de Parking Timeout est le temps après lequel un appel parké est considéré comme orphelin Destination for Orphaned Parked Calls est la destination vers laquelle doivent être renvoyés les appels orphelins. Pour renvoyer un appel vers le parking, il suffit de le transférer vers l'extension du parking en composant #70. Le destinataire de l'appel (qui vient d'effectuer le renvoi) entendra alors le numéro de la place de parking où l'appelant a

été renvoyé (qui sera la première place de parking disponible) puis sera déconnecté.

Pour reprendre cet appelant depuis n'importe quelle extension, il suffira de composer le numéro de la place de parking où le destinataire est parké.

Le parking peut aussi servir pour mettre un appel sur hold si le téléphone ne dispose pas d'une touche

hold.

Utilisation du module Conférences

Fonction

Permet de créer des conference rooms. Ces conference rooms fonctionnent comme des extensions à part entière et ont un numéro interne (qui ne doit pas être déjà pris par une extension).

Pré-requis

Nécessite l'installation préalable de Zaptel et le chargement dans le noyau Linux du module ztdummy.

Ce dernier simule l'horloge qui est normalement générée par le hardware (carte FXO ou FXS) quand celui-ci n'est pas installé sur la machine. Il prend l'horloge depuis le module du noyau usb-uhci, qui par conséquent doit être préalablement chargée dans le noyau. Pour plus de détails, voir http://www.voipinfo.org/wiki/index.php?page=Asterisk+timer+ztdummy .

Cette horloge est nécessaire pour le bon fonctionnement du module Conférences. Il est donc nécessaire d'ajouter la ligne : modprobe ztdummy au fichier /etc/rc.local avant la ligne e xit 0 pour que le module ztdummy du noyau linux soit automatiquement chargé au démarrage de la machine.

Installation

Le module Conferences s'installe de manière classique a partir de Module Admin.

31/36

Configuration

Depuis Conferences dans la catégorie Internal Options & Configuration, créer une conférence en cliquant Add Conference.

conference number conference name

: numéro d'extension de la conférence.

: nom indicatif pour la conférence.

user PIN

: mot de passe pour pouvoir participer à la conférence. S'il n'est pas vide il sera demandé de composer ce code quand on appelle cette conférence.

admin PIN

: mot de passe pour administrer la conférence. Donne plus de droits qu'un utilisateur ordinaire.

join message

: permet de jouer un message (qui a déjà été uploadé dans la machine) à chaque nouvel arrivant à la conférence. Ce message doit être présent dans la bibliothèque des messages de FreePBX. Cette bibliothèque de messages peut être administrée par le module System Recordings .

leader wait

: fait en sorte que la conférence ne puisse pas commencer tant que personne n'est entré en composant le admin PIN.

quiet mode

: désactive les signaux sonores (bip) signifiant l'arrivée ou le départ d'utilisateurs de la conférence.

user count

: annonce à chaque arrivant le nombre de personnes présentes à la conférence.

user join/leave

: annonce automatique de l'arrivée et du départ d'utilisateurs de la conférence aux membres restants..

music on hold

: active la musique d'attente quand un utilisateur est seul à la conférence ou si l'administrateur n'est pas encore arrivé à la conférence.

allow menu

: active l'accès au menu de la conférence (user ou admin) lors qu'on appuie sur *.

Fonctionnement

Le fonctionnement est simple. Depuis une extension, composer le numéro de la conférence. Composer le PIN s'il est demandé, enregistrer son pseudonyme quand il est demandé, ensuite on est dans la

conference room.

Il est possible également de transférer un appelant extérieur vers une conférence de la même manière qu'on le transfère vers une extension

32/36

Vérifications à effectuer en cas de problème de connexion ou de qualité

Problèmes de qualité

(source: http://www.blog-des-telecoms.com/article17/comment-resoudre-une-mauvaise-qualite-decommunication-voip/?)

Dans un premier de temps, il est importantde déterminer si le problème vient des communications externes ou si le problème intervient aussi sur les communications sur le même site. Si les appels entre

2 postes IP (important) sur le même site (avec l'IPBX en local si nous ne sommes pas en Centrex ) sont dégradés, il va falloir dans un premier temps résoudre ce problème. Pour cela, il faut vérifier quelques paramètres cruciaux :

1. quel est le codec utilisé : le codec a une influence sur la qualité perçue. si on a un PABX, utilisez le G711 voire G722 (codec large bande permettant de mieux reproduire la voix). En mode centrex, il peut être souhaitable d'économiser la bande passante, alors le G729

(codec sous licence payante à l'heure actuelle) sera le codec de choix.

Voici un lien qui explique les principaux codecs utilisés par Astérisk: http://www.voip-info.org/wiki/view/Asterisk+codecs

2. le mode peer to peer activé : si oui, le flux RTP reste sur le réseau local en mode centrex, la connexion se faisant de poste à poste. Le WAN n'intervient donc pas dans le flux voix en dehors de la signalisation (qui peut être considérée dans un premier temps comme négligeable d'un point de vue bande passante si on la compare aux flux RTP). Sinon, pour un appel entre 2 postes sur le même site, nous avons 1 appel sortant et 1 appel entrant sur le site, il y a donc un impact sur le WAN.

3. la fonction VAD (Voice Activity Detection appelé aussi Silence Supp Enable ou Comfort

Noise Support sur certains téléphones) est-elle activée ? Cette fonctionnalité intéressante permet de limiter la bande passante d'une communication en supprimant les paquets incluant les silences. Suivant les réglages, l'économie peut-être importante. Cette fonction est inutile en local, et doit-être désactivée.

Elle est difficile à bien paramétrer, et en cas d'erreur les mots seront coupés, les communications pouvant devenir inaudibles.

4. un VLAN voix a-t-il été paramétré appliquant la QoS voix aux flux concernés ?

5. vérifier que les équipements sont bien à jour, car une version firmware peut avoir un défaut expliquant le problème.

En général, les problèmes sont surtout rencontrés lors des appels externes. En effet, la bande passante est alors plus limitée, les communications passent sur internet et le lien est parfois partagé avec d'autres flux. Nous recommandons d'utiliser des lignes dédiées pour la VoIP ou alors d'avoir une très bonne connexion. Internet n'a pas été conçu pour transporter des flux temps réels et ne sait pas garantir la qualité (cela ne veut pas dire que cela ne marche pas). De plus, la sécurité est aussi difficile

à assurer, il suffit d'aller voir la liste des failles de sécurité pour prendre peur.

En plus des questions posées plus haut, il faut aussi obtenir d'autres informations :

1. Nombre d'appels simultanés externes

2. Bande passante du lien haut débit (en IP)

33/36

Quelques sites utiles: http://www.asteriskguru.com/tools/bandwidth_calculator.php

http://www.franceip.fr/bandwith.html

http://www.3cx.fr/blog/voip-bande-passante/

3. Le lien est-il dédié à la voix ? si non, quels sont les mécanismes qui priorisent la voix sur les autres flux ?

4. Les flux voix empruntent ils internet ou restent-ils sur le réseau de l'opérateur ?

5. En mesurant les flux sur le lien, vous pourrez vérifier si le lien est saturé, si les règles sont bien appliquées ou si le lien souffre de perte de paquets ou de gigue.

On peut obtenir des informations intéressantes en écoutant la qualité de la voix :

Il y a avez des blancs en cours de communication, il faut vérifier si la VAD est activée. Ensuite, cet effet peut être causé par de la perte de paquet ou une gigue trop importante du lien WAN. Cela peut aussi être dû à une règle de QoS mal définie.

Il y a des bruits ou des craquements. Ils sont souvent causés par une congestion du LAN ou du WAN.

La voix résonne comme une voix de robot, alors c'est certainement dû à une perte de paquet due à une gigue trop importante. (reste à trouver la source de cette gigue).

Il y a de l'écho. Cela est dû à un problème de réglage de l'echo canceller du PABX ou de la gateway.

Exemple de config pour un téléphone IP CISCO SPA504G

La qualité d'un réseau peut être définie par 4 valeurs (

source: http://www.catapulse.org/articles/view/56

):

La bande passante en TCP

La latence ou le temps aller/retour d'un paquet.

La gigue (jitter) est la variation de latence. Les paquets arrivent de manière irrégulière en fonction du trafic réseau.

• le taux de perte en UDP

La bande passante détermine la 'grosseur du tuyau' et donc le débit maximum théorique de celui-ci. Si vos communications VoIP passent par votre connexion Internet et que vous avez un trafic réseau important au même moment alors la qualité de la communication peut être considérablement dégradée.

34/36

La latence définit le délai d'aller-retour d'une information transmise sur le réseau informatique. Elle peut être mesurée à l'aide de la commande ping.

La gigue est la variation de la latence. Les paquets arrivent de manière irrégulière en fonction du trafic réseau. Elle est donc déterminante dans le cas de la VoIP, plus la gigue augmente plus la conversation devient hachée.

La mesure de la gigue peut se faire grâce à des outils comme par exemple iperf sous

Linux.

Le taux de perte oblige à la retransmission des données, ce qui affecte considérablement la qualité du lien réseau.

Les valeurs à respecter pour un réseau de qualité:

Sur un réseau local: Perte < 0.5%, délai < 10 ms, gigue < 5 ms

Sur un réseau Wan: Perte < 1%, délai < 40 ms, gigue < 10 ms

Sur Internet (ou VPN sur Internet): Perte < 2%, délai < 100 ms, gigue < 30 ms

Perte de ligne, problème de connexion au fournisseur VOIP

Les choses à vérifier:

Si votre serveur Asterisk a été installé par ProLibre, nous avons mis en place un script

(/usr/local/sbin/watch_voip_status) exécuté par un cron (/etc/cron.d/watch_voip_status) qui vérifie le nombre attendu d'extensions et de trunks SIP qui doivent être connectés à

Asterisk ainsi que la durée limite de connexion pour un canal créé dans Astérisk.

Si vous avez plusieurs sites connectés en VPN au serveur Asterisk, nous avons aussi un autre script qui teste l'accessibilité des différents réseaux.

Ces scripts envoient un E-mail qui vous donne des informations en cas de problème.

Vérifier la disponibilité du service VOIP auprès de votre fournisseur d'accès.

Souvent le fournisseur fournit une interface pour contrôler l'état de ses services avec des informations utiles comme les dates et horaires de maintenance.

On peut aussi tester une connexion VOIP auprès d'un fournisseur en configurant directement un logiciel SIP (par exemple Ekiga ou Twinkle) sur votre ordinateur. Si ce client

SIP se connecte au serveur VOIP de notre fournisseur et que nous arrivons à passer des appels sortant et entrant alors le problème ne vient pas du serveur VOIP du fournisseur mais plutôt de votre serveur Asterisk.

Vérifier vos paramètres de connexion (notamment au niveau de vos trunks SIP) dans la configuration d'Asterisk. Assurez-vous que les options correspondent bien à celles autorisées par le fournisseur (il arrive parfois que certaines options paramétrées dans

Asterisk ne fonctionnent plus suite à une mise à jour effectuée par le fournisseur).

Vérifier donc auprès de votre fournisseur si celui-ci n'a pas effectué de modifications récentes sur ses services.

En dernier lieur, redémarrer le service Asterisk. Si votre serveur à été installé par ProLibre, connectez-vous au serveur Asterisk en ssh et entrez la commande ci-dessous:

/etc/init.d/voip-plcustom restart

35/36

‣ SOURCES

Je remercie principalement les sites nommés ci-dessous pour la richesse de leurs informations.

http://www.manuel-freepbx.com/ http://www.asterisk-france.org/ http://aussievoip.com/wiki/index.php?page=freePBX http://www.voip-info.org/ http://wiki.contribs.org/FreePBX/fr#FreePBX http://www.asteriskguru.com/tutorials/ http://condorcet.iris.free.fr/ http://www.cadvision.com/blanchas/Asterisk/ConfiguringAsteriskDahdi.html

http://www.3cx.fr/voip-sip/ http://artisan.karma-lab.net/ http://www.queret.net/blog/category/Voip-asterisk-telephonie http://www.freepbx.org/support/documentation/howtos/ http://www.elastix.org/

‣ LICENCE

Ce document a été réalisé par Mickaël DUBARD ([email protected])

Il est publié sous licence Creative Commons Attribution, Partage à l'identique, Contexte non commercial

2.0 : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/

36/36

Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project