Introduction to Access Control Module (ACM)
The XProtect Access Control Module (ACM) functionality provides a set of common functionality that works with many access control systems.
The functionality is built-in to XProtect Smart Client, the XProtect Event Server, and the XProtect Management Client.
The framework that is exposed to use the XProtect ACM is still MIP, but as it has a specific set of classes and methods, we will refer it as MIP-AC.
Access Control integration options
There are several options available for how to integrate an access control system with Milestone XProtect. In the previously released MIP it has been possible to develop your own plugin with configuration dialogs, event setup and execution as well as protocol handling.
Milestone has introduced XProtect Access Control Module (ACM) as a standard part of most products. Milestone has also created a MIP Access Control (or MIP-AC) for partners developing plugins that use the ACM features and functions.
What do you need to develop for each integration option?
XProtect into own UI | MIP | MIP-AC | |
Configuration UI | Own development | Admin plugin | Done via ACM |
Camera to access point mapping | Own development | Admin plugin | Done via ACM |
Event or Rule configuration | Own development | Admin plugin | Done via ACM |
Event or Rule execution | Own development | Admin plugin | Done via ACM |
Alarm Display | Own development | Admin plugin | Done via ACM |
Map integration | Own development | Admin plugin | Done via ACM |
Communication between VMS and access control system |
Plugin development | Plugin development | |
Communication between access control system and VMS |
Protocol or via component | - | - |
XProtect into own UI development
The MIPSDK provides a number of functionalities to be used in other applications. These are focused on getting XProtect configuration, show video in live and playback mode, as well as integrate with different event and alarm types.
These options are described elsewhere in MIPSDK and are not covered here.
MIP development
Developing an access control integration as a plug-in using the general MIPSDK provides you with the option to make very specific features and functions that are not available with XProtect ACM. You can develop a plugin whose parts can be loaded in the XProtect Management Client, the XProtect Event Server and XProtect Smart Client.
This option is described elsewhere in MIP SDK and is not covered here.
MIP AC development
The following sections will focus on the MIP AC development.
Goals for Access Control Module
The key purpose for developing the Access Control Module is to minimize the effort it takes to develop an integration between the XProtect and an external access control system.
Development of good and solid user interface often takes more time than expected and that event integration with rule/action/alarm needs extra care and thoughts to cover multiple scenarios as well as be able to scale.
We have therefor decided to develop a set of most used functions and features, to be reused by many integrations.
Milestone also expect to be able to further develop features and functions on top of developed plugins in future releases of the XProtect software.
What is provided by the XProtect software
A configuration user interface as part of the XProtect Management Client that covers:
- Connection settings (as defined by the plugin)
- Camera to access point mapping
- Event to event category mapping,
- Event and event categories to rule / alarm mapping
- Cardholder pictures (optional use on top of what the access control system delivers)
An XProtect Smart Client operator user interface that covers:
- Map display with icons, state indicators, icon changes, alarm indications
- Event overview
- Alarm overview and handling
- Real time action request via a fly-in (for example, a door open request scenario)
- Access control operator login to access control (Via the Event Server)
Event Server service that covers:
- Single place for loading plugin. The XProtect software passes plugin configuration, states and events on to the XProtect Management Client and XProtect Smart Clients
- 24/7 operation
- Running rule and event
- Caching mechanism between multiple running XProtect Smart Clients and the plugin (for example, only one session to each access control system from event server. Smart Client does not contact access control systems)
What you need to develop/provide
A plugin for the XProtect ACM must provide the following functionality:
- A connection to the external access control systems
- Get access control configuration: controllers, doors, access control points, I/O and events (plugin defines hierarchy and what units should be made available) as well as available commands and states
- Get current state of a unit (plugin defines relevant available states for each unit)
- Get real time change of states and events from access control system
- Cardholder information
- Execute operator or rule commands on the access control system (for example, open door)
The plugin must be in the form of a .NET DLL.