- La téléphonie Internet libre basée sur Asterisk par Sylvain Thérien - http://www.tux89.com -

Installation de Codec G.729 Digium

Comme mentionnée dans la rubrique Installation de Codec G.729 [1], l’utilisation du codec G.729 exige l’acquittement d’une licence. Dans cette rubrique, nous verrons le processus permettant l’installation de codec G.729 de Digium.

Au préalable, vous devrez avoir acheté une licence d’utilisation du codec G.729 de Digium [2]. Une fois votre licence achetée, vous recevrez un courriel avec l’information sur votre licence. Ensuite, poursuivez tel que décrit ci-dessous.

Installation du codec G.729 de Digium

Exécutez les lignes de commandes suivantes afin d’installer la licence de votre codec G.729 :

cd /root
mkdir digium
cd digium
wget http://downloads.digium.com/pub/register/x86-32/register
chmod 500 register
./register

Le résultat sera similaire au suivant :

Digium Product Registration – Version 3.0.5
Copyright (C) 2004-2007, Digium, Inc.
Use the ‘-l’ option to see license information for software
included in this program.
Please select a category
1 – Digium Products
2 – Cepstral Products
0 – Quit

Faites « 1 » comme choix.

Your Choice: 1
You selected 1, Digium Products
Please select a product
1 – Asterisk Business Edition
2 – Asterisk Business Edition C Expansion
3 – Asterisk For Smart Cube
4 – Asterisk For Smart Cube Expansion
5 – G.729 Codec
6 – High Performance Echo Can
7 – Skype For Asterisk
8 – Fax for Asterisk
9 – Free Fax for Asterisk
10 – Vestec Speech Engine
0 – Quit

Faites « 5 » comme choix, entrez le « Key-ID » de votre licence (voir courriel reçu de Digium), puis confirmez que vous voulez enregistrer cette licence en appuyant sur la touche « y ».

Your Choice: 5
You selected 5, G.729 Codec
Please enter your Key-ID: G729-YYYYYYYY G729-XXXXXXXX
Product available to be registered.
Do you want to register this key now(y/n) y
DIGIUM END-USER PURCHASE AND LICENSE AGREEMENT
IMPORTANT – PLEASE READ CAREFULLY

Digium EUPLA 08132010

Confirmez que vous acceptez les conditions en appuyant sur la touche « y ».

Do you accept this licensing agreement (y/n)? y
You will be prompted for the following fields:
First Name: Last Name: Company: Address 1: Address 2: City: State:
Postal Code: Country: Phone: E-Mail:

Entrez maintenant les informations comme demandé :

First Name: Prenom
Last Name: Nom
Company: Peu_Importe
Address 1: 1 rue
Address 2:
City: Maville
State: Province
Postal Code: A1A1A1
Country: Canada
Phone: 5145551212
E-Mail: courriel@serveur.com
Wrote license to /var/lib/asterisk/licenses/G729-YYYYYYYY.lic

Exécutez la ligne de commande suivante :

cat /var/lib/asterisk/licenses/G729-YYYYYYYY.lic

Vous verrez alors la licence qui vous a été attribuée.

Key-ID: G729-YYYYYYYY
Product: G.729 Codec
Channels: 20
ExpDate: 2035-04-01
Host-ID: 7c:87:99:75:e2:67:a8:4b:48:60:d3:92:58:a0:7e:17:93:89:7d:1c
Signature: iZPrsDAL7rITJ2HiOug3HKv2qPhxjIfn6ufFG84Lj8tXNOERB33gOdtYVfhAZkyBr+ZvD8KsW5X3rrC5h8ivnUha6FqyJ6g70qYMZErUIr96vtyaXA8wKiy/53ryLydgEGZ+9PGzgRnXFFgcaervuhoZMIWOwrBKUxlMvLh6MaU

Exécutez maintenant les lignes de commandes suivantes afin de télécharger et d’exécuter l’outil dévaluation du codec G.729 pour votre plateforme :

wget http://downloads.digium.com/pub/telephony/codec_g729/benchg729/x86-32/benchg729-1.0.8-x86_32 -O benchg729
chmod 500 benchg729
./benchg729

Comme démontré ci-dessous, l’outil vous fera une recommandation sur le codec à installer par rapport à votre plateforme.

benchg729 version 1.0.8
Use the ‘-l’ option to see license information for software
included in this program.
Running tests over 60 seconds of test data.
Test run 1 for flavor ‘generic’ used 711 milliseconds of CPU time.

Test run 5 for flavor ‘generic’ used 710 milliseconds of CPU time.
Test run 1 for flavor ‘i686’ used 638 milliseconds of CPU time.

