artem
12.01.2016
10792

Сборка Asterisk 13 с поддержкой протокола pjsip и SRTP из исходников в ОС CentOS6-minimal.

1. Установка необходимого инструментария и зависимостей, а также обновление системы:

yum groupinstall base -y
yum groupinstall core -y
yum groupinstall «Development Tools» -y
yum install -y kernel-devel kernel-headers

yum install -y e2fsprogs-devel keyutils-libs-devel krb5-devel libogg libselinux-devel libsepol-devel libxml2-devel libtiff-devel gmp php-pear php php-gd php-mysql php-pdo php-mbstring ncurses-devel mysql-connector-odbc unixODBC unixODBC-devel audiofile-devel libogg-devel openssl-devel zlib-devel perl-DateManip sox git wget net-tools psmisc

yum install -y gcc-c++ make gnutls-devel libxml2-devel ncurses-devel subversion doxygen texinfo curl-devel net-snmp-devel neon-devel uuid-devel libuuid-devel sqlite-devel sqlit speex-devel gsm-devel libtool libtool-tdl libtool-ltdl-devel

yum -y install libuuid-devel
yum -y install jansson-devel (предварительно требуется установка репозитория epel: yum install epel-release)

yum update -y

Перезагрузка системы:

reboot

2. Отключение SELinux.с

Так как FreePBX не работает корректно c SELinux, а в дальнейшем планируется установка FreePBX на данный сервер, то следует отключить службу SELinux. Делается это изменением параметра SELINUX= в конфигурационном файле /etc/selinux/config на значение disabled

vim /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted – Targeted processes are protected,
# mls – Multi Level Security protection.
SELINUXTYPE=targeted

Командой sestatus проверяется статус SELinux:

[root@localhost ~]# sestatus
SELinux status: disabled

3. Установка базы данных и ее начальная подготовка

Можно использовать mysql или mariadb. В данном случае выбор остановился на mysql

yum install mysql mysql-devel mysql-server mysql-connector-odbc

Добавление mysql в автозагрузку

chkconfig mysqld on
chkconfig mysqld –add

Корректность можно проверить следующей командой:

chkconfig mysqld –list
mysqld 0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл

Запуск сервиса: service mysqld start

Далее можно настроить необходимые параметры безопасности БД:
– задать root-пароль;
– отключить удаленный доступ под пользователем root;
– удалить анонимных пользователей и тестовые БД.
В принципе на все вопросы можно ответить утвердительно «y».

4. Сборка SRTP

cd /usr/src
wget http://heanet.dl.sourceforge.net/project/srtp/srtp/1.4.4/srtp-1.4.4.tgz
tar xvf srtp-1.4.4.tgz
make runtest
make install

Если make runtest выдает ошибку вида:

test/dtls_srtp_driver >/dev/null
cd test; ./rtpw_test.sh >/dev/null
./rtpw_test.sh: line 27: rtpw: команда не найдена
make: *** [runtest] Ошибка 254

необходимо в файле с исходниками test/rtpw_test.sh заменить строку RTPW=rtpw на строку RTPW=./rtpw

5. Сборка Pjproject

cd /usr/src
git clone git://github.com/asterisk/pjproject pjproject
cd pjproject/
./configure –libdir=/usr/lib64 –prefix=/usr –enable-shared –disable-sound –disable-resample
make dep
make
make install
ldconfig
ldconfig -p | grep pj

Если вывод будет подобен нижеуказанному, следовательно все установилось корректно:

