Milestone XProtect

Milestone Event MIP Pluging Integration Guide

67min

Supported Milestone XProtect Editions & Versions Supported IRIS+™ products

IRIS+ integration aligns with your Milestone XProtect deployment to support your needs. It supports using Milestone XProtect Express, Milestone XProtect Corporate, and Milestone Open Network Bridge deployment. Check Supported Integrations for supported Milestone XProtect versions.

Support for Milestone Interconnect

Milestone Interconnect is a central surveillance hub integrating smaller, remote Milestone XProtect installations. Thus, it serves as a central site for video stream access. Integrated with the IRIS+ analytics solution, you can receive a centralized view of the IRIS+ alarms from dispersed Milestone sites (individually integrated into IRIS+) in your Milestone Interconnect smart client tool. For more details, refer to Milestone Documentation

Time Synchronisation

IRIS+™ provides time synchronization options supported as part of the Milestone XProtect integration. Detected events in IRIS+™ can be synced to one of the following:

  • Detected events synced to the IRIS+™ Edge™ Device time – syncs Milestone XProtect cameras with the IRIS+™ Edge™ Device timing. Relevant for Milestone XProtect when Open Network Bridge is not deployed.
  • Recommended: Detected events synced to the video stream time (when available) – supported for Milestone Open Network Bridge deployed cameras. This method provides the best sync between IRIS+™ and Milestone XProtect.

Note: For more information on the Milestone Open Network Bridge solution, refer to this documentation

Map Cameras

Before you start

The IRIS+™ Milestone XProtect integration targets cameras (or the camera’s video streams) defined in Milestone XProtect and maps them to IRIS+™. This mapping procedure means that the camera must be defined in IRIS+™ and that the Camera’s ID often named GUID (Globally Unique Identifier) in Milestone XProtect is required to identify and link the camera in IRIS+™. In this way, the MIP Plugin can identify the source cameras and their detected events. This procedure also supports Milestone Interconnect. When retrieving the camera’s GUID, make sure to do so for the relevant Milestone Interconnect version and tools.

Retrieve Camera ID

XProtect Professional

  1. Open "systeminfo.xml" via a web browser here: http://localhost//rcserver/systeminfo.xml
  2. Search for the camera name in the systeminfo.xml file  
  3. The camera GUID is shown beneath the camera name:
  4. Copy the details and keep them for use later in the IRIS+™ Portal
  5. Perform the setup for all cameras that you wish to connect to IRIS+™   

XProtect Corporate, XProtect Professional+

The camera GUIDs are available in this file: C:\Program Files\Milestone\MIPPlugins\IRIS+EventMonitoring\MilestoneCameras.ini

IRIS+™ Portal

  • Open the IRIS+™ Portal and find the relevant camera
  • In the camera’s Settings tab, click the Edit button
  • In the External ID field, enter the camera ID you retrieved for this camera in the XProtect Management Client. This field is case-sensitive so ensure the camera ID is entered exactly as it was acquired from Milestone XProtect
Document image

  • For Milestone Interconnect deployment, enter the Interconnect-specific camera ID in the External ID Field. If this is being added as additional support on top of the Milestone XProtect VMS, then separate the two entries with a comma
  • Add the camera connection string in the "Video stream source" under Video Source, For Open Network Bridge deployment only, use the following URI format in the Video Stream Source field: RTSP://[username]:[password]@[hostname/IP]:[Open Network Bridge RTSP port]/live/[Milestone camera ID] To learn more, watch this Milestone tutorial: https://www.youtube.com/watch?v=-LIRbga2LOk
  • Ensure the Sync time to stream toggle switch is enabled for Open Network Bridge deployment only. See image:
Document image


You can integrate IRIS+™ with two different Milestone systems. You must add the second GUID to the cameras in IRIS+™ separated by a comma.

Enable Milestone Integration in IRIS+™ Portal

Before you start

