osp-milestone

Overview

Warning

This module is in beta version, we are very glad to receive feedback at info@swissdotnet.ch. Features in this module can change without notice in future versions.

This module implements an interface with the Milestone product xProtect <https://www.milestonesys.com/fr/products/software/xprotect/>. In a few words, xProtect is a VMS (Video Management Server) designed to manage and record video surveillance footage from a variety of sources, such as IP cameras and encoders. The software is used for security and surveillance purposes in a range of applications, including businesses, government facilities, and public spaces.

OnSphere uses its REST API to interact with xProtect’s servers.

List of configuration files

Filename

Short description

Format

Documentation

module.service

Each service is described in its onw file and then assembled

yaml

See the Swarm administration or Official documentation

server.milestone

Configuration file to connect to a milestone server.

json

server.milestone

output.milestone

Defines an object/value owned by Milestone which can be updated by the module.

json

output.milestone

Api implementation

This connector module implements a TEST API (client side) to communicate with an existing Milestone. It provides the capability for example to trigger a specific event from OnSphere.

  • When OnSphere initiates a request, this module creates an HTTP Request trough the server API.

  • Milestone can directly send data to OnSphere using a webhook. The request is handled by the module osp-web from a webhook.

Authentication

The following diagram represents an authentication process. This process is automatically run for every server you define in the configuration during module initialization sequence, and every time the token expires.

@startuml
skinparam backgroundColor transparent

participant "OnSphere" as osp
participant "Milestone API" as milestone


osp -> milestone: Authentication Request
milestone -> osp: Authentication Response

== Authenticated ==

@enduml

Trigger Events

This sequence creates a POST request on the Milestone server triggering an event.

@startuml
skinparam backgroundColor transparent

participant "OnSphere" as osp
participant "Milestone API" as milestone

== Authenticated ==

osp -> milestone: Trigger Event
milestone -> osp: Event Triggered

== Event Triggered ==

@enduml