ONVIF dynamic events are only recognized when using HTTP port 80

We are developing a device which implements the ONVIF protocol and we have observed an issue with dynamic events.

When the device uses an HTTP port different from 80, Milestone calls CreatePullPointSubscription and PullMessages periodically as expected. However, none of the the dynamic events we send in those PullMessages responses are being recognized by Milestone (e.g. they do not appear in the Smart Client).

We also get the following warnings logged in %ProgramData%\Milestone\XProtect Recording Server\Logs\Drivers\ONVIF:

0000240 2024-01-29T12:47:35.157459+00:00 WARNING 0x000017e0@0x000012e4 NmONVIFDevice::CmOnvifEventPolling::MatchDynamicEvent()@ONVIFEvent.cpp:1247	Unrecognized dynamic event received and will not be processed: [<NotificationMessage><Topic>tevt:Monitoring/EnvironmentalConditions/Temperature</Topic><Message PropertyOperation="Changed" UtcTime="2024-01-29T12:47:35.388754Z">
	<Data>
		<SimpleItem Name="Status" Value="19.300000"/>
	</Data>
</Message></NotificationMessage>]

The events are defined in the GetEventProperties response, and are correctly appearing as dynamic events in the camera settings:

image

The issue occurs for all dynamic events we define. Both the GetEventProperties and the PullMessage responses look correct, and the device passes all corresponding tests in the ONVIF Test Tool as well. Non-dynamic events work as expected.

If the device uses HTTP port 80, the dynamic events work as expected and we get these log entries instead:

0225180 2024-01-29T11:02:01.437655+00:00 INFO 0x00003228@0x000017fc NmONVIFDevice::CmOnvifEventPolling::MatchDynamicEvent()@ONVIFEvent.cpp:1239	Event detected = DYNAMIC EVENT DETECTION [Monitoring/EnvironmentalConditions/Temperature] (ch=0, win=0, state=0) iEventIndex=53348, matchIndex=53348
0225181 2024-01-29T11:02:01.440669+00:00 INFO 0x00003228@0x000017fc NmGenericEvent::CmGenericEventPolling::SendAlertMessage()@GenericEventPolling.cpp:233	SendAlertMessage [172.19.45.2] event:732420189|3,

image

Could we get confirmation that this is indeed an issue? Is there any workaround?

Kind regards,

Fernando

I discovered that this was a known issue, that the issue had recently been reported. Milestone Development have developed a fix and the fix is in the next Device Pack (13.2).

You will have to await the Device Pack release and then update to solve the issue.