Installation d’une carte Digium avec Asterisk

Date: 14/01/2008 | Catégories: Open-source,Reseau,Uncategorized,Web | Tags: ,,

Attention: "DAHDI is the new name for 'Zaptel' as of May 19th 2008"

/etc/zaptel.conf devient /etc/dahdi/system.conf

/etc/asterisk/zapata.conf devient /etc/asterisk/chan_dahdi.conf

Les cartes Digium sont indissociables d'Asterisk. Elles permettent la gestion de liaisons téléphoniques de type E1/T1, ISDN ou PSTN.

Nous allons dans ce billet détailler l'installation d'une carte Digium TE220 (compatible E1/T1) sous Linux.

Installation de la carte

Une fois la carte déballée, il faut vérifier que le jumper de sélection entre les normes T1 (US) et E1 (Europe) est bien positionné. Pour une liaison RNIS Européenne (E1), il faut que les jumpers soient fermés.

Une fois la carte installée physiquement dans le serveur (slot PCI-X), nous allons, dans un premier temps, vérifier qu'elle est bien identifiée par Linux:

# dmesg
...
Found a Wildcard: Wildcard TE220 (4th Gen)
...

# lspci -n
...
04:08.0 0780: d161:0220 (rev 02)
...

On récupère sur le site de Digium la dernière version des librairies PRI:

# wget http://downloads.digium.com/pub/telephony/libpri/libpri-1.4.5.tar.gz
PS: Remplacer 1.4.5 par la dernière version disponible.

puis on les installe:

# tar zxvf libpri-1.4.5.tar.gz
# cd libpri-1.4.5
# make
# sudo make install

On enchaîne avec le téléchargement des drivers Zaptel:

# wget http://downloads.digium.com/pub/telephony/zaptel/zaptel-1.4.11.tar.gz
PS: Remplacer 1.4.11 par la dernière version disponible.

et leur installation:

# tar zxvf zaptel-1.4.11.tar.gz
# cd zaptel-1.4.11
# ./install_prereq test
=> On vérifie que les pre-requis sont OK (sinon on lance ./install_prereq install)
# ./configure
# make
# make install
# make config

La carte TE200 partage les mêmes drivers que les TE400 (module wct4xxp). Afin d'optimiser le démarrage des modules, j'ai également modifié le fichier /etc/sysconfig/zaptel en suppriment toutes les occurrences MODULES et en laissant la ligne suivante:

...

MODULES="$MODULES wct4xxp"
...

Nous pouvons redémarrer le serveur pour vérifier que le module est bien lancé au démarrage. Pour vérifier:

# lsmod
...
wct4xxp               400512  0
zaptel                190852  3 wct4xxp
...

Attention: il faut installer libpri AVANT d'installer Asterisk sinon le driver ne sera pas généré. Si vous avez déjà Asterisk installé sur votre système, il faudra le réinstaller....

Configuration de la carte

Nous allons d'abord définir les caractéristiques de la carte dans le fichier /etc/asterisk/zapata.conf. Pour une liaison E1 PRI (standard en Europe), vous pouvez utiliser la configuration suivante (voir ici http://docs.tzafrir.org.il/dahdi-tools pour une liste complète des paramètres):

group=1
signalling=pri_cpe
switchtype=euroisdn
context=incoming
channel=>1-15,17-31

Puis les caractéristiques de la liaison E1/T1 utilisée. Pour cela, il faut éditer le fichier /etc/zaptel.conf:

span=1,1,0,ccs,hdb3
bchan=1-15,17-31
dchan=16

Initialisation de la carte

Si vous n'avez pas rebooter votre serveur depuis l'installation des drivers, il faut commencer par charger le driver Zaptel dans le noyau Linux:

# modprobe wct4xxp

Ensuite, on doit lancer la configuration (une fois la liaison E1 connectée sur la carte):

# ztcfg -vv

Vérification de l'état des liaisons E1

Le plus simple est d'utiliser l'utilitaire zttool qui affiche l'état des liaisons:

# zttool

Il est également possible de vérifier si les liaisons sont bien montées en lançant Asterisk en mode debug:

# asterisk -vvvr

Et voilou, et à bientôt pour voir comment utiliser ces liaisons avec Asterisk...