9.5.1 通知信息(Notification information)

一个通知至少回答以下问题: 它是什么时候发生的? 谁产生了事件? 发生了什么事?

第一个问题是通过添加一个NotificationMessage消息元素的时间属性来回答的。符合ONVIF标准的设备应包括消息元素的时间属性。

第二个问题被分成两部分。一部分是WS端点(WS-Endpoint)用来标识设备或设备内的服务已产生通知。因此,WS端点(WS-Endpoint)应指定ProducerReference元素内的NotificationMessage。第二部分是识别在WS端点(WS-Endpoint)的组件,并负责产生通知。根据组件的参数,可能需要识别唯一的组件.这些参数是放置在源元素消息容器内的项。

第三个问题分两步回答。首先,NotificationMessage的Topic元素是用来对事件分类的,其次,为了描述事件的详细信息,项被添加到消息容器的数据元素中。当Topic指向属性(请参阅9.4节),客户端使用NotificationProducer、Topic、Source Items和可选的Key Items以确定这些属性。这些值将导致一个唯一标识符。

9.5.1.1 事件示例(Event Example)

后续的示例中演示了该通知的不同部分:

  1. <wsnt:NotificationMessage>
  2. ...
  3. <wsnt:Topic Dialect="...Concrete">
  4. tns1:PTZController /PTZPreset/Reached
  5. </wsnt:Topic>
  6. <wsnt:Message>
  7. <tt:Message UtcTime="...">
  8. <tt:Source>
  9. <tt:SimpleItem Name="PTZConfigurationToken" Value="PTZConfig1"/>
  10. </tt:Source>
  11. <tt:Data>
  12. <tt:SimpleItem Name="PresetToken" Value="Preset5"/>
  13. <tt:SimpleItem Name="PresetName" Value="ParkingLot"/>
  14. </tt:Data>
  15. </tt:Message>
  16. </wsnt:Message>
  17. </wsnt:NotificationMessage>

“PTZConfigurationToken”是用来识别唯一标识的组件,它是负责事件的检测。在这个例子中,该组件是一个云台(PTZ)节点,由云台的配置“PTZConfig1”引用。事件tns1:PTZController/PTZPreset/Reached表示PTZ单元已达到预设。数据块包含的信息是预设的。因此,预设是由一个PresetToken “Preset5”这一名为“PresetName”来识别的。

上一章|继续阅读