Asterisk и Slack

В конпании мы  используем SLACK для  общения.

И очень удобным  оказалось использование Incoming Webhooks в slack  для приема  вообщений со сторонних сервисов.

В данном примере разберем как можно получать мгновеноее сообщение о пропущенном звонке из очереди в канал slack.

1-для начала необходимо создать конфигурацию, для этого используем   “Add Configuration”

Slack

2-в окне настройки вебхука указываем  в какой  канал мы  хотим получать сообщения в данном случае мы выбираем #general  так как  по умолчанию сообщения  этого канала видны всем пользователям компании.

Add Config

3-в настройках webhook  копируем  пример  curl  запроса  (example) – далее он потребуеться для отправки  сообщения о пропущенном звонке

example

4-Вам осталось поставить вызов  curl запроса  в нужном месте .

Ниже пример  переписанного  /etc/asterisk/extensions_override_freepbx.conf  для отправки уведомления  при  пропущенном  вызове в очереди

[ext-queues]
exten => h,1,NoOP(${CDR(dstchannel)});
exten => h,n,GotoIf($[“${CDR(dstchannel)}” != “”]?skip)
exten => h,n,Set(MISSED=${SHELL(curl -X POST –data-urlencode ‘payload={“channel”: “#general”, “username”: “CRMBot”, “text”: “MISSED CALL from ${CALLERID(name)} ${FROMEXTEN}”, “icon_emoji”: “:sos:”}’ https://hooks.slack.com/services/qwdewfffew/fijfirfjreifjog)})
exten => h,n,NoOp(=========MISSSED CALL=====)
exten => h,n(skip),Macro(hangupcall,)
;–== end of [ext-queues] ==–;

 

-----------------------------------------------------------------------------