Версия 2.3 от admin на 2026/07/24 16:10

Скрыть последних авторов
admin 1.2 1 Вкладка **Платформа НЕЙРОСС** раздела **Дополнительные настройки** позволяет настроить разрешение на отправку событий Платформы НЕЙРОСС / ДеВизор «внешним» системам по входящей ONVIF-подписке. Можно отправлять все события системы, так и фильтровать события по теме (топику) и содержимому.
admin 1.1 2
3 {{info}}
4 **Переход к функционалу**: [[doc:ui.Рабочий стол НЕЙРОСС.WebHome]] > [[doc:ui.Параметры узла.WebHome]] > [[doc:ui.Параметры узла.Дополнительные настройки.WebHome]] > Вкладка Платформа НЕЙРОСС ~[[[doc:ui.Рабочий стол НЕЙРОСС.Изменения интерфейса НЕЙРОСС.WebHome]]].
5 {{/info}}
6
admin 1.2 7 == Общие сведения ==
admin 1.1 8
admin 2.3 9 Узлы НЕЙРОСС выступают в качестве ONVIF-узлов и обеспечивают возможность оформления входящих и исходящих подписок на события ~[[[Управление подписками>>doc:ui.Сеть.Управление подписками.WebHome]]] В частности, узлы НЕЙРОСС обеспечивают возможность оформления входящей подписки от «внешнего» потребителя ONVIF-событий — «внешней системы», оформляющей подписку на события узла НЕЙРОСС и обеспечивающий приём таких событий.
admin 1.5 10
admin 2.3 11 Узлы НЕЙРОСС серверного типа оформляют подписку по запросу, но рассылка событий начинается только после включения функции на самом узле Платформа НЕЙРОСС / ДеВизор средствами данного раздела.
admin 1.5 12
admin 1.12 13 После включения функции рассылки событий во внешнюю систему(ы) начинают передаваться все события (в рамках ограничений протокола).
14
15 {{warning title="ВНИМАНИЕ"}}
16 Рассылка событий осуществляется в режиме реального времени по факту возникновения. Если потребитель должен постоянно быть на связи и «слушать» события. Последующее вычитывание событий НЕ поддерживается. Также есть ограничения на отправку некоторых событий. Полный функционал взаимодействия по ONVIF, в том числе с вычитыванием пропущенных событий, реализовано в Плагине ВИС ~[[[Интеграция с «внешними» информационными системами (ВИС)>>doc:neyross.Настройка Платформы НЕЙРОСС.Инструменты интеграции.Интеграция с «внешними» информационными системами (ВИС).WebHome]]], при этом события передаются по HTTP POST / JSON, а не ONVIF WS-Notification.
17 {{/warning}}
18
19 (% class="wikigeneratedid" %)
admin 1.14 20 Поддерживается фильтрация событий по топикам (типу ONVIF-события) и по содержимому. Фильтрация событий осуществляется на стороне «внешней» системы. Механизм основан на стандартном ONVIF WS-Notification Subscribe с фильтрами TopicExpression и MessageContent (XPath).
admin 1.12 21
admin 1.6 22 == «Включение» рассылки событий ==
23
admin 1.8 24 При необходимости передачи событий по входящим ONVIF-подпискам в блоке **Прочее **установите флаг в поле** Отправлять события по входящим подпискам**.
admin 1.6 25
26 Нажмите на кнопку **Сохранить**. Изменения вступают в силу через 2–3 минуты, перезагрузка узла не требуется.
27
admin 1.9 28 == Оформление подписки ==
29
admin 1.12 30 === Endpoint ===
admin 1.9 31
32 {{code language="none"}}
33 http://<IP-адрес Платформы>/soap/onvif/events
34 {{/code}}
35
admin 1.12 36 === Подписка без фильтров ===
admin 1.9 37
admin 1.11 38 (% class="wikigeneratedid" %)
39 Отправить SOAP Subscribe с указанием только ConsumerReference и InitialTerminationTime. На Consumer должны приходить все ONVIF-события, доступные в Платформе НЕЙРОСС по подписке.
40
admin 1.15 41 === Подписка с фильтрацией событий ===
admin 1.6 42
admin 1.15 43 (% class="wikigeneratedid" %)
44 {{{Фильтр задаётся в блоке <wsn:Filter> запроса}}}
admin 1.6 45
admin 1.15 46
47 (% class="wikigeneratedid" %)
48 **Фильтр по топикам**
49
50 Фильтр по топикам задается строкой с топиками, разделенными знаком "|" . фильтр работает по правилу ИЛИ — событие проходит, если topic совпадает с любым из перечисленных.
51
52 Типовые topic'и событий СКУД приведены в таблице ниже:
53
54 |=Topic|=Смысл
55 |(((
56 ter:AccessControl/AccessGranted/Credential
57 )))|(((
admin 1.16 58 Доступ разрешён
admin 1.15 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 )))
admin 1.16 80
81
82
83 {{info}}
admin 1.18 84 Топик события можно уточнить по XML событий в Журнале событий или через Редактор тем извещений ~[[[Система получает неизвестные события. Как их интерпретировать?>>doc:neyross.Обслуживание Платформы НЕЙРОСС.Часто задаваемые вопросы | Платформа НЕЙРОСС.Система получает неизвестные события\. Как их интерпретировать?.WebHome]]].
admin 1.16 85 {{/info}}
86
admin 1.18 87
admin 2.1 88 Пример фильтра по топикам:
admin 1.18 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}}
admin 1.19 98
99
100 **Фильтр по содержимому **
admin 2.1 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}}

Интерфейс НЕЙРОСС