Milestone XProtect - ICX-AlphaCom plug-in

From Zenitel Wiki

Revision as of 11:13, 4 August 2021 by Nikica (talk | contribs) (Buttons)


The interface between AlphaCom, ICX and Milestone XProtect VMS is through an integration module which is available on the download page of Zenitel Wiki. This article assumes that the reader is

  • familiar with setup and operation of the Milestone XProtect VMS
  • that the Milestone XProtect VMS is operational, with all to the system connected cameras configured

Only points which are specific to this integration and to it connected intercom stations are described.


  • Milestone XProtect Smart Client 2019 R3 and higher
  • ICX: and higher
  • AlphaCom: and higher


The integration is licensed.

Milestone license

Using the integration plug-in module does not require a specific license from Milestone.


ICX requires the presence of the appropriate API/OPC license.

  • 1002602306 - ILI-API64 - API License Supporting 64 Stations
  • 1002602309 - ILI-API512 - API License Supporting 512 Stations

With ICX it is possible to purchase a single Product Key which covers all stations connected to all ICX's in a network. ICX licenses can be stacked, i.e. 1x 1002602306 + 2x 1002602309 gives 1088 API licenses which can be used on 2 or more ICXs.

AlphaCom XE

AlphaCom requires the presence of the appropriate API/OPC license. Note that every AlphaCom in an AlphaNet requires such a license.

  • 1009649901 - STENTOFON API License Supporting 40 Stations
  • 1009649902 - STENTOFON API License Supporting 80 Stations
  • 1009649903 - STENTOFON API License Supporting 160 Stations
  • 1009649904 - STENTOFON API License Supporting 240 Stations
  • 1009649905 - STENTOFON API License Supporting 320 Stations
  • 1009649906 - STENTOFON API License Supporting 400 Stations
  • 1009649907 - STENTOFON API License Supporting 552 Stations


This section describe how to install the integration plugin. It is assumed that the Milestone XProtect VMS has been installed and is running. It is also assumed that the Milestone XProtect VMS has been licensed appropriately.


The integration plugin uses .NET 4.6. Please make certain that this version of the .NET framework is installed prior to installing the interface module itself.

Milestone Management Client / Smart Client

When installing (or uninstalling) the plugin all Milestone Clients (Management Client and Smart Client) must be closed.

Plugin Installation

The name of the installation file is VS.Milestone.Plugin.x.x.x.x.exe, where x.x.x.x is the version number. Double click the exe-file to start the installation procedure. Click through the installation option screens, making the appropriate choices, and select Install to do the actual plugin installation.

The plugin will installed in the directory C:\Windows\Program Files(x86)\Vingtor Stentofon\VS-MilestonePlugin

Milestone Plugin Installation Folder

The Plugin comes in two versions: ICXICE_Client_4C and ICXICE_Client_2C. ICXICE_Client_4C has a maximum of four cameras associated to each station, while ICXICE_Client_2C has a maximum of 2 cameras associated to each station.

Plugin Setup

The installation in Milestone VMS is carried out by starting the program VS.Milestone.Plugin.Config.exe:

Milestone Plugin Installation Program

Select the type of system (ICX/IC-EDGE) and select which plugin version should be installed – 4 cameras, 2 cameras or both. Press “Apply” to execute the update. The program can also be used for changing system type in which case you press “Load” – makes the system change – and press “Apply”.

  • ICX - Select ICX also if the system to be integrated is AlphaCom XE (in the rest of this article only reference will be made to ICX, but the operation is the same for AlphaCom XE)
  • IC-EDGE - Selects IC-EDGE system

Each of the client types (4 cameras and 2 cameras) use one communication port. As the clients use the same configuration file they will access the same port. Therefore if both types are selected you either have to ensure to use version ICX (or higher) or use the AlphanetServiceProvider, which is available from the AlphaNet SDK.

Milestone XProtect Smart Client

The Milestone XProtect Smart Client is started in the following way:

  • Insure the three servers - management, event and recording - are up running (the recording server is only necessary if camera is used). This can be checked by viewing the task bar. All icons should be shown with a green indicator. MilestoneServers.jpg
  • Click on icon SmartClientIcon.jpg and wait until the following picture will be shown:
Milestone XProtect Smart Client Connection

Press “Connect” and wait until the Milestone XProtect Client is started.

Milestone XProtect Smart Client Startup View

Ensure the “Setup” button in upper right corner so it is turned on with orange background as shown. The Milestone VMS is now in setup mode. It is now possible to define different views with different partitioning (split). For test it would be appropriate to create a view (1*1) and (3*3) (see picture above).

