В данном примере мы рассмотрим интеграцию Windows-приложения собственной разработки с "Простыми звонками" посредством модуля "Простые звонки - Интеграция со сторонним Windows приложением".
Наше исходное Windows приложение принимает неограниченное число аргументов и выводит их значения на экран в диалоговом окне.
output.js:
var arguments = '';
for(i = 0; i < WScript.Arguments.length; i++)
{
arguments += WScript.Arguments(i) + ', ';
}
WScript.Echo(arguments);Скопируйте файл output.js в папку C:\Temp\
Скачаем тестовый сервер и диагностическую утилиту.
Запустим тестовый сервер:
> TestServer.exe
и подключимся к нему диагностической утилитой:
> Diagnostic.exe
[events off]> connect ws://localhost:10150 abc
* Далее приложение запросит ввести пароль, просто нажмите Enter
Успешно начато установление соединения с АТС
Тестовое окружение настроено.
Скачаем модуль Простые звонки - Интеграция со сторонним Windows приложением на компьютер. Установим его в соответствие с руководством.
Откроем конфигурационный файл ProstieZvonki.cfg и зададим параметры для подключения к тестовому серверу:
[server]
; IP адрес или хостнейм сервера
serverHost=localhost
; Порт для подключения
serverPort=10150
; Если вы получаетесь к интернет-серверу Простых звонков, укажите true.
; Возможные варианты: true, false
useSSL=false
; Пароль для подключения к серверу
password=
; Интервал для переподключения к серверу в милисекундах
reconnectInterval=5000
[user]
; Внутренний (добавочный) номер пользователя
phone=100Запустим ProstieZvonki.exe. Если настройки для подключения заданы верно, то модуль успешно подключится к тестовому серверу. Откроем лог файл, чтобы удостовериться в этом:
INFO 15:55:01.756 Connecting to: ws://localhost:10150
INFO 15:55:02.788 Successfully connected
Убъём процесс ProstieZvonki-debug.exe через Диспетчер задач.
Шаг 3. Настроим вызов внешнего приложения в модуле "Простые звонки - Интеграция со сторонним Windows приложением"
Теперь научим модуль "Простые звонки - Интеграция со сторонним Windows приложением" вызывать внешнее приложение при получении событий:
- входящий звонок клиента на добавочный номер
- добавочный номер ответил на входящий звонок клиента
- добавочный номер завершил разговор с клиентом
Откроем конфигурационный файл ProstieZvonki.cfg, раскомментируем и зададим значения параметров incomingCallEventCmd, answeredCallEventCmd, finishedCallEventCmd:
[handlers]
; Обработчик события, которое возникает при входящем звонке на добавочный номер (зазвонил телефон).
; Раскомментируйте параметр и укажите путь для запуска внешнего приложения.
; Используйте кавычки, если путь для запуска внешнего приложения содержит пробелы.
incomingCallEventCmd="C:\Temp\output.js" INCOMING_CALL FROM=$FROM TO=$TO LINE=$LINE
; Обработчик события, которое возникает при ответе добавочного номера на входящий звонок (пользователь поднял трубку).
; Раскомментируйте параметр и укажите путь для запуска внешнего приложения.
; Используйте кавычки, если путь для запуска внешнего приложения содержит пробелы.
answeredCallEventCmd="C:\Temp\output.js" ANSWERED_INCOMING_CALL FROM=$FROM TO=$TO LINE=$LINE
; Обработчик события, которое возникает при завершении входящего или исходящего звонка на добавочном номере (сотрудник положил трубку).
; Раскомментируйте параметр и укажите путь для запуска внешнего приложения.
; Используйте кавычки, если путь для запуска внешнего приложения содержит пробелы.
finishedCallEventCmd="C:\Temp\output.js" FINISHED_CALL FROM=$FROM TO=$TO DATE=$DATE AUDIO=$AUDIO DURATION=$DURATION DIRECTION=$DIRECTION LINE=$LINEПроверьте, что файл output.js находится в папке C:\Temp\
Шаг 3. Проверим, что модуль "Простые звонки - Интеграция со сторонним Windows приложением" вызывает внешнее приложение
Запустим ProstieZvonki-debug.exe.
Чтобы проверить вызов внешнего приложения при событии "входящий звонок клиента на добавочный номер", создадим входящий звонок с номера 74951002030 на номер 100 с помощью диагностической утилиты Diagnostic.exe:
[events off]> generate transfer 74951002030 100
Модуль "Простые звонки - Интеграция со сторонним Windows приложением" должен вызвать приложение output.js:
Проверим вызов внешнего приложения при событии "добавочный номер ответил на входящий звонок клиента" с помощью диагностической утилиты Diagnostic.exe:
[events off]> generate transans 74951002030 100
Проверим вызов внешнего приложения при событии "добавочный номер завершил разговор с клиентом" с помощью диагностической утилиты Diagnostic.exe:
[events off]> generate history 74951002030 100 1385035625 1385035630 5 in ftp://server/record.mp3

