Integration of Milestone's XProtect with Irisity's IRIS+ offering provides a video analytics solution in which events of interest are detected through real-time analysis of multiple video sources and sent as alarms to Milestone XProtect Smart Client.
This guide outlines how to deploy and configure the integration of the IRIS+ solution and Milestone XProtect system.
IRIS+ integration aligns with your Milestone XProtect deployment to support your needs. It supports the use of Milestone XProtect Express, Milestone XProtect Corporate, and also Milestone Open Network Bridge deployment. Check Supported Integrations for supported Milestone XProtect versions.
Milestone Interconnect is a central surveillance hub allowing integration of 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 to IRIS+) in your Milestone Interconnect smart client tool. For more details, refer to Milestone Documentation
IRIS+ provides time synchronization options that are also 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 Milestone Open Network Bridge solution, refer to this documentation
The IRIS+ Milestone XProtect integration targets cameras (or rather 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.
- Open "systeminfo.xml" via a web browser here: http://localhost//rcserver/systeminfo.xml (e.g. http://192.168.41.1/rcserver/systeminfo.xml
- Search for the camera name in the systeminfo.xml file
- The camera GUID is shown beneath the camera name:
- Copy the details and keep them for use later in IRIS+ Portal
- Perform the setup for all relevant cameras
The camera GUID:s are available in this file: C:\Program Files\Milestone\MIPPlugins\innoviEventMonitoring\MilestoneCameras.ini
- 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
- 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
- For Open Network Bridge deployment only, use the following URI format in the Video Stream Source field: rtsp://[user name]:[password]@[Open Network Bridge server IP] or [hostname]:[Open Network Bridge RTSP port]/live/[camera ID] To learn more, watch this Milestone tutorial: https://www.youtube.com/watch?v=-LIRbga2LOk Note: Use the user and password defined in the XProtect Management Client for the Open Network Bridge deployment. For camera ID, use the same Camera ID as the one entered in External ID field. Ensure the camera ID is entered exactly as it was acquired from Milestone XProtect.
- For Open Network Bridge deployment only, ensure that the Sync time to stream toggle switch is enabled. See image:
You can integrate IRIS+ with two different Milestone systems. You will need to add the second GUID to the cameras in IRIS+ separated by a comma.
This section describes how to create an IRIS+ service account and token in 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 in 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.
- Browse to your IRIS+ account, Settings tab
- Click the Users tab
- Click the Add button and select Service Account.
- Enter a Service Account name such as “Customer 1”. 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 Edit button and select Get Token
- Define token expiration if required (by default token never expires)
- Click Get token and note the generated token (to be used in the Event Monitoring MIP plugin configuration):
- Close the window
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 *.innovi.io:443
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 Identify your Milestone XProtect Smart Client version: Note: The zip file contains the two plugin versions: 32-bit (x86) 64-bit (x64)
- Select the version relevant to your client. Run the IRIS+ Event Monitoring MIP Plugin install wizard. Follow the instructions until the installation is completed
- The XProtect Event Server service should be run with an Administrator user.
- In the Properties tab of the XProtect Event Server service, select the Log On tab and check the This account radio button.
- Click Browse and navigate to a user privileged to log in as Administrator. Populate the Password fields as required.
- Click OK.
- Open the Windows Services panel and restart the Milestone XProtect Event Server Service.
- Open Milestone’s client applications as required
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 Send analytics events from IRIS+ Edge to Milestone XProtect. 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-time 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 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
- 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), restart Milestone XProtect Event Server service and Close and re-open the Milestone XProtect Smart Client
1. Open the Milestone XProtect Management Client
2. In the navigation tree, expand MIP Plug-ins → IRIS+ Event Monitoring
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:
5. Select the required integration method
For Core integration
- Populate the following fields in the window
- 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.
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)
6. Exit the screen and select Save when prompted 7. If you are interested in sending event snapshots to Milestone XProtect, mark this checkbox
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
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+.
To define the Integration Targets in IRIS+, do the following:
- Log in to your IRIS+ account.
- From the top module bar, select Settings.
- Select Integration Targets.
- Click the Add button. The Integration Target screen appears.
- Define the following: Events integration
- Target name: Define a meaningful name such as Milestone Events
- Ensure the toggle switch is Enabled
- Type: Keep default values HTTP and 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
The Edge Integrations in IRIS+ are the IRIS+ Edge-specific definitions required for IRIS+ to integrate with Milestone XProtect. Perform the following for each IRIS+ Edge you want to integrate with Milestone XProtect.
To define the Edge Integration in IRIS+, do the following:
- Log in to your IRIS+ account
- Select Physical View
- Select the IRIS+ Edge for which you want to define the integration
- Select Integrations
- Click Edit
- Enable Events Integration and select the relevant Integration Target you have previously defined (in this example – Milestone Events)
- Enable Metadata Integration and select the relevant Integration Target you have previously defined (in this example – Milestone Overlay)
- Click Save
As mentioned in the Time Synchronization section, IRIS+ supports time sync to the IRIS+ Edge device time. The IRIS+ device and the Milestone XProtect Management Server time definitions must therefore be synchronized. Verify that the NTP (Network Time protocols) are synchronized. Note: If your deployment is synced to the video stream time using the Milestone Open Network Bridge solution, disregard this section.
1. Open the windows Date and Time panel and select Internet Time.
2. Click the Change Settings button
To enable overlays in Milestone XProtect Smart Client, do the following:
- Open Milestone XProtect Smart Client
- Select Settings
- Select IRIS+ Event Monitoring Enable the following fields as required:
- Show Live Overlay
- Show Playback Overly
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:
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 3. In the Properties section, for the Name field, enter "innoVi Event"
To define IRIS+ alarm in Milestone XProtect, do the following:
- From the Site Navigation tree, expand Alarms and select Alarm Data Settings.
- Select the Alarm list Configuration tab.
- Ensure the following are included in the selected columns: • Time • Source • Tag • Message
- From the Site Navigation tree, expand Alarms and select Alarm Definitions
- Right-click Alarm Definitions and click Add New.
- In the Alarm Definition Information, enter the following: • Name: IRIS+ Alarm • Triggering event: choose Analytics Events in the upper list and IRIS+ Event in the lower list as shown • Sources: click Select; in the Select Sources screen that opens, open the Servers tab, choose All cameras and Add it to the Selected list
- Exit the screen and select Save when prompted.
Before you start For the configuration to take effect you must restart the Milestone XProtect Event Server service on the relevant PCs. To restart the Milestone XProtect service, do the following: Open the windows Services panel and restart the Milestone XProtect Event Server Service
Before you start The following steps explain how to view the IRIS+ alarms in Milestone Xprotect Smart client application
To configure and view IRIS+ Alarms in Milestone XProtect Smart Client, do the following:
- Open the Milestone XProtect Smart Client application
- 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.
- When switching to the Live View tab:
- All generated events appear in the list.
- When switching to the Playback tab:
- The camera view switches to the relevant event time when you click an event.
- The event plays back when you click the Play button in the Time Navigation window on the left.
- When switching to the Alarm Manager tab:
- The camera view switches to the relevant event time when you click an event, and the event is played back.
- 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.
To properly sync the overlay and alarm times, do the following:
- Open the Milestone XProtect Smart Client
- Select Settings
- Select Alarm Manager
- Set the value of the Start video playback to 5 seconds before the alarm.
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 XProtect user-defined event and user-defined rule. The triggering flow is:
To configure IRIS+ and Milestone XProtect Corporate for triggering actions, do the following:
- In the IRIS+ portal, select the relevant camera and then select the relevant detection rule.
- Define an External Id for the rule; it will be used in the Milestone XProtect configuration.
- In Milestone XProtect Management Client navigation tree, Select Analytics Events, right-click and select Add New.
- Enter the name identical to the External Id defined in IRIS+. In this example: Line Crossing #1.
- In Milestone XProtect Management Client Navigation tree, select User-defined Events, right-click and select Add User-defined Event.
- Enter a name for the new User-Defined Event and save.
- 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.
- In the Alarm Definition Information, enter the following:
- Name: meaningful name such as IRIS+ Alarm- Live Crossing
- Triggering event: select the Analytics Events defined in the previous steps (Line Crossing #1)
- Sources: click Select; in the Select Sources screen 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 defined in the previous steps (Line Crossing User-Defined Event #1)
- Finish the alarm definition and exit the screen and select Save when prompted.
- After completing the steps above, restart the Milestone XProtect Event Server service for the configuration to take effect
This section explains how to configure Health events in Milestone XProtect. There are two options to receive Health events in Milestone:
This option enables receiving all IRIS+ health events into a single (generic) health event type in Milestone XProtect. Perform the following actions:
- Add a new Analytics Event in the Milestone XProtect Management Client.
- Set the name to IRIS+ Health Event.
- Add a new Alarm, which will be triggered by the IRIS+ Health Event.
- 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
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.
- Communication error
- Camera error
- Source error
- Unsupported URI
- Unsupported video codec
- Description - Unsupported video codec, change the source stream configuration
- Unsupported video resolution
- Description - Unsupported video resolution, change the source stream configuration
- Large time gap in stream
- Description - Large time gap in stream, check the source stream
- Critical framerate
- High framerate
- Low framerate
- Image blocked
- Image dark
- Image saturated
- Suspended sensor
- Description - Suspended (banned) sensor - when it is detached from the appliance, the sensor configuration and rules still exist, the sensor connected is not connected to any appliance
- Disabled sensor
- Description - The sensor is disabled by the user (or by Arm/Disarm command)
- Inactive sensor
- Description - The sensor is not active due to user action (enable/disable, attach/detach)
- Sensor active error
- Description - The sensor is enabled by the user, active, and in error state
- Sensor active warning
- Description - The sensor is enabled by the user, active, and in warning state
- ONVIF error
- Description - ONVIF error, contact Irisity customer support
- ONVIF not reachable
- Description - ONVIF host not reachable, check the address and user\password
- RTSP authentication error
- Description - RTSP authentication error, check the user and password
- RTSP not reachable
- Description - RTSP host not reachable, check the host and port address and try toggling the multicast support setting
- RTSP stream issue
- Description - RTSP stream issue, try opening with VLC player
- RTSP timeout
- Description - RTSP timeout, try toggling the multicast support setting
- Clip error
- Description - Failed to download clip, check the path
- 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.
- Add a new User-defined Event in the Milestone XProtect Management Client:
- Add a new Alarm, linking the Analytics Event and the User-defined Event.
- 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
- For both options:
- New health events are displayed in the Alarms list with New State Name:
- 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:
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:
You can use the Default for camera title bar setting in the Milestone XProtect Smart Client to Show or Hide the camera’s title:
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:
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.
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
Phone: +46 771 41 11 00