Push-уведомление о звонке - отравка из Mobotix (SIP)

Как известно, приложение i3 pro в свернутом состоянии не может принимать SIP вызовы. Это не дает полноценно использовать i3 pro как панель видео-домофона.


Но, для SIP домофона Mobotix T24/T25 совместно с iRidium Server и i3 pro, есть решение. Оно позволяет отправить с Mobotix уведомление на мобильные устройства с приложением i3 pro. Уведомление воспроизводит звонок и показывает окно, при нажатии на которое открывается страница с камерой домофона и производится авто-дозвон на домофон, с которого поступил вызов.


Загрузки:

  1. Проект для i3 pro (планшет, смартфон)
  2. Проект для iRidium Server (или только скрипт для сервера)

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


1. SIP сервер Mobotix отправляет НТТР команду на iRidium Server (сервер может быть установлен на ПК). В команде содержится сообщение: "произведен вызов SIP абонентов с домофона <имя>"

2. iRidium Server с помощью специального скрипта обрабатывает полученное сообщение и генерирует Push-уведомление для панелей управления, которое передает в сервис iRidium Cloud

3. iRidium Cloud находит панели управления с i3 pro (Push Group 1 в облаке), которые должны получить Push-уведомление и передает уведомление всем получателям

4. На панели управления воспроизводится звук уведомления и появляется всплывающее окно с текстом "получен звонок от <имя>"

5. По нажатию на окно уведомления, открывается приложение i3 pro на странице с видео-домофоном (планшет, смартфон) и производится соединение со звонившим домофоном (можно говорить и смотреть видео с камеры).


Ограничения:

1. Отправить уведомление с Mobotix сразу на панель управление нельзя, обязательно нужен работающий iRidium Server со специальным скриптом.

2. Уведомление может получить только iOS или Android смартфон/планшет


Этапы настройки уведомлений

Исходя из принципа работы, рассмотрим этапы настройки уведомления панелей о звонках с домофонов Mobotix:

  1. Настройка Mobotix для отправки специальных НТТР команд на iRidium Server
  2. Настройка проекта iRidium Server для взаимодействия с Mobotix
  3. Настройка проекта i3 pro для получения и обработки Push-уведомлений
  4. Работа с облаком
    1. Загрузка настроенных проектов в iRidium Cloud, настройка Push Group
    2. Скачивание проектов из облака в i3 pro и на iRidium Server
  5. Проверка работы уведомлений

Детальный разбор этапов:


1. Настройка Mobotix для отправки специальных НТТР команд на iRidium Server

Откройте web-интерфейс Mobotix T24/T25 в web-браузере. Для этого нужно перейти по IP адресу Mobotix и ввести логин и пароль администратора.

В web-интерфейсе нажмите кнопку Setup Menu:


Откройте подменю Event Control | Action Group Overview. Здесь можно настроить действия, которые производит домофон при нажатии на кнопку вызова.


Нажмите кнопку Add new Group чтобы создать новую группу действий. Назовем ее "iRidium Notification". Нажмите кнопку Edit... чтобы настроить группу:


Настройки группы "iRidium Notification":

  1. Action Group - это имя и статус группы, они уже заданы
  2. Event Selection | Signal: CameraBellButton | - выбор события, которое вызывает действия. Мы выбираем "нажатие на вызывную клавишу домофона"
  3. Action Details | 0 | Simultaneously | - вызывать все действия одновременно
  4. Нажмите на кнопку Add new action чтобы добавить действие. Мы добавим действие - "отправить простое уведомление" при нажатии клавиши вызывной панели домофона
  5. Action 1 | IP Notify: SimpleNotify | 1 | - отправить простое уведомление в течение 1 секунды. Не указывайте 0 - это значит отменить действие
  6. Нажмите кнопку Set чтобы сохранить изменения
  7. Нажмите кнопку IP Notify чтобы настроить команду, которую отправит выбранное нами уведомление SimpleNotify:


Найдите в списке профиль SimpleNotify и настройте:

  1. Destination Address | 192.168.0.66:8080 | - где 192.168.0.66 это адрес вашего iRidium Server (если сервер запущен на ПК, то это адрес ПК). Укажите свой адрес!
  2. Data Protocol | HTTP/1.0 Request - тип команды, простой НТТР запрос
  3. /doorphone=Main_entrance - данные, которые отправит команда серверу iRidium. Это сообщение содержит имя домофона, на котором нажали кнопку (/doorphone=<name>). В данном случае имя домофона: "Main entrance". Вместо пробелов обязательно используйте нижнее подчеркивание!

  4. Нажмите кнопку Set чтобы сохранить измененные настройки

