Pull to refresh

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

Level of difficultyEasy
Reading time3 min
Views4.4K

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

В предыдущих двух статьях мы изучили вопрос приземления традиционных СМС из 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

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

Telega windows
Telega windows
Telega Android
Telega Android

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

Only registered users can participate in poll. Log in, please.
Используете ли Вы телеграм вместо или вместе с CRM?
15.79% Да3
63.16% Нет12
21.05% Пока не знаю4
19 users voted. Nobody abstained.
Tags:
Hubs:
Total votes 3: ↑3 and ↓0+3
Comments3

Articles