Milestone ACM Lenel OnGuard User Guide
Milestone ACM Lenel OnGuard User Guide
Milestone ACM Lenel OnGuard User Guide
Guide
Prepared by:
Brian Hayes, Software Developer, Custom Development Americas
2 Milestone XProtect Access: Lenel OnGuard User Manual
Table of Content
Copyright, Trademarks & Disclaimers 4
Copyright 4
Trademarks 4
Disclaimer 4
Version Compatibility 5
Matrix 5
XProtect Version details 5
Lenel OnGuard Version details 5
Hardware Support 6
Scalability 6
Lenel OnGuard Certification Tested Setup 6
Events Handled 6
General Description 7
Introduction 7
Solution overview 7
Prerequisites 8
Time Synchronization 8
SQL Server: Configure Lenel OnGuard SQL for remote connections 8
.NET Framework: Installation on Lenel OnGuard Server machine 9
Milestone XProtect®: License Options 9
Milestone XProtect®: Event Server machine DNS / Name resolution 9
Milestone XProtect®: Smart Client Profiles 9
Lenel OnGuard: License Options 10
Lenel OnGuard: Mandatory Windows Services 10
Lenel OnGuard: Generate software events settings 10
Lenel OnGuard: Create Single Sign-On (SSO) Directory 11
Lenel OnGuard: Create Single Sign-On (SSO) User 12
Lenel OnGuard: Enterprise Configurations 14
Installation 15
ACM Server Installation 16
ACM Server Credentials 17
ACM Server: Lenel OnGuard Plugin Installation 18
ACM Server: Lenel OnGuard Plugin Post-Installation 19
ACM Server: XProtect ACM MIP Plugin 20
MIP Plugin Upgrades 21
Lenel OnGuard Configuration 22
Configure to run as Lenel OnGuard Single-Sign-On Account 22
Reducing Permissions 25
XProtect ACM MIP Plugin Configuration 26
3 Milestone XProtect Access: Lenel OnGuard User Manual
Copyright
© 2018 Milestone Systems.
Trademarks
XProtect® is a registered trademark of Milestone Systems.
Microsoft and Windows are registered trademarks of Microsoft Corporation.
All other trademarks mentioned in this document are trademarks of their respective owners.
Disclaimer
This document is intended for general information purposes only, and due care has been taken in its
preparation. Any risk arising from the use of this information rests with the recipient, and nothing herein
should be construed as constituting any kind of warranty. Milestone Systems A/S reserve the right to make
adjustments without prior notification. All names of people and organizations used in this document's
examples are fictitious. Any resemblance to any actual organization or person, living or dead, is purely
coincidental and unintended. This product may make use of third-party software for which specific terms
and conditions may apply. When that is the case, you can find more information in the file
3rd_party_software_terms_and_conditions.txt located in your Milestone surveillance system installation folder.
5 Milestone XProtect Access: Lenel OnGuard User Manual
Version Compatibility
Matrix
Here is the compatibility matrix between Lenel OnGuard and Milestone XProtect.
Please verify the version of Lenel OnGuard you are running against this compatibility table. Milestone
always recommends that you run the latest versions of both OnGuard and XProtect
7.0 U* U* U* U* U*
7.1 S S S S S
7.2 S S S S S
7.3 S T S T S
7.4 S S S T S
*OnGuard 7.0 is end-of-life and no longer supported or maintained
Hardware Support
The following Lenel OnGuard panels have been tested and are known to be supported.
Verify your installation’s panel model numbers against this list, if one of your panels is not contained in this
list, please contact your integrator and/or Milestone support to verify compatibility
Scalability
The scale testing section depicts the latest test setup run at the Lenel certification labs and expresses the
scale and performance metrics that can be expected of the integration
Events Handled
This integration has been tested against 15,000 events from Lenel OnGuard in both DataConduIT and
OpenAccess modes. For more about supported events, see Milestone-ACM-Lenel-OnGuard-Events.pdf
DataConduIT OpenAccess
Number of events sent from OnGuard 15,000 15,000
Time to send 15,000 events by OnGuard 3 minutes 11 minutes
Number of events received in XProtect 15,000 15,000
Time to receive 15,000 events in XProtect 4 minutes 26 minutes
Nb of events that had associated alarms in XProtect 10,200 10,200
Event Throughput from OnGuard to XProtect 15,000 evts / 4 mins 15,000 evts / 26 mins
62.5 events / second 9.61 events / second
Alarm Generation Throughput (XProtect) 10,200 alarms / 4 mins 10,200 alarms / 26 mins
42.5 alarms / second 6.5 alarms / second
XProtect Version 2018 R2 2018 R2
XPA Version 3.0.18262 3.0.18262
Lenel OnGuard Version 7.4.457.69 7.4.457.69
Test Date September 20, 2018 September 19, 2018
7 Milestone XProtect Access: Lenel OnGuard User Manual
General Description
Introduction
This document describes specifics to the XProtect Access (XPA) integration between Milestone XProtect and
the Lenel OnGuard access control (AC) system. This integration supports the following standard XProtect
Access (XPA) features:
• Retrieve configuration from the Lenel OnGuard AC system, e.g. doors and event types
• Receive AC event streams and state changes from the Lenel OnGuard system
• Get/Search cardholder information with picture association
• Create alarms in alarm manager based on AC events.
• Alarm state synchronization between XProtect (2016 R3 or greater) and Lenel OnGuard when the alarm is
acknowledged in XProtect. Alarm acknowledgment synchronization when the alarm is acknowledged in
Lenel OnGuard is not implemented due to the lack of support for this feature in the OnGuard SDK.
• Association of access control events to cameras for simultaneous display of events and video
• Select and categorize the events the user wants to view from the Lenel OnGuard system
• Trigger rules or actions based on access events – e.g. start recording, go to PTZ preset, display access
request, send camera to matrix and system actions such as activate output or trigger manual event. With
XProtect Corporate and Expert this functionality is extended to full use of the event as a triggering
mechanism for the rules system.
Solution overview
XProtect Management Server Lenel OnGuard Server Machine
Plugin Lenel
Start/Stop Event Service OnGuard
Lenel ACM Database
Create Plugin Configuration
Server Plugin
Copy Plugin Binary Files
Prerequisites
Time Synchronization
All servers (i.e. the Lenel OnGuard and Milestone machines) must be time-synchronized to within a couple of
minutes of one another. See Kerberos V5 time skew recommendations here.
LS Communication Server Required for the hardware to communicate with the Lenel OnGuard system
For DataConduIT
LS DataConduIT Service Required for our integration to use the Lenel OnGuard DataConduIT API
For OpenAccess
LS OpenAccess Required to interface the Lenel OnGuard system web service-based API
OpenAccess (REST/JSON web service)
LS Web Service Required to interface the Lenel OnGuard system web-service-based events
with OpenAccess (SignalR)
Lenel
OnGuard: Generate software events settings
4. Set the Message Broker Service Host to the Lenel OnGuard server’s machine name.
For a Lenel OnGuard Enterprise system, you can only create directories on the master server.
DataConduIT OpenAccess
For DataConduIT support, the single sign-on ac- For OpenAccess support, the single sign-on ac-
count MUST be a “Windows Local Account”. count MUST “Allow manual signal sign-on” as
shown below.
If you are creating a Directory of a type other than “Windows Local Accounts” (e.g. LDAP, Active
Directory), ensure that the SSO user is a member of the Local Administrators group.
If you are using OpenAccess on Lenel OnGuard 7.4 Update 1 or lower, ensure that the SSO ac-
count is a windows local account (Bug Reference # from Lenel).
12 Milestone XProtect Access: Lenel OnGuard User Manual
Select Administration -> Users from the application Add a new user.
menu in System Administration
General tab -- Be sure that “Access to this system is Directory Accounts tab -- Link the user to the di-
disabled” is NOT checked. rectory user from the directory created above.
13 Milestone XProtect Access: Lenel OnGuard User Manual
In the Select Account dialog, Select Directory from Once selected the Lenel OnGuard user account is
drop-down, click Search, select a Windows user in linked to the corresponding Directory account
Accounts then click OK.
XPA
Region #1
XPA
Site #1 Region #1
XPA
OnGuard
Xprotect
Master-Region
Master - Site Single XProtect Region #2
XPA
XPA
Master
Site #2 Region #2
XPA
Region #3
Login
/ XPA
Site #4 Region #4
15 Milestone XProtect Access: Lenel OnGuard User Manual
Installation
The installation package consists of three independent installers:
Please install them in the order specified above, following completion of the prerequisites section.
MUST BE
SAME VERSION
XProtect Management Server Lenel OnGuard Server Machine
Plugin Lenel
Start/Stop Event Service OnGuard
Lenel ACM Database
Create Plugin Configuration
Server Plugin
Copy Plugin Binary Files
It is mandatory that the same version of the Lenel OnGuard ACM integration be installed on both the
XProtect and Lenel OnGuard machines.
16 Milestone XProtect Access: Lenel OnGuard User Manual
Double-click to install, you should see a screen If using DataConduIT, you must enter the SSO
similar to the following: credentials that will be used for the DataConduIT
connection to Lenel OnGuard.
Press next and you will now be able to select the Press next and you are now ready to install, if you
installation path, it is recommended to use the are satisfied with the selected options, press install
default as displayed: to continue:
2- Go to Log On tab, select “This account”, and enter/change the SSO credentials that will be used for
the DataConduIT connection to Lenel OnGuard. You should only need to do this in case you need
to modify the credentials specified at installation time.
18 Milestone XProtect Access: Lenel OnGuard User Manual
You can verify that the Lenel OnGuard Plugin is installed and loaded from the logs below:
20 Milestone XProtect Access: Lenel OnGuard User Manual
The installer will detect the presence of the XProtect Event Server on the machine and will refuse to install if it
cannot be found. It is recommended to leave the default install path as displayed below and press next.
If you are satisfied with the path selection and you are ready to install press ”Install”
21 Milestone XProtect Access: Lenel OnGuard User Manual
Installation progress...
You have successfully installed the ACM MIP Plugin for ACM Server
• Rules based off events and configured Lenel OnGuard hardware will no longer function. Rules based off
the default access control event categories will not be affected and will continue to function.
• Custom event category assignments will be lost. The custom category will still exist; the user will just have
to re-assign the category to events in the Management Client.
On the Lenel OnGuard server machine, click the Windows Start menu and type “services”. Right click Services
and select “Run as administrator”.
23 Milestone XProtect Access: Lenel OnGuard User Manual
Click the “Log On” tab, select “This account”, and enter the credentials of an admin user on the local
machine. Note that this admin user must be linked to a Lenel OnGuard Directory that is configured for single
sign-on (see above for configuring single sign-on).
25 Milestone XProtect Access: Lenel OnGuard User Manual
Reducing Permissions
It is not recommended to reduce the Lenel OnGuard Sql Server database permissions of the single sign-on
user since we don’t know exactly what the minimum permission set is. If you want to reduce the single sign-
on user permissions, contact Lenel OnGuard Support.
26 Milestone XProtect Access: Lenel OnGuard User Manual
Once you click next, you will have to provide the IP Address / Machine name of the Lenel OnGuard server on
which the ACM Server package was installed.
After you have provided the server name/ip address and pressed next, you should get the following screen
after the software has validated that there is an ACM Server present at that address. The green checkmark
means that it has successfully connected to the provided server name, the red x means that it failed to
28 Milestone XProtect Access: Lenel OnGuard User Manual
connect to the provided server. The wizard will not allow you to proceed without a valid connection to the
server.
Note that the most common causes of the wizard not being able to connect to the provided server is that 1)
you entered the wrong IP information, or 2) the ACM Server on the Lenel OnGuard machine is not running
with sufficient administrative privileges.
29 Milestone XProtect Access: Lenel OnGuard User Manual
Once you have a successful connection, notice that there is a list of checkboxes under the server heading
that represents all detected ACM server plugins installed on that machine. In this case we are looking for
Lenel OnGuard.
Check the box marked below and press next to install a MIP plugin on this host to connect to the Lenel
OnGuard server identified.
30 Milestone XProtect Access: Lenel OnGuard User Manual
This screen will confirm what actions are going to happen. Once you are ready to install, press finish.
Once the operations are completed, the wizard will display a green checkmark for successful operations and
a red x for failed operations.
31 Milestone XProtect Access: Lenel OnGuard User Manual
You have successfully installed the ACM Server: XProtect MIP ACM Plugin.
This will pop up a wizard to step you through the access control instance creation process. Type a name for
the instance of the plugin you wish to create and select from the drop-down box the integration plug-in.
Note that you will find a plugin named Lenel-OnGuardAcmServer-{ServerName} where {ServerName} is the
name of the machine where Lenel OnGuard and ACM Server are installed.
After selecting the plugin, you will have to provide credentials and parameters to configure the connection
to the Lenel OnGuard database server, optimize particular settings, etc.
33 Milestone XProtect Access: Lenel OnGuard User Manual
Some of these settings only apply depending on your type of access, DataConduIT or OpenAccess.
However, all the properties used for all versions of Lenel OnGuard are shown in the Management Client
wizard.
34 Milestone XProtect Access: Lenel OnGuard User Manual
Properties
Database - Name
Database - User
Database - Password
Database – Integrated Security
Access Type
Options – Cardholder Sleep
Options – Reader Sleep
Options – Property Sleep
Options – Event Propogation
Options – State Events
Options – Disable Commands
DataConduIT only
Options – Event Batch Size
Options – Event Sleep
Options – Database Timeout
OpenAccess only
OpenAccess - Host
OpenAccess - Port
OpenAccess - Directory
OpenAccess - User
OpenAccess - Password
OpenAccess – Page Size
Property Details
Connection Profile – Should be set to the same as was shown in the ACM Wizard when you added the ACM
server, and may include a domain. For example:
36 Milestone XProtect Access: Lenel OnGuard User Manual
Database - Host – Name of the computer hosting the Lenel OnGuard SQL Server instance
Database - Instance – Name of the SQL Server instance hosting the Lenel OnGuard Access Control database.
Leave blank to connect to the default SQL Server instance.
Database - Name – Name of the Lenel OnGuard Access Control database.
Database - User – User name to login to the Lenel OnGuard Access Control database.
Database - Password – Password to login to the Lenel OnGuard Access Control database.
Database – Integrated Security – Flag indicating if the Lenel OnGuard Access Control database uses
integrated security. If false, the database user name and password is required.
Access Type – Defines the interface method used to access the Lenel OnGuard system.
Options – Cardholder Sleep – Defines how long the Lenel OnGuard plugin will sleep (in minutes) between
fetching card holders from Lenel OnGuard. Legitimate values are greater than zero. This is here as a safety to
ensure that card holders are kept up-to-date even if card holder modification events from Lenel OnGuard
are not received or missed.
Options – Reader Sleep – Defines how long the Lenel OnGuard plugin will sleep (in minutes) between
fetching door and reader information from Lenel OnGuard. Legitimate values are greater than zero. Lenel
OnGuard doesn’t provide notification of certain reader attribute changes (e.g. extended strike time) so this
polling provides a way to force the system to refresh reader information.
Options – Property Sleep – As hardware events are received from Lenel OnGuard, this property defines the
time to wait before updating a device's live properties (e.g. reader mode, device hardware status) (in
seconds) again. Legitimate values are greater than or equal to zero. This property allows tradeoffs to
improve Lenel OnGuard event processing speed. For every hardware event received from Lenel OnGuard,
the Lenel OnGuard ACM integration generates related state change events. These state change events are
very slow to process compared to the raw hardware events; this delay is caused by having to update the
devices’ live properties. The smaller you set LivePropertyUpdateInterval, the more “real time” will be those
37 Milestone XProtect Access: Lenel OnGuard User Manual
live property values; however, the cost is more cpu usage and slower state change processing. The higher
you set LivePropertyUpdateInterval, state change processing will be faster due to using the currently cached
values of the live properties; the cost is that state change events may be sent to MIP that contain “stale” live
property values.
Options – Event Propogation – If checked, then applicable events will be propagated to child hardware. For
example, a panel offline event would end up triggering offline events for all the panel’s child hardware (e.g.
readers, alarm panels, inputs, outputs, etc). If not checked, event propagation is not done.
Note that certain functionality is dependent on event propagation. For example, if event propagation is
disabled, a Smart Client reader map icon may not display the correct state when its panel is toggled between
online and offline because we rely on receiving reader online/offline events to keep that up-to-date.
Options – State Events – If unchecked, then state change processing (including propagated state changes) is
disabled. If checked, state change processing is performed and the DoEventPropagation setting is respected.
This property can be disabled to maximize raw Lenel OnGuard event processing speed. Note that
unchecking this property will prevent XProtect Smart Client map icons from showing the current device state.
Options – Disable Commands – This is a setting to enhance security. If checked (the default), then no
commands will be executed. The commands will still be visible in XProtect Smart Client maps and in the Dev
tabs of the XProtect Management Client; however, they will be silently ignored if a user attempts to execute
them. If unchecked, commands will execute as normal.
Options – Event Batch Size – Defines the maximum number of events to process per batch. This is an
approximate number; the actual number could be less than or slightly more than this number due to several
factors – less events available, more events with the same filter criteria, etc.
Options – Event Sleep - Defines how long the event processor subsystem will sleep (in milliseconds) between
batches of events. Legitimate values are greater than zero. The subsystem does not sleep when it finishes a
batch of events if there is another batch of events ready to process.
Options – Database Timeout – Events are fetched from Lenel OnGuard using a direct SQL query. Internally,
there is a timeout for how long to wait to get the results of the query. This default timeout is 30 seconds.
When querying for events from an Lenel OnGuard table containing many (i.e. millions) of rows, the query can
easily take longer than 30 seconds. In that case, the query will fail, events won’t get processed, and errors will
be written to the debug log. To prevent failures in this situation, increase the event command timeout (e.g.
240 seconds). Legitimate values are greater than or equal to 30 seconds. Changing this property value has
NO impact on the actual time it takes to perform the query; it only is an attempt to prevent premature
timeouts. It is always better to keep the number of rows in the Lenel OnGuard EVENTS table to a reasonable
amount. Lenel OnGuard provides the capability to archive events; contact Lenel OnGuard Support for help
setting that up.
OpenAccess - Host – Name of the machine hosting the Lenel OnGuard OpenAccess service.
OpenAccess - Port – The port the Lenel OnGuard OpenAccess service is listening on.
OpenAccess – Page Size – The Lenel OnGuard OpenAccess service limits the number of instances returned
for a given query. For example, multiple queries are required if the number of Lenel OnGuard card holders is
greater than the page size. Legitimate values are greater than or equal to 20 and less than or equal to 100.
Performance is better with a larger page size.
OpenAccess - User – The name of an Lenel OnGuard administrative user to use to log into the Lenel
OnGuard OpenAccess web service. This user should have access to all hardware, cardholders, etc in the
system.
38 Milestone XProtect Access: Lenel OnGuard User Manual
OpenAccess - Password – The password of an Lenel OnGuard user to use to log into the Lenel OnGuard
OpenAccess web service.
OpenAccess - Directory – The name of the Lenel OnGuard directory to be used when loging into the Lenel
Onguard OpenAccess web service. If left blank, the Lenel OnGuard internal directory will be used.
The wizard will now fetch the configuration of the Lenel OnGuard AC system into Milestone.
The screen below is an example of the configuration found on the server:
On this screen an association has to be created between each access point of a door and cameras in the
Milestone system. This is done so that the system will know which cameras to display on door alarms. For
each access point of each door drag a camera from the right tree and place it under the desired access point
to create the association. Note that this can also be configured later in the Milestone Management
application.
When there is more than one access point per door, you can select the different cameras for the different
angles. You can also select more than one camera per access point:
39 Milestone XProtect Access: Lenel OnGuard User Manual
Once all the access point cameras have been associated, the wizard completes.
You can verify that the integration module is now connected by looking at the Access control tree.
40 Milestone XProtect Access: Lenel OnGuard User Manual
Reducing Permissions
In the image above, the DbName and DbUserName fields defined the credentials the Lenel OnGuard ACM
integration uses for read-only access to the Lenel OnGuard database. This section is only about minimizing
the database permissions for this database access.
Since you’re considering changing the Sql Server permissions for the login used by the Lenel OnGuard ACM
integration, this section assumes you know how to perform the required steps in Sql Server to create/modify
a login.
We’ve tested the Lenel OnGuard ACM integration with the following minimal database permissions:
• Has only the following database roles for the AccessControl database:
• db_datareader
• public
Personalized Login
Personalized login is an optional feature of XProtect access control plugins. If enabled, when someone logs
into the Smart Client, for each access control instance with personalized login enabled in the Management
Client, the smart client will ask for user credentials. These credentials will be validated against the specific
access control system, and, if valid, will be used to fetch a personalized configuration from the access control
system. The personalized configurations will be used throughout that instance of the Smart Client.
When personalized login is being used, XProtect manages two configurations – a “global” one used by the
Management Client, and, as described above, personalized configurations used by the Smart Client. The
personalized configurations are always subsets of the global configuration. This is necessary to ensure proper
event handling, command execution, etc.
An access control plugin must specifically support personalized login. The Lenel OnGuard ACM plugin does
support it only when running on Lenel OnGuard 7.4 or greater since the Lenel OnGuard OpenAccess API is
required to support it.
After entering the user name and password, the XProtect will attempt to validate the credentials against the
specific access control system. If the validation fails, you’ll see:
44 Milestone XProtect Access: Lenel OnGuard User Manual
If you click Skip, the Smart Client is opened without using personalized login.
If the credentials are successfully validated, the Smart Client will load a personalized configuration from that
access control instance. This personalized configuration is used by the Smart Client to filter entities
viewed/operated on in the Smart Client. For example:
• Events
• Doors
• Alarms
The Smart Client will not show any entities that are not in (or related to entities in) the personalized
configuration. For example, a personalized user will only see:
• Devices in the map element selector that are in their personalized configuration.
XProtect Personalized Login doesn’t specifically include personalized alarm acknowledgment. Rather, as with
non-personalized login, any user can acknowledge any alarm that is visible in the Smart Client. Since alarms
45 Milestone XProtect Access: Lenel OnGuard User Manual
will only be visible if the underlying device is in their personalized configuration, then users can only
acknowledge alarms related to hardware they can see.
Lenel OnGuard does not support personalized command execution. That is, a user can execute any
applicable commands on any devices that are visible to that user.
Common Actions
When the event types are initially processed, all the hardware types are set to All (i.e. 0xFF)
The intent of this file is to allow an administrator to tailor the description, hardware types, and door
animation for specific event types. The Id, Type, SubType, and Name fields should never be changed as they
correspond to identifiers used by Lenel OnGuard.
47 Milestone XProtect Access: Lenel OnGuard User Manual
If you’re going to modify an event type’s description be aware that any description containing embedded
commas must have those embedded commas changed to pipe characters (i.e. “|”). See the last line of the
example lines shown above where the logical string “Access Granted on Facility Code, No Entry Made” has its
embedded comma replaced.
After making and saving changes to the event type file, the administrator should do the following:
1. On the Lenel OnGuard machine – restart the ACM server.
2. On the XProtect machine – refresh the configuration from within the XProtect Management Client. See
MIP Plugin Upgrades for an image showing the Management Client’s Refresh Configuration button.
The search can be made by first name, last name, card number, and employee id. Enter the search string in
the search cardholder text box.
Cardholder Properties:
The XProtect Management Client does not provide scrolling for the cardholder properties. In the image
below, if the properties (see the red square) are so many that the list is longer than the display area, they will
simply run off the bottom edge of the screen and will not be visible.
48 Milestone XProtect Access: Lenel OnGuard User Manual
Lenel OnGuard allows customization of the Cardholder UI in their System Administration application. It’s easy
for a customer to define enough custom fields to extend beyond the visible region shown above for the
XProtect Management Client.
The Lenel OnGuard ACM plugin manages a configuration file
C:\ProgramData\VideoOS\ServiceHost\Services\VideoOSACMServerService\Plugins\OnGuardAcmServer\Cre
dHolderProps.dat. This configuration file is created the first-time credential holders are fetched. By default, it
includes all cardholder fields.
Its contents are simply a list of column names from the Lenel OnGuard EMP and UDFEMP database tables
that you want shown in the XProtect Management Client. The properties will be displayed in the order and
case (i.e. uppercase, lowercase, or a mixture) they are defined in CredHolderProps.dat. You can remove any
fields you don’t want displayed and change the order of the fields. Column names that don’t exist will be
ignored.
Note that the cardholder’s badge numbers are always displayed as the first property.
After making changes to CredHolderProps.dat, you should restart the ACM Server; then close all XProtect
clients, restart the XProtect Event Server, and then re-open the XProtect clients. This is necessary as XProtect
caches cardholder data. Restarting everything clears those caches and then you’ll see the cardholder
properties displayed as you have them configured in CredHolderProps.dat.
49 Milestone XProtect Access: Lenel OnGuard User Manual
Click Add, name the category a pertinent name which represents the group of events, and press OK.
Save your changes and move to the Alarm Definitions section to create an alarm based on that user-defined
event category.
52 Milestone XProtect Access: Lenel OnGuard User Manual
Name the alarm a pertinent name and select Access Control Event Categories in the Triggering event
dropdown:
Select the new user-defined event category that was defined earlier:
53 Milestone XProtect Access: Lenel OnGuard User Manual
Select the devices/recording server/management server hyperlink and select the event source. To select any
source select the System (+units) node.
55 Milestone XProtect Access: Lenel OnGuard User Manual
The wizard will look like this after selecting the “Access Denied” event and System (+ units) source:
Press next and select the optional time frame when the action will take place. In this example no time frame
has been selected, this means it will always execute.
Select the action that will be executed when the Lenel OnGuard event occurs. Notice that AC commands can
be used as actions based on any events that come into Milestone:
56 Milestone XProtect Access: Lenel OnGuard User Manual
In this example “create bookmark on <device>” will be selected, click the Bookmark hyperlink and the
following dialog will be displayed to setup the bookmark action:
Click the devices hyperlink and select the device on which the bookmark will be applied:
Click next on the rule wizard and select an optional stop criteria, in this example there is no stop criteria.
57 Milestone XProtect Access: Lenel OnGuard User Manual
Use an existing view, go into setup mode by pressing the setup button in red below and create a map by
dragging it onto a tile once in setup mode.
58 Milestone XProtect Access: Lenel OnGuard User Manual
Select the access control button on the map overview and drag doors from the Element Selector to the map
The finalized map with the doors and server added in this example will look like this:
The following dialog will appear: to set access monitor tile settings select the door, sources, camera, and
event types:
Once set the tile(s) can be used to monitor access events from each door configured above:
Alarm Acknowledgment
Alarm acknowledgment from XProtect (2016 R3 or greater) to Lenel OnGuard is implemented. In XProtect
versions earlier than 2016 R3, you can still perform alarm acknowledgment in XProtect, but it will not be
propagated to Lenel OnGuard.
60 Milestone XProtect Access: Lenel OnGuard User Manual
Alarm acknowledgment from Lenel OnGuard to XProtect is not implemented due to the lack of such
functionality in Lenel OnGuard.
Alarm acknowledgment is done in the XProtect Smart Client’s Alarm Manager tab. If you right-click an alarm,
and select either Acknowledge or Close, the alarm will be acknowledged in Lenel OnGuard.
NOTE – As mentioned above, selecting either Acknowledge or Close will cause the alarm to be
acknowledged in Lenel OnGuard and removed from Lenel OnGuard’s active alarm list. But, selecting
Acknowledge above does not remove the alarm from XProtect’s Alarm Manager list. XProtect considers
acknowledgment and closing the alarm to be different steps. The result of all this is that, if you first
acknowledge and then close the alarm in XProtect, you will see an error in the debug log about failure to
acknowledge the alarm in Lenel OnGuard. The reason is simple – the alarm was removed from Lenel
OnGuard’s active alarm list when you did the acknowledgment; therefore it didn’t exist when you did the
close. This does not cause problems; just noise in the debug logs.
61 Milestone XProtect Access: Lenel OnGuard User Manual
This file may be modified to customize the properties displayed for a cardholder within Milestone XProtect.
To change the file, first stop the Milestone ACM Server. Open the file in a text editor, such as notepad.
Fields may be added to the top section, in the format of <database field>,<display text>, where the
database field is the property within the Lenel OnGuard system, and the display text is the value displayed
within Milestone XProtect. For example:
FIRSTNAME,First Name
Will display the FIRSTNAME field with the text ‘First Name:’
The bottom of the file contains the fields detected in the integration at the time of installation, for your
convenience.
Once the file has been modified, save and close it. Restart the Milestone ACM Server. Then, restart the
Milestone Event Server for the changes to take effect.
62 Milestone XProtect Access: Lenel OnGuard User Manual
Logging
By default the debug logs are enabled on both the milestone event server plugin and the Lenel OnGuard
server but they are at a reduced log level (Info). They can be increased for diagnostics purposes to Debug
(or even Trace) but be aware that this change causes more information to be logged using more disk space
and possibly slowing down operations on busy servers. DO NOT LEAVE logging at Debug levels for
extended periods of time for performance reasons. It should only be used for diagnostics purposes and put
back to Info afterwards.
a. Find a file named “ACMServerPluginNLog.xml”, open it with a text editor like notepad
b. The second to last line in the file is like this “<logger name="*" minlevel="Info"
writeTo="mainlog" />”
c. Change the “Info” to “Debug” or “Trace” in that line and save the file.
d. Depending on the OS you are running you may have to save the file to the desktop and
copy it back to that folder because windows permissions will not let you save a file there di-
rectly.
Depending on the OS you are running you may have to save the file to the desktop and copy it back to that
folder because windows permissions will not let you save a file there directly
Troubleshooting Guide
Failure of the ACM plugin to communicate with Window Management Interface (WMI)
The Lenel OnGuard ACM plugin runs in the ACM Server service. That service must be running in the security
context of a local machine admin user which is linked to a Lenel OnGuard Directory that is configured for
single sign-on. See Configure Lenel OnGuard for Single Sign-On and ACM Server: Configure to RunAs Lenel
OnGuard Single-Sign-on Account above for details.
If the ACM Server is not running in the required security context, the Lenel OnGuard ACM plugin log (see log
locations below) will show lines similar to the following:
64 Milestone XProtect Access: Lenel OnGuard User Manual
Milestone Event Server MIP Plugin cannot communicate with the ACM Server (DataConduIT
only)
When the system is properly running, the Milestone Event Server MIP plugin “pings” the Lenel OnGuard ACM
plugin about every 5 seconds. At a log level setting of Trace, you’ll see lines like the following in the Lenel
OnGuard ACM plugin log (see log locations below):
05-11-2016 13:02:01 Trace 11 AcApi.IsApiConnected()
05-11-2016 13:02:01 Trace 11 AcApi.IsRunning()
05-11-2016 13:02:01 Debug 11 DataConduit.isConnectedToServer() - m_Started = True, wmiSvcIsRunning = True,
dbIsAccessible = True.
If you don’t see these lines, or you expect a communication failure between the Evert Server MIP plugin and
Lenel OnGuard ACM plugin, take a look at your firewall settings, rules, etc. You may need to adjust them to
allow communication.
Note that, by default, the ACM Server’s web service uses HTTPS on port 8443. You may have configured
your ACM Server differently (see ACM Server: XProtect ACM MIP Plugin for where you configured the ACM
Server connection on the Milestone Event Server).
Go to Configure SQL Server for Connections for properly configuring the SQL Server supporting your Lenel
OnGuard installation.
• Debug log level – should be set to “Info”. The “debug” or “trace” settings write too much data to the
event log affecting overall performance.
• Adjust the following ACM instance settings (see Milestone Management Client Configuration):
• ReaderPollingInterval – Set this to a large number (e.g. 60). Frequently reading reader information
can have a large impact on overall performance.
• EventProcessBatchSize – Only applies to Lenel OnGuard versions less than 7.4. Tailor this value as
needed. The larger the number, the more events processed in one batch. Note that a larger number
66 Milestone XProtect Access: Lenel OnGuard User Manual
doesn’t always result in better performance because, depending on the rate of events coming in,
more time could be spent waiting for events than processing them.
• EventProcessSleepInterval – Only applies to Lenel OnGuard versions less than 7.4. Tailor this value as
needed. The smaller the number, the less time the event processing subsystem waits between
attempting to query for more events. A smaller number doesn’t always give better overall
performance since it causes batches of only a few events to be processed each time rather than less
batches with more events in the them.
• LivePropertyUpdateInterval – Increase this value to reduce the number of times device live
properties (e.g. reader mode, hardware status, etc) need to be refreshed. If you make the value very
large (e.g. 3600 seconds ), then only cached values of the live properties will get used for that time
interval. The value of this setting is irrelevant if DoProcessStateChanges is disabled since live
property updating only applies to state change events.
• DoEventPropagation – Uncheck this option to avoid sending possibly a very large number of child
hardware events.
• DoProcessStateChanges – Uncheck this option to completely bypass state change event creation. All
events received from Lenel OnGuard will be processed. But the system will not even attempt to
create state change events related to the Lenel OnGuard events.
No matter what settings you adjust, all raw events received from Lenel OnGuard get sent to XProtect.
If DoProcessStateChanges is enabled, for every raw event received from Lenel OnGuard, the Lenel OnGuard
ACM integration will create corresponding “state change” events. If the raw event is for a “parent” device
(e.g. panel, door, I/O control module), and if the DoEventPropagation setting is enabled, state change events
may also be created for child devices (e.g. reader, inputs, outputs). When added together, state change and
propagated state change events add a large number of events to be sent to XProtect.
Therefore, if you’re only interested in optimizing raw Lenel OnGuard event processing, disabling
DoProcessStateChanges will result in better performance as it drastically reduces the number of events sent
to XProtect. However, XProtect Smart Client map icons won’t display status changes since no state change
events get sent to XProtect.
On one of the Milestone test systems, we achieved almost real time firing of Lenel OnGuard events to
XProtect with all the default settings except:
• DoProcessStateChanges disabled
• LivePropertyUpdateInterval = 3600 seconds (effectively disabling live property updates for the
duration of the test)
Use the LenelEventCntr.exe utility included in the distributed zip file to count events processed and provide
some metrics (e.g. events per second, etc).
Refreshing cardholders
The XProtect Management Client’s Cardholders tab doesn’t provide a way to force a refresh of the
cardholders. “Refresh” means performing a full download of all the active cardholders from Lenel OnGuard.
67 Milestone XProtect Access: Lenel OnGuard User Manual
The Lenel OnGuard ACM integration downloads cardholders from Lenel OnGuard at the following times:
1) When the ACM Server is started.
2) When the CardHolderProcessSleepInterval (see Milestone Management Client Configuration) occurs.
3) When XProtect Management Client property values change (see Milestone Management Client Con-
figuration) are saved.
So an easy way to force cardholders to be downloaded is to simply fake changing a property value in the
Management Client and then click the Save button. “Fake changing” means simply changing a property
value and then, before saving, reset the property value back to its original value.
• Install a compatible version of Crystal Reports and customize the report how they’d like. However, Lenel
OnGuard Technical Support, OAAP, etc will not support these custom reports.
Contact the Lenel OnGuard Custom Solutions group and have them create/customize the reports. However,
the customer will need to pay for this service.
Lenel OnGuard ACM instance is not displayed in the XProtect® Management Client
If XProtect is unable to communicate with the Lenel OnGuard ACM instance, the instance will not appear in
the Access Control section of the Management Client. Do the following steps in the following order:
• Close the Management Client and Smart Client
• Stop the Milestone Event Server
• Stop the Milestone ACM Service
• Ensure Lenel OnGuard is running successfully. This may require restarting the DataConduIT or
OpenAccess services, LS Web Service and the LS Web Event Bridge.
• Start the Milestone ACM Service
• Start the Milestone Event Server, and wait for it to come to ready
• Start the Management Client
If the instance still does not appear in the Management Client, investigate the logs (see Logging) to discover
the specific cause.
workaround is to switch the Single Sign-On user to be a local windows account, and adjust the services to
use this same login as mentioned above in Refreshing the Personalized Configurations.
For questions and information concerning a fix for this issue, please contact Lenel support for information
regarding this bug at [email protected]. Reference Lenel Bug DE40122.
Known issues
• This ACM integration was only tested against the MIP SDK 2017. The MIP SDK is backwards-compati-
ble; so it is assumed that the ACM integration will work with MIP SDK 2016 and 2014.
• This ACM integration has only been tested when running the Lenel OnGuard and Milestone systems
on Windows Server 2012 R2 and Windows Server 2016.
• This ACM integration is currently coded to only work with a Lenel OnGuard system using SQL Server
as its database. Oracle integration has not been implemented yet.
• Only United States English installers are available.
• Lenel OnGuard doesn’t model doors; they work only with readers. But Milestone ACM requires
doors to be modelled. Therefore, the Lenel OnGuard plugin creates virtual doors based on reader
properties (i.e. panel id, panel address, reader number, etc). Currently, the virtual door names are
based on the first reader that has a non-empty display name. So if that reader is named “reader 1”,
that’s what the door will be named. This may not be intuitive when viewed in the XProtect Manage-
ment or Smart Client applications’ hardware hierarchy.
• When creating a new ACM instance on the Access Control tab in the XProtect Management Client,
especially when creating the first instance, it may take 1 or 2 clicks of the Next button in the wizard
before configuration is successfully fetched from the Lenel OnGuard system.
• See the negative side-effects of upgrading.
1