Все готово, теперь, при нажатии на клавишу домофона, будет не только производиться вызов абонентов, настроенный в профиле "Outgoing Call" меню администратора, но будет также отправляться специальная НТТР команда на IP адрес iRidium Server.


Теперь можно настроить обработку этой команды на стороне сервера:


2. Настройка проекта iRidium Server для взаимодействия с Mobotix

Если у вас уже есть iRidium Server на объекте (и проект для него), просто добавьте в свой проект этот скрипт.

Если сервер вы еще не используете, и проекта нет, скачайте готовый проект. Вносить в него изменения не нужно.

Сохраните проект и переходите к следующему этапу.


3. Настройка проекта i3 pro для получения и обработки Push-уведомлений


3.1. Готовый проект для i3 pro

Для работы с домофонами Mobotix есть готовый проект визуализации (для планшета и для смартфона), который уже включает скрипт обработки полученных Push-уведомлений.
Если вы хотите использовать готовый проект, его нужно настроить:


3.1.1. Настройте драйвер SIP

Откройте проект Mobotix SIP в iRidium Studio на ПК, выберите драйвер SIP и настройте:

  • Host: IP-адрес SIP сервера Mobotix
  • SIP ID: номер SIP абонента, которым представится i3 pro (абонентов мы создали в SIP Server Settings, выберите свободный номер)
  • Caller ID: имя абонента (такое же как SIP ID или любое другое)
  • Password: пароль абонента, настроенный на SIP сервере

Остальные настройки оставьте по умолчанию, они специально настроены для подключения к SIP серверу Mobotix.

Если вы используете другой SIP сервер (не Mobotix), настройки Port, First RTP Port, Last RTP Port могут быть другими. Сохраните проект.


Запустите проект в iRidium Studio > Emulator, откройте страницу с домофоном.

В случае успешного подключения к SIP серверу вы увидите статус: "On Hook ..." в правом верхнем углу окна домофона:



После этого обязательно настройте скрипт в проекте, он нужен для получения видео с камеры и совершения звонков на домофон:


3.1.2. Настройте скрипт проекта Mobotix SIP

Этот скрипт обеспечит звонок на домофон при нажатии кнопки вызова в проекте, обработку Push уведомлений, а также отображение видео-потока с камеры Mobotix.


Нажмите кнопку [JS] на панели инструментов iRidium Studio, чтобы перейти к редактору скриптов. Выберите файл скрипта "Mobotix_DoorPhone_ADD":


Например, настроим связь с одним домофоном. Для него нужно создать один комплект настроек в скрипте (комментарии убраны):

IR.AddListener(IR.EVENT_START, 0, function()
{
   var mobotix1 = new add_mobotix_door_phone("Main entrance",
                  "mobotix 1",
                  ["192.168.0.110", "admin", "meinsm", "102"]
                  );
});
В этом примере:
  • "Main entrance" - произвольное имя для вашего домофона. Оно будет отображаться в интерфейсе визуализации при открытии страницы домофона и входящем вызове
  • "mobotix 1" - имя попапа (Popup page) в интерфейсе визуализации, который отображает видео с камеры домофона, кнопку вызова, кнопки открыть дверь/переключить свет. Этот попап содержит специальный набор графических элементов, чтобы создать новый попап, нужно скопировать имеющийся. Не удаляйте элементы с попапа (при необходимости, можно сдвинуть их за пределы попапа)
  • "192.168.0.110" - IP-адрес домофона Mobotix (именно домофона, с которого нужно получать видео-поток)
  • "admin" - логин администратора, который вы используете для входа в web-инетрфейс домофона Mobotix
  • "meinsm" - пароль администратора, который вы используете для входа в web-инетрфейс домофона Mobotix
  • "102" - SIP адрес домофона, как абонента SIP (вы настроили его в Admin menu домофона, в подменю SIP Client Settings)

Предположим, что домофона два, или более. Тогда нужно создать 2 и более комплекта настроек по принципу:

IR.AddListener(IR.EVENT_START, 0, function()
{
    var mobotix1 = new add_mobotix_door_phone(...);
    var mobotix2 = new add_mobotix_door_phone(...);
    ...
    var mobotixN = new add_mobotix_door_phone(...);
});