This section describes how to create an IRIS+™ service account and token in the IRIS+™ Portal to later link to the Milestone XProtect Management Client. These steps assume that your IRIS+™ account has been set up and that folders, devices, and cameras have been configured. If that is not the case, first access IRIS+™ tutorials from the IRIS+™ Support hub to configure your account. In IRIS+™, a service account is required to later link the Milestone XProtect MIP Plugin to IRIS+™. The IRIS+™ service account provides a token, which is the identifier used to link the account to the MIP Plugin. If connecting multiple IRIS+™ accounts to a single Milestone VMS deployment, this procedure must be performed for each IRIS+™ account.

To generate an IRIS+™ Service Account token, perform the following:

  • Browse to your IRIS+™ account, Settings tab



Document image

  • Click the Users tab
Document image


  • Click the Add button and select Create service account.
Document image

Document image

  • Enter a Service Account name such as “Milestone Integration”. Enter a description (optional).
  • Click Create Service Account.
  • From the user's list, select the created Service Account user, click the arrow next to the name to expand the view, and select Get Token
Document image

  • Define token expiration if required (by default the token never expires)
Document image

  • Click Get token and note the generated token (to be used in the Event Monitoring MIP plugin configuration):
Document image

  • Close the window

Install and Configure IRIS+™ Event Monitoring MIP Plugin

The integration of IRIS+™ and Milestone XProtect, based on the Milestone Integration Platform (MIP), offers these benefits:

  • Simple to configure. It takes just a few steps to be able to receive events for any number of cameras and any number of analytics rules per camera
  • You can view past events, navigate to a video recording of a specific event, and view analytics tracking for that event

Note: To receive IRIS+™ events in Milestone XProtect, make sure that all Milestone XProtect Event Server machines and/or Milestone XProtect Management Client machines have outbound TCP access to IRIS+ servers - *.irisity.io:443 (Irisity hosted) or *.irisplus.app:443 (On-Prem deployment)

Download and Install IRIS+™ Event Monitoring MIP Plugin

Before you start

Install the IRIS+™ Event Monitoring MIP Plugin on all PC hosting:  

  • Milestone XProtect Event Server  
  • Milestone Client (Management or Smart Client)  
  • Milestone Interconnect server and management applications  

Note: If an earlier version of the Event Monitoring MIP Plugin is already installed, install the new version on top of it (i.e., upgrade).  

To install the IRIS+™ Event Monitoring MIP Plugin (or upgrade from a previous version),  do the following:  

  • Close the Milestone XProtect Management Client application.
  • Download the latest plugin version from this page. (1.0.0.141)
  • Run the IRIS+™ Event Monitoring MIP Plugin install wizard. Follow the instructions until the installation is complete.

Initialize IRIS+™ in Milestone XProtect Management Client

The integration supports the following methods: IRIS+™ Core Send analytic events and events overlay from IRIS+™ Core to Milestone XProtect Send health events from IRIS+™ Core to Milestone XProtect IRIS+™ Edge™ Device Send analytics events from IRIS+™ Edge™ Device to Milestone XProtect. The live overlay is available in Milestone XProtect Smart Client.

  • When Core is available Events overlay is available in Milestone XProtect Smart Client
  • When Core is NOT available Events overlay is available in Milestone XProtect Smart Client for 4 seconds before the event time

Notes: 1. The purpose of this option (core not available) is to enable continued support of events transfer to Milestone XProtect if the core is not available for short periods 

2. If the Edge™ Device is restarted for any reason while the core is not available, the connection to the cameras is lost. The core must be available to renew a connection 

3. Schedules for rules are updated in the Edge™ Device every 24 hours. If the core is not available for more than 24 hours, the Edge™ Device stops generating events 

Requirements for IRIS+™ Edge™ Device integration:

  • Run Milestone XProtect Smart Client as administrator 
  • In the Properties / Logon tab of the Milestone XProtect Event Server service, select an administrator user  
  • External ID changes 
  • Changes in camera External ID can be made in Milestone XProtect and/or in IRIS+™. Do the following: 
    • Change in Milestone XProtect: restart Milestone XProtect Event Server service to review the change immediately or wait up to 15 minutes and the change will take effect 
    • Change in IRIS+™: restart Milestone XProtect Event Server service to review the change 
    • Close and re-open the Milestone XProtect Smart Client
    • Following a change of integration type (IRIS+™ Core / IRIS+™ Edge™ Device), restart the Milestone XProtect Event Server service and Close and re-open the Milestone XProtect Smart Client 

