DataLife Engine > Настройка > Кнопка "Позвонить с сайта"

Кнопка "Позвонить с сайта"


05-12-2014. Разместил: synergix Здравствуйте, уважаемые посетители ресурса.

На днях ко мне обратились с просьбой помочь в решении одного вопроса. Нужно было сделать кнопку на сайте, при нажатии которой посетитель мог позвонить менеджеру через интернет, причем без настройки на стороне посетителя различных программ sip-телефонии. Для этих целей мне предоставили VPS с debian на борту, абсолютную свободу в выборе ПО и баночку кофе wink

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

Ок, пожалуй начнем. А начнем мы с установки FreeSWITCH.

Добавим репозитории и обновим их. На выбор есть 3 ветки:

#for 1.2 Stable Branch
echo 'deb https://files.freeswitch.org/repo/deb/debian/ wheezy main' >> /etc/apt/sources.list.d/freeswitch.list
#For 1.4 Beta Branch
echo 'deb https://files.freeswitch.org/repo/deb-beta/debian/ wheezy main' >> /etc/apt/sources.list.d/freeswitch.list
#For 1.5 Master/Dev Branch
echo 'deb https://files.freeswitch.org/repo/deb-master/debian/ wheezy main' >> /etc/apt/sources.list.d/freeswitch.list


Я лично решил быть в upstream и выбрал ветку 1.5 :fellow:
Пропишем GPG-ключи и обновим:
#gpg --keyserver pool.sks-keyservers.net --recv-key D76EDC7725E010CF
#gpg -a --export D76EDC7725E010CF |  apt-key add -
#apt-get update


Глянем, что у нас есть в репозитории:
#apt-cache search freeswitch


И не дрогнувшей рукой ставим все:
#apt-get install freeswitch-meta-all


Скопируем конфиги:
#cp -a /usr/share/freeswitch/conf/vanilla /etc/freeswitch


И начнем править конфиги. Перво-наперво с файле /etc/freeswitch/vars.xml меняем строчку
<X-PRE-PRORESS  cmd="set" data="default_passord=1234" /> 

на более устойчивый пароль, а не 1234 для логинов 1000-1019, настройки к которым лежат в /etc/freeswitch/directory и добавляем
<X-PRE-PROCESS cmd="set" data="default_language=ru"/>
для IVR.

Далее, в файле /etc/freeswitch/autoload_configs/modules.conf.xml раскомментируем строчку модуля:
<load module="mod_rtmp" />

А в файле /etc/freeswitch/autoload_configs/rtmp.conf.xml меняем
<param name="auth-calls" value="false">


Скачаем звуковые файлы для IVR, который имеет стандартный номер 5000 и заодно архив с FreeSWITCH, поскольку нам понадобится встроенный web-клиент,

#cd /usr/src/
#wget -c https://files.freeswitch.org/freeswitch-sounds-ru-RU-elena-48000-1.0.51.tar.gz
#wget -c https://files.freeswitch.org/freeswitch-1.4.14.tar.gz


Распаковываем:
#tar -xzvf freeswitch-sounds-ru-RU-elena-48000-1.0.51.tar.gz –C /usr/share/freeswitch/sounds/
#tar -xzvf freeswitch-1.4.14.tar.gz


Стартуем FreeSWITCH:
#service freeswitch start


Ставим Apache для тестирования веб-клиента:
#apt-get install apache2


Копируем веб-клиент в директорию веб-сервера:
#cp -R /usr/src/freeswitch-1.4.14/clients/flex/ /var/www/flex


Открываем браузер и заходим на страничку веб-клиента, набрав адрес http://youserverip/flex/freeswitch.html
Логинимся, используя логин 1000@yourserverip и паролем, который указывали в vars.xml
Дальше выбираем "New Call" и звоним на sip:5000@yourserverip. Если вы слышите приятный женский голос - то вы на верном пути wink
Теперь дело за малым - урезать клиент до состояния одной кнопки, которая будет звонить на заранее прописанный sip-номер.
Здесь мне сильно помогла информация с сайта http://vk.it-sfera.com.ua/.

Исходники кнопки прилагаются в архиве.
В файле btnCall.html пропишите путь к своей директории с файлами (и поменяете все на свой сайт). Номер на который идет звонок уже задан как 1000. В файле button/itsBtn.js пропишите вместо моего ‘rtmp://193.11.11.11/phone’ IP-адрес сервера с установленным FreeSWITCH.

Соединяемся к нашему серверу любым sip-клиентом, например Xlite с логином 1000, жмем на кнопку и довольные идем пить пиво wink
Вернуться назад