Как установить FreeSwitch на Centos/Redhat/Fedora

Как установить FreeSwitch на Centos/Redhat/Fedora

Приведу пару примеров как можно установить и настроить FreeSwitch на Centos/Redhat/Fedora, 1-й способ более сложный чем второй т.к как во 2-м все оптимизировано ( используется только скрипт).

1. Способ установки.

Обязательно для установки требуется! 
Эти обязательные предпосылки обеспечения для составления стандартную установку FreeSWITCH ™ и проверить прилагаемый конфигурации и образец IVR. Они достаточны для многих производственных систем.

  • GIT или WGET
  • AUTOCONF
  • Automake
  • GCC-C + +
  • LIBJPEG-DEVEL Используется mod_spandsp для основных кодеков
  • LIBTOOL
  • MAKE
  • NCurses-DEVEL

Установим на CentOS/Fedora все что нужно:

# sudo yum install git autoconf automake libtool ncurses-devel libjpeg-devel sqlite-devel libcurl-devel pcre-devel speex-devel libedit-devel

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

  • curl-devel для mod_xml_curl
  • expat-devel
  • LibTIFF для поддержки факса
  • libx11-devel для mod_skypopen
  • ODBC или UNIX-ODBC и ODBC-devel  см. на официальном сайте ODBC для получения информации
  • OpenSSL (libssl-Dev / OpenSSL-развитых) для SIP SSL & TLS и Dingaling
  • python-devel для интерфейса питона
  • ZLIB и ZLIB-devel
  • Поддержка шифрования libzrtp ZRTP см. на странице FreeSWITCH ™ ZRTP

Если Вы хотите использовать эти модули на CentOS/Fedora/Redhat выполните:

# sudo yum install expat-devel openssl-devel libtiff-devel libX11-devel unixODBC-devel libssl-devel python-devel \
zlib-devel libzrtpcpp-devel alsa-lib-devel libogg-devel libvorbis-devel perl-libs gdbm-devel \
libdb-devel uuid-devel @development-tools

Скачать FreeSwitch на Centos/Redhat/Fedora

