Contenu | Rechercher | Menus

Asterisk

Préambule

Asterisk permet de transformer un ordinateur en commutateur téléphonique performant. Il se présente sous la forme d'un logiciel libre édité par la société américaine Digium. La configuration d'un serveur Asterisk n'est pas relativement aisée, surtout pour les néophytes, c'est pour cette raison que certaines sociétés dont Digium éditent maintenant des distributions entièrement consacrée à Asterisk parmi lesquelles on peut citer :

  • Asterisk Now (édité par Digium)
  • Trixbox (anciennement Asterisk@home)
  • Xivo (édité par Avencall, société française et basée sur Debian)

Pour utiliser Asterisk sur un serveur virtuel, cf. AsteriskNow

Présentation

Testé sous Ubuntu 12.10 Server (autre méthode)

Installation

Tout d'abord, veillez à avoir une distribution à jour :

sudo apt-get update
sudo apt-get upgrade 

Nous procédons ensuite à l'installation des dépendances :

sudo apt-get install build-essential libxml2-dev libncurses5-dev linux-headers-`uname -r` libsqlite3-dev libssl-dev

On télécharge la dernière version d’Asterisk et on l’installe :

mkdir /usr/src/asterisk
cd /usr/src/asterisk
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz
tar -xvzf asterisk-11-current.tar.gz
cd asterisk-11.4.0                          # <--- Modifiez cette ligne en fonction de la version d'Asterisk
./configure
make menuselect

Dans le menu qui s'affiche, allez dans Core Sound Package et cochez à l'aide de la touche Espace CORE-SOUNDS-FR-ULAW. Quittez en pressant la touche Echap. Allez ensuite dans Music On Hold File Packages, décochez MOH-OPSOUND-WAV et cochez MOH-OPSOUND-ULAW. Enfin, allez dans Extras Sound Packages et cochez EXTRA-SOUNDS-FR-ULAW.

Revenez à l'écran principal et appuyez sur Echap pour terminer et pressez S pour sauvegarder.

Enfin tapez les commandes suivantes pour terminer l’installation :

Avant d'effectuer ces commandes, assurez vous que vous avez une connexion Internet configurée et active.

make
make install
make samples
make config

Enfin, lancez Asterisk avec la commande suivante :

/etc/init.d/asterisk start

Lancez la console Asterisk avec la commande suivante :

asterisk -cvvvvvvvvvvr

Autre méthode

L'installation qui suit a été effectuée avec Ubuntu 6.06.1 LTS depuis des paquets debian. Tout d'abord, il faut installer les pilotes Zaptel qui vous permettront ensuite d'ajouter des cartes analogique, T0… de marque Digium.

 sudo vim /etc/udev/rules.d/50-zaptel.rules

Ajoutez dans ce fichier les lignes suivantes :

KERNEL=="zapctl", NAME="zap/ctl", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL=="zaptimer", NAME="zap/timer", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL=="zapchannel", NAME="zap/channel", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL=="zappseudo", NAME="zap/pseudo", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL=="zap[0-9]*", NAME="zap/%n", OWNER="asterisk", GROUP="asterisk", MODE="0660"

Ensuite, il faut compiler et installer les pilotes :

 sudo apt-get install gcc zaptel zaptel-source
 sudo module-assistant auto-install zaptel

Fin de l'installation des pilotes Zaptel, redémarrez maintenant votre ordinateur a l'aide de la commande :

 sudo reboot

Ensuite nous allons procéder à l'installation de Asterisk :

 sudo apt-get install asterisk

Un fois installé, modifiez ces paramètres pour que Asterisk demarre au démarrage de l'ordinateur :

 sudo vim /etc/default/asterisk
RUNASTERISK=yes
RUNASTSAFE=no

Pour installer les paquets français de Asterisk, vous devez lancer cette commande :

sudo apt-get install asterisk-prompt-fr

Configuration

La configuration d'Asterisk s'articule sur les fichiers de configuration suivants :

  • /etc/asterisk/sip.conf : Configuration globale d'Asterisk
  • /etc/asterisk/users.conf : Configuration des utilisateurs
  • /etc/asterisk/extentions.conf : Configuration du Dialplan

