- PVSM.RU - https://www.pvsm.ru -
Часть сотрудников нашей компании работает вне офиса: выезды к клиентам, работа в домашних условиях. Для связи с такими сотрудниками мы используем GSM шлюз, подключенный к нашей АТС Askozia. Любой вызов, поступивший от клиета, может быть переадресован на сотрудника “в поле”.
В таких условиях возникает не удобная ситуация: сотрудник, при входящем вызове видит номер SIM карты, а не номер клиента. Нет возможности оперативно перезвонить на пропущенный вызов.
Мы решили использовать Telegram для оповещения о звонках. Получилась интересная связка программных продуктов Askozia + Telegram + 1C: Предприятие.
Сотрудник обращается к сервису через Telegram. Написав боту, можно подписаться на уведомления.
Формат приветствия — “Я <НомерТелефона>”:
Бот сохраняет номер телефона, и с этого момента знает в какой чат отправлять оповещения.
Если кто либо пытается позвонить или переадресовать вызов на номер сотрудника, в чат приходят сообщения:
Обратите внимание, отображается информация о имени звонящего и его номер телефона. Представление (имя) звонящего может быть взято из 1С:CRM, если это необходимо. В данном примере, callerid(name) был установлен после получения информации из 1C:CRM, пример реализации был описан jorikfon [1] в его статье (см. раздел «полезные материалы»).
Дополнительно, отображается гиперссылка “(перезвонить)”. Гиперссылка инициирует callback на мобильный номер сотрудника. Как только вызов на мобильном будет принят, начнется набор абоненту, вызов которого поступал ранее.
Интересная и неожиданная фича — оповещение о звонке приходит быстрее, чем звонок на мобильный. Набор номера через GSM линию происходит с задержкой 4-5 секунд. Уведомление в Telegram приходит намного быстрее.
Используются Telegram API, AMI Asterisk, SOAP web сервисы 1С: Предприятие. Все сервисы реализовали на PHP 5.
Подключаемся к АТС по SSH:
# Смонтируем раздел, разрешим запись.
mount -o remount,rw /offload;
# Создадим директорию, где будет храниться ссылка на скрипт обратного звонка.
mkdir /offload/rootfs/usr/www_provisioning/telegram/;
# Создадим директорию, где будут храниться скрипты.
mkdir /storage/usbdisk1/askoziapbx/astlogs/asterisk/telegram/;
Подключаемся к АТС по SFTP
Скачиваем дистрибутив по ссылке [2]. Копируем скрипты из дистрибутива в директорию: “/storage/usbdisk1/askoziapbx/astlogs/asterisk/telegram/”
Продолжаем работу через SSH
# Создадим символическую ссылку на скрипт обратного звонка:
# Скрипт будет доступен по URL "http://HOST:56080/telegram/miko_callback.php"
ln -s /storage/usbdisk1/askoziapbx/astlogs/asterisk/telegram/miko_callback.php /offload/rootfs/usr/www_provisioning/telegram/miko_callback.php
# Создадим файл, где будут храниться текущие подписки на оповещения в telegram
echo >> /storage/usbdisk1/askoziapbx/astlogs/asterisk/telegram/subscription.db
# Смонтируем раздел в исходное состояние "Только чтение".
mount -o remount,ro /offload;
Определим настройки в файле settings.json
{
"ami_host": "127.0.0.1",
"ami_port": 5038,
"ami_username": "1cami",
"ami_secret": "PASSWORD1cami",
"telegram_API_key": "171119210:AAHo-000000000000000000000",
"subscription_file": "subscription.db",
"dst_context": "SIP-PHONE-0000000000feaad021c",
"res_callback": "http://HOST:56080/telegram/miko_callback.php",
"local_context": "localchannels"
}
В ответ бот пришлет сообщение с ключом
Use this token to access the HTTP API:
171119299:AAHo-y2Ps4-ZTblLRHbjBHG5pG-0cpN
Необходимо открыть «консоль интегратора», нажав “ESC” в web интерфейсе:
*/5 * * * * /bin/sh /storage/usbdisk1/askoziapbx/astlogs/asterisk/telegram/starter.sh
Сотрудники получили полезный сервис оповещения о входящих звонках:
Автор: boffart
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka/113390
Ссылки в тексте:
[1] jorikfon: https://habrahabr.ru/users/jorikfon/
[2] ссылке: http://files.miko.ru/public.php?service=files&t=6274b52a7a8c743f4125e36c0cc9cdf6
[3] Askozia: https://www.askozia.ru
[4] php-telegram-bot: https://github.com/smoqadam/php-telegram-bot
[5] PAMI: https://github.com/marcelog/PAMI
[6] статье: https://habrahabr.ru/post/259165/
[7] запуске PHP скриптов в “фоне”: https://habrahabr.ru/post/137337/
[8] статье: https://habrahabr.ru/post/166935/
[9] Источник: https://habrahabr.ru/post/277743/
Нажмите здесь для печати.