понедельник, 4 марта 2013 г.

Установка и настройка freeswitch в Centos



Цель статьи - рассказать о простом способе установки и настройки  freeswitch в Centos.
Статья не является полным руководством и не претендует на истину в последней инстанции, я бы сказал эта памятка самому себе.

Итак, начнем.
Весь процесс установки очень прост, нужно только скачать скрипт gitit.sh
Переходим в папку


cd /usr/src/

Скачиваем скрипт

Wget http://files.mail.ru/F58956DD9EE04B89B196959834A12598

Даем права на запуск

 chmod +x gitit.sh

 и запускаем  

./gitit.sh

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

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

редактируем 

mcedit /etc/init.d/freeswitch
(должен быть установлен MC кому религия не позволяет использовать MC могут использовать vi или nano)


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 в только что созданную группу

useradd -g freeswitch freeswitch

меняем владельца файлов

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

можно попробовать перезапустить систему

shutdown –r now

после перезагрузки проверим запустился ли freeswitch

ps auxw | grep freeswitch

 мы должны увидеть примерно следующие

500       2874  0.0  1.7  36388 17912 ?        SNl  20:38   0:01 /usr/local/freeswitch/bin/freeswitch -nc
root      3673  0.0  0.0   4016   688 pts/0    S+   22:12   0:00 grep freeswitch

первое, что нужно сделать после установки freeswitch - это сменить дефолтный пароль "1234" к sip логинам 1000-1019:

редактируем vars.xml

mcedit /usr/local/freeswitch/conf/vars.xml

находим строку и меняем на свой пароль

<X-PRE-PROCESS cmd="set" data="default_password=1234"/>

теперь зайдем  CLI freeswitch

/usr/local/freeswitch/bin/fs_cli

Перезагрузим
reloadxml
и
sofia profile restart all
Выходим из консоли
/exit
теперь попробуем зарегистрировать sip login 1000 любым софтфоном  и позвонить на тестовый номер IVR 5000.

Следующим шагом будет загрузка русских фраз.
Скачиваем архив

 cd /usr/src/


распаковываем архив в папку

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

Mcedit /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  должен быть положительный баланс).
Осталось настроить  входящую маршрутизацию

mcedit /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>

Перезагружаем конфиги и пробуем принять звонок .
З.Ы если нашли ошибку PLS сообщите в комментариях.

2 комментария:

  1. Спасибо за шпаргалку.
    А вот кто скажет, почему такой длинный коннект даже между внутренними абонентами?
    До момента КПВ больше 10 сек.
    Очень раздражает :(

    ОтветитьУдалить
  2. Смени дефолтный пароль vars.xml

    ОтветитьУдалить