Installing the Free G729 Codec for Asterisk

This tutorial will let you install the G729 Codec on an Asterisk installation in under 5 minutes.

Navigate to the codecs directory:

cd /usr/lib/asterisk/modules

Download the codec

·                     Codecs are provided as binary .so files, you can find the archive at  http://asterisk.hosting.lv/#bin

·                     Take care of the following when picking up one of the files, they depend on your hardware/software:

o                                            Processor Architecture: Check the kernel type installed on your system (using “uname -a” )

o                                            Asterisk Version: As you can see there is codecs for Asterisk 1.2, 1.4 and also 1.6

o                                            The most used ones are the following:

§                                                               http://asterisk.hosting.lv/bin/codec_g729-ast14-gcc4-glibc-pentium.so

§                                                               http://asterisk.hosting.lv/bin/codec_g729-ast14-gcc4-glibc-x86_64-core2.so

[root@Machine modules]# wget http://asterisk.hosting.lv/bin/codec_g729-ast14-gcc4-glibc-pentium.so

Notice that we are in the modules directory

Rename the codec file

mv codec_g729-ast14-gcc4-glibc-pentium4.so codec_g729.so

Restart Asterisk

/etc/init.d/asterisk restart

Check your work

Connect to Asterisk

asterisk -r

Then show all of the codec translations available using the command below, and check g729 at the left, you should see that it can be translated to many other codecs on the top of the table

Machine*CLI> show translations
 
         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     2    3     -    -    2    -
 
     ulaw    -   3    -    1        2     2    1     2    3     -    -    2    -
 
     alaw    -   3    1    -        2     2    1     2    3     -    -    2    -
 
 g726aal2    -   3    2    2        -     2    1     2    3     -    -    2    -
 
    adpcm    -   3    2    2        2     -    1     2    3     -    -    2    -
 
     slin    -   2    1    1        1     1    -     1    2     -    -    1    -
 
    lpc10    -   3    2    2        2     2    1     -    3     -    -    2    -
 
     g729    -   3    2    2        2     2    1     2    -     -    -    2    -
 
    speex    -   -    -    -        -     -    -     -    -     -    -    -    -
 
     ilbc    -   -    -    -        -     -    -     -    -     -    -    -    -
 
     g726    -   3    2    2        2     2    1     2    3     -    -    -    -
 
     g722    -   -    -    -        -     -    -     -    -     -    -    -    -
 
Machine*CLI> quit

Troubleshooting

If you didn’t see the codec translation as mentioned above then probably you downloaded the wrong codec, please check again the points mentioned during downloading the codec, you can use the following commands to help you:

asterisk -V
 
uname -a