I am developing an Onvif NVT that can also record at the edge. It is actually a 4 channel NVT. I have added some partial profile G support, i.e. I have added support for the recording search service, replay service but not much of the recording service since recordings are configured via the unit’s web page instead of via an Onvif client. If I configure as a single channel NVT and use the Milestone XProtect 2023 R3 (with Professional+ license) single channel Onvif driver, then I can get the “Automatically retrieve remote recordings when connection is restored” feature to work. However, in 4 channel mode, with Milestone using the multi (2-16) channel Onvif driver, it is not working. The NVT delivers the response to the GetRecordingSearchResults for all 4 channels but Milestone does not send a GetReplayUri request for any of them.
My guess is that Milestone does not know which recording in the search results is for which profile. I notice that Milestone does send a GetRecordingJobs request that the NVT does not currently support. I further guess that Milestone is trying to find a recording job associated with a recording token in order to extract the media profile information from that, thus linking a recording token with a media profile.
Can somebody confirm if that is the only way a recording token can be linked to a media profile in order to get this feature to work, or whether it can be done more simply, e.g. by something in the RecordingInformation for a recording token?