ldconfig -p | grep pj
libpjsua2.so.2 (libc6,x86-64) => /usr/lib64/libpjsua2.so.2
libpjsua2.so (libc6,x86-64) => /usr/lib64/libpjsua2.so
libpjsua.so.2 (libc6,x86-64) => /usr/lib64/libpjsua.so.2
libpjsua.so (libc6,x86-64) => /usr/lib64/libpjsua.so
libpjsip.so.2 (libc6,x86-64) => /usr/lib64/libpjsip.so.2
libpjsip.so (libc6,x86-64) => /usr/lib64/libpjsip.so
libpjsip-ua.so.2 (libc6,x86-64) => /usr/lib64/libpjsip-ua.so.2
libpjsip-ua.so (libc6,x86-64) => /usr/lib64/libpjsip-ua.so
libpjsip-simple.so.2 (libc6,x86-64) => /usr/lib64/libpjsip-simple.so.2
libpjsip-simple.so (libc6,x86-64) => /usr/lib64/libpjsip-simple.so
libpjnath.so.2 (libc6,x86-64) => /usr/lib64/libpjnath.so.2
libpjnath.so (libc6,x86-64) => /usr/lib64/libpjnath.so
libpjmedia.so.2 (libc6,x86-64) => /usr/lib64/libpjmedia.so.2
libpjmedia.so (libc6,x86-64) => /usr/lib64/libpjmedia.so
libpjmedia-videodev.so.2 (libc6,x86-64) => /usr/lib64/libpjmedia-videodev.so.2
libpjmedia-videodev.so (libc6,x86-64) => /usr/lib64/libpjmedia-videodev.so
libpjmedia-codec.so.2 (libc6,x86-64) => /usr/lib64/libpjmedia-codec.so.2
libpjmedia-codec.so (libc6,x86-64) => /usr/lib64/libpjmedia-codec.so
libpjmedia-audiodev.so.2 (libc6,x86-64) => /usr/lib64/libpjmedia-audiodev.so.2
libpjmedia-audiodev.so (libc6,x86-64) => /usr/lib64/libpjmedia-audiodev.so
libpjlib-util.so.2 (libc6,x86-64) => /usr/lib64/libpjlib-util.so.2
libpjlib-util.so (libc6,x86-64) => /usr/lib64/libpjlib-util.so
libpj.so.2 (libc6,x86-64) => /usr/lib64/libpj.so.2
libpj.so (libc6,x86-64) => /usr/lib64/libpj.so

6. Для конвертации mp3 необходимо установить lame.

– Установка репозитория rpmforge

rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
yum repolist — проверка установленных репозиториев

rpmforge RHEL 6 – RPMforge.net – dag 4718

– Собственно установка lame

yum install lame

7. Установка DAHDI

cd /usr/src/
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
tar xvfz dahdi-linux-complete-current.tar.gz
cd dahdi-linux-complete-*
make all
make install

8. Установка LibPRI

cd /usr/src/
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
tar xvfz libpri-1.4-*.tar.gz
cd /usr/src/libpri-1.4.*
make
make install

9. Установка SpanDSP

cd /usr/src/
wget http://soft-switch.org/downloads/spandsp/spandsp-0.0.6.tar.gz
tar zxvf spandsp-0.0.6.tar.gz
cd spandsp-0.0.6
./configure
make
make install
ln -s /usr/local/lib/libspandsp.so.2 /usr/lib64/libspandsp.so.2

10. Установка Asterisk13

cd /usr/src/
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
tar xvfz asterisk-13-current.tar.gz
cd asterisk-13.*
contrib/scripts/get_mp3_source.sh
./configure –libdir=/usr/lib64
make menuselect — выбиаются все необходимые параметры, но в принципе можно оставить по умолчанию, главное чтобы были включены необходимые драйверы каналов
make
make install
make config
ldconfig

Далее заменить в файле /usr/sbin/safe_asterisk строку ASTARGS=”” на ASTARGS=”-U asterisk”

Запуск службы Asterisk:

service asterisk start
asterisk -cvvv
asterisk
asterisk -rvvv

Если видна нижеуказанная строка, то установка прошла корректно:

certain conditions. Type ‘core show license’ for details.
=========================================================================
Connected to Asterisk 13.6.0 currently running on localhost (pid = 16592)
localhost*CLI>

На этом установка завершена, далее можно переходить к настройке АТС.

В продолжении, полезным будет статья Установка FreePBX 12 /kb/freepbx/ustanovka-freepbx-12/

 
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