Как сделать обратный звонок с сайта с помощью RanCOM

Обратный звонок с сайта это довольно распространенный функционал на современных сайтах. Обычно эта функция реализуется на базе софтовых АТС типа Asterisk. А вот как это сделать, имея только цифровую АТС, это очень интересный вопрос.

Ответить на него попытаемся в этой статье.

Пример совершения звонка из HTML страницы

Исходная конфигурация: АТС Panasonic KX-NCP500RU, Rander Server Plus Ver.5, RanCOM Plus Ver.5, TSP драйвер Ver.4.2.12, Windows Server 2008, Apache сервер с поддержкой PHP, FireFox V.31.0.

Попробуем посмотреть как это возможно на конкретном примере. В нашем случае мы используем АТС Panasonic KX-NCP500RU и программное обеспечение Rander Server Plus с модулем интеграции RanCOM Plus. Это программное обеспечение уже установлено, TSP драйвер так же установлен и мы можем убедиться, что вся система работает исправно, если запустим клиент Rander и выполним все необходимые "Настройки".

Обратите внимание, что сервер Rander не обязательно должен быть установлен на той же машине, где работает WEB сервер, а вот RanCOM должен быть установлен именно на WEB сервере.

Теперь, когда мы убедились, что система полностью работоспособна, можем приступать к изучению возможностей управления сервером Rander и АТС непосредственно из HTML страницы.

  • Запускаем на WEB сервере командную строку от имени администратора и вводим команду regedit, в результате чего открывается содержание системного реестра. Ищем в системном реестре записи, имеющие отношение к RanCOM. Как видим, в реестре имеется запись RanderCOM.RanCOM.1. Это означает, что RanCOM установлен на сервере и в системе существует такой COM объект. Запомним это имя для использования его в дальнейшем.

    Окно системного реестра


  • Для начала создадим на какой-нибудь готовой HTML странице окно для ввода номера телефона и его набора:

    HTML код ввода телефона

  • В браузере это будет выглядеть следующим образом:

    окно ввода телефона



  • В строке "form action="RanCOM.php" method="post"" мы использовали ссылку на файл RanCOM.php, который и будет выполнять набор номера.

  • Создадим файл RanCOM.php с таким кодом:

    php код для набора номера телефона

  • В этом коде мы сначала создаем новый объект, используя имя COM объекта RanderCOM.RanCOM.1, затем подключаемся к серверу Rander, открываем линию 303 и набираем номер от имени открытой линии 303.

  • Номер, который мы вводили на HTML странице у нас запомнился в переменной phonenumber. В фале PHP мы создаем аналогичную переменную и присваиваем ей ранее введенное значение phonenumber.

  • Таким образом, от имени телефона 303 система набирает номер, введенный нами в окне на HTML странице.

    Телефон звонит! Все работает! Ура!

Как это работает?

Любой клиент, просматривающий страницу контактов нашего WEB сайта, вводит номер своего телефона в предложенном формате, в результате чего активируется рассмотренный ранее PHP код и модуль RanCOM, установленный на WEB сервере, обращается к серверу Rander и запрашивает у него функцию набора введенного номера от имени открытой линии. Клиент получает на экране браузера уведомление "Номер набирается! Пожалуйста, ожидайте звонок!". Если 303 это системный телефон, то он автоматически включится и начнет набирать номер абонента. После ответа абонента устанавливается соединение.

При этом не важно на каком устройстве мы открываем WEB страницу с контактами и пытаемся заказать обратный звонок. Поскольку все функции выполняются на нашем WEB сервере, а на устройство клиента передаются только результаты, система не зависит от типа используемой клиентской операционной системы.

В качестве примера Вы можете попробовать эту функцию на нашем сайте на странице "Контакты".

г.Пермь, 11.09.2014 г. Рабчевский Андрей Николаевич