Subscriber Discussion

Problem With Retrieving Axis Edge Recording On Xprotect Corporate

I have a Milestone XProtect Corporate 2013 installation (testing site) connected to a single 4-channel Axis encoder via an LTE modem (ya, I know...way to make things difficult from the beginning). I am attempting to configure this so that XProtect grabs edge recordings from the encoder any time communication is lost. The end result should be (after the transfer is complete) that the VMS and Edge recordings are combined and are available for review from the SmartClient.

I have followed the Milestone instructions from the KB posted here (basically setting up continuous recordings on the Axis encoder and checking the edge recording box under the Record tab of the device in XProtect). Recordings are working properly on the encoder and "download-able" via manual FTP into the encoder.

However, when I forcibly drop the network connection for a few minutes and then restore it, XProtect does not retrieve the "missing" recordings from the encoder. I have tried disabling all firewalls and placing the encoder in the DMZ on the modem (temporarily) with no luck (thinking it may have been a port blocking issue I missed). Bandwidth is not an issue (10+ Mbps available for upload).

Any help would be greatly appreciated.


P.S. The documentation isn't particularly clear, but I do not have any rules in place for edge recordings (only the checkbox enabled) - it seems like rules are only necessary if I want to force edge retrieval to occur during a particular time or after some event.


You actually do need to set up a rule - and you have to specify the <device> you want to pull data from once the server can see it again.

---and the check box to "Automatically retrieve remote recordings when connection is restored" on the camera's Record tab would also need to be checked first (but you already did that) :)

Marty - thanks for the reply on this. So, if I want it to only retrieve recordings during the time when communication was down, should I set the "Retrieve and store remote recordings from <devices>" rule to "Always"? Sorry, but I'm just a little unclear as to how the rule interacts with the checkbox in the Record tab - particularly if I want this to occur when communication is restored and only to fill in gaps where needed.

Thanks again - much appreciated.

I would only use a time profile if there were some bandwidth issues and maybe I just want to dump edge-recorded data back to the server at certain times. To have the rule activated whenever a camera loses connectivity to the server, I'd use an event-based rule - where the event is the loss of video on the camera(s) in question.

To set up a Rule based on an event:

Then, define the Event and the Device(s) on the bottom part of the Rule screen:

Skip over the '2. Conditions' screen (unless you want edge retrieval to only work during certain time profiles), then click the 'retrieve and store remote recordings from <devices>' check box on the '3. Actions' screen (from my original post) - and finish out the rule, adding whatever else you want.

Marty: sorry for the delayed reply and thank you for the clarification and the screen shots - I had it up and working in a few hours using your suggestions. Much appreciated...

- Brian

Great to see a resolution here, but I wanted to note that all that *should* be needed to retrieve edge storage automatically after a lost network connection or server restart is to check that box on the recording tab of the camera(s). No rules necessary!

Edge retrieval can be finicky sometimes though. For example...

- time between camera and server must be synced

- strategy for *how* to retrieve the recordings varies based on whether the camera is recording continuously or on event (ex. motion). There is a setting for each channel in general settings for the camera to specify which strategy should be used

- lastly I'd verify the firmware is supported and the latest device pack is installed

If further troubleshooting is needed, it can help to know what to expect - the Recording Server keeps the timestamp of the last received images for edge enabled cameras in c:\programdata\milestone\xprotect recording server\edgestorage.xml and after a period of lost connection, the first newly received image timestamp is used to create an edge retrieval job between the two timestamps. The Logs folder has an edge storage log for more info, but honestly the log isn't really helpful without debug logging enabled and at that stage it's usually time to speak with technical support anyway.

Also a side note, the "video loss" event is actually primarily an event sent from analog video encoders to notify on a lost analog signal. It does not work as an event for when the network connection is lost. For that you want the built-in event "communication error".

Sorry to dig up an old thread, I did a search for XProtect and noticed Martys really helpful responses but also noted it *should* have been easier.