Chaque modification dans la configuration devra être suivie par la commande

reload

saisie dans la console d'Asterisk

Paramétrer les sons en français

Modifier le fichier /etc/asterisk/sip.conf et modifiez la ligne :

;language=en                     ; Default language setting for all users/peers

en :

language=fr                     ; Default language setting for all users/peers

N'oubliez pas d'enlever le point-virgule au début de la ligne.

Modifier les utilisateurs

Modifier le fichier /etc/asterisk/users.conf et veillez que la configuration de la rubrique général corresponde avec ce qui suit :

[general]
hasvoicemail = yes
hassip = yes
hasiax = yes
callwaiting = yes
threewaycalling = yes
callwaitingcallerid = yes
transfer = yes
canpark = yes
cancallforward = yes
callreturn = yes
callgroup = 1
pickupgroup = 1
nat = yes

Méthode sans template

Pour chaque utilisateur, ajoutez le code suivant (avec les modifications nécessaires) :

[6001]				; Numéro SIP
type=friend			; Type d'objet SIP (friend = utilisateur)
host=dynamic			; Vous pouvez vous connecter a ce compte SIP a partir de n’importe quelle adresse IP
dtmfmode=rfc2833		; Mode du DTMF
disallow=all			; Désactiver tous les codecs
allow=ulaw			; Activer les codecs µlaw
fullname = John DOE		; Nom complet de l'utilisateur (ce qui s'affichera sur le téléphone)
username = jdoe			; Nom d'utilisateur
secret=secret			; Mot de passe
context = work			; Contexte (exploité par le fichier extensions.conf)

Méthode avec template

Pour chaque template, ajoutez le code suivant (avec les modifications nécessaires) :

[template](!)			; Nom du template (ici template)
type=friend			; Type d'objet SIP (friend = utilisateur)
host=dynamic			; Vous pouvez vous connecter a ce compte SIP a partir de n’importe quelle adresse IP
dtmfmode=rfc2833		; Mode du DTMF
disallow=all			; Désactiver tous les codecs
allow=ulaw			; Activer les codecs µlaw
context = work			; Contexte (exploité par le fichier extensions.conf)

Pour chaque utilisateur, ajoutez le code suivant (avec les modifications nécessaires) :

[6001](template)		; Numéro SIP et template utilisé
fullname = John DOE		; Nom complet de l'utilisateur (ce qui s'affichera sur le téléphone)
username = jdoe			; Nom d'utilisateur
secret=secret			; Mot de passe

Configuration du Dialplan

Modifier le fichier /etc/asterisk/extensions.conf et ajoutez le code suivant (avec les modifications nécessaires) :

[work]			; Nom du contexte
exten => _6XXX,1,Dial(SIP/${EXTEN},20)	
exten => _6XXX,2,Hangup()

Dans ces trois lignes nous allons voir deux choses, les contextes et les extensions. [work] est le contexte c’est une sorte de conteneur dans lequel les utilisateurs faisant partis de ce contexte pourrons communiquer entre eux. Lors de la création de nos deux utilisateurs nous avons spécifié le contexte work.

  • exten ⇒ : déclare l’extension (on peut aussi simplement dire numéros)
  • _6XXX : Prend les extensions (ou numéros) de 6000 a 6999 le « _ » permet d’utiliser des regex
  • 1 : Ordre de l’extension
  • Dial : application qui va être utilisé
  • SIP: Protocol qui va être utilisé
  • ${EXTEN} : variable de l’extension composé, si on appelle le 6001 la variable ${EXTEN} prendra comme valeur 6001
  • 20: temps d’attente avant de passer a l’étape suivante.

Donc la ligne exten ⇒ _6XXX,1,Dial(SIP/${EXTEN},20) se traduit par: Quand on compose le numéro (par exemple) 6001, on appelle le numéro 6001 et si au bout de 20 secondes il n’y a pas de réponses on passe à la ligne du dessous.

La seconde ligne : exten ⇒ _6XXX,2,Hangup() permet de raccrocher si il n’y a pas de réponses au bout des 20 secondes.

Liens



Le contenu de ce wiki est sous licence : CC BY-SA v3.0