Asterisk: Unable to open DAHDI pseudo device

Dans le cadre d’un serveur de téléphonie IP Asterisk (solution Open Source), une extension Dahdi est utilisée pour le mode conférence. En appelant à un numéro précis (le 800 dans notre cas), il permet de mettre en relation toutes les personnes qui appellent ce numéro et donne le code PIN préalablement défini.

Problème:

[Jun 23 16:58:35]     -- AGI Script Executing Application: (Meetme) Options: (nntech-conf,IMaA)
[Jun 23 16:58:35]   == Parsing '/etc/asterisk/meetme.conf': [Jun 23 16:58:35]   == Found
[Jun 23 16:58:35] WARNING[13760]: app_meetme.c:1248 build_conf: Unable to open DAHDI pseudo device

On voit ici que Dahdi ne fonctionne plus. En vérifiant sa propre configuration à l’aide de la commande dahdi_cfg -vvv, on peut voir qu’il manque un périphérique à l’appel:

[root ~]# dahdi_cfg -vvv
DAHDI Tools Version - 2.7.0
Notice: Configuration file is /etc/dahdi/system.conf
line 0: Unable to open master device '/dev/dahdi/ctl'

En cherchant un peu, j’apprend que dahdi s’appuie sur un module noyau éponyme. J’utilise donc lsmod pour voir la liste des modules chargés:

[root@centrex1 ~]# lsmod | grep 'dahdi'

Aucun résultat ! 😦 Pour une raison inconnue, une réinstallation des packages dahdi* et asterisk-dahdi (sous CentOS) ne réinstalle pas le module, il faut donc le recompiler soi même:

# On commence par se déplacer dans /usr/local/src pour compiler
[root ~]# cd /usr/local/src/

# On télécharge le code source
[root src]# wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz

# Le dossier exact est à adapter selon la version téléchargée
[root src]# cd dahdi-linux-complete-2.7.0+2.7.0/

# Compilation & Exécution classique
[root dahdi-linux-complete-2.7.0+2.7.0]# make all
[root dahdi-linux-complete-2.7.0+2.7.0]# make install
[root dahdi-linux-complete-2.7.0+2.7.0]# make config

# On vérifie que le module est bien chargé
[root dahdi-linux-complete-2.7.0+2.7.0]# lsmod |grep 'dahdi'
dahdi_transcode         6697  1 wctc4xxp
dahdi_voicebus         54834  2 wctdm24xxp,wcte12xp
dahdi                 221525  12 xpp,dahdi_transcode,wcb4xxp,wctdm,wcfxo,wctdm24xxp,wcte11xp,wct1xxp,wcte13xp,wcte12xp,dahdi_voicebus,wct4xxp
crc_ccitt               1717  2 wctdm24xxp,dahdi

Nouveau coup de dahdi_cfg -vvv:

[root dahdi-linux-complete-2.7.0+2.7.0]# dahdi_cfg -vvv
DAHDI Tools Version - 2.7.0

DAHDI Version: 2.7.0
Echo Canceller(s):
Configuration
======================

Et voilà, problème résolu Il n’est même pas nécessaire de redémarrer Asterisk, l’impact est immédiat.

2 réflexions sur « Asterisk: Unable to open DAHDI pseudo device »

  1. Ok, Simon
    Thanks a lot you are the one, I have looking for that solutions for 4 days and you have it.
    I’m only add

    [root@central dahdi-linux-complete-2.10.0.1+2.10.0.1]# /etc/init.d/dahdi start
    Loading DAHDI hardware modules:
    wcfxo: [ OK ]

    perl: warning: Setting locale failed.
    perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = « UTF-8 »,
    LANG = « en_US.UTF-8 »
    are supported and installed on your system.
    perl: warning: Falling back to the standard locale (« C »).
    D: auto ‘/sys/bus/dahdi_devices/devices/pci:0000:00:09.0’
    auto-assign /sys/bus/dahdi_devices/devices/pci:0000:00:09.0
    Running dahdi_cfg: [ OK ]

    thanks again

    J'aime

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s