Зачем компилировать кодек G.729 ? Как мы будем это делать?
G.729 использует специальные алгоритмы сжатия для уменьшения затрат на ширину передачи данных.
G.729 поддерживается многими (почти всеми) телефонами. G.729 дает звук хорошего качества Мы будем использовать bcg729 для сборки, он несколько медленне чем INTEL IPP, но особенной разницы я не заметил.

Что нужно для компиляции G.729 для вашего Asterisk

  • сам Астериск
  • asterisk-dev
  • bcg729
  • build-essential
  • libtool Я компилировал все для Raspbery PI, имейте это ввиду при копи пасте

Компиляция bcg729 перед компиляцией библиотеки bcg729 нам нужно будет поменять стандартый путь, для того чтобы астериск смог ее видеть при загрузке кодека.

скачаем bcg

wget http://0xdeface.pro/media/filer_public/73/7c/737ca604-a14e-4634-b1e7-6cac78376de9/bcg729-100tar.gz

или склонируем

git clone git://git.linphone.org/bcg729.git

разархивируем если нужно и сконфигурируем с нужным путем

./configure --libdir=/lib

Соберем и установим bcg729

make  
sudo make install

Компиляция кодека g729 Сейчас мы скачаем, скомпилируем и установим g729. Обратите внимание что при конфигурации возможно нужно будет указать версию астериска, допустим я конфигурировал вот так ./configure –with-bcg729 –with-asterisk18 (в справке видно варианты)

wget http://0xdeface.pro/media/filer_public/73/7c/737ca604-a14e-4634-b1e7-6cac78376de9/bcg729-100tar.gz
tar xjf asterisk-g72x-1.2.tar.bz2 $ cd asterisk-g72x-1.2 
./autogen.sh 
./configure --with-bcg729 
make 
sudo make install

Тестируем астериск на присутствие кодека перезагрузим астер

sudo systemctl asterisk restart
или тем кто все еще не перешел на systemd service restart asterisk

Подключаемся к консоли астериска

sudo asterisk -rvvv   

Пересчитаем тайминги и посмотрим какие кодеки у нас есть:

core show translation recalc 10