Select the (3*3) view and drag and drop the “ICXICE_Client_2C” plugin onto the view.
Select the (1*1) view and and drag and drop the “ICXICE_Client_4C” plugin onto the view.

Milestone XProtect Smart Client 1*1 View

Press the orange "Setup" button. You may push “<” in the panel ViewSelect.jpg to hide the left side panel.

Milestone XProtect Smart Client - ICX Setup

You can easily switch between views by activating the “v” in the panel. ViewSelect 2.jpg and select the desired view from the list:

List of User Defined Views

The ICXICE-Client is now in setup mode. Switching between “Setup” and “Operation” is done by single left click on the icon ICX Icon.jpg

ICX - Configuration

Configuration for a system with AlphaCom, ICX or a combination of the 2 is the same and described in this paragraph.

Call requests and Ringing group

Operator stations of type CRMV work with both call requests and calls to a Ringing Group.
Operator stations of type ITSV-1 work best when the ITSV-1 is a member of a Ringing Group, and calls to it are made as Ringing Group calls. Call requests and ringing group calls can be accepted from the GUI.
Note that calls to Ringing Groups 6701-6710 have by default a priority of 155 or higher. Ringing groups shall in any case have a priority of 150 and higher to have the call announced with a ringing tone at the operator station. By default, call requests and ringing group calls with a priority of 140 and higher are indicated as high priority. It is possible to change this to be able to also have ringing group calls indicated as standard priority:

  • Go to C:\Program Files\Milestone\MIPPlugins\ICXICE_Client.
  • Open the file VS.Milestone.Plugin.ConfigData.xml with a text editor.
  • Locate the line <HighPriorityLevel>140</HighPriorityLevel> and change the value 140 to a value appropriate for your application.
  • Save the file.
  • Restart the client.

The ITSV-1 is a Vingtor-Stentofon SIP telephone.To be able to use it as an operator intercom in an ICX-system, the following setting must be made:

  • Log in into the ITSV-1 web page (default credentials: admin/alphaadmin)
  • Navigate to Call Settings related to the account that is used to connect to the ICX.
  • Make the setting as indicted in the picture below


Calls in private to an ITSV-1

If stations can make calls in 'Private mode' to the ITSV-1, the call will be shown in the Call Request list with the annotation P. Such calls can only be accepted from the ITSV-1 be either lifting the handset or touching the Answer-button. The Call request buttons in a button set for such a station shall be set with Visible as disabled. If the call is made on a busy line the call will be shown with the annotation B.

Communication with ICX

Each Smart Client in the system needs its own communication channel with ICX.

Communication via API ports 61112 and 61113

As from ICX software version, ports 61112 and 61113 allow multiple connections. The total number of API connections is 120, independent whether this is to a single port, single ICX or divided over multiple servers.

For AlphaCom and earlier ICX software versions each port 61112 or 61113 allows only one TCP/IP connection. These 2 ports are independent of each other, and allow 2 entities to communicate with AlphaCom or ICX. In an AlphaNet it is possible to use API-ports of multiple AlphaCom or ICX server, up to a maximum of 10 ports.

Communication via the AlphaNet Service Provider

The AlphaNet Service Provider connects to one port on an ICX or AlphaCom (either 61112 or 61113) and provides a single port for entities to connect to. This port allows multiple connections. The AlphaNet Service Provider can therefore be seen as a port expander. This can be used if the number of API-ports provided with AlphaCom or older ICX software is not sufficient.


The ICXICE-Client options are configured by pushing the “Option” button when the client is in setup mode. There are 3 sections in the Options dialog.

ICX Option Dialog

Make the changes as required in the Options-dialog and click OK to save the changes.

AlphaNet setup

  • Direct connect - Enable this if communication is directly with ICX, that is with either ICX API-port 61112 or 61113; When this setting is disabled, connection to the ICX will be through the AlphaNet Service Provider
  • ICX (provider) address - This is the IP-address of either the ICX, or the PC on which the AlphaNet Service Provider is running
  • ICX (provider) port - This is the port to connect to of either the ICX (61112 or 61113), or of the PC on which the AlphaNet Service Provider is running; in this latter case the port to be used is as configured in the AlphaNet Service Provider


Enter the node number and directory number of the station which will be used by the operator to answer call requests and make calls.


Configuration file
All nodes and all stations can be auto-discovered. This information, together with settings related to operation and camera association is stored in an XML-file. By selecting an already existing file (in case the configuration has been done for a different operator already) it is not necessary to do the same task multiple times.
Simply do all configuration for one operator, and store the resulting file VS.Milestone.Plugin.ProjectData.xml in a location which can be reached by any operator workstation. Then simply point to this file every time a new workstation is configured.

