Кодеки G.729 используют в Asterisk для того, чтобы экономить полосу пропускания между сервером Asterisk и IP-телефоном. По сравнению со стандартным кодеком G.711, кодек G.729 потребляет в 3 раза меньше полосы пропускания: 24 кбит/сек по сравнению с 80 кбит/сек в кодеке G.711(alaw/ulaw). В данной статье приводится описание, как установить данный кодек на сервер c Asterisk .

Дано:

  • Asterisk 13
  • Freepbx 13
  • Разрядность ядра — 64bit
  • Тип процессора — core2

Эта информация понадобится вам при выборе модуля для вашей сборки. Если ваша конфигурация отличается от приведенной выше, ТУТ есть подробный мануал по выбору версии именно для вас.

В первую очередь идем в консоль и проверяем какие кодеки установлены в системе.

asterisk -rvvvv

core show translation

В выведенной таблице в первой строке и первом столбце видим список установленных кодеков. Как видите, g729 там отсутствует.

Далее переходим на сайт http://asterisk.hosting.lv и скачиваем нужную нам версию модуля. В моем случае это codec_g729-ast130-gcc4-glibc2.2-x86_64-core2.so Если ваша конфигурация отличается, то пользуемся приведенной ссылкой в начале статьи.

Для удобства переименовываем скаченный файл в codec_g729.so. Далее берем любой удобный вам файловый менеджер, к примеру, winscp и копируем файл его по пути /usr/lib64/asterisk/modules

После копирования не забываем выставить права.

1

После этого в открытой ранее консоли подгружаем кодек командой

module load codec_g729.so

Если все правильно, увидим следующие строки:

== Registered translator 'g729tolin' from format g729 to slin, cost 1
== Registered translator 'lintog729' from format slin to g729, cost 4
Loaded codec_g729.so => (g729 Coder/Decoder, based on IPP)

Снова смотрим на список загруженных кодеков командой:

core show translation

Видим, что в таблице добавился наш коде g729.

Если в modules.conf меняли значение autoload на «no», то ниже прописываем модуль в автозагрузку:

load => codec_g729.so

Сам файл лежит по следующему пути: /etc/asterisk/

После идем в веб-интерфейс freepbx, переходим в раздел «Asterisk SIP settings» и в блоке  «Audio Codecs» разрешаем использование кодека путем выставления галочки.

Настройка завершена.

Подключаем кодек g729 в freepbx 13