We are developing an independent application that communicates with the VMS by calling its API.
We would like the VMS to display a notification or alert if our application is not running.
Could you please let us know what methods are available in XProtect for monitoring the availability (health) of external applications?
For example, if our application has a function to periodically send a string containing its status via HTTP POST, is it possible for XProtect to notify users if it does not receive a notification within a certain period of time, or if the body contains a specific string (e.g., “Error”)?
You can submit an event which can be turned into an alarm. This will notify operators.
There is no mechanism that will trigger an alarm based on no event coming for a time period, but you can develop something like this using MIP SDK.
I see two approaches.
You can create an external app or service which listens for your signal via HTTP, and if the signal disappears it sends an event.
You can develop an Event Server plugin which does the same.
The question here is tagged “protocol integration”, if this was a conscious choice, you might create an external service and submit analytics events using XML with HTTP header using System.Net.Sockets.Socket as shown in the Analytics Event Trigger via XML sample.
https://doc.developer.milestonesys.com/html/index.html?base=samples/protocolsamples/triggeranalyticseventxml/readme.html&tree=tree_3.html