G729: Difference between revisions

From KlavoWiki
Jump to navigationJump to search
Line 61: Line 61:
<pre>
<pre>
cd /usr/src
cd /usr/src
wget http://asterisk.hosting.lv/src/asterisk-g72x-1.4.2.tar.bz2
wget http://asterisk.hosting.lv/src/asterisk-g72x-1.4.3.tar.bz2
unzip asterisk-g72x-1.4.2.tar.bz2
bzip2 -d asterisk-g72x-1.4.3.tar.bz2
rm -f asterisk-g72x-1.4.2.tar.bz2
tar xvf asterisk-g72x-1.4.3.tar
cd asterisk-g72x-1.4.2
rm -f asterisk-g72x-1.4.3.tar
cd asterisk-g72x-1.4.3
./autogen.sh
./autogen.sh
./configure --enable-pentiumm --with-bcg729 --with-asterisk150
./configure --enable-pentiumm --with-bcg729 --with-asterisk18
</pre>
</pre>



Revision as of 04:22, 27 October 2021

Introduction

There are two methods describe here. The second is to download the binary files from hosting.lv which I recommend for asterisk version 12.x.x and below. At time of writing there are no binary files for asterisk 13.x.x so building and installing some components are required.

Processor Type

Before downloading or building the codec module you need to verify what your processor type is to ensure compatibility.

From the Linux command type in:

cat /proc/cpuinfo

Look specifically at the model name and the flags. The following is an example of the process that I am using.

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 6
model name      : Intel(R) Pentium(R) D CPU 3.00GHz
stepping        : 5
microcode       : 0x7
cpu MHz         : 3000.249
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 6
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc pebs bts nopl pni dtes64 monitor ds_cpl est cid cx16 xtpr pdcm lahf_lm
bogomips        : 6000.49
clflush size    : 64
cache_alignment : 128
address sizes   : 36 bits physical, 48 bits virtual
power management:

From this information we can see that it is a Pentium D processor. These are the 2 bits of required information we need. If you don’t see sse in your flags settings then the file you need must contain the words no-sse


Building

Don't use bcg729 as it required porting for Asterisk.

bcg729

cd /usr/src
wget http://download-mirror.savannah.gnu.org/releases/linphone/plugins/sources/bcg729-1.0.0.tar.gz
tar xvf bcg729-1.0.0.tar.gz
rm -f bcg729-1.0.0.tar.gz
cd bcg729-1.0.0

./configure
make
make install

g729

cd /usr/src
wget http://asterisk.hosting.lv/src/asterisk-g72x-1.4.3.tar.bz2
bzip2 -d asterisk-g72x-1.4.3.tar.bz2
tar xvf asterisk-g72x-1.4.3.tar
rm -f asterisk-g72x-1.4.3.tar
cd asterisk-g72x-1.4.3
./autogen.sh
./configure --enable-pentiumm --with-bcg729 --with-asterisk18

Binaries

Now go to http://asterisk.hosting.lv/ and select the appropriate Asterisk version.

Change folders to /usr/lib/asterisk/modules

cd /usr/lib/asterisk/modules

Download the required file(s)

For the G729 codec with a Pentium 4 sse chip:

wget http://asterisk.hosting.lv/bin/codec_g729-ast120-gcc4-glibc-x86_64-pentium4.so

For the G723 codec with a Pentium 4 sse chip:

wget http://asterisk.hosting.lv/bin/codec_g723-ast120-gcc4-glibc-x86_64-pentium4.so

Restart asterisk and you are done.

If Asterisk does not start then you will need to use a different version of the codec files.