Limitations

ONVIF is a standard used by many manufacturers and each one has its own defined version of a certain event and based on types alone it is difficult to recognize what a certain field is used for. In some cases, an integer field could be used for “percentage of certainty”, and this will be considered by the driver as an event number, causing improper matching of the event. In other cases, the event might not provide a source token, but a channel number (most likely for I/Os), this will again cause the driver to recognize it as window and this might lead to missing an event triggered from another channel. For example, A face recognition event reports “percent match” as an integer value, this will lead to using the percentage information as window number.

Types duplication: Because the driver implementation relies on types provided in the event description, there might be cases where type duplication might occur. For example, there might be several source fields that have Integer type, and this could lead to mismatching an event index, or there might be several ReferenceToken fields that might not correspond to the channel/device triggering the event and this could also lead to false channel matching.

Some devices might report the same event with different rule names to distinguish between different areas and with the current implementation in the driver this cannot be reflected, and different rule names will trigger the same event.