Using the IndigoVision Plugin

The IndigoVision plugin for Canary is designed to allow Witness to send camera movement updates to an IndigoVision Control Center server.

The plugin sends two kinds of data to Control Center.

  • Event Data

Event data is sent whilst the camera is being moved either by the Witness in response to a rule or manually by the operator within Sentinel. Events are sent on a configurable time period and can be used within Control Center to create alarms, trigger recording, relay and other actions.

  • Bookmark Data

Bookmark data is sent when a camera controlled by Witness is being moved in response to a new alarm. If the camera is time sharing between multiple alarms then a new bookmark will be sent each time the camera switches between alarms. Bookmarks are sent on a configurable time period and can be used to analyze when and why Witness has taken control of cameras.

This implementation sends an external system event to Control Center when a camera is moved by Witness. If the camera is moving in response to an alarm then additional data about the alarm will be sent to Control Center as a bookmark each time the camera moves to look at a new alarm.

The IndigoVision Plugin

Witness Canary supports integration with many different types of external systems through the use of plugins. These are stand-alone software libraries which are dynamically loaded by Canary and contain code which knows how to convert the Witness data into the required format for the external system.

The IndigoVision plugin file is entitled Witness.Plugin.IndigoVision.dll and must be present in the Witness Plugin folder which is inside the main application folder. The plugin depends on one third party file, ivbind2.dll, which must be placed in the main application folder and registered on the system by running the command "regsvr32 ivbind2.dll" from an administrator command prompt.

The plugin can be selected during setup and will automatically install the files in the correct locations and register the support dll.

Configuring the IndigoVision Plugin

When the plugin is installed and Canary starts, the plugin configuration settings are saved to the PluginConfiguration.xml file. This file is located in the Witness main application folder. To change the settings this file should be opened in a text editor, such as Notepad, however we would recommend an editor which is XML aware, such as Notepad++.

Once the file is open, locate the IndigoVision section, as illustrated below:

Example Indigo Vision Plugin Configuration
<?xml version="1.0" encoding="utf-8"?>
<Config>
  <Plugins>
    <IndigoVision>
      <PluginConfig>
        <AlarmServerIp>10.0.6.12</AlarmServerIp>
        <LocalIp>10.0.7.49</LocalIp>
        <NotificationUpdatePeriod>10</NotificationUpdatePeriod>
        <NVRCameras>
          <NVRCamera NVR="10.0.6.12">
            <Cameras>
              <String>iv://10.0.0.1</String>
              <String>iv://10.0.0.2</String>
            </Cameras>
          </NVRCamera>
        </NVRCameras>
        <HeartbeatInterval>0</HeartbeatInterval>
      </PluginConfig>
    </IndigoVision>
  </Plugins>
</Config>


Once you have made changes to the plugin configuration file then you must restart the Canary application / service for the new settings to be applied. No other modules need to be restarted.

The setting options are as follows:

AlarmServerIp

The address of the Indigo vision alarm server that will receive the bookmark messages

LocalIp

The address that Canary will be sending the messages from

NotificationUpdatePeriod

The period in seconds between subsequent events for the same camera being sent to Control Center

NVRCameras

A list of IndigoVision NVRs and the associated cameras

NVRCamera

A single NVR and the cameras that we wish to link to Witness. Multiple NVRCamera elements can be used within NVRCameras if Canary needs to communicate with more than one Control Center

NVR

The address of the NVR instance

Cameras

A list of cameras that we wish to link to Witness. The string value is the Service ID of the camera as it is configured within Control Center

The form of the string value can change depending on the type of camera. Certain camera names will take the form of a UUID (e.g. uuid:c9790c3a-701b-464d-a189-0060351de567) others will take the form based on their IP address (e.g. iv://192.168.0.10).

The Service ID can be found via the Video Explorer and selecting the appropriate camera. The Service ID is displayed in the camera properties panel.

HeartbeatInterval

Not currently used

Configuring Control Center

  1. Open the IndigoVision Control Center.

  2. On the Alarms Explorer panel click on the Top Site item and go to the External Systems tab.


  3. Right click on the External System panel and select New External System.


  4. Enter the details for the Witness system and press OK.


  5. If no Alarm Servers have been configured add one by right clicking on the Top Site and selecting Add Devices...

  6. If the Alarm Server is not discovered add the details

  7. Add zones to the alarm server if none are configured



  8. Right click on the zone you wish to be triggered by a camera movement and select New Detector...

    Ensure that the selected Activation Event Type is set to External

  9. Select the External System that was configured earlier and select the appropriate Input Number.

    The Input Number corresponds to the Camera User Id within Witness

  10. Set the Dwell Time and click Next to review and save the Detector

    Canary will send a movement event whilst the camera is being moved at the interval specified by the NotificationUpdatePeriod in the Plugin config file. As the events are momentary it is recommended to set the dwell time to a period greater than the NotificationUpdatePeriod to prevent alarms continually being reactivated whilst Witness controls the camera.

  11. Add a NVR to Control Center if one has not already been added. Right click on the Top Site and select Add Devices...

    There will be a slight delay of around 10 seconds after adding the NVR until it becomes available to use.

  12. Click on the Bookmarks tag of the NVR and the bookmarks sent from Canary should be visible.


Configuring Witness

After a camera has been configured in Witness the following fields need to be edited to align the configuration with Control Center

User ID

The Input number that will be assigned to Alarm Server Detectors to trigger alarms with the Control Center.

External System ID

The camera System Id as configured within Control Center. This is used to apply bookmarks to the camera recording feed in Control Center when the camera responds to an alarm within Witness.