onvif / specs

ONVIF Network Interface Specifications

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RuleEngineConfiguration is not optional in the Media2 GetProfiles response

Abay11 opened this issue · comments

In the GetProfilesResponse in the Analytics element there is RuleEngineConfiguration which is required in the response as it not marked as optional. The RuleEngineConfiguration itself has just optional Rule and Extentions elements. If I not mistaken in case a device has no Rules it still should add in the response an empty element <RuleEngineConfiguration></RuleEngineConfiguration>.
I don't understand why this RuleEngineConfiguration is not optional too as its child elements. Or it is required for some reason?

Please explain me, should ONVIF devices add this element in the response in any case event it has no Rules for related media profile and if yes, can't you mark it as optional in the next versions?

Thank you in advance

And the same situation with the GetPresetTourResponse in the PTZ API.
There is the StartingCondition element, which is not optional, but all its inner elements marked as optional.
Should ONVIF devices add empty element in the response like this:

<GetPresetTourResponse>
<PresetTour token="...">
...
<StartingCondition></StartingCondition>
...
</PresetTour>
</GetPresetTourResponse>

Thank you in advance

@Abay11 the "RuleEngineConfiguration" section is a mandatory section of the "Analytics" section of a Media 2 MediaProfile (Media Profile") of the "GetProfilesResponse". The "RuleEngineConfiguration" section can contain an optional list of "Rules" elements of type "Config" and this list is "optional". There may not be any rules defined for the "Analytics" section of a Profile . It can be empty or not exist.

The "Analytics" section is also an optional section of type "VideoAnalyticsConfiguration" a device may have no support for Analytics.

All the elements of the "StartingCondition" that is part of "GetPresetTourResponse" are all optional just like described above can be empty or not exist.

The commands have been defined many years back. Changing from mandatory to optional typically breaks backward compatibility and should be avoided. in case of RuleEngineConfiguration the empty content is much clearer to signal that there are no elements and not just not reported.

@kieran242, @HansBusch,
Ok, thank you