Пример файла "Mobotix_DoorPhone_ADD" для 2х домофонов (комментарии убраны):

IR.AddListener(IR.EVENT_START, 0, function()
{
    var mobotix1 = new add_mobotix_door_phone("Main entrance",
                  "mobotix 1",
                  ["192.168.0.110", "admin", "meinsm", "102"]
                  );

    var mobotix2 = new add_mobotix_door_phone("Back entrance",
                  "mobotix 2",
                  ["192.168.0.111", "admin", "meinsm", "104"]
                  );
});

Сохраните скрипт, сохраните проект.


Запустите проект в iRidium Studio > Emulator, откройте страницу с настроенным домофоном. В случае корректной настройки скрипта, вы увидите видео с камеры домофона, а при нажатии кнопки вызова дозвонитесь до домофона Mobotix:

Если к сухим контактам домофона подключено управление светом и открытием двери, кнопки "open door" и "switch light" тоже будут работать.




3.2. Встроить обработку уведомления в свой проект

Обработать полученное уведомление можно, не прибегая к использованию готового интерфейса для Mobotix. Это может понадобиться, например, если вы уже настроили интерфейс и не хотите его переделывать.
Просто добавьте в свой проект скрипт обработки Push-уведомлений. Он нужен, чтобы открыть окно домофона, когда вы нажимаете на всплывающий текст уведомления, а также чтобы автоматически дозвониться до домофона и поговорить с гостем:

IR.AddListener(IR.EVENT_RECIEVE_PUSH_NOTIFY, 0, function (text, data, group) 
{
      if(data == "Main entrance") // если пришел звонок с панели "Main entrance"
      {
            IR.ShowPopup("Main entrance popup"); // покажи окно с камерой этой вызывной панели 
          
            function IsRecallNeeded () // если я ее не разговариваю с этой панелью
            {
               if (IR.GetDevice("SIP").GetFeedback("STATUS") != "Incoming Call...") 
               {
                  IR.GetDevice("SIP").SetFeedback("NUMBER", "102") // позвони на эту панель по номеру "102"
                  IR.GetDevice("SIP").Set("CALL", 0);
               }
            } IR.SetTimeout(2000, IsRecallNeeded);
      }   
});   

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

Без этого скрипта, уведомление все равно появится, но, при нажатии на него, ничего не произойдет (приложение откроется, но не покажет попап с домофоном и не сделает больше ничего).


4. Работа с облаком

4.1 Загрузка настроенных проектов в iRidium Cloud, настройка Push Group

Воспользуйтесь инструкцией чтобы создать в iRidium Cloud новый объект автоматизации. Добавьте в проект настроенные в пунктах 2 и 3 проекты, активируйте коммерческую или триал лицензию. пригласите пользователей, которые будут пользоваться визуализацией и получать уведомления от вызывных панелей.
Обратите внимание, что использовать аккаунт интегратора для тестирования уведомлений нельзя, они работают только в учетных записях пользователей.


Главная настройка этого шага - настройка Push Group ID: 1. Группы уведмолений с идентификатором 1. Именно в эту группу будут приходить уведомления от iRidium Server. Пригласите в группу всех пользователей, которые должны получать уведомления.


Когда пользователи приглашены, можно перейти с запуску проектов на панелях управления пользователей и на сервере iRidium.


4.2. Скачивание проектов с лицензией из облака в i3 pro и на iRidium Server
  1. Авторизуйтесь в приложении i3 pro как конечный пользователь (приглашенный в объект с уведомлениями для Mobotix). Скачайте проект визуализации на панель управления.
  2. Авторизуйтесь на iRidium Server как интегратор, скачайте подготовленный проект трансляции уведомлений для сервера.

5. Проверка работы уведомлений

Закройте или сверните приложение i3 pro на панели управления.

Нажмите кнопку вызова на вызывной панели Mobotix.

Через несколько секунд вы услышите мелодию вызова, и увидите окно уведомления на мобильном устройстве с i3 pro.

Нажмите на окно уведомления - откроется приложение i3 pro, а в нем окно с камерой видео-домофона. Если разговор еще не идет, автоматически будет произведен дозвон до домофона, с которого пришло уведомление о звонке.

Dit artikel is nuttig voor 3 personen. Is dit artikel nuttig voor u?