VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

G.729 для Freeswitch

Использование и настройка других открытых VoIP PBX

Модераторы: april22, Zavr2008

Raice
Сообщения: 11
Зарегистрирован: 16 апр 2011, 15:46

G.729 для Freeswitch

Сообщение Raice »

Поискал в интернетах - не нашел. Пришлось собрать самому. Может кому пригодится данная информация.

CentOS 6.4, x64, FS 1.2.9
FS у нас из пакетов, поэтому пришлось скачать исходники

Код: Выделить всё

wget http://files.freeswitch.org/freeswitch-1.2.9.tar.bz2
Распаковываем куда удобно, я распаковал в /usr/src/freeswitch-1.2.9

Ставим все необходимые инструменты

Код: Выделить всё

yum groupinstall "Development Tools"
yum install libuuid-devel
Это нам потребуется чтобы сработало ./configure для исходников freeswitch

Код: Выделить всё

yum install zlib-devel
yum install libjpeg-devel
Качаем и ставим Intel IPP. Ссылка наверное будет бесполезна, т.к. все равно надо регистрироваться и получать лицензию, которую придется активировать.
http://registrationcenter-download.inte ... ntel64.tgz

Качаем исходники fsg729

Код: Выделить всё

svn checkout http://fsg729.googlecode.com/svn/trunk/ fsg729-read-only
Основная проблема - модуль делали под IPP6. Поэтому если скомпилировать без правок - то он не запустится. Поэтому нам нужно заменить функцию ippsSynthesisFilter_G729_16s на
ippsSynthesisFilter_NR_16s_Sfs в файле decg729.c
Так же в правках нуждается Makefile.
Для удобства приложил оба два

Основные моменты в Makefile:
FSBASE - папка, куда распаковали исходники FS
/usr/lib64/libfreeswitch.so - я думаю понятно

Так же перед компиляцией нужно проделать в папке с исходниками FS следующее:
1. Запустить ./configure
2. Скопировать libs/stfu/stfu.h в src/include

Теперь можно и make запустить

После этого копируем модуль в /usr/lib64/freeswitch/mod заменяя старый (его можно забэкапить в потайное место) и перезагружаем модуль.
Если кто потестирует на нормальной нагрузке будет здорово

Очень сильно помогла информация отсюда - http://abhisheksingh.info/g-729-codec-freeswitch/
Вложения
fsg729.7z
(10.66 КБ) 629 скачиваний
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: G.729 для Freeswitch

Сообщение Vlad1983 »

Raice писал(а):2. Скопировать libs/stfu/stfu.h в src/include
в место этого в строку INCLUDE= в Makefile добавить в конце -I$(FSBASE)/libs/stfu
ЛС: @rostel
Raice
Сообщения: 11
Зарегистрирован: 16 апр 2011, 15:46

Re: G.729 для Freeswitch

Сообщение Raice »

Это собственно его исходники и есть. Но просто так они под 1.2.9 не соберутся
Raice
Сообщения: 11
Зарегистрирован: 16 апр 2011, 15:46

Re: G.729 для Freeswitch

Сообщение Raice »

Vlad1983 писал(а):
Raice писал(а):2. Скопировать libs/stfu/stfu.h в src/include
в место этого в строку INCLUDE= в Makefile добавить в конце -I$(FSBASE)/libs/stfu
А ничего, что включение stfu.h происходит в другом *.h из исходников FS? Я просто в этих делах индеец тот еще.
jugatsu
Сообщения: 298
Зарегистрирован: 31 май 2011, 15:56

Re: G.729 для Freeswitch

Сообщение jugatsu »

Нет это не те исходники. Под 1.2.5.3 собираются только влёт, поправил Makefile, make. Сегодня проверял.
jugatsu
Сообщения: 298
Зарегистрирован: 31 май 2011, 15:56

Re: G.729 для Freeswitch

Сообщение jugatsu »

Raice писал(а):
Vlad1983 писал(а):
Raice писал(а):2. Скопировать libs/stfu/stfu.h в src/include
в место этого в строку INCLUDE= в Makefile добавить в конце -I$(FSBASE)/libs/stfu
А ничего, что включение stfu.h происходит в другом *.h из исходников FS? Я просто в этих делах индеец тот еще.
Надо лишь Makefile поправить.
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: G.729 для Freeswitch

Сообщение Vlad1983 »

тоже собралось
FreeSWITCH Version 1.5.1b+git~20130415T194750Z~be248879ae

правда это сделал
Raice писал(а):Основная проблема - модуль делали под IPP6. Поэтому если скомпилировать без правок - то он не запустится. Поэтому нам нужно заменить функцию ippsSynthesisFilter_G729_16s на
ippsSynthesisFilter_NR_16s_Sfs в файле decg729.c
ЛС: @rostel
Raice
Сообщения: 11
Зарегистрирован: 16 апр 2011, 15:46

Re: G.729 для Freeswitch

Сообщение Raice »

Я немного не правильно сказал. Собраться соберется, но по 1.2.9 он не запустился у меня. Пришлось полезть в исходники и изменить одну функцию, после этого все взлетело.
Но то что ты дал ссылку - оно без IPP собирается, значит другое действительно. Прошу прощения.

Если в Make заглянуть, то будет
FSBASE=/home/krivushinme/soft/freeswitch/fssvn
:) автор один и тот же
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: G.729 для Freeswitch

Сообщение Vlad1983 »

ITU-шный скорей всего больше грузить CPU при той же нагрузке
ЛС: @rostel
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH