Carte Digium de decompression de codec TC400

La TC400B prends en charge la compression et la décompression du G.729a (8kbs) et du G.723.1 (5,3kbs) vers le G.711u ou G.711a et inversement quelque soit la technologie téléphonique utilisée pour les communications via Asterisk, full IP, analogique ou numérique.

Installation

Pour fonctionner, la carte n’a pas de besoin particulier. Elle nécessite, comme toutes les cartes Digium, la présence de DAHDI Linux. En revanche si vous n’avez pas installé DADHI Tools il faut le faire. Le module DAHDI qui gère cette carte est le wctc4xxp, il faut s’assurer que celui-ci est bien chargé lors du démarrage de DAHDI. Si ça n’est pas le cas, il faut décommenter la ligne correspondante dans le fichier /etc/dahdi/mudules. Une fois DAHDI redémarrer, vous devriez voir apparaître une ligne de ce type en faisant la commande suivante :

# dahdi_hardware
pci:0000:04:08.0     wct4xxp+     d161:0420 Wildcard TE420 (4th Gen)

Nous sommes donc dans une situation où la carte est reconnu par DAHDI, donc reconnu par Asterisk :

*CLI> transcoder show
0/0 encoders/decoders of 92 channels are in use.

Configuration

Il est possible de configurer cette carte de 3 façons :

  • mixed ⇒ 92 canaux G729 et/ou G723
  • g729 ⇒ 120 canaux G729
  • g723 ⇒ 120 canaux G723

Le mode ‘mixed’ est celui qui est chargé par défaut par le module wctc4xxp, comme nous l’avons vu dans la CLI. Ce qui nous intéresse ici c’est de modifier ce mode car nous voulons que la carte décode 120 canaux G729. Pour appliquer cette configuration, il faut créér ou modifier le fichier suivant :

/etc/modprobe.d/dahdi
# You should place any module parameters for your DAHDI modules here
# Example:
#
# options wctdm24xxp latency=6

options wctc4xxp mode=g729

Nous avons donc sélectionné le mode g729. Il faut redémarrer DAHDI puis Asterisk pour que le changement soit pris en compte. On vérifie :

*CLI> transcoder show
0/0 encoders/decoders of 120 channels are in use.

Comme nous pouvons le voir, nous sommes bien passé à 120 canaux. En revanche, nous ne pouvons pas vérifier par cette commande que c’est bien le G729 qui est transcodé. Pour cela :

*CLI> core show translation
         Translation times between formats (in milliseconds) for one second of data
          Source Format (Rows) Destination Format (Columns)

          g723 gsm ulaw alaw g726aal2 adpcm slin lpc10 g729 speex ilbc g726 g722
     g723    -   -    -    -        -     -    -     -    -     -    -    -    -
      gsm    -   -    2    2        2     2    1     3    2     -    -    2    -
     ulaw    -   2    -    1        2     2    1     3    2     -    -    2    -
     alaw    -   2    1    -        2     2    1     3    2     -    -    2    -
 g726aal2    -   2    2    2        -     2    1     3    2     -    -    2    -
    adpcm    -   2    2    2        2     -    1     3    2     -    -    2    -
     slin    -   1    1    1        1     1    -     2    1     -    -    1    -
    lpc10    -   2    2    2        2     2    1     -    2     -    -    2    -
     g729    -   2    2    2        2     2    1     3    -     -    -    2    -
    speex    -   -    -    -        -     -    -     -    -     -    -    -    -
     ilbc    -   -    -    -        -     -    -     -    -     -    -    -    -
     g726    -   2    2    2        2     2    1     3    2     -    -    -    -
     g722    -   -    -    -        -     -    -     -    -     -    -    -    -

Le G729 est pris en charge alors que le G723 ne l’est pas, nous sommes bien en mode ‘g729’.

Ce contenu a été publié dans tutoriel, VOIP, avec comme mot(s)-clé(s) , , . Vous pouvez le mettre en favoris avec ce permalien.