Инструменты пользователя

Инструменты сайта


установка

Установка Freeswitch в данной статье производится на Centos 7 ветки точно так же ставится на RHEL, OracleLinux/

Подготовим систему

обновим

yum update

Отключим selinux

vi /etc/sysconfig/selinux SELINUX=disabled

погасим фаервол

chkconfig iptables stop

перезагрузимся

reboot Устанавливаем необходимые компоненты

yum install -y http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm epel-release yum install -y git gcc-c++ wget alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel db-devel e2fsprogs-devel flite-devel g722_1-devel gdbm-devel gnutls-devel ilbc2-devel ldns-devel libcodec2-devel libcurl-devel libedit-devel libidn-devel libjpeg-devel libmemcached-devel libogg-devel libsilk-devel libsndfile-devel libtheora-devel libtool libvorbis-devel libxml2-devel lua-devel lzo-devel mongo-c-driver-devel ncurses-devel net-snmp-devel openssl-devel opus-devel pcre-devel perl perl-ExtUtils-Embed pkgconfig portaudio-devel postgresql-devel python26-devel python-devel soundtouch-devel speex-devel sqlite-devel unbound-devel unixODBC-devel libuuid-devel which yasm zlib-devel

Непосредственно установка из исходников

cd /usr/src

git clone -b v1.4 https://freeswitch.org/stash/scm/fs/freeswitch.git

git clone -b v1.6 https://freeswitch.org/stash/scm/fs/freeswitch.git

cd /usr/src/freeswitch

./bootstrap.sh –j

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

Включим необходимые модули

В файле /usr/src/freeswitch/modules.conf включите следующие модули Справка по модулям

modrtmp
mod
directory
modcallcenter
mod
ttscommandline
mod
dingaling
modflite
mod
shout

Ну и конфигурим и компилим

./configure make && make install

Установим аудиофайлы

make sounds-install
make moh-install
make hd-moh-install
make hd-sounds-install
make uhd-moh-install
make uhd-sounds-install
make cd-sounds-install
make cd-moh-install

и русские аудиофайлы

make sounds-ru-install
make cd-sounds-ru-install
make uhd-sounds-ru-install
make hd-sounds-ru-install

Добавим пользователя и скопируем скрипты инициализации…..

Отключаем поддержку ipv6

cd /usr/local/freeswitch/conf/sip_profiles
mv internal-ipv6.xml internal-ipv6.xml.removed
mv external-ipv6.xml external-ipv6.xml.removed

Добавление пользователя freeswitch в систему и блокируем ему пароль

useradd –system –home-dir /usr/local/freeswitch freeswitch
passwd -l freeswitch

Первый запуск необходимо провести для того, что бы Freeswitch создал необходимые папки.

cd /usr/local/freeswitch/bin
./freeswitch

Что бы убедиться, что все работает, вводим команду «sofia status»

Выход из системы по команде «shutdown».

Когда Freeswitch завершает свою работу, так же выводиться многословный лог.

Назначаем права на папки и создаем папку для работы демона freeswitch

# chown -R freeswitch:freeswitch /usr/local/freeswitch/
# chmod -R 770 /usr/local/freeswitch/
# chmod -R 750 /usr/local/freeswitch/bin/*
# mkdir /run/freeswitch
# chown -R freeswitch:freeswitch /run/freeswitch

Для удобства работы создаем символьные ссылки на программы запуска freeswitch

# ln -s /usr/local/freeswitch/bin/freeswitch /usr/bin/
# ln -s /usr/local/freeswitch/bin/fs_cli /usr/bin/

Добавляем freeswitch в автозапуск в систему systemd

# cp /usr/local/src/freeswitch/build/freeswitch.service /etc/systemd/system/multi-user.target.wants/
# nano /etc/systemd/system/multi-user.target.wants/freeswitch.service

Приводим юнит к виду:

[Unit]
Description=freeswitch
After=syslog.target network.target local-fs.target
[Service]
; service
Type=forking
RuntimeDirectory=freeswitch
PIDFile=/run/freeswitch/freeswitch.pid
PermissionsStartOnly=true
ExecStart=/usr/bin/freeswitch -ncwait -nonat -run /run/freeswitch
TimeoutSec=45s
Restart=always
; exec
WorkingDirectory=/run/freeswitch
User=freeswitch
Group=daemon
LimitCORE=infinity
LimitNOFILE=100000
LimitNPROC=60000
;LimitSTACK=240
LimitRTPRIO=infinity
LimitRTTIME=7000000
IOSchedulingClass=realtime
IOSchedulingPriority=2
CPUSchedulingPolicy=rr
CPUSchedulingPriority=89
UMask=0007
[Install]
WantedBy=multi-user.target

Теперь создаем файл конигурации system, который будет всегда создавать директорию /run/freeswitch и наделять ее необходимыми правами

vim /usr/lib/tmpfiles.d/freeswitch.conf

Вписываем в файл:

d /run/freeswitch 770 freeswitch freeswitch

Рестартуем демон systemd:

systemctl daemon-reload

Теперь можно запустить сервис freeswitch командой:

systemctl start freeswitch.service

Проверить состояние сервиса и отсановить его можно так:

systemctl status freeswitch.service

systemctl stop freeswitch.service

  1. Увеличиваем количество лимитов на открытие файлов и обращений к жесткому диску для пользователя freeswitch

nano /etc/security/limits.conf

Вписываем в конец файла перед строкой

End of file

Следующее:

freeswitch hard nofile 500000
freeswitch soft nofile 500000

установка.txt · Последнее изменение: 2017/02/27 23:23 (внешнее изменение)

DokuWiki Appliance - Powered by TurnKey Linux