Test run 5 for flavor ‘i686’ used 637 milliseconds of CPU time.
Test run 1 for flavor ‘pentium3m’ used 590 milliseconds of CPU time.

Test run 5 for flavor ‘pentium3m’ used 591 milliseconds of CPU time.



Flavor ‘opteron-sse3’ failed, skipping.teron-sse3’…
Flavor ‘barcelona’ failed, skipping.’barcelona’…

Test run 1 for flavor ‘c3-2’ used 590 milliseconds of CPU time.

Test run 5 for flavor ‘c3-2’ used 591 milliseconds of CPU time.
Results:
Average for flavor ‘generic’ is 710 milliseconds of CPU time.
Average for flavor ‘i686’ is 638 milliseconds of CPU time.
Average for flavor ‘pentium3m’ is 590 milliseconds of CPU time.
Average for flavor ‘pentium-m’ is 701 milliseconds of CPU time.
Average for flavor ‘pentium4m’ is 719 milliseconds of CPU time.
Average for flavor ‘k6-3’ is 708 milliseconds of CPU time.
Average for flavor ‘athlon’ is 641 milliseconds of CPU time.
Average for flavor ‘athlon-xp’ is 602 milliseconds of CPU time.
Average for flavor ‘opteron’ is 690 milliseconds of CPU time.
Average for flavor ‘c3’ is 715 milliseconds of CPU time.
Average for flavor ‘c3-2’ is 590 milliseconds of CPU time.
Recommended flavor for this system is ‘pentium3m’ with an average of 590 milliseconds of CPU time.

La recommandation dans ce cas-ci est d’utiliser un codec pour un processeur « Pentium 3 m ». Le fichier contenant l’archive du codec requis sera donc le suivant :

codec_g729a-1.4_3.1.5-pentium3m_32.tar.gz

Exécutez maintenant les lignes de commandes suivantes afin de télécharger l’archive contenant le codec G.729 et ensuite en faire l’installation :

wget http://downloads.digium.com/pub/telephony/codec_g729/asterisk-1.4/x86-32/codec_g729a-1.4_3.1.5-pentium3m_32.tar.gz
tar xvf codec_g729a-1.4_3.1.5-pentium3m_32.tar.gz
cd codec_g729a-1.4_3.1.5-pentium3m_32
cp codec_g729a.so /usr/lib/asterisk/modules/

Chargeons maintenant le module du codec G.729 dans Asterisk en exécutant cette commande :

asterisk -rx « module load codec_g729a.so »

Si cela n’est pas déjà fait, pour le protocole IAX, ajoutez le codec G.729 dans la configuration en éditant le fichier « /etc/asterisk/iax_general_additional.conf »

allow=g729

Si cela n’est pas déjà fait, pour le protocole SIP, ajoutez le codec G.729 dans la configuration en éditant le fichier « /etc/asterisk/sip_general_additional.conf »

allow=g729

Modifiez la définition de votre Trunk avec les paramètres suivants :

disallow=all
allow=g729g&ulaw&alaw

Redémarrez maintenant Asterisk.

/usr/sbin/asterisk -rx restart now

Maintenant, vérifions que la licence du codec est bien installée au niveau d’Asterisk

asterisk -rvvvvv
g729 show licenses

Vous verrez alors :

0/0 encoders/decoders of 20 licensed channels are currently in use
Licenses Found:
File: G729-YYYYYYYY.lic — Key: G729-XXXXXXXX — Host-ID: 7c:87:99:75:e2:67:a8:4b:48:60:d3:92:58:a0:7e:17:93:89:7d:1c — Channels: 20 (Expires: 2035-04-01) (OK)

Finalement, exécutez la commande suivante afin d’observer ce qu’Asterisk permet en terme de conversion d’un format de codec à l’autre :

core show translation

Vous verrez alors quelque chose similaire à ceci, portez une attention plus particulière au codec G.729 :

 

g723 gsm ulaw alaw g726aal2 adpcm slin lpc10 g729 speex ilbc g726 g722
g723 3 2 2 2 2 1 4 7 2
gsm 10 2 2 2 2 1 4 7 2
ulaw 10 3 1 2 2 1 4 7 2
alaw 10 3 1 2 2 1 4 7 2
g726aal2 10 3 2 2 2 1 4 7 1
adpcm 10 3 2 2 2 1 4 7 2
slin 9 2 1 1 1 1 3 6 1
lpc10 11 4 3 3 3 3 2 8 3
g729 10 3 2 2 2 2 1 4 2
speex
ilbc
g726 10 3 2 2 1 2 1 4 7
g722

Références

Documentation – G.729 – Digium [3] pixelstats trackingpixel