Disable config
Setting this will disable the possibility for users of the XProtect Smart Client application to make changes to the configuration. Configuration mode will not be available anymore. To provide access again:

  • Navigate to the file VS.Milestone.Plugin.ConfigData.xml, normally located at C:\Program Files\Milestone\MIPPlugins\ICXICE_Client and edit it; Find the line <DisableConfig>true</DisableConfig> and change true to false; Save the file.


ICX Explore

Select the radio-button Explore system and click Explore. All configured ICXs and stations will be discovered and listed with directory number and display text as defined in the ICX. Newly discovered stations are indicated with +Added, station of which the name has changed since last discovery are indicated with Updated.

Station configuration


Assign cameras to stations

Up to 4 cameras can be assigned to each station. These cameras can be displayed on an incoming call request from that station or during a conversation.
To assign cameras, click on the TAB Cameras. Select a camera and drag/drop that camera onto a camera pane icon to the right of the station name with which the camera should be associated. A number will appear inside that camera pane icon, this number is the logical ID of that camera within Milestone XProtect VMS. To remove the camera association, right-click on the camera pane icon and select Remove camerax ..., where x is related to the camera pane number for that station.

ICX Station Setup


A button set is a set of 4 buttons, 2 for the call request state and 2 for the established connection state. Two button sets can be programmed and one button set can be assigned to each station. The appropriate buttons will become available when there is a call request or an established call related to that station.

Programming actions

Each button has several properties, select the button to program those properties:

  • Caption - Enter the text label which will be shown on the button
  • Command - Enter the command that shall be executed; A command shall be entered in ICX Simple Link Layer format. The following parameters can be used:
    • %NNOP - the node number of the Operator station
    • %DIROP - the directory number of the Operator station
    • %NNA - the node number of the selected station in the call request list or the established call pane
    • %DIRA - the directory number of the selected station in the call request list or the established call pane
  • Visible - when enabled the button will be visible; this is to be able to hide buttons which have no action programmed

Button set 1 is assigned by default to all discovered stations. To change, select a station in the list and right click. Select menu item Button set > and then select the required button set or remove the button set.
Button set 1 has the following properties for Call Request button 1:

  • Caption - Accept call
  • Visible - enabled
  • Action - @U%NNOP $CALL L(%NNOP)%DIROP L(%NNA)%DIRA W64

Button set 1 has the following properties for Established Call button 1:

  • Caption - Cancel call
  • Visible - enabled
  • Action - @U%NNOP $C L(%NNOP)%DIROP
Open Door button

To be able to do door opening during conversation, a Open Door button must be added to the button set. We will use the Established Call button 2.

This button should have the following properties:

  • Caption - Open Door
  • Visible - enabled
  • Action - @U%NNOP $DD L(%NNOP)%DIROP G6
Open Door button

Save and Load

Click Save to save

When the configuration has been completed, click Save. The Save-button is enabled whenever any changes (not options) have been made. Options are saved when OK is pushed from within the menu.
If during configuration it is necessary to go back to the current setup click Load; this will undo all configuration changes which have not been saved yet.

Switch between configuration mode and operational mode

To change between operational mode and configuration mode, right click the ICX-icon in the top right corner of the view ICX Icon.jpg

ICX - Operation

Call request TAB in operational mode

The main TAB in operational mode is the Call Requests-TAB. All call requests are listed in order of priority in the Call Requests-list; the time when the call request entered the list is shown below the station identification. If a station has 1 or more cameras associated with it, a camera-symbol will be shown; click on the symbol to display the camera(s) in the display pane(s). By double clicking on the title bar of a display pane it is possible to expand it; double click again to shrink to the original size.
An established call is shown in the top section of the TAB. A timer shows how long the conversation has been going on. The cameras are displayed immediately when the call is accepted. This display can be overridden by clicking on a camera-icon in the call request list; return to the cameras associated with the established call by clicking the icon in the established call pane; this icon is only available if there are cameras associated with the station in conversation.

The Stations-TAB allows selection of station for directly calling, or for selecting cameras associated with them. Note that in this screen the 'Play'-button is available even if there are no cameras associated with the station. Stations which are not available are shown in red.

Stations TAB in operational mode

In case an enlargement of a view is required - double left click on the view will enlarge the screen picture to full size. Return to original size - double left click on the view again. This could for instance be appropriate when initiating an outgoing call from the "Stations" TAB in a 3*3 view (see picture below).

Milestone Smart Client 3*3 view