To initialize the integration, do the following:

1. Open the Milestone XProtect Management Client 

2. In the navigation tree, expand MIP Plug-ins → IRIS+ Event Monitoring 

Document image


3. Right-click the IRIS+ Event Monitoring server and select Add New. 

Note: If connecting multiple IRIS+™ accounts to a single Milestone VMS deployment, perform this step and the following steps per IRIS+™ account. 

4. The following IRIS+ Event Monitoring Information window appears: 

Document image


5. Select the required integration method

For Core integration

  • Populate the following fields in the window
    • Name: Change as per your preference
    • Server URL:
    • Token: paste the IRIS+ token you saved as part of your service account
  • Mark the events you want to receive from IRIS+:
    • Analytics events 
    • Health events 
      • All health events 
      • User-defined health event 

Note: refer to the chapter Configuring Health Events for a detailed description of how to configure Health events, alarms, and actions in Milestone XProtect client

  • XProtect event Server IP Address: enter the relevant IP address. The remaining fields are not applicable.  



Example:

Document image


For Edge integration Populate only the Name field in the IRIS+ Event Monitoring Information window:

  • XProtect event Server IP Address: enter the relevant IP address   
  • Events Integration Port: enter the relevant Port. Once entered the value of the Events Integration URI field is automatically updated. If you perform this configuration on the Milestone XProtect Event Server, keep the Events Integration URI value to be used in the Edge integration definition in IRIS+ (see next chapter)   
  • Metadata Integration Port: enter the relevant Port. Once entered the value of the Metadata Integration URI field is automatically updated. If you perform this configuration on the Milestone XProtect Event Server, keep the Metadata Integration URI value to be used in the Edge integration definition in IRIS+ (see next chapter)  

Example:

Document image


6. If you are interested in sending event snapshots to Milestone XProtect, mark this checkbox

Example

Document image


7. Exit the screen and select Save when prompted

8. Ensure that Analytics Events are enabled in the XProtect Management Client by doing the following:

  • From the Tools tab at the top, select Options. The Options panel opens.  
  • Select the Analytics Events tab and ensure that the Enabled field is checked
Document image


Enable Edge™ Device integration in IRIS+™

Perform the following actions when integrating IRIS+™ to Milestone XProtect using the Edge integration option The Integration Targets in IRIS+™ are the system-wide definitions required for IRIS+™ to integrate with Milestone XProtect. You will define the endpoints that can receive the events and metadata sent by IRIS+™.

Define Integration Targets in IRIS+™

To define the Integration Targets in IRIS+™, do the following:

  • Log in to your IRIS+™ account.  
  • From the top module bar, select Settings.  
Document image

  • Select Integration Targets.  
Document image

  • Click the Add button. The Integration Target screen appears.  
Document image

Document image

  • Define the following:  

Events integration

  • Target name: Define a meaningful name such as Milestone Events
  • Ensure the toggle switch is Enabled
  • Type: Keep the default value HTTP
  • Method: Keep the default value POST
  • URI: Enter the same URI you have defined in the MIP Plugin installed on the Milestone XProtect Event Server
  • Click Save. The integration Target is defined and is listed in the Integration Targets list

Example

Document image


Metadata integration

  • Target name: Define a meaningful name such as Milestone Overlay
  • Ensure the toggle switch is Enabled
  • Type: Set Type value to WS
  • Method: Set Method value to GET
  • URI: Enter the same URI you have defined in the MIP Plugin installed on the Milestone XProtect Event Server
  • Click Save. The integration Target is defined and is listed in the Integration Targets list

Example

Document image


Define Edge™ Device Integrations in IRIS+™

The Edge™ Device Integrations in IRIS+™ are the IRIS+™ Edge-specific definitions required for IRIS+™ to integrate with Milestone XProtect. Perform the following for each Edge™ Device you want to integrate with Milestone XProtect.

To define the Edge™ Device Integration in IRIS+™, do the following:

  • Log in to your IRIS+™ account
  • Select Physical View
Document image

  • Select the IRIS+™ Edge for which you want to define the integration
  • Select Integrations
Document image

  • Click Edit