Перейдите в каталог, чтобы потом скачать FreeSWITCH ™, я используем /usr/local/src по этому я выполню (если нет такой директории, то создайте ее : # mkdir /usr/local/src ):

#  cd /usr/local/src

Git:

# git clone git://git.freeswitch.org/freeswitch.git
# cd /usr/local/src/freeswitch
# cp build/modules.conf.in modules.conf

Отредактируем файл с модулями:

# vim /usr/local/src/freeswitch/modules.conf
# sed -i 's/#applications\/mod_curl/applications\/mod_curl/' modules.conf
# sed -i 's/#asr_tts\/mod_flite/asr_tts\/mod_flite/' modules.conf

Файл modules.conf содержит список модулей, которые будут собранны, некоторые из них закомментированы, так как они не требуются. Если планируется протестировать пример с использованием IVR после установки, FLITE должны быть добавлены к компиляции следующим образом:
Нужно найти «flite» и снять «#» -раскомментируйте и после чего сохраните сам файл.

Компиляции исходного кода FreeSWITCH

# cd /usr/local/src/freeswitch

Установка FreeSwitch

#./bootstrap.sh && ./configure && make install && make cd-sounds-install
# make cd-moh-install

Запуск FreeSwitch

Убедитесь в том что ни один другой экземпляр FreeSWITCH ™ или Asterisk не работает на том же компьютере после чего запустите команду:

# /usr/local/freeswitch/bin/freeswitch
установка freeswitch на CentOS/Fedora/RedHat

установка freeswitch на CentOS/Fedora/RedHat

Автоматический запуск при загрузке системы

Чтобы FreeSWITCH  запускался автоматически при запуске системы, просто выполните следующую команду:

 # chkconfig freeswitch on

Теперь напишем скрипт для автоматического запуска фрисвич в нашей системе, чтобы посмотреть скрипт нажмите тут, чтобы скачать его выполните команду:

# wget http://linux-notes.org/wp-content/uploads/scripts/freeswitch_autoload.sh
# chmod +x /etc/init.d/freeswitch_autoload.sh

2. Способ установки (Более легкий и требует менее усилий).

Для начала скачаем готовый скрипт для простой установки для этого выполним всего 1 команду:

# cd /usr/local/src
или
# cd /usr/src
# wget http://linux-notes.org/wp-content/uploads/scripts/git_FreeSwitch_avto-install.sh

Выставим право на использование:

 # chmod +x git_FreeSwitch_avto-install.sh

Запустим скрипт для установки фрисвич:

# ./git_FreeSwitch_avto-install.sh

Установка начнется сама, а вы можете сделать себе кофе или чай ( довольно долго будет длится установка). После завершения добавим некоторый скрипт в автозапуск системы для того чтобы наш freeswitch стартовал автоматически, для этого выполним:

# cp /usr/src/freeswitch/build/freeswitch.init.redhat /etc/init.d/freeswitch

Подредактируем мы его теперь немного:

# vim /etc/init.d/freeswitch

PROG_NAME=freeswitch
PID_FILE=${PID_FILE-/usr/local/freeswitch/log/freeswitch.pid}
FS_USER=${FS_USER-freeswitch}
FS_FILE=${FS_FILE-/usr/local/freeswitch/bin/freeswitch}
FS_HOME=${FS_HOME-/usr/local/freeswitch}

После чего выставим права 755 на данный скрипт:

# chmod 755 /etc/init.d/freeswitch

Делаем автозапуск freeswitch при старте нашей системы, для этого выполним:

# chkconfig --level 345 freeswitch on

Поглядим что вышло, а сделать можно это так:

# chkconfig --list freeswitch

Осталось еще немного, добавим еще группу freeswitch, таким образом:

# groupadd freeswitch

Добавим юзера  freeswitch в группу freeswitch:

# useradd -g freeswitch freeswitch

Изменим владельца файлов:

# chown -R freeswitch.freeswitch /usr/local/freeswitch

Теперь можно ребутнуть наш сервер и проверить работает ли фрисвич:

# shutdown –r now
# ps auxw | grep freeswitch

После установки необходимо изменить стандартный пароль «1234» к sip логинам 1000-1019 для этого нужно отредактировать vars.xml:

# vim /usr/local/freeswitch/conf/vars.xml

Найдем строчку <X-PRE-PROCESS cmd=»set» data=»default_password=1234″/> и поменяем на любой другой пароль. Затем, перейдем в  CLI freeswitch:

# cd /usr/local/freeswitch/bin/fs_cli

Сделаем перезагрузку

reloadxml

и

sofia profile restart all

После выйдем из нашей консоли:

/exit 

Сейчас необходимо зарегистрировать sip login 1000 любым софтфоном и позвонить на тестовый номер IVR 5000.

Если необходимо то можно  загрузить русские фразы для freeswitch для этого перейдем в  /usr/src/ и скачаем архив с фразами:

# cd /usr/src/
wget http://linux-notes.org/wp-content/uploads/scripts/freeswitch-sounds-ru-RU-elena-16000-1.0.13.tar.gz

Распакуем архив в нужную паку:

# tar –xvf freeswitch-sounds-ru-RU-elena-16000-1.0.13.tar.gz –C /usr/local/freeswitch/sounds/

После этого в файл vars.xml добавляем строку:

<X-PRE-PROCESS cmd="set" data="default_language=ru"/>

Снова зайдем в CLI и сделаем перезагрузку XML

Reloadxml

Теперь когда позвоним на  5000 можно услышать русский IVR. Следующим шагом будет подключение провайдера sipnet.ru к freeswitch:

# vim /usr/local/freeswitch/conf/vars.xml

<X-PRE-PROCESS cmd="set" data="default_provider=sipnet"/>
<X-PRE-PROCESS cmd="set" data="default_provider_username=mylogin"/>
<X-PRE-PROCESS cmd="set" data="default_provider_password=mypassword"/>
<X-PRE-PROCESS cmd="set" data="default_provider_from_domain=sipnet.ru"/>
<!-- true or false -->
<X-PRE-PROCESS cmd="set" data="default_provider_register=true"/>
<X-PRE-PROCESS cmd="set" data="default_provider_contact=5000"/>

Не забудьте сделать перезагрузку конфига в CLI. Теперь пробуем делать звонок на любой номер (но на вашем счету sipnet.ru должны быть деньги). Последним шагом будет настройка входящей маршрутизации, для этого выполним:
# vim /usr/local/freeswitch/conf/dialplan/public/00_inbound_did.xml

<include>
<extension name=»incoming_SIPNET_to_1000″>
<condition field=»destination_number» expression=mylogin>
<action application=»set» data=»domain_name=$${domain}»/>
<action application=»transfer» data=»1000 XML default»/>
</condition>
</extension>
<include>

Сделаем перезагрузку конфигов и попробуем принять звонок .
P.S: Я могу и ошибаться, если нашли ошибку, то буду благодарен если напишите мне  в комментариях. На этом тема ‘Как установить FreeSwitch на Centos/Redhat/Fedora’ завершена.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.