воскресенье, 3 августа 2014 г.

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


Как установить 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 Как установить FreeSwitch на Centos/Redhat/Fedora
установка 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’ завершена.

Комментариев нет:

Отправить комментарий