Dear dev team,
Description:
I am developing the ONVIF server stack and currently working on the events distribution mechanism. I am able to successfully add my device into VMS. The device announced some dynamic events, which are detected successfully. I configure one of the events (binary event) to be used → the VMS makes a pull point subscription and starts the pull.
I have configured a rule chain to create a server log entry ones the event is raised (on rising edge) as follows: The event matching happens, and I see corresponding entries in the server logs. My server side keeps providing events according to the ONVIF Core Spec, which in the event handling section claims the following: The PropertyOperation=“Changed” is set as an attribute to the data attribute of the wsnt:Message once the event value changes (e.g. from False to True). I see that some cameras just stop adding the unchanged message into WS-Notifation at all. However in my implementation I intentionally deliver the same event with same value (True), but without PropertyOperation attribute being attached to the Notification message. I think it does not violate the ONVIF core spec and allows satisfies requirements from other VMS systems.PropertyOperation set to Changed once on change
PropertyOperation is removed, but message is preserved with the True value
Problem:
Unfortunately, the event entry is generated in the server log at each successful pull, while I preserve the event value to be True (in rising edge position). I assume it should not be the case, because the ONVIF driver documentation claims that the value without PropertyOperation attribute being attached is ignored https://doc.milestonesys.com/latest/en-US/onvifdriver/events.htm?tocpath=Third-party%20integrations%7CONVIF%C2%AE%20drivers%7CEvents%7C_____1
I have also collected the driver logs with Milestone Diagnostics tool and I see the PropertyChanged attribute being detected there: I expect the single event entry to be raised in the server log, once the PropertyOperation is set to Changed. And all other incoming events with the same value should be ignored (as it is unchanged).What I am doing wrong? May it be that I am violating the standard here or my payloads are incorrect ?
Thanks for your help!
Versions Used:
You can find the wireshark pcap events of the active pull-point event process attached






