Цель статьи - рассказать о простом способе установки и
настройки  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 сообщите в комментариях.
 
Спасибо за шпаргалку.
ОтветитьУдалитьА вот кто скажет, почему такой длинный коннект даже между внутренними абонентами?
До момента КПВ больше 10 сек.
Очень раздражает :(
Смени дефолтный пароль vars.xml
ОтветитьУдалить