How is a Federated Architecture treated differently?

Hello,

My integration requests live camera streams and sends analytic events. Is there anything we need to (or can do) differently when a Federated Architecture is involved?

Can I communicate to the Master/Parent site for anything, or do we always need to communicate with the Child site?

I’m performing the following functions:

  • Get access token
  • Get camera list
  • Request camera stream
  • Send analytic event

You need to communicate with each sub-site directly - the Master site cannot act as a proxy.

The SDK allows you to connect to mulitple sites at a time (after logging in to the master site), which will make it somewhat easier, but behind the scenes the commands/requests will still go directly to each site.

From 2020 R2 release of the VMS you can read site info through the Configuration API. On older versions this is done through siteinfo.xml (be aware that this is going to be deprecated): https://doc.developer.milestonesys.com/html/index.html?base=reference/protocols/siteinfo.html&tree=tree_3.html

Hi Peter,

Thanks for the response. Is it possible to automatically detect (or piece together) public endpoints using the ConfigAPI?

I apologize ahead of time for the game of 20 questions. I am namely interested in understanding if I can point to the Master site and build a list of Event Server endpoints as well as all associated Camera Ids so that I may act as an event proxy instead.

I see that the ConfigAPI contains “SystemAddressFolder/Addresses”… which looks like it contains a single URL (http://:80) right now. Is there an explanation somewhere of what each address in here is meant to be used for? Also, is this configured somewhere in 2020R2?

These are addresses configured for external access to the VMS. For instance if you have specific addresses that have to be used if the client is on the outside of a firewall or similar. It can be configured somewhere in the Management Client, but I must admit I don’t know where.

To get for instance the Event Server address, you should connect to the Management Server on each sub site and use the Registration Service to lookup the address of the Event Server: https://doc.developer.milestonesys.com/html/index.html?base=reference/protocols/registrationservice.html&tree=tree_3.html