Introduction a la VoIP avec Asterisk

Un article de Wiki SOS-ADMIN.

Sommaire

(Petit) Lexique

PABX (Private Automatic Branch Exchange) c'est le nom utilisé pour designer un autocommutateur ou central téléphonique, aujourd'hui, notre PABX à nous s'appelle ASTERISK : c'est un PABX "logiciel" (IPBX) contrairement à beaucoup d'autres qui sont matériel, et trés couteux, Asterisk est OpenSource, et gratuit. (http://www.asterisk.org)

IPBX : PABX ip

FXS (Foreign eXchange Subscriber) : c'est le nom d'une carte installée dans votre PC, qui vous permettra de convertir un signal entrant numerique, en signal analogique pour y brancher votre téléphone "analogique" derrière.

FXO (Foreign eXchange Office) : c'est le nom de la carte, sur laquelle vous branchez votre ligne téléphonique, cette carte sera chargée de recevoir les appels entrant "analogiques" et les convertir en signaux numeriques.

PSTN (Public Switched Telephone Network) : c'est le nom d'un fournisseur téléphonique, Wengo, Directcentrex, Phonesystems, sont des PSTN.

SIP et IAX2 : Voir : PROTOCOLE.


Introduction

Vous avez besoin de créer un réseau téléphonique entre un groupe de personnes, créer des numéros internes abrégés, disposer de votre propre musique d'attente, transférer des appels... ou bien faire un système de serveur vocal couplé à une base MySQL, avec des menus, une identification ou l'enregistrement de messages vocaux pour vos sites internet ? Alors, vous avez besoin d'installer ASTERISK.

Je vais tenter de vous expliquer l'installation et le début de la configuration , mais les possibilités sont énormes, et il me serait impossible de rentrer dans les détails de chaque option.

Pour commencer,

ASTERISK est un logiciel serveur OpenSource PBX, c'est lui, qui va gérer votre identification au serveur, la réception et l'emission des appels par internet.

Pour réaliser ce didacticiel/howto, j'ai utilisé un serveur dédié (testé sur : Redhat, Gentoo, Mac osX), et un abonnement chez le fournisseur voIP : Wengo (du groupe 9 telecom). L'abonnement Wengo inclut 2 lignes (in ET out). L'inscription est rapide, et vous avez votre numéro en quelques minutes.

