8(499)-709-97-83
Работаем с 8:00 до 19:00

Установка кодека g729 на Asterisk

  • 07 июля 2014

1)Введение
Информацию о лицензии на 729 кодек можно посмотреть
http://www.voip-info.org/wiki/view/Asterisk+G.729+Licensing
Установка проводилась на: CentOS 6.5+Asterisk 11

2) Какие кодеки у нас работают в системе

Посмотреть наличие кодека можно командой

#rasterisk –x “module show like codec_g729”

где в выводе должна присутствовать строка codec_729

или выполнив в консоли asterisk команду core show translation

#asterisk –r
CLI>core show translation
Translation times between formats (in microseconds) for one second of data
Source Format (Rows) Destination Format (Columns)

g723 gsm ulaw alaw g726aal2 adpcm slin lpc10 g729 speex ilbc g726 g722 siren7 siren14 slin16 g719 speex16 testlaw
g723 - - - - - - - - - - - - - - - - - - -
gsm - - 2 2 3001 2 1 3000 3000 - 10000 2001 1001 - - 2001 - - 2
ulaw - 3000 - 1 4000 1001 1000 3999 3999 - 10999 3000 2000 - - 3000 - - 1001
alaw - 2001 1 - 3001 2 1 3000 3000 - 10000 2001 1001 - - 2001 - - 2
g726aal2 - 3000 1001 1001 - 1001 1000 3999 3999 - 10999 3000 2000 - - 3000 - - 1001
adpcm - 2001 2 2 3001 - 1 3000 3000 - 10000 2001 1001 - - 2001 - - 2
slin - 2000 1 1 3000 1 - 2999 2999 - 9999 2000 1000 - - 2000 - - 1
lpc10 - 4000 2001 2001 5000 2001 2000 - 4999 - 11999 4000 3000 - - 4000 - - 2001
g729 - - - - - - - - - - - - - - - - - - -
speex - - - - - - - - - - - - - - - - - - -
ilbc - 4000 2001 2001 5000 2001 2000 4999 4999 - - 4000 3000 - - 4000 - - 2001
g726 - 3000 1001 1001 4000 1001 1000 3999 3999 - 10999 - 2000 - - 3000 - - 1001
g722 - 5000 3001 3001 6000 3001 3000 5999 5999 - 12999 5000 - - - 1000 - - 3001
siren7 - - - - - - - - - - - - - - - - - - -
siren14 - - - - - - - - - - - - - - - - - - -
slin16 - 5999 4000 4000 6999 4000 3999 6998 6998 - 13998 5999 999 - - - - - 4000
g719 - - - - - - - - - - - - - - - - - - -
speex16 - - - - - - - - - - - - - - - - - - -
testlaw - 2001 2 2 3001 2 1 3000 3000 - 10000 2001 1001 - - 2001 - - -

Напротив кодека g729 должны быть цифры, если стоят минусы, значит, кодек не установлен.

3)Собираем информацию

В зависимости от версии Asterisk, разрядности системы (32 или 64 бита) и набора инструкций SSE, скачиваем и загружаем модуль, скачиваем модуль с сайта http://asterisk.hosting.lv/
Для начала узнаем версию Asterisk (да, некоторые люди даже не знают, что у них стоит)

CLI>core show version
Asterisk 11.10.2 built by root @ computer on a i686 running Linux on xxxx-xx-xx xx:xx:xx UTC

Далее узнаем разрядность системы командой

#uname -a
#1 SMP Thu Jun 19 19:51:30 UTC 2014 i686 i686 i386 GNU/Linux
#1 SMP Thu Jun 19 19:51:30 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Первый вариант будет свидетельствовать о том, что у вас установлена 32 битная операционная система. Об этом свидетельствуют значения (i686 i686 i386). Во второй строке установлена 64 битная система, на что указывают следующие значения (x86_64 x86_64 x86_64).

Командой

#cat /proc/cpuinfo

смотрим поддержку SSE инструкций у процессора

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 42
model name : Intel(R) Core(TM) i3-2367M CPU @ 1.40GHz
stepping : 7
cpu MHz : 1384.026
cache size : 6144 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 nx rdtscp constant_tsc up pni monitor ssse3
bogomips : 2768.05
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual

В нашем примере мы будем загружать модуль для Asterisk 11.10.2 32bit, с поддержкой инструкций SSE3

4)Установка
Модуль кодека g729 можно скачать с http://asterisk.hosting.lv/
После того как узнали всю информацию о системе и выбрали нужную версию кодека, на сервере заходим в директорию с модулями

#cd /usr/lib/asterisk/modules/

Скачиваем исходники с сайта командой

#wget http://asterisk.hosting.lv/bin/codec_g729-ast110-gcc4-glibc-pentium4-sse3.so

Переименовываем

#mv codec_g729-ast110-gcc4-glibc-pentium4-sse3.so codec_g729.so

Заходим в консоль Asterisk и подгружаем модуль

CLI> module load codec_g729.so

Можно сделать все немного быстрее и воспользоваться вот этими командами

#wget http://asterisk.hosting.lv/bin/codec_g729-ast110-gcc4-glibc-pentium4-sse3.so -O /usr/lib/asterisk/modules/codec_g729.so
#asterisk -rx "module load codec_g729.so"

5) Проверяем
Если все прошло успешно, то перезапускаем Asterisk и проверяем, установлен ли наш кодек.
Если модуль подгрузился успешно, то по команде core show translation в консоли Asterisk напротив g729 появятся цифры. Если нет, то необходимо подгрузить другой модуль в зависимости от типа процессора/системы

Так же проверить успешность загрузки модуля можно командой

#rasterisk -x "core show codecs" | grep g729

вывод будет таким:

100008 audio g729 (G.729A)

Если вы в статье нашли ошибки или несоответствия, мы будем благодарны, если вы напишите нам о них в комментариях.


 
Powered by SEO CMS ver.: 23.1 TOP 2 (opencartadmin.com)