G729: Difference between revisions

From KlavoWiki
Jump to navigationJump to search
No edit summary
Line 61: Line 61:
<pre>
<pre>
cd /usr/src
cd /usr/src
wget https://bitbucket.org/arkadi/asterisk-g72x/get/e2cc82e62f29.zip
wget http://asterisk.hosting.lv/src/asterisk-g72x-1.4.2.tar.bz2
unzip e2cc82e62f29.zip
unzip asterisk-g72x-1.4.2.tar.bz2
rm -f e2cc82e62f29.zip
rm -f asterisk-g72x-1.4.2.tar.bz2
cd arkadi-asterisk-g72x-e2cc82e62f29
cd asterisk-g72x-1.4.2
./autogen.sh
./autogen.sh
./configure --enable-pentiumm --with-bcg729 --with-asterisk130
./configure --enable-pentiumm --with-bcg729 --with-asterisk150
</pre>
</pre>



Revision as of 08:59, 19 October 2017

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.2.tar.bz2
unzip asterisk-g72x-1.4.2.tar.bz2
rm -f asterisk-g72x-1.4.2.tar.bz2
cd asterisk-g72x-1.4.2
./autogen.sh
./configure --enable-pentiumm --with-bcg729 --with-asterisk150

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.