Milestone Event MIP Pluging Integration Guide
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.
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
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
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.
- Open "systeminfo.xml" via a web browser here: http://localhost//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 the IRIS+™ Portal
- Perform the setup for all cameras that you wish to connect to IRIS+™
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
- 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:
You can integrate IRIS+™ with two different Milestone systems. You must 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 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.
- Browse to your IRIS+™ account, Settings tab
- Click the Users tab
- Click the Add button and select Create service account.
- 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
- Define token expiration if required (by default the 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 IRIS+ servers - *.irisity.io:443 (Irisity hosted) or *.irisplus.app:443 (On-Prem deployment)
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.
- Run the IRIS+™ Event Monitoring MIP Plugin install wizard. Follow the instructions until the installation is complete.
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
- 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
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
- 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:
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:
6. If you are interested in sending event snapshots to Milestone XProtect, mark this checkbox
Example
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
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 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
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
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
- 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
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.
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 "IRIS+ 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 that at least the following are included in the selected columns: • Time • Source • Tag • Message
4. From the Site Navigation tree, expand Alarms and select Alarm Definitions 5. Right-click Alarm Definitions and click Add New.
6. In the Alarm Definition Information, enter the following:
• Name: IRIS+ Alarm • Triggering event: choose
- Analytics Events in the first line followed by
- IRIS+ Event in the second line
• Sources: click Select
- in the Select Sources screen that opens, open the Servers tab, choose All cameras, and Add it to the Selected list
Example
7. 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.
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:
- 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.
- 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 8 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 the 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 the 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: code1.
- In the 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.
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)
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
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.
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
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 the stream
- Description - Large time gap in the 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 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 a 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 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:
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.
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 |
Customer Support: [email protected]