ASTERISK::Boite vocale, son plus elevé ?

Dans le fichier vm_general.inc, certaines distributions (dont trixbox) disposent d’une configuration de asterisk comme suis :

format=wav49|wav

Il semblerait que passer à la forme suivante améliore le niveau sonore (non testé) :

format=wav|wav49

ce mesage s’adresse donc à ceux qui auraient des mails vocaux au niveau sonore trop faible.

Source

Publicités

ASTERISK::Trunk IAX (Inter Asterisk eXchange)

CONDITION DE MISE EN PLACE

deux serveurs Asterisk chacun avec le port 4569/udp en écoute.

PREPARATION DES FICHIERS DE CONFIGURATION

Fichier iax.conf pour chacun des deux serveurs

[general]
bindport = 4569
bindaddr = 0.0.0.0
disallow=all
allow=ulaw
allow=alaw
allow=gsm
mailboxdetail=yes

[DNS du serveur distant]
type=friend
username=DNS du serveur local
secret=Mot de passe commun aux deux serveurs
auth=plaintext
host=DNS du serveur distant
context=fromiax
peercontext=fromiax
qualify=yes
trunk=yes

ATTENTION : le mot de passe du trunk est le même pour les deux serveurs

Fichier extensions.conf des deux serveurs :

[fromiax]
exten => _X.,1,Answer()
exten => _X.,1,PlayBack(hello-world)
exten => _X.,n,Hangup()

Dans ce cas de configuration, tous les appels envoyés d’un serveur à l’autre à travers IAX obtiendront un jolie Hello World.

COMMENT RENVOYER DES APPELS A TRAVERS IAX ?
Soit pour une extension connue avec Dial :

exten => 2002,1,Dial(IAX2/DNS du serveur distant/2002,30,r)

Soit pour toutes les extensions inconnues d’un contexte avec switch :

switch => IAX2/DNS du serveur distant

ASTERISK::Enregistrement des conversations

Voici deux méthodes pour l’écoute des conversations avec Asterisk

Exemple Monitor

exten =>
s,1,ExecIF($[« ${RECORDSIP} »= »TRUE »],Monitor,wav|${TIMESTAMP}-${CALLERID(
num)}-${MACRO_EXTEN}-${UNIQUEID}.WAV)

Exemple MixMonitor

exten => _1NXXNXXXXXX,1,MixMonitor(/var/spool/asterisk/monitor/${CALLERIDNUM}-${EPOCH}-${EXTEN}.wav)
exten => _1NXXNXXXXXX,2,Dial(Zap/R1/${EXTEN},90
exten => _1NXXNXXXXXX,3,Hangup

Je ne sais pas si j’en aurais besoin mais c’est toujours mieux noté quelque part.

Asterisk::Monitoring

FONCTIONNEMENT
Un module Asterisk va jouer le rôle de sub-agent pour le service net-snmp
afin de diffuser des informations sur Asterisk. A l’aide d’outils tels que nagios ou cacti il sera alors possible de surveiller son bon fonctionnement.

INSTALLATION ET MISE EN PLACE

le module res-snmp de Asterisk

Ce module est dépendant de net-snmp. Pourtant, durant la compilation, un erreur peut survenir malgré la présence du service net-snmp et de ses bibliothèques :

checking for net-snmp-config… /usr/bin/net-snmp-config
checking for snmp_register_callback in -lnetsnmp… no

Apres une lecture du fichier config.log (de cette erreur), la solution est découverte :

configure:23304: checking for snmp_register_callback in -lnetsnmp
configure:23339: gcc -o conftest -g -O2 conftest.c -lnetsnmp -L/usr/lib -lnetsnmpagent -lnetsnmpmibs -lnetsnmphelpers -lnetsnmp -ldl -l
crypto -lrpm -lrpmio -lpopt -lbz2 -lz -lm -ldl -L/usr/lib -lwrap >&5
/usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../../i586-suse-linux/bin/ld: cannot find -lwrap
collect2: ld returned 1 exit status
configure:23345: $? = 1

La bibliothèque ’wrap’ est indisponible, elle est fournit par le package tcpd-devel.
La forme du fichier de configuration est quant à elle très simple :

; /etc/asterisk/res_snmp.conf
[general]
subagent = yes
enabled = yes

Le service net-snmp

Pour fonctionner normalement, net-snmp nécessite un fichier de configuration :

syslocation Server Room
syscontact Sysadmin (root@localhost)

rocommunity public 127.0.0.1
rocommunity public 10.1.1.1
master agentx

Ainsi net-snmp va recevoir les informations de asterisk (master agentx) et
il accepter les requetes snmp provenant du serveur nagios (10.1.1.1).

COPIER LES MIBS(Facultatif)
Deux possibilités :
Copier les MIB dans le dossier partagé par tous les utilisateurs (droits root requis) :

cp doc/asterisk-mib.txt /usr/share/snmp/mibs/
cp doc/digium-mib.txt /usr/share/snmp/mibs/

Ou alors les copier dans le dossier /home/utilisateur/.snmp/mibs/. Seul l’utilisateur concerné pourra utiliser ces MIB mais cette fois-ci pas besoin de droits root.

VERIFIER LE BON FONCTIONNEMENT

Au chargement de asterisk :

NET-SNMP version 5.2.3 AgentX subagent connected

EXEMPLES DE DONNEES

ASTERISK-MIB::astVersionString.0 = STRING: 1.4.2
ASTERISK-MIB::astConfigUpTime.0 = Timeticks: (6693143) 18:35:31.43
ASTERISK-MIB::astConfigReloadTime.0 = Timeticks: (6693143) 18:35:31.43
ASTERISK-MIB::astNumModules.0 = INTEGER: 137
ASTERISK-MIB::astNumChannels.0 = INTEGER: 0
ASTERISK-MIB::astChanTypeName.1 = STRING: Zap
ASTERISK-MIB::astChanTypeName.2 = STRING: Skinny
ASTERISK-MIB::astChanTypeName.3 = STRING: SIP
ASTERISK-MIB::astChanTypeName.4 = STRING: Phone
ASTERISK-MIB::astChanTypeName.5 = STRING: Console
ASTERISK-MIB::astChanTypeName.6 = STRING: Local
ASTERISK-MIB::astChanTypeName.7 = STRING: IAX2
ASTERISK-MIB::astChanTypeName.8 = STRING: Feature
ASTERISK-MIB::astChanTypeChannels.1 = Gauge32: 0
ASTERISK-MIB::astChanTypeChannels.2 = Gauge32: 0
ASTERISK-MIB::astChanTypeChannels.3 = Gauge32: 0
ASTERISK-MIB::astChanTypeChannels.4 = Gauge32: 0
ASTERISK-MIB::astChanTypeChannels.5 = Gauge32: 0
ASTERISK-MIB::astChanTypeChannels.6 = Gauge32: 0
ASTERISK-MIB::astChanTypeChannels.7 = Gauge32: 0
ASTERISK-MIB::astChanTypeChannels.8 = Gauge32: 0

A SAVOIR
Sans l’installation des MIB sur le client snmp ces valeurs aurai plutot cette forme :

1.3.6.1.4.1.22736.1.5.1.0 = INTEGER: 0

USAGE DE CACTI

Exemple de graphique

Ce graphique a été réalisé avec cacti, je vais prochainement essayer de publier son template.