Document image

  • Enable Events Integration and select the relevant Integration Target you have previously defined (in this example – Milestone Events)
Document image

  • Enable Metadata Integration and select the relevant Integration Target you have previously defined (in this example – Milestone Overlay)
Document image

  1. Click Save

Synchronize Milestone XProtect Management Server Time to IRIS+™ Edge Time

Before you start

IRIS+™ supports time sync to the IRIS+™ Edge™ Device time. The IRIS+™ Edge™ Device and the Milestone XProtect Management Server time definitions must therefore be synchronized. Verify that the NTP (Network Time protocols) are synchronized on both servers. Note: If your deployment is synced to the video stream time using the Milestone Open Network Bridge solution, disregard this section.

Enable Overlays

To enable overlays in Milestone XProtect Smart Client, do the following:  

  • Open Milestone XProtect Smart Client  
  • Select Settings 
Document image

  • Select IRIS+™ Event Monitoring  Enable the following fields as required: 
    • Show Live Overlay  
    • Show Playback Overly 
Document image


Configure Default IRIS+™ Event & Alarm in Milestone XProtect

The default configuration described in this section allows for every event sent from IRIS+™ to be reported as an alarm in Milestone XProtect Smart Client. The triggering flow is:

Triggering flow
Triggering flow


Define IRIS+™ XProtect Analytics Event

To define an IRIS+™ XProtect analytics event, do the following: 1. From the XProtect Management Client site navigation tree, navigate to Rules and Events or in XProtect Management Application, Events, and Output and select Analytics Events.

2. Right-click Analytics Events and select Add New

Document image


3. In the Properties section, for the Name field, enter "IRIS+ Event"

Document image


Define IRIS+™ Alarm in Milestone XProtect

To define IRIS+™ alarm in Milestone XProtect, do the following:

  1. From the Site Navigation tree, expand Alarms and select Alarm Data Settings.
  2. Select the Alarm List Configuration tab.
  3. Ensure that at least the following are included in the selected columns: • Time • Source • Tag • Message
Document image


4. From the Site Navigation tree, expand Alarms and select Alarm Definitions 5. Right-click Alarm Definitions and click Add New.

Document image


6. In the Alarm Definition Information, enter the following:

• Name: IRIS+ Alarm • Triggering event: choose

  1. Analytics Events in the first line followed by
  2. IRIS+ Event in the second line

• Sources: click Select

  1. in the Select Sources screen that opens, open the Servers tab, choose All cameras, and Add it to the Selected list
Document image


Example

Document image


7. Exit the screen and select Save when prompted.

Restart Milestone XProtect Event Server service

Before you start For the configuration to take effect you must restart the Milestone XProtect Event Server service on the relevant PCs.

Document image


Configure and View Alarms in Milestone XProtect Smart Client

Before you start The following steps explain how to view the IRIS+™ alarms in the Milestone Xprotect Smart client application

To configure and view IRIS+™ Alarms in Milestone XProtect Smart Client, do the following:

  1. Open the Milestone XProtect Smart Client application
  2. Define a view, as follows:
    • Select the Live tab on the left-hand side of the application window 
    • Click the Setup button on the right-hand side of the application window:  
    • Define a new group using the New Group icon 
    • Right-click the newly created group name and define a new view, for example, (1 + 2*); make sure to select a view broad enough to contain the alarms list.   
    • From System Overview, drag the Alarm List item to the broad part of your newly created view Note: you can change the order of the Alarm List columns. It is recommended to move the Tag column to the right so that its value becomes visible since it contains an event description   
    • In System Overview, expand the cameras list and drag the relevant cameras to the remaining views.
  3. In the Alarms list, note the Tag column containing the analytics event description (e.g., ‘Vehicle moving in an area’). If the Tag column is unavailable, right-click the table header bar to add it. If you are still unable to add it in conjunction with Milestone XProtect Corporate, refer to Alarm Data Settings in XProtect Management Client described above.

Event overlay setup

To properly sync the overlay and alarm times, do the following:

  1. Open the Milestone XProtect Smart Client  
  2. Select Settings 
Document image

  1. Select Alarm Manager 
  2. Set the value of the Start video playback to 8 seconds before the alarm.
