Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

ICD-001 is a network communication protocol based on XML. The protocol is used over standard TCP/IP client-server connections.

The document RND-S0053 - Navtech Witness ICD-001  describes documentation describes the protocol in detail, including message structure, message framing and all the outgoing messagesmessage types.

Info

For customers and integrators intending to use ICD-001, the documents assume a reasonable working knowledge of network communications, XML and XSD. They are targeted at technical teams, typically with software development skills, who are integrating the output from Witness into external systems.

This section covers the configuration of the plugin within Witness. The configuration controls the network settings as well as enabling how and what data is transmitted through the plugin.

Panel
borderColorsilver
borderWidth1
borderStylesolid

On this page:

Table of Contents
indent16px
absoluteUrltrue

Overview

When Witness generates events, such as alarms, or processes targets, it passes all this information to the Integration Manager. The Integration Manager is then able to use loaded plugins such as ICD-001 to convert this information into a suitable data format to send to external systems. In this case the plugin converts the data to XML message which are transmitted over a TCP/IP connection.

The data is transmitted as the events occur, leading to near- real time reporting.

Installing the ICD-001 Plugin

Witness 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 the Integration Manager and contain code which knows how to convert the Witness data into the required format for the external system. Navtech Radar can easily develop bespoke plugins to interface with a specific type of equipment or application, however ICD-001 has been developed to provide a comprehensive communication protocol which is based on open standards in order to make it as easy as possible to integrate with a large number of different systems.

The ICD-001 plugin file is entitled Tungsten.Integration.ICD001Highways.Plugin.dll and must be present in the Witness Plugin folder which is inside the main application folder. 

Tip

The plugin can be selected during setup and will automatically be installed in the correct location.

When installing Witness, in the Choose Components page of the Witness Setup wizard, open Integration Plugin options and select ICD001:

Image RemovedImage Added

Configuring the ICD-001 Plugin

When the plugin is installed and licensed, a plugin configuration with default settings is automatically generated.The settings can be viewed and edited by enabling the Config Function, then selecting the plugin in Integration Configurations, within the Configuration Tree. Configuration settings will then be available in the Configuration Panel. 

Image Removed
Image Added
Info

Once you have made changes to the plugin configuration and committed the changes by saving, the plugin will automatically restart itself based on the new configuration. Note that any connections to 3rd party systems will be dropped during this restart.

The setting options are as follows:

Enable Plugin: when

not

enabled

,

the plugin will start and will

not start up. If the plugin is already running, disabling the plugin will cause it to stop

always start when the Witness system starts. When disabled the plugin will stop and will not start until re-enabled.

Plugin Name:

name

user friendlyname of the plugin

within the Witness UI

.

Track Output Mode: sets the track output filter:

None

: No

- no tracks reports are sent.

Broken Rule

:

- 

Report

report all tracks which have broken rules, regardless of whether this resulted in an alarm.

 

Alarm Only

:

- 

Report

report only tracks which have broken rules that results in an active alarm.

All

:

- 

Reports

reports all tracks. 

Buffer Tracks:

enable

when enabled this

for

will force tracks to be buffered and sent in batches based on the Track Buffer Timer. This can optimise network load but has the drawback of not sending data in real time. The Track Buffer Time setting specifies how often the buffered tracks are sent.

Send Status:

enable

when enabled this

for

will trigger status reports to be sent at a regular interval based on the Status Report Time. In addition it allows status reports to be sent when any status changes (i.e. health or system profile). This also enables support for the Request Status Command which provides the capability for external systems to request status reports.

Send Alarm:

enable this for

when enabled, Alarm reports

to

will be sent when alarms are raised.

Send Size Classification Report:

enable this for Size

when enabled ClearWay Size & Classification Reports

to be sent

will sent if Traffic Analysis is enabled

  • Pump Timer (s): Default: 0.5 s.

  • Track Buffer Timer (s): period of time between each batch of tracks being sent

    of

    if Buffer Tracks is enabled.

    Default: 1 s.

    Heartbeat Timer (s):

    period of time between each heartbeat being

    the interval at which heartbeats are sent to

    every

    the connected

    client

    clients.

    Default: 10 s.

    Status Report Timer (s):

    period between

    the interval at which each status report

    being sent. Default: 10 s

    is sent. when the Send Status option is enabled.

    Info

    If you want to enable the status report mechanism but do not want to send regular automatic reports then you can set the Status Report Timer to 0 (zero).

    Monitor Client Health:

    enable for the plugin to

    when enabled, the plugin will monitor the health of client connections. If a client is either not connected or connected but not sending heartbeats, then an alarm will be raised in Witness. The client most support sending heartbeats to Witness to use this option.


    Related information

    Filter by label (Content by label)
    showLabelsfalse
    showSpacefalse
    cqllabel = "icd-001" and type = "attachment"