Изменения документа Отправка событий по входящим подпискам
Редактировал(а) admin 2026/09/03 12:17
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -6,14 +6,19 @@ 6 6 7 7 == Общие сведения == 8 8 9 - Также узлы НЕЙРОСС выступают в качестве ONVIF-узлов и обеспечивают возможность оформления входящей подписки от «внешнего» потребителя ONVIF-событий — «внешней системы», оформляющей подписку на события узла НЕЙРОСС и обеспечивающий приём таких событий.9 +Узлы НЕЙРОСС выступают в качестве ONVIF-узлов и обеспечивают возможность оформления входящих и исходящих подписок на события ~[[[Управление подписками>>doc:ui.Сеть.Управление подписками.WebHome]]] В частности, узлы НЕЙРОСС обеспечивают возможность оформления входящей подписки от «внешнего» потребителя ONVIF-событий — «внешней системы», оформляющей подписку на события узла НЕЙРОСС и обеспечивающий приём таких событий. 10 10 11 -Узлы НЕЙРОСС серверного типа оформляют подписку по запросу, но рассылка событий начинается только после включения функции на самом узле Платформа НЕЙРОСС / ДеВизор. 11 +Узлы НЕЙРОСС серверного типа оформляют подписку по запросу, но рассылка событий начинается только после включения функции на самом узле Платформа НЕЙРОСС / ДеВизор средствами данного раздела. 12 12 13 - Доверсии20.55 подключениефункцииосуществляетсяв файлеконфигурирования.Приработев данныхверсияхобратитеськспециалистамкомпанииИТРИУМ законсультацией.13 +После включения функции рассылки событий во внешнюю систему(ы) начинают передаваться все события (в рамках ограничений протокола). 14 14 15 -С версии 20.55 параметр доступен в интерфейсе НЕЙРОСС. 15 +{{warning title="ВНИМАНИЕ"}} 16 +Рассылка событий осуществляется в режиме реального времени по факту возникновения. Если потребитель должен постоянно быть на связи и «слушать» события. Последующее вычитывание событий НЕ поддерживается. Также есть ограничения на отправку некоторых событий. Полный функционал взаимодействия по ONVIF, в том числе с вычитыванием пропущенных событий, реализовано в Плагине ВИС ~[[[Интеграция с «внешними» информационными системами (ВИС)>>doc:neyross.Настройка Платформы НЕЙРОСС.Инструменты интеграции.Интеграция с «внешними» информационными системами (ВИС).WebHome]]], при этом события передаются по HTTP POST / JSON, а не ONVIF WS-Notification. 17 +{{/warning}} 16 16 19 +(% class="wikigeneratedid" %) 20 +Поддерживается фильтрация событий по топикам (типу ONVIF-события) и по содержимому. Фильтрация событий осуществляется на стороне «внешней» системы. Механизм основан на стандартном ONVIF WS-Notification Subscribe с фильтрами TopicExpression и MessageContent (XPath). 21 + 17 17 == «Включение» рассылки событий == 18 18 19 19 При необходимости передачи событий по входящим ONVIF-подпискам в блоке **Прочее **установите флаг в поле** Отправлять события по входящим подпискам**. ... ... @@ -22,20 +22,113 @@ 22 22 23 23 == Оформление подписки == 24 24 25 - **Endpoint**30 +=== Endpoint === 26 26 27 27 {{code language="none"}} 28 28 http://<IP-адрес Платформы>/soap/onvif/events 29 29 {{/code}} 30 30 31 -== == 36 +=== Подписка без фильтров === 32 32 33 -== Фильтрация событий == 38 +(% class="wikigeneratedid" %) 39 +Отправить SOAP Subscribe с указанием только ConsumerReference и InitialTerminationTime. На Consumer должны приходить все ONVIF-события, доступные в Платформе НЕЙРОСС по подписке. 34 34 35 -По сле включения функции рассылкисобытийво внешнюю систему(ы) начинают передаватьсявсе события (в рамках ограниченийпротокола).41 +=== Подписка с фильтрацией событий === 36 36 37 -{{warning title="ВНИМАНИЕ"}} 38 -Рассылка событий осуществляется в режиме реального времени по факту возникновения. Если потребитель должен постоянно быть на связи и «слушать» события. Последующее вычитывание событий НЕ поддерживается. Также есть ограничения на отправку некоторых событий. Полный функционал взаимодействия по ONVIF, в том числе с вычитыванием пропущенных событий, реализовано в Плагине ВИС ~[[[Интеграция с «внешними» информационными системами (ВИС)>>doc:neyross.Настройка Платформы НЕЙРОСС.Инструменты интеграции.Интеграция с «внешними» информационными системами (ВИС).WebHome]]], при этом события передаются по HTTP POST / JSON, а не ONVIF WS-Notification. 39 -{{/warning}} 43 +(% class="wikigeneratedid" %) 44 +{{{Фильтр задаётся в блоке <wsn:Filter> запроса}}} 40 40 41 -Фильтрация событий осуществляется на стороне «внешней» системы. 46 + 47 +(% class="wikigeneratedid" %) 48 +**Фильтр по топикам** 49 + 50 +Фильтр по топикам задается строкой с топиками, разделенными знаком "|" . фильтр работает по правилу ИЛИ — событие проходит, если topic совпадает с любым из перечисленных. 51 + 52 +Типовые topic'и событий СКУД приведены в таблице ниже: 53 + 54 +|=Topic|=Смысл 55 +|((( 56 +ter:AccessControl/AccessGranted/Credential 57 +)))|((( 58 +Доступ разрешён 59 +))) 60 +|((( 61 +ter:AccessControl/AccessTaken/Credential 62 +)))|((( 63 +Проход совершен 64 +))) 65 +|((( 66 +ter:AccessControl/AccessDenied/Credential 67 +)))|((( 68 +Доступ запрещён 69 +))) 70 +|((( 71 +ter:AccessControl/DoorState/Door 72 +)))|((( 73 +Состояние двери 74 +))) 75 +|((( 76 +ter:AccessControl/... 77 +)))|((( 78 +Прочие события Profile C 79 +))) 80 + 81 + 82 + 83 +{{info}} 84 +Топик события можно уточнить по XML событий в Журнале событий или через Редактор тем извещений ~[[[Система получает неизвестные события. Как их интерпретировать?>>doc:neyross.Обслуживание Платформы НЕЙРОСС.Часто задаваемые вопросы | Платформа НЕЙРОСС.Система получает неизвестные события\. Как их интерпретировать?.WebHome]]]. 85 +{{/info}} 86 + 87 + 88 +Пример фильтра по топикам: 89 + 90 +{{code}} 91 + <wsn:Filter> 92 + <wsn:TopicExpression Dialect="http://www.onvif.org/ver10/tev/topicExpression/ConcreteSet"> 93 + ter:AccessControl/AccessGranted/Credential|ter:AccessControl/AccessTaken/Credential 94 + </wsn:TopicExpression> 95 + </wsn:Filter> 96 + 97 +{{/code}} 98 + 99 + 100 +**Фильтр по содержимому ** 101 + 102 +Фильтр задаётся через xPath выражение, которое может включать как условия по И, так и по ИЛИ. 103 + 104 +Пример фильтра по точкам доступа: 105 + 106 +{{code}} 107 +<wsn:Filter> 108 + <wsn:MessageContent Dialect="http://www.w3.org/TR/1999/REC-xpath-19991116"> 109 + //o:Message/o:Source/o:SimpleItem[@Name='AccessPointToken' and 110 + (@Value='123e4567-e89b-12d3-a456-426614174000' or 111 + @Value='abcd1234-5678-90ab-cdef-1234567890ab')] 112 + </wsn:MessageContent> 113 +</wsn:Filter> 114 +{{/code}} 115 + 116 +В примере выше производится поиск в сообщении блока Source, внутри которого элемент SimpleItem, у которого Name=AccessPointToken и Value равен одному из указанных UUID точек доступа. 117 + 118 +UUID точки доступа (token) вы можете уточнить в разделе Элементы или найти в Журнале событий событие от данной точки доступа, XML ONVIF-извещения найти блок Source / SimpleItem с @Name='AccessPointToken' и скопировать @Value ~[[[Журнал событий>>doc:ui.Журнал событий.WebHome]]]. 119 + 120 + 121 +**Фильтр по топику и содержимому** 122 + 123 + Если заданы фильтры по топикам и по содержимому, то эти фильтры работают по правилу И, то есть событие должно удовлетворять обоим условиям. 124 + 125 +Пример фильтра: 126 + 127 +{{code}} 128 +<wsn:Filter> 129 + <wsn:TopicExpression Dialect="http://www.onvif.org/ver10/tev/topicExpression/ConcreteSet"> 130 + ter:AccessControl/AccessGranted/Credential|ter:AccessControl/AccessTaken/Credential 131 + </wsn:TopicExpression> 132 + <wsn:MessageContent Dialect="http://www.w3.org/TR/1999/REC-xpath-19991116"> 133 + //o:Message/o:Source/o:SimpleItem[@Name='AccessPointToken' and 134 + (@Value='123e4567-e89b-12d3-a456-426614174000' or 135 + @Value='abcd1234-5678-90ab-cdef-1234567890ab' or 136 + @Value='d3bea616-7d17-4edd-b45f-70d7cae13542')] 137 + </wsn:MessageContent> 138 + </wsn:Filter> 139 +{{/code}}