Document image


Triggering Specific Actions with Milestone XProtect Corporate

Before you start

This section explains how to handle more advanced scenarios for triggering an action when an event occurs. The capability is available in Milestone XProtect Corporate Edition and is achieved by linking the analytics event to the XProtect user-defined event and user-defined rule. The triggering flow is:



Document image


To configure IRIS+™ and Milestone XProtect Corporate for triggering actions, do the following:

  1. In the IRIS+™ portal, select the relevant camera and then select the relevant detection rule.
  2. Define an External ID for the rule; it will be used in the Milestone XProtect configuration.
Document image

  1. In the Milestone XProtect Management Client navigation tree, Select Analytics Events, right-click, and select Add New.
  2. Enter the name identical to the External ID defined in IRIS+™. In this example: code1.
Document image

  1. In the Milestone XProtect Management Client Navigation tree, select User-defined Events, right-click, and select Add User-defined Event.
  2. Enter a name for the new User-Defined Event and save.
Document image


3. Add a new alarm that links between the Analytics Event and the User-defined Event. In the Milestone XProtect Management Client navigation tree, select Alarm Definitions, right-click, and select Add New.

4. In the Alarm Definition Information, enter the following:

  • Name: meaningful name
  • Triggering event: select the Analytics Events defined in the previous steps (code1)
  • Sources: click Select; in the Select Sources screen that opens, open the Servers tab, choose the camera/s, and Add them to the Selected list
  • Events triggered by alarm: Select the user-defined event defined in the previous steps (myEvent)
Document image


5. Finish the alarm definition exit the screen and select Save when prompted.

6. After completing the steps above, restart the Milestone XProtect Event Server service for the configuration to take effect

Example

Document image


Configuring health events

This section explains how to configure Health events in Milestone XProtect. There are two options to receive Health events in Milestone:

Receive all health events

This option enables receiving all IRIS+™ health events into a single (generic) health event type in Milestone XProtect. Perform the following actions:

  1. Add a new Analytics Event in the Milestone XProtect Management Client.
  2. Set the name to IRIS+ Health Event.
Document image


3. Add a new Alarm, which will be triggered by the IRIS+ Health Event.

4. In the Alarm definition Information, enter the following:

  • Name: IRIS+ Health Alarm
  • Triggering event: choose Analytics Events in the upper list and IRIS+ Health Event in the lower list as shown
  • Sources: click Select; in the Select Sources window that opens, open the Servers tab, choose All cameras, and Add it to the Selected list
  • Exit the screen and select Save when prompted
Document image


Receive user-defined health events

This option enables receiving specific IRIS+™ health events according to user preference. One or more of the following events can be set in Milestone XProtect Management Client and associated alarms will be displayed in Milestone XProtect Smart Client.

  1. Communication error  
  2. Camera error  
  3. Source error 
  4. Unsupported URI
  5. Unsupported video codec
    • Description - Unsupported video codec, change the source stream configuration
  6. Unsupported video resolution 
    • Description - Unsupported video resolution, change the source stream configuration
  7. Large time gap in the stream
    • Description - Large time gap in the stream, check the source stream
  8. Critical framerate
  9. High framerate
  10. Low framerate
  11. Image blocked
  12. Image dark
  13. Image saturated
  14. Suspended sensor
    • Description - Suspended (banned) sensor - when it is detached from the appliance, the sensor configuration and rules still exist, the sensor is not connected to any appliance
  15. Disabled sensor
    • Description - The sensor is disabled by the user (or by Arm/Disarm command)
  16. Inactive sensor
    • Description - The sensor is not active due to user action (enable/disable, attach/detach)
  17. Sensor active error
    • Description - The sensor is enabled by the user, active, and in error state
  18. Sensor active warning
    • Description - The sensor is enabled by the user, active, and in a warning state
  19. ONVIF error 
    • Description - ONVIF error, contact Irisity customer support
  20. ONVIF not reachable
    • Description - ONVIF host not reachable, check the address and user\password
  21. RTSP authentication error
    • Description - RTSP authentication error, check the user and password
  22. RTSP not reachable
    • Description - RTSP host not reachable, check the host and port address and try toggling the multicast support setting 
  23. RTSP stream issue
    • Description - RTSP stream issue, try opening with VLC player
  24. RTSP timeout
    • Description - RTSP timeout, try toggling the multicast support setting
  25. Clip error
    • Description - Failed to download clip, check the path
  26. Insufficient Calibration
    • Description - Insufficient auto-calibration

