Опять Telegram и IPATC (записи разговоров контакт центра)

от автора

Статья о том как в чат телеги получать статистику о звонках и записи звонков непосредственно

В предыдущих двух статьях мы изучили вопрос приземления традиционных СМС из GSM сетей в чат телеги.

Во многих кейсах которые обращались и пользовались моей помощью в настройке прямо или косвенно стояла задача в которой была б возможность получать записи разговоров в корпоративной АТС, тоже в чат телеги, для контроля качества, например Руководителем отдела продаж или его множественными Замами по ничего не деланью.

Не важно какую используете телефонию — главное чтоб она была на базе asterisk, в этой статье я приведу примеры диалплана именно для этой самой популярной IPАТС в мире, и уже через 10-15 минут и Вы сможете отправлять уведомления и записи своих корпоративных разговором в чат для мгновенного реагирования.

Самодельный Asterisk

Самодельный Asterisk
Обычный FreePBX

Обычный FreePBX

Итак, в любой системе использующей Asterisk (Ваниль, FreePBX или Самодельный PBX) мы можем реальзовать отправку записей звонков в телеграм.

Мы Будем использовать лишь только файлы диалплана астериска без скриптов (Python, PHP и PERL упасите навеки).

Итак погнали:
Определим список: 501 — внутренний номер, incoming-tg — входящий контекст, MyMegaTrunk — Sip линия для исходящих звонков, out-going — исходящий контекст. IDCHATorGROUP и botTOKEN — без комментариев.

Ниже пример диалплана и скриншот результата его работы в ЧАТЕ ТЕЛЕГРАМ

[incoming-tg] exten => _7ХХХХХХХХХХ,1,System(curl --data "text=Поступил звонок от ${URIENCODE(+7${CALLERID(num):-10})}, запись начата&chat_id=IDCHATorGROUP" "https://api.telegram.org/botTOKEN/sendMessage"); Шлем уведомление о начале звонка same => n,Set(__CALLFILENAME=${CALLERID(num)}-${UNIQUEID}); зададим номер звонящего в название файла аудио same => n,MixMonitor(/home/records/${YEAR}/${MONTH}/${DAY}/${CALLFILENAME}.wav,b) same => n,Dial(SIP/501,60,Tr); звоним на 501 внутренний same => n,HangUp() exten => h,1,Set(CDR(recordingfile)=/home/records/${YEAR}/${MONTH}/${DAY}/${CALLFILENAME}.wav) exten => h,2,Noop() exten => h,3,System(curl -X POST https://api.telegram.org/botTOKEN/sendAudio -F chat_id=IDCHATorGROUP -F audio="@/${CDR(recordingfile)}"); Шлем файл записи как файл. если PBX публично не доступна из WEB или не хотите URL ;exten => h,3,System(curl -X POST https://api.telegram.org/botTOKEN/sendAudio -F chat_id=IDCHATorGROUP -F audio=https://youpbxdomain/x/y/z/${CDR(recordingfile)); ИЛИ Шлём файл записи как URL - ставьте сформированный URL   [out-going] exten => _.,1,Set(__CALLFILENAME=${CALLERID(num)}-${UNIQUEID}) same => n,MixMonitor(/home/records/${YEAR}/${MONTH}/${DAY}/${CALLFILENAME}.wav,b) same => n,System(curl --data "text=ИСХОДЯЩИЙ ЗВОНОК на ${URIENCODE(+7${EXTEN:-10})}, запись начата&chat_id=IDCHATorGROUP" "https://api.telegram.org/botTOKEN/sendMessage"); Шлем уведомление о начале звонка same => n,Dial(SIP/MyMegaTrunk/7${EXTEN:-10},60,r); Начинаем звонить через транк на внешний номер приведя набираемый номер к формату E164 exten => h,1,Set(CDR(recordingfile)=/home/records/${YEAR}/${MONTH}/${DAY}/${CALLFILENAME}.wav) exten => h,2,Noop() exten => h,3,System(curl -X POST https://api.telegram.org/botTOKEN/sendAudio -F chat_id=IDCHATorGROUP -F audio="@/${CDR(recordingfile)}"); Шлем файл записи как файл. если PBX публично не доступна из WEB или не хотите URL

скриншоты отработки диалплана на мобильной и десктопной версиях телеграма

Спасибо за внимание.
Всем удачного телеграфирования…

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Используете ли Вы телеграм вместо или вместе с CRM?
50% Да 2
50% Нет 2
0% Пока не знаю 0
Проголосовали 4 пользователя. Воздержавшихся нет.

ссылка на оригинал статьи https://habr.com/ru/articles/741554/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *