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