The description of the health event will be displayed in the Tag field of the Alarm List in the Milestone XProtect Smart Client. It will be one of the supported user-defined events listed above. The example below shows adding a user-defined Health event:

  • Add a new Analytics Event in the Milestone XProtect Management Client. The name must be set to one of the events listed above.
Document image

  • Add a new User-defined Event in the Milestone XProtect Management Client:
Document image

  • Add a new Alarm, linking the Analytics Event and the User-defined Event.
Document image

  • In the Alarm definition Information, enter the following (for this specific example): 
    • Name: Communication error Alarm  
    • Triggering event: choose Analytics Events in the upper list and Communication error in the lower list as shown 
    • Sources: click Select; in the Select Sources window that opens, open the Servers tab, choose All cameras, and Add it to the Selected list 
    • Events triggered by alarm: select the user-defined event added above - Communication error User-Defined Event
    • Exit the screen and select Save when prompted 
Document image

  • For both options:
    • New health events are displayed in the Alarms list with New State Names:  
    • Closed health events are displayed in the Alarms list with Closed State Name:
    • Double-click on a health event to view additional details for the event:



Document image

Document image


Display Event Snapshot in Milestone XProtect Smart Client

Only applicable if Send event image is enabled in the rule configuration of IRIS+™

If the Send event analytics snapshot is checked, IRIS+™ sends event snapshots to Milestone XProtect. 

  • Core integration 

Receive event snapshot with an overlay from IRIS+™ and send to Milestone XProtect Event Server 

  • Edge integration 

Receive event image and metadata from the IRIS+™ Edge and after drawing the overlay on the received image, send the snapshot to Milestone XProtect Event Server.

The snapshot is displayed on the right-hand side of the event playback:

Document image


You can use the Default for camera title bar setting in the Milestone XProtect Smart Client to Show or Hide the camera’s title:

Document image


For Grouping and Occupancy rule types, the overlay for the snapshot and playback is drawn using the “common” overlay which contains all relevant individual event objects. See the following example:

Display IRIS+™ in Milestone XProtect Smart Client

Once the IRIS+™ Event Monitoring MIP Plugin is installed, an IRIS+™ tab is available in the Milestone XProtect Smart Client. Once selected, a login window is displayed. Log in to IRIS+™ using your credentials.

Troubleshoot IRIS+™ Event Monitoring MIP Plugin Integration

Problem

Corrective Action

Milestone XProtect Management Client

IRIS+™ is not displayed under the MIP plugins node in Milestone XProtect Management Client

Verify that the IRIS+™ Event Monitoring MIP plugin is installed  

Milestone XProtect Management Client 

Verify that the Milestone XProtect Event Server service is running

Milestone XProtect Smart Client: There are no analytics alarms in Milestone XProtect Smart Client 



Milestone XProtect Smart Client: There is no metadata (or only partial metadata appears) when playing back recorded video in Smart Client

Click the **Play **button again in case it was not clicked the first time 

Milestone XProtect Smart Client: There are no alarms in the Alarm List, the header is red, and it displays a message regarding user privileges in Milestone XProtect Smart Client

Verify the user connected to the Milestone XProtect Smart Client has sufficient user privileges, as follows: In XProtect Management Client, check the properties of the user under Advanced Configuration > Users

Milestone XProtect Smart Client: All the above actions did not help; you are still unable to view analytics events in Milestone XProtect. Follow the instructions under the Corrective Action column to the right, to obtain Milestone MIP log files.



Milestone XProtect Smart Client: There is no possibility of adding a Tag column to the Alarm List 



Milestone XProtect Smart Client: An error occurs when opening the Milestone XProtect Smart Client on Windows Server 2008



The recorded video is not synchronized with object metadata overlays

Set up the same NTP endpoint on Edge Device, cameras, and Milestone XProtect

Contact Irisity Support

Customer Support: [email protected]