Il existe plusieurs autres opérateurs comme : Directcentrex ou Phonesystems , et Phonext pour la Belgique. Un fournisseur de lignes entrantes (pas d'appel sortant) propose des numéros de téléphone publics à bas prix, notamment en Belgique, il s'agit de VoxBone. Je ne les ai pas testés, mais ils sont tous très comparables, et leur fonctionnement est identique, vous pouvez donc choisir celui qui vous conviendra le mieux.

En 10 minutes (chrono!) ...

Pour ceux qui n'ont pas le temps....

wget http://ftp.digium.com/pub/asterisk/asterisk-1.2.7.1.tar.gz
wget http://ftp.digium.com/pub/asterisk/asterisk-addons-1.2.1.tar.gz
wget http://ovh.dl.sourceforge.net/sourceforge/sox/sox-12.17.8.tar.gz
wget http://www.sineapps.com/FrenchPrompts.tar.gz
wget http://www.mpg123.de/mpg123/mpg123-0.59r.tar.gz

tar -xzf asterisk-1.2.7.1.tar.gz
tar -xzf asterisk-addons-1.2.1.tar.gz
tar -xzf sox-12.17.8.tar.gz
tar -xzf FrenchPrompts.tar.gz
tar -xzf mpg123-0.59r.tar.gz

cd mpg123-0.59r
make linux
make install

cd ../sox-12.17.8
./configure
make
make install

cd ../asterisk-1.2.7.1
make
make install
make samples

cd ../asterisk-addons-1.2.1/
make
make install

cd ../
mv fr /var/lib/asterisk/sounds/.
mv digits/fr /var/lib/asterisk/sounds/digits/fr

Protocole

Il existe plusieurs protocoles d'identification pour la voIP, le standard aujourd'hui s'appelle "SIP" (Session Initiation Protocol), c'est un standard ouvert, le serveur Asterisk a son propre protocole "IAX2", mais asterisk sait très bien gérer les deux protocoles, et ceux-ci sont même compatibles entre eux. (exemple : un softPhone en IAX2, un fournisseur voIP en IAX2, et un softphone en SIP : tous branchés à Asterisk !)

Un fournisseur voIP va donc vous fournir, non pas un fil arrivant chez vous pour brancher votre téléphone, mais simplement quelques paramètres : l'adresse IP de leur serveur, un login, et un mot de passe ! Cela suffit aujourd'hui pour téléphoner depuis n'importe où !


Téléchargement

Ici, nous allons télécharger l'ensemble des applications utiles pour l'installation d'Asterisk. Les versions vont surement évoluer, méfiez vous des liens, et allez eventuellement télécharger directement les applications sur leur site respectif pour prendre la dernière version.


Le logiciel "Asterisk"

# wget http://ftp.digium.com/pub/asterisk/asterisk-1.2.7.1.tar.gz

les Addons d'Asterisk, vont permettre l'utilisation d'Asterisk avec MySQL :

# wget http://ftp.digium.com/pub/asterisk/asterisk-addons-1.2.1.tar.gz

Le logiciel SOX vous permet de convertir un fichier "WAV" en format "GSM" qui est le format pour faire diffuser une annonce d'accueil par exemple.

# wget http://ovh.dl.sourceforge.net/sourceforge/sox/sox-12.17.8.tar.gz

Ceci est un package de voix en francais, plutot que la version standard en anglais (utilisée pour le repondeur, par exemple) les voix ne sont pas de trés bonne qualité, mais ont l'avantage tout de meme d'être en francais.

# wget http://www.sineapps.com/FrenchPrompts.tar.gz

mpg123 est un logiciel permetant de diffuser un contenu en MP3, il est indispensable pour utiliser la musique d'attente.

# wget http://www.mpg123.de/mpg123/mpg123-0.59r.tar.gz

Installation

On decompresse maintenant l'ensemble des logiciels telechargés

# tar -xzf asterisk-1.2.7.1.tar.gz
# tar -xzf asterisk-addons-1.2.1.tar.gz
# tar -xzf sox-12.17.8.tar.gz
# tar -xzf FrenchPrompts.tar.gz
# tar -xzf mpg123-0.59r.tar.gz


On va commencer par installer sox et mpg123, qui sont des petits logiciels assez rapide à installer.

# cd mpg123-0.59r
# make linux
# make install

On installe ensuite SOX

# cd ../sox-12.17.8
# ./configure
# make
# make install

On installe maintenant le serveur Asterisk

# cd ../asterisk-1.2.7.1
# make
# make install
# make samples

make samples va installer les fichiers de configuration par defaut. (Lors de vos mises a jours, plus la peine de l'executer)

On installe maintenant les addons Mysql

# cd ../asterisk-addons-1.2.1/
# make
# make install

On installe les voix francaises

# cd ../
# mv fr /var/lib/asterisk/sounds/.
# mv digits/fr /var/lib/asterisk/sounds/digits/fr


Configuration

Voila, votre serveur est installé, il faut maintenant faire la "configuration". L'ensemble de vos fichiers de configuration se trouve dans le dossier /etc/asterisk/

# cd /etc/asterisk/

Seuls quelques fichiers nous interessent, à savoir :

sip.conf
extensions.conf

Le fichier sip.conf, va définir l'ensemble de vos utilisateurs, le fichier extensions.conf, va définir les actions à faire, lors d'un appel sur un numéro de téléphone. Pour connaitre l'ensemble des fonctions utilisables, rendez-vous sur le site http://www.asteriskguru.com/tutorials/ et également sur le site http://www.voip-info.org/


Editez le fichier sip.conf, à la fin du fichier et créez vos utilisateurs ainsi :

[jerome]
type=friend   
username=jerome
secret=MonPaSswoRd
host=dynamic
context=moncontexte
language=fr
insecure=very
nat=yes
canreinvite=no


[francois]
type=friend   
username=francois
secret=MonPaSswoRd
host=dynamic
context=moncontexte
language=fr
insecure=very
nat=yes
canreinvite=no


Ici, nous avons créé 2 utilisateurs : jerome et francois, vous pouvez biensur en créer autant que vous voulez.

type=friend : va définir que votre utilisateur est un "ami" est il sera autorisé à passer des appels SORTANT
host=dynamic : permet de se connecter avec cet utilisateur depuis n'importe quelle IP.
context=moncontexte : l'option "context" sera ensuite utilisée dans le fichier extensions.conf, lorsque l'utilisateur emet un appel, il rentrera dans la zone "moncontexte", qu'on definira plus tard.
language=fr : permet d'utiliser les fichiers audio francais.


Nous allons ensuite configurer notre compte WENGO

Rendez-vous sur : http://ws.wengo.fr/softphone-sso/sso.php?login=VOTRE_EMAIL&password=VOTRE_PASS en modifiant VOTRE_EMAIL et VOTRE_PASS par vos identifiants Wengo.


Ouvrez ensuite la source de ce fichier, vous y trouverez un flux XML :

<?xml version="1.0" ?>
- <#> <sso vapi="*1*">
<status code="*200*">OK</status>
<user>ident-wengo</user>
<userid>ident-wengo</userid>
<displayname>ident-wengo</displayname>
<password>XXXXXXXXXXXXXXX</password>
<outbound>1</outbound>
<realm>voip.wengo.fr</realm>
- <#> <proxy>
<host>213.91.9.210</host>
<port>5060</port>
</proxy>
- <#> <server>
<host>voip.wengo.fr</host>
<port>5060</port>
</server>
- <#> <httptunnel>
<host>httpproxy.wengo.fr</host>
</httptunnel>
</sso>


Recuperez votre "ident-wengo" et votre mot de passe "XXXXXXXXXXXXXXX" : il est different de votre compte Wengo, ceci est votre mot de passe "SIP", cette étape est indispensable pour connaitre ce parametre.

Une fois ces elements en main, éditez à nouveau le fichier sip.conf, et rajoutez dans la section [general], la ligne suivante :

register => ident-wengo:XXXXXXXXXXXXXXX@wengo/ident-wengo   


Ensuite, nous allons définir l'utilisateur @"wengo", tout comme vos utilisateurs (ex : jerome, francois...) à la difference qu'au lieu d'être "type=friends" c'est "type=peer"


On met donc à la fin du fichier sip.conf :

[wengo]
type=peer
fromdomain=voip.wengo.fr
host=voip.wengo.fr
outboundproxy=sipproxy.wengo.fr
outboundproxyport=5060
username=ident-wengo
fromuser=ident-wengo
secret=XXXXXXXXXXXXXXX
insecure=very
nat=yes
canreinvite=no


Toujours dans la section [general] vous allez devoir modifier les parametres suivants, afin d'assurer le bon fonctionnement :

Modifiez chacunes des lignes suivante :

context=default
;allowguest=no 
;dtmfmode = rfc2833
;notifyringing = yes
;relaxdtmf=yes

en :

context=wengo-in
allowguest=no 
dtmfmode = auto
notifyringing = yes
relaxdtmf=yes


allowguest, autorise la connexion au serveur ASTERISK à n'importe quelle personne : afin d'eviter ca, on bloque donc les utilisateurs.

le context dans la section [general] décrit le contexte dans lequel un appel arrive et ce qu'on doit en faire... on l'appelle "wengo-in" !


Fermer le fichier SIP : normalement, c'est tout bon :-)

Maintenant, nous allons configurer le fichier extensions.conf :

Rendez vous a la fin du fichier, nous allons d'abord créer le context [wengo-in]


[wengo-in]
exten => _.,1,Goto(moncontexte,100,1)

Lorsqu'un appel arrivera sur wengo, le serveur Asterisk ira immédiatement dans le contexte : "moncontexte", au numero 100, de la priorité 1.

Nous allons maintenant créer la zone "moncontexte"

[moncontexte]

exten => 100,1,Ringing
exten => 100,2,Wait,1
exten => 100,3,Answer
exten => 100,4,Dial(SIP/jerome&SIP/francois,50,tm)
exten => 100,5,Hangup


exten => 101,1,Dial(SIP/jerome,20,tm)
exten => 101,2,Wait,5
exten => 101,3,Dial(SIP/francois,20,tm)
exten => 101,4,Hangup

exten => 102,1,Dial(SIP/francois,20,tm)
exten => 102,2,Wait,5
exten => 102,3,Dial(SIP/jerome,20,tm)
exten => 102,4,Hangup

; ----------------------------------------
; Pour passer un appel (en france)   
exten => _0[123456].,1,Dial(SIP/wengo/${EXTEN},240,T)
exten => _0[123456].,2,Hangup

; Numero GRATUIT
exten => _080[05].,1,Dial(SIP/wengo/${EXTEN},240,T)
exten => _080[05].,2,Hangup

; Numero INTERNET
exten => _087.,1,Dial(SIP/wengo/${EXTEN},240,T)
exten => _087.,2,Hangup
; -----------------------------------------


Cette zone moncontexte, définit plusieurs choses :

Dans un premier temps, lorsqu'un appel arrive sur Wengo, on le redirige vers le numero interne 100, priorité 1.

On laisse sonner, puis, à la priorite 2, on attend, priorité 3, on decroche, priorité 4 : On fais sonner les 2 numeros de telephone "jerome" et "francois", qui sont nos 2 comptes SIP.

Que signifie 50 ?

50 est le timeout, en cas de non-reponse au bout de 50 secondes, nous passerons automatiquement à la priorite 5 : Hangup (on raccroche)

Que siginifie "tm" ?

t, signifie que la personne appellée pourra transférer un appel.
T, sinifie que la personne qui appelle pourra transférer un appel.

m, l'option "m" correspond à la musique d'attente : lorsque vous executerez un "transfert" d'appel, votre correspondant entendra vos musiques d'attente situées dans le dossier : /var/lib/asterisk/mohmp3


Le numero interne 101 est, par contre, uniquement pour l'utilisateur "jerome".

Si l'utilisateur "francois" prend l'appel entrant, mais que l'appel est pour "jerome", il suffira alors de taper les touches #101 pour transferer immédiatement l'appel à Jerome. En cas de non reponse dans les 20 secondes, l'appel reviendra sur francois.

Et inversement pour le numero 102.

Dans l'écriture d'un numéro de téléphone, vous pouvez commencer votre numéro par "_". Ce signe signifie que votre numéro de téléphone sera ecrit sous forme de "pattern". Vous pourrez ainsi utiliser [12345] pour un groupe de numéros, le signe "." pour définir une chaine illimitée, X pour définir un chiffre de 0 a 9.

Démarrage du serveur

Pour démarrer automatiquement votre serveur Asterisk au démarage de la machine, vous devez enregistrer la commande au démarrage de votre serveur (a l'aide de WebMin ?) :

/usr/sbin/safe_asterisk 

Vous pouvez également demarrer depuis la console, en tapant la commande :

asterisk -vvvc

Une fois le serveur "demarré", vous pouvez vous connecter à la console en tapant la commande :

asterisk -r

Cette commande ne demarre pas le serveur, elle vous permet juste de vous reconnecter sur la console une fois le serveur deja lancé !

Note : si vous n'avez pas postgreSql d'installé sur le serveur, reportez vous un peu plus bas pour désactiver le module se référant à ce serveur de base de données.

Commandes du serveur

Pour connaitre l'ensemble des commandes du serveur, vous pouvez taper : help, une fois connecté à la console Asterix

Ceci dit, voici quelques commandes utiles :

A chaque modification du fichier sip.conf, vous devez executer la commande "sip reload" pour recharger le fichier

A chaque modification du fichier extensions.conf, vous devez executer la commande "extensions reload" pour recharger le fichier.

Pour recharger l'ensemble du serveur, tapez la commande : reload

Pour connaitre l'ensemble des "peers" connectés (vos utilisateurs SIP), tapez : sip show peers

Pour vérifier que votre connexion avec Wengo est bien "enregistrée", tapez : sip show registry


Softphone ou Hardphone ?

Voila, nous avons fini d'installer et de configurer le serveur, maintenant il vous faut un telephone ! Le choix est à vous : pour commencer simplement, avec un Softphone, téléchargez le logiciel X-LITE Xten, puis allez dans :

Preferences > System Settings > SIP PROXY > [Default] >

Puis, configurez ainsi :

Enabled : YES (ne pas oublier de changer!!!)
Display Name : jerome
Username : jerome
Authorization User : jerome
Password : MonPasSword
Domain/relam: IPduServeur
SIP Proxy : IPduServeur
Out Bound Proxy : IPduServeur


fermez les préférences.... c'est prêt !

Note: avec certains firewall il est bon deconfigurer SIP Proxy en precisant le port utilisé (par defaut 5060, sinon vous trouverez la valeur dans sip.conf (ligne dans sip.conf : bindport=5060 (Pour X-Lite ca donne : IPduServeur:5060 )

Un peu plus loin... (en vrac!)

SOX

Pour utiliser SOX, et convertir un fichier wav (ou autre comme mp3) en format GSM, utilisez la commande suivante :

sox foo.wav -r 8000 foo.gsm resample -ql

ou bien

sox foo.mp3 -r 8000 foo.gsm resample -ql

Attention cependant :))) si vous utilisez un fichier source qui est stéréo (nombre de canaux supérieur à 1), vous devez lui demander de le convertir en mono, sinon vous risquer d'entendre un son très bizarre...

sox foo.mp3 -r 8000 -c1 foo.gsm resample -ql

EXTEN

Pour faire écouter un message d'accueil avant de renvoyer vers une personne, vous devez utiliser la fonction : Playback.

Exemple :

exten => 100,1,Playback(bonjour)   

le fichier dois se trouver dans votre dossier "sounds", en format .gsm. Dans l'appel de la fonction Playback, vous ne devez pas mettre l'extension .gsm

Maintenant, je vais vous montrer comment realiser un message d'accueil en autorisant l'utilisateur à choisir vers quel poste il desire appeller.

En reprenant notre exemple d'installation avec [wengo-in] et [moncontexte] de tout a l'heure :


[wengo-in]
exten => _.,1,Goto(moncontexte,s,1)


[moncontexte]

; on laisse sonner 
exten => s,1,Ringing
exten => s,2,Wait,2
; On decroche
exten => s,3,Answer
exten => s,4,Set(TIMEOUT(digit)=3)
exten => s,5,Set(TIMEOUT(response)=5)
; on diffuse le message de "bonjour"
exten => s,6,Background(msg-bonjour)
; on attend que l'utilisateur appuie sur une touche, puis, la touche definira la nouvelle "extension" sur le quel l'utilisera ira.
exten => s,7,WaitExten



; Si l'utilisateur appuie sur la touche 1, cela appellera le poste de JEROME, si il appuie sur 2, il ira sur le poste de Francois.
 
; Poste interne "JEROME"
exten => 1,1,Dial(SIP/jerome,50,tm)
exten => 1,2,Hangup

; Poste interne "FRANCOIS"
exten => 2,1,Dial(SIP/francois,50,tm)
exten => 2,2,Hangup


; si l'utilisateur n'a pas appuyé sur une touche pendant le temps défini, alors le systeme executera l'extension "t" (timeout) et on retourne à la priorite 6 qui redifusera le message

exten => t,1,Goto(menu,s,6)

; Si l'utilisateur appuie sur une touche INVALIDE, le system executera l'extension "i" automatiquement.

exten => i,1,Playback(desole) ; on met un message pour dire qu'on a pas compris la touche...

exten => i,2,Goto(moncontexte,s,6) ; on le renvoit au menu


ATTENTION avec la fonction WaitExten. Evitez d'autoriser votre utilisateur à passer n'importe quel appel, les differents "contextes" limitent justement cette utilisation.

Si vous utilisez par exemple (pour passer un appel) :

exten => _0[123456].,1,Dial(SIP/wengo/${EXTEN},240,T)

Soyez donc vigilant dans la programmation de vos contextes.


Playback execute un fichier son, et l'utilisateur est obligé de l'entendre jusqu'à la fin.

Background, execute un fichier son egalement, mais avec la fonction WaitExten, il permet à l'utilisateur d'appuyé sur une touche, même pendant sa diffusion.


PHP

Une autre fonction très utile : System(), elle vous permet d'executer des commandes systeme sur le serveur !

Exemple :

exten => _.,1,System(php /home/script.php ${EXTEN} ${CALLERIDNUM})

MySQL

Maintenant, voici un exemple avec l'utilisation de MySQL :

exten => 555,1,MYSQL(Connect connid localhost USER PASS DATABASE)
exten => 555,2,MYSQL(Query resultid ${connid} SELECT\ id\,name\ FROM\ membres\ WHERE\ telephone=${CALLERIDNUM})
exten => 555,3,MYSQL(Fetch fetchid ${resultid} idm auteur)
exten => 555,4,MYSQL(Clear ${resultid})
exten => 555,5,MYSQL(Disconnect ${connid})
exten => 555,6,Noop(APPEL DE - ${idm} - ${auteur})

Horloge parlante

Autre exemple ? Une horloge parlante :

Ca ne sert pas a grand chose, mais, voici comment faire une horloge parlante

exten => 777,1,Answer
exten => 777,2,SayUnixTime(,CET,kM)
exten => 777,3,Hangup


Testez votre ligne ?

Vous pouvez, si vous desirez, faire un "test d'echo" : vous parlez, il vous retournera immediatement ce qu'il recoit.

Il faut utiliser, pour ca, la fonction : Echo()

exten => 200,1,Answer
exten => 200,2,Echo
exten => 200,3,Hangup

Appellez le numero : 200, parlez !


Boites Vocale

L'installation d'une boite vocale est assez simple. Commencez par éditer le fichier /etc/asterisk/voicemail.conf

Modifiez les lignes suivantes :

format=wav 
serveremail=votre@email.fr
attach=yes
fromstring=VOTRE SOCIETE
mailcmd=/usr/sbin/sendmail -t


Définisez ensuite votre contexte :

[default]
1000 => 9999,Jerome,votre@email.fr

1000 étant le numéro de ma boite vocale. (independant du numero de téléphone !)

9999 le mot de passe

Suivi de mon nom, et mon email sur le quel sera envoyé le fichier attaché.


Lors de la reception d'un appel, voila à quoi resemblera notre fichier extensions.conf

exten => 101,1,Dial(SIP/jerome&SIP/francois,50,tm)
exten => 101,2,Voicemail(1000@default)   
exten => 101,3,Hangup 

L'utilisateur ira, apres 50 secondes et automatiquement, sur le repondeur numero 1000, du contexte [default]


Comment faire ensuite pour "consulter" ses messages ?

C'est très simple : vous devez créer un numéro sur lequel vous effecturez votre appel, et utiliser la fonction VoiceMailMain()


Exemple du fichier extensions.conf

; numero de la messagerie
exten => 222,1,Answer
exten => 222,2,VoiceMailMain(1000@default)
exten => 222,3,Hangup

Lors de l'appel au numero 222, vous tomberez directement sur la boite vocale 1000@default Le mot de passe vous sera demandé, et vous accederez ensuite à vos messages.



Certain telephone peuvent egalement vous fournir grace a un petit icone, la presence d'un ou plusieurs messages sur votre boite vocale. vous devez, pour cela, rajouter dans le contexte de votre utilisateur SIP la ligne :

mailbox=1000@default

Qui definira la "boite vocale" de cet utilisateur.



Fax

Sachez également qu'il est possible de recevoir et d'envoyer des fax avec Asterisk, malheureusement, et même si j'ai pu avec beaucoup de mal installer les applications rxfax et txfax, je n'ai malheureusement pas réussi à optenir un résultat suffisament correct au niveau de la qualité de reception, surement du à la qualité de ligne Wengo. je n'expliquerais donc pas l'installation, relativement longue, tant que je n'aurais pas réussi à avoir un bon résultat.

Pour ceux qui veulent se lancer tout de même, il vous faudra installer :

- eps-1.5
- gcc > 3
- tiff-v3.6.1
- spandsp-0.0.2
- rxfax/txfax


Manager

Asterisk vous permet de prendre son contrôle à distance, grâce à l'option "manager".

Il existe aujourd'hui quelques applications permetant de surveiller le serveur, ou envoyer des commandes, grâce au PHP, en utilisant les sockets par le port 5038.

Vous devez pour cela, créer un compte utilisateur au manager, et lui donner certains droits.

Ajoutez dans le fichier : /etc/asterisk/manager.conf

[jerome]
secret = MonPassword
read = system,call,log,verbose,command,agent,user ; all, peu suffir! ;)
write = system,call,log,verbose,command,agent,user


Rendez vous sur ce site http://www.voip-info.org/wiki-Asterisk+manager+API, pour connaitre l'ensemble des fonctions liées au manager.

Problemes ?

Si vous avez un problème au chargement de votre serveur Asterisk (problème avec un module ?)

Il se peut que vous soyez obligé de désactiver un module, pour X raisons.

Normalement, il ne devrait pas y avoir de problème, mais au cas ou, voici la methode pour lancer votre serveur en supprimant certain module qui ne fonctionnerait pas.

Vos modules se trouvent dans le dossier : /usr/lib/asterisk/modules

Editez le fichier : /etc/asterisk/modules.conf

Les modules sont automatiquement chargés, à partir du moment ou ils se trouvent dans ce dossier et si le parametre autoload=yes est bien definit à "yes"

Vous pouvez, cependant, désactiver les modules.

Dans le contexte [modules] de notre fichier modules.conf

Vous pouvez taper :

noload => cdr_pgsql.so
noload => codec_lpc10.so

La fonction noload, evitera le chargement de ces modules, vous pourrez ainsi démarrer votre serveur et le faire fonctionner, sans pouvoir utiliser les modules en question, evidement.


F.A.Q.

Que ce passe t'il lorsqu'un 2eme appel arrive sur le meme numéro ?

Avec un abonnement comme wengo, vous disposer de plusieurs lignes in/out : 2, pour etre exact, avec phonesystems, ils vous est possible de prendre un abonnement avec autant de ligne que vous desirez. pour eviter que votre numéro soit occupé. les lignes sont completement separer, pas comme l'analogique, avec le "signal sonore", en numerique : si vous avez 2 lignes, 2 personnes differentes peuvent prendre 2 appels. ou 3, ou 4, en fonction de votre abonnement. Le choix de votre telephone sera lui aussi important : puisque c'est lui qui repondra a asterisk "OCCUPE", si il ne sais pas gerer plusieurs ligne differente.


le SoftPhone x-lite peu gerer jusqu'a 3 lignes.
le SoftPhone IDEFISK (protocole IAX2) , sais gerer lui jusqu'a 6 lignes differente.


res_musiconhold.c:507 monmp3thread: Request to schedule in the past?!?!

Cette erreur est du au manque d'un "timer" Sur votre serveur : rien de tres grave, elle provoquera cependant des petits sauts dans la lecture de la musique d'attente en mp3. le timer est habituelement sur les cartes de chez DIGIUM, vous pouvez cependant en emuler un, grace au package : Zaptel, en installant Zaptel/Ztdummy. (Bon courage.....) :-)


Sites web...

Pour terminer, je vous invite réèllement à vous documenter d'avantage sur l'ensemble des fonctions possibles sur les deux sites qui pour moi m'ont le plus servi :

Je vous propose aussi la doc O'Reilly téléchargeable, très, très riche !

Callback

Callback Asterisk (par Grégoire Compagnon)

Vos commentaires


Faites moi part de vos commentaires sur le deroulement de votre installation : jerome (at) phplus.fr

-- Jerome.pautex (c) JEROME PAUTEX -www.phplus.fr / www.rentashop.fr