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

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

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

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

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

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

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

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

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

  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

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

#! /bin/bash

curl -X GET \
'http://push.iridiummobile.net/?key=INPUTHEREYOUKEY&title=You%20have%20not%20recived%20call&sound_type=1' \ //В параметр key запишите ключ, взятый из личного кабинета
-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

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

Push_3cx2.png

  1. Заполните настройки.

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

Push_3cx3.png

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

Push_3cx4.png

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

Push_3cx5.png

  1. В веб-интерфейсе 3CX перейдите в раздел Call Flow Apps .

  2. Добавьте созданное приложение, дождитесь его загрузки.

Push_3cx6.png

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

Push_3cx7.png

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

Push_3cx8.png

  1. При звонке на групповой номер, или на номер очереди, в случае пропуска звонка пользователь с запущенным проектом для получения 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

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

  2. Создайте 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 закончена.