artem
17.06.2013
15043

Сборка WebRTC


Приведенные шаги сборки верны для CentOS 5.8 x86_64. Более подробная инструкция по сборке Doubango IMS Framework и webrtc2sip приведена на странице http://code.google.com/p/webrtc2sip/wiki/Building_Source_v2_0#Building_Doubango_IMS_Framework_and_3rd-party_libraries.

Установка инструментов и библиотек для сборки

yum install autoconf libtool make gcc gcc-c++ subversion cvs openssl-devel speex-devel libxml2-devel

Для получения некоторых исходниках понадобится git, собираем его:

(для сборки git понадобится еще несколько зависимостей)

yum install gettext-devel perl-ExtUtils-MakeMaker

wget http://git-core.googlecode.com/files/git-1.7.10.rc0.tar.gz

tar xzf git-*.gz

cd git-*

./configure

make && make install

Установка libsrtp (Если Вы используете FreePBX, достаточно выполнить yum install libsrtp-devel)

git clone https://github.com/cisco/libsrtp/

cd libsrtp

CFLAGS=”-fPIC” ./configure –enable-pic

make && make install

Установка libgsm (Для поддержки кодека GSM)

wget http://www.quut.com/gsm/gsm-1.0.13.tar.gz

tar -xvzf gsm-1.0.13.tar.gz

cd gsm-1.0-pl13 && make && make install

#cp -rf ./inc/* /usr/local/include

#cp -rf ./lib/* /usr/local/lib

Установка g729

(может понадобится вручную создать поддиректорию m4 в директории с исходным кодом для успешного выполнения скрипта autogen.sh)

svn co http://g729.googlecode.com/svn/trunk/ g729b

cd g729b

./autogen.sh

./configure –enable-static –disable-shared

make && make install

Установка iLBC

svn co http://doubango.googlecode.com/svn/branches/2.0/doubango/thirdparties/scripts/ilbc

cd ilbc

wget http://www.ietf.org/rfc/rfc3951.txt

awk -f extract.awk rfc3951.txt

./autogen.sh

./configure

make && make install

Установка Doubango IMS Framework (может понадобится вручную создать поддиректорию m4 в директории с исходным кодом для успешного выполнения скрипта autogen.sh)

svn checkout http://doubango.googlecode.com/svn/branches/2.0/doubango doubango

cd doubango

./autogen.sh

./configure –with-ssl –with-srtp

make && make install

Установка webrtc2sip

(может понадобится вручную создать поддиректорию m4 в директории с исходным кодом для успешного выполнения скрипта autogen.sh)

svn co http://webrtc2sip.googlecode.com/svn/trunk/ webrtc2sip

cd webrtc2sip

./autogen.sh

./configure –prefix=/opt/webrtc2sip

make && make install

cp -f ./config.xml /opt/webrtc2sip/sbin/config.xml

При сборке могут возникнуть ошибки

src/trtp_srtp.c:71: error: ‘srtp_policy_t’ has no member named ‘window_size’

src/trtp_srtp.c:72: error: ‘srtp_policy_t’ has no member named ‘allow_repeat_tx’

В этом случае нужно в файле ./tinyRTP/src/trtp_srtp.c закментировать строки

ctx->policy.window_size = 2048;

ctx->policy.allow_repeat_tx = 1;

srtp_ctx->rtp.policy.window_size = 2048;

srtp_ctx->rtp.policy.allow_repeat_tx = 1;

Создаем пользователя для запуска webrtc2sip

useradd webrtc2sip

chown -R webrtc2sip /opt/webrtc2sip

Запускаем webrtc2sip

sudo -u webrtc2sip /opt/webrtc2sip/sbin/webrtc2sip

У webrtc2sip отсутствует функция запуска в режиме демона, поэтому webrtc2sip следует запускать в screen

Лог сообщений программы можно писать, например, так

sudo -u webrtc2sip /opt/webrtc2sip/sbin/webrtc2sip > >(tee /opt/webrtc2sip/sbin/log) 2> >(tee /opt/webrtc2sip/sbin/log >&2)

Создаем SIP-пир на Asterisk, подойдут стандартные настройки.

Протестировать работу WebRTC можно на странице http://www.sipml5.org/call.htm

Заполняем поля следующим образом (Здесь 1.1.1.1 – IP-адрес хоста Asterisk, 101 – SIP-пир, настроенный на Asterisk):

Display Name: что-угодно

Private Identity: 101

Public Identity: 101@1.1.1.1

Password: пароль

Realm: 1.1.1.1

В “Expert mode”:

Disable Video: <отмечаем>

Enable RTCWeb Breaker: <отмечаем> (для перекодирования медиа в приемлемый для Asterisk формат)

WebSocket Server URL: ws://1.1.1.1:10062

На основной странице жмем “Login”. Если всё сделано правильно и sipML5 удасться подключиться, то над настройками появится слово “Connected”. После этого sipML5 может принимать и совершать вызовы.

 
avatar
  Подписаться  
Уведомление о

Остались вопросы?

Я - Першин Артём, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

Why Choose HUGE?

Unlimited pre-designed elements

Each and every design element is designed for retina ready display on all kind of devices

User friendly interface and design

Each and every design element is designed for retina ready display on all kind of devices

100% editable layered PSD files

Each and every design element is designed for retina ready display on all kind of devices

Created using shape layers

Each and every design element is designed for retina ready display on all kind of devices