Перейти к основному содержимому

Внешние push-уведомления

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

Зачем это надо?

При работе с SIP, когда закрыт i3 pro на панели управления, и домофон пытается до нее дозвониться, необходимо послать панели управления Push уведомление, чтобы разбудить приложение i3 pro.

Для реализации подобного функционала существует два способа:


  1. Подключить к проекту iRidium Server и заставить домофон звонить на него. При получении звонка, сервер будет отсылать Push уведомление панели управление.

  1. Использовать отправку уведомлений через облако. Как это сделать описано в этой статье.

Как это работает?

  1. При звонке с домофона домофон отправит запрос на отправку уведомления в облако iRidium.
  2. Облако, получив запрос, даст команду отправки уведомления для указанной группы уведомлений в указанном объекте автоматизации.
  3. Облако пошлет уведомление всем панелям, которые подключены к указанной группе уведомлений.
  4. Увидев уведомление на панели управления, пользователь запустит приложение и увидит входящий звонок.

Реализация отправки уведомлений через облако

  1. В личном кабинете откройте объект автоматизации, для которого требуется настроить облачные уведомления, и создайте группу уведомлений.

NewGroup.png

  1. Перейдите в настройки группы уведомлений и нажмите "создать ключ" для нужной группы.

CreateKey.png

  1. Скопируйте созданный ключ. Далее он потребуется при настройке SIP-домофона.

GetKeyButton.png

Copykey.png

  1. Теперь настройте SIP-домофон. Суть настройки заключается в создании события, которое будет посылать запрос в облако для отправки уведомления.

Внешний вид запрос:
GET http://push.iridiummobile.net/?key=INPUT_HERE_YOUR_KEY&title=You%20have%20not%20recived%20call&sound_type=1

где
key - ключ, скопированный из личного кабинета
title - текст уведомления

Настройка SIP домофонов

Настройка уведомлений для Asterisk

  1. Создайте пользователя.

  2. Уточните имя контекста - from-internal.

ContecstName.jpg

  1. Создайте файл на сервере Asterisk ntf.sh chmod +x.

Bash.png

  1. Внесите изменения в контекст.

EditContecst.png

Текст Баш скрипта

1. ! /bin/bash

curl -X GET \
'http://push.iridiummobile.net/?key=INPUTHEREYOUKEY&title=You%20have%20not%20recived%20call&sound_type=1' \ //<translate><!--T:24-->
В параметр key запишите ключ, взятый из личного кабинета</translate>
-H 'Cache-Control: no-cache' \

Текст контекста

;Doing push
exten => 5009,1,System(/etc/asterisk/ntf.sh "${name} (number ${CALLERID(num)})" ${EXTEN})
;Init incriment
exten => 5009,n,Set(i=0)
;Start call cycle and incriment i
exten => 5009,n(redail),Set(i=$[${i} + 1])
;Call
exten => 5009,n,Dial(PJSIP/5009,,m)
;Getting abonent status
exten => 5009,n,ChanIsAvail(PJSIP/5009,,as)
;Wait 5 sec
exten => 5009,n,Wait(5)
;If count of trying more then 5 go out from cycle
exten => 5009,n,GotoIF($["${i}" = "5"]?skip)
;If abonent is offline go to cycle start
exten => 5009,n,GotoIF($["${AVAILSTATUS}" = "5"]?redail)
;Event of cycle out
exten => 5009,n(skip),Wait(1)

Настройка уведомлений для 3CX

  1. Cоздайте 3cx Voice Call App.
  2. Добавьте в него HTTP Request.

Request.png

  1. Создайте и настройте очередь вызова.

queue.jpg

  1. Добавьте ваше голосовое приложение.

VoiceMessage.jpg

Настройка уведомлений для 3СХ v.16

  1. Создайте в 3CX Call Flow Designer новый проект.
  2. Перенесите компонент HTTP Request (список компонентов находится справа) в поле “Drag and drop components here” во вкладке Main.

Push_3cx.png 3. Двойным нажатием откройте настройку компонента.

Push_3cx2.png 4. Заполните настройки.

В поле ввода URI вставьте ссылку внешнего PUSH-уведомления, заключенную в кавычки. Поле Content должно содержать “”.

Push_3cx3.png 5. Соберите приложение, перейдите в пункт меню Build и выберите Build All.

Push_3cx4.png 6. После успешной сборки внизу появится сообщение, с помощью которого можно перейти в папку, где сохранён .ZIP файл с созданным приложением.

Push_3cx5.png 7. В веб-интерфейсе 3CX перейдите в раздел Call Flow Apps . 8. Добавьте созданное приложение, дождитесь его загрузки.

Push_3cx6.png 9. Отправку PUSH-уведомлений можно добавить как для Ring Groups, так и для Call Queues. Для реализации отправки PUSH-уведомлений через Ring Groups создайте группу, добавьте в группу номера абонентов. В настройках группы укажите действие Send Call To Call flow Apps и созданное приложение для отправки уведомлений для случая, если абонент не ответил на звонок.

Push_3cx7.png

Для Call Queue настройка происходит аналогичным образом

Push_3cx8.png 10. При звонке на групповой номер, или на номер очереди, в случае пропуска звонка пользователь с запущенным проектом для получения PUSH-уведомлений получит сообщение.

Настройка уведомлений для Mobotix

  1. Зайдите в веб интерфейс Mobotix.
  2. Перейдите в раздел Admin menu.

AdminMenu.png

  1. Далее откройте меню Outgoing calls settings в разделе Audio and VOIP Telephony.

OutgoingCalls.png

  1. Настройте телефонные номера и SIP адреса.

  2. Установите Dial Attemps значение 10. DialAttemps2.png

  3. Перейдите в Setup menu-> Action group overview

  4. Создайте Action, в котором задайте логику "Если нажата кнопка вызова с домофона, то:"
    Action 1 - звонить на панель управления
    Action 2 - выбрать значение SimpleNotify

Action2.png

  1. В этом же разделе перейдите в окно IP Notify.

IPCotify.png

  1. Откройте раздел Simple Nofity и настройте параметры:

Destination Address = push.iridiummobile.net:80
Data Protocol = HTTP/1.0 Request

в следующее поле вставьте текст запроса, описанный выше.

/?key=INPUTHEREYOUKEY&title=You%20have%20not%20recived%20call&sound_type=1

IPNotifyProps.png

На этом настройка Mobotix закончена.