How to install free g729 codec in asterisk for vicidial goautodial
VIDEO GUIDE LINK youtube
What is a Codec?
A Codec is a technical term for the following variations, which essentially mean the same thing: compression – decompression / compressor – decompressor / Code Decode.
G729 vs G711
G.729 and G.711 are two different codecs used by mainstream voice-over-internet-protocol (VoIP) systems that transmit phone calls as data over the internet. G.711 offers better audio quality, but requires more bandwidth. G.729, on the other hand, requires less bandwidth, but call quality can suffer
Follow the below steps to install the proper G729 codec for asterisks
How Much Bandwidth Do I Need for G.729 vs G.711?
On average, a call made over G.729 consumed about 8 Kbps of bandwidth per call because it compresses the data being transmitted over the internet. In comparison, G.711 uses 64 Kbps for its uncompressed call data.
Why we need G729 in asterisk or vicidial based servers.
- Less bandwidth consumption.
- VOIP provider only support G729 codec.
- User dialing via low speed internet.
How to install Free G729 codec.
OPTION 1:
- Either install using the automated Script provided by vicidial,download from
download.vicidial.com/optional-apps/codec-install.sh
OPTION 2:
- OR install manually based on asterisk version,OS bit size , and CPU vendor type
download from asterisk.hosting.lv website.
OPTION 1: STEPS
For vicibox simply type the command codec-install
For all other asterisk servers (upto asterisk version 15).follow below steps.
wget https://download.vicidial.com/optional-apps/codec-install.sh
chmod 777 codec-install.sh
./codec-install.sh
OPTION 2: STEPS
You can download the Free g729 from the below link
Before Downloading the codec you need to check below details
1. 32 bit or 64 bit
2. asterisk version
3. server type like: intel, amd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Command to check 32bit or 64 bit os
uname -a
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Command to check asterisk version
asterisk -rx "core show version"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Command to check the server type
cat /proc/cpuinfo
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As of writting this blog mine is asterisk 1.8
Asterisk 1.8 32 bit intel machine
cd /usr/src
wget https://asterisk.hosting.lv/bin/codec_g729-ast18-gcc4-glibc-pentium4.so
cp codec_g729-ast18-gcc4-glibc-pentium4.so /usr/lib/asterisk/modules/codec_g729.so
chmod +x /usr/lib/asterisk/modules/codec_g729.so
asterisk -rc "module load codec_g729.so"
Asterisk 1.8 64 bit intel machine
cd /usr/src
wget https://asterisk.hosting.lv/bin/codec_g729-ast18-gcc4-glibc-x86_64-pentium4.so
cp codec_g729-ast18-gcc4-glibc-x86_64-pentium4.so /usr/lib64/asterisk/modules/codec_g729.so
chmod +x /usr/lib64/asterisk/modules/codec_g729.so
asterisk -rc "module load codec_g729.so"
Asterisk 1.8 AMD machines
cd /usr/src
wget https://asterisk.hosting.lv/bin/codec_g729-ast18-gcc4-glibc-athlon-sse.so
cp codec_g729-ast18-gcc4-glibc-athlon-sse.so /usr/lib/asterisk/modules/codec_g729.so
chmod +x /usr/lib/asterisk/modules/codec_g729.so
asterisk -rc "module load codec_g729.so"
Now check the whether codec is loaded
asterisk -rx "core show translation"
output's
23 gsm ulaw alaw g726aal2 adpcm slin lpc10 g729 speex ilbc g726 g72
g723 - - - - - - - - - - - - -
gsm - - 2 2 2 2 1 2 4 - - 2 -
ulaw - 2 - 1 2 2 1 2 4 - - 2 -
alaw - 2 1 - 2 2 1 2 4 - - 2 -
g726aal2 - 2 2 2 - 2 1 2 4 - - 2 -
adpcm - 2 2 2 2 - 1 2 4 - - 2 -
slin - 1 1 1 1 1 - 1 3 - - 1 -
lpc10 - 2 2 2 2 2 1 - 4 - - 2 -
Conclusion:
Apart from G729 there are other codecs which can be used ,like
G711a , G711u, GSM, G723, slin etc.