Integration with Milestone XProtect (IP CCTV)

From Zenitel Wiki

AlphaCom icon 300px.png
Obsolete icon This product is discontinued!

For integration with Milestone, please see:

Note: The Milestone version described in this article is obsolete. Please refer to the following articles:

This article describes how to interface the AlphaComE with the | Milestone XProtect Professional IP Video platform. XProtect Professional is a product for small to mid-sized installations, supporting up to 64 cameras simultaneously.
Milestone also has products which support many more cameras.

AlphaCom and Milestone integration


When a master station receives Call Request from a substation, or when a conversation is made, action strings can be sent from the AlphaCom to the Milestone IP Video surveillance system using the AlphaCom's EDO port. Using the Event Handler, a few simple events allows control of cameras located in association with a substation. When scrolling the queue, a command related to the selected station is transmitted. In this way the picture on the monitor will follow the queue navigation on the master station.

If any new call requests are received while in conversation, this will not influence on the active image. When the conversation is cancelled, and there are still calls in the queue, the image associated to the first station in queue will be displayed.

Software requirement:

Configuration of Milestone XProtect

Example: Server and the Smart Client are running on the same PC (i.e. same IP address)

It is assumed that a Milestone XProtect system is already installed and up and running. The latest Milestone XProtect Professional and Smart client can be downloaded from Milestone here.

Default TCP port usage

  • TCP port 1234: Between AlphaCom and the Milestone XProtect Server
  • TCP port 80: Between the Server and the Smart Client
  • TCP port 12345: Used for transferring Matrix-triggered images from the Server to the Smart Client view

Defining new cameras

Using the Administrator tool to add a new camera

To add a new camera:

  • The PC and the camera must have IP addresses belonging to the same subnet
  • start the Administrator tool and select Add Device
  • Enter the IP address of the camera, then Next
  • Enter the password for the camera (e.g. "root" for Axis cameras), and select "Auto Detect Type", then Next
  • Now the camera should be detected, press Next
  • Enter a suitable name, then Finnish

Setting up a Smart Client user

The Smart Client provides remote users with access to the Milestone Image Server.

Create a user

Image Server Administrator: Adding a new user

  • Start the Image Server Administrator application. The Image Server is the service handling Smart Client access to the Milestone XProtect Professional system.
  • Under "User Administration" select "Full access for all users" and press the button "User Setup"
  • Press Add Basic User, and enter a Username (say 'Peter') and a Password (say '6789')
  • The server is by default using port 80, this can be changed in the Port field under "Server Configuration"

Smart Client Login

Smart Client login

Start the Smart Client application, and specify your login information in the following fields:

  • Server address: Enter the IP address and port number of the server (for example http//: The Server and the Smart Client may run on the same PC, which is typical for a single user or when used for demos. If they do run on the same PC, use the IP address (i.e. http//:
  • Authentication: Select Basic Authentication
  • User name: Enter the username created in the Image Server Administrator, e.g. 'Peter'
  • Password: Enter the password created in the Image Server Administrator, e.g. '6789'

Matrix function

Matrix configuration on server

The Matrix function must be configured, as this function is required in order to have live images automatically presented on the required monitor when defined events occur. The Matrix function allows distributed viewing of live video from any camera on any monitor on a network operating with XProtect Professional. A computer on which Matrix-triggered video can be displayed is known as a Matrix recipient. Being able to view Matrix-triggered video requires that either a Smart Client or the dedicated Matrix Monitor software is installed on the user’s computer. This can be a separate computer, or it can be the same computer as running the server.

Smart Client setup as Matrix recepient

A Matrix recepient (e.g. a Smart Client) must be defined in the XProtect Professional surveillance system server. Start the Administrator application, and select the Matrix button. The Config tab lets you define individual computers on which it should be possible to view Matrix-triggered content. Enable 'Milestone XProtect Matrix', and enter name, IP address of the matrix recepient, the port number (default 12345) and a password.

To make the Smart Client work as a matrix recepient, start the Smart Client application and select the tab Setup. In the Views right click on the Shared view and add New Group. Once the new group is created, right click and add New View and select the dimensions wanted. In the System Overview selection drag and drop the Matrix icon to the main window. While the main window is in focus, click the button Connection Settings in the Properties selection, and enter port number 12345 and the same password as you entered in the Matrix setup in the Administrator program.


Create Generic Events

EDO strings from the AlphaCom is used to control the pictures in the monitor. When a string sent from the AlphaCom is recognized by the Milestone server, the correct camera should show up in the monitor. We need to decide what string to use for each camera. Here is an example, which is used in this article:

The event "EntranceEvent" will be triggered when receiving the string "Cam101" from the AlphaComE

EDO string/Event message Camera Event name Station
Cam107 Entrance EntranceEvent 107
Cam108 Backdoor BackdoorEvent 108
Cam109 Corridor CorridorEvent 109
CamOff All DisconnectEvent All stations

Note that the EDO string is using the directory number of the station related to the camera, i.e. the camera of station 108 is triggered by the string "Cam108". This is convenient, as it simplifies the event handler programming in AlphaCom.

The "CamOff" event is used to disconnect cameras from the monitor when there is no conversations and the call queue is empty.

Create generic events in Milestone by selecting Administrator -> Generic Events, and 'Add new event'. Enter an 'Event name' and an 'Event message' according to the table above (or your own table). Add a new event for each camera.

Automatic Matrix Display on Events

In the Administrator -> Matrix window, the Event tab is used for configuring the automatic sending of live video based on predefined events; it lets you define exactly which events and cameras to use. You define this on a per-Matrix recipient basis.

  1. In the Matrix window highlight the Matrix recipient, and select Event tab
  2. Right-click the Matrix recipient and select 'Generic', then select one of the predefined Generic events
  3. Now right-click the event to select which action should take place when the event occurs. Here, select 'Connect'.
  4. Right-click the action to select which camera to apply the action on
  5. Repeat 1 to 5 as required
Define events

NOTE: For the changes to take effect, you have to quit the Administrator program by pressing the Exit button.

AlphaCom configuration

Configure the Master station for Call Queueing

A number of different station types can be used for call queuing. The station should use the 763x codes for queue navigation. These directory numbers should be assigned to DAK keys. The station should be prepared for call queue operation, how to do this depends on the station type used:

TCP/IP Communication setup

In AlphaPro, Exchange & System -> Serial Ports, the EDO port must be configured to communiate with the computer running the Milestone XProtect server:

EDO port setup. Server IP address is, using port 1234

  • Port type: TCP/IP Client
  • IP address: The IP address of the Milestone XProtect server
  • Port: 1234
  • Enable "Connect at AlphaCom write, disconnect after each write"

The Milestone XProtect Server is by default using TCP port 1234 for generic events. If required this port number can be modified from Milestone XProtect Administrator, I/O Setup -> Advanced -> Alert port.

Note! You might have to open TCP port 1234 in the Windows firewall of the computer running the Milestone server.

(Windows XP: Start > Control Panel > Windows Firewall > Exceptions tab > Add Port: Select port type TCP. Name: Milestone. Port number: 1234)

Event Handler configuration

UDP Groups:

  • Include all substations with cameras in UDP group 2.

Event Handler configuration:
The Event Handler is used to transmit commands through the EDO port to the Milestone IP Video system.

In AlphaPro, go to Exchange and System -> Events, press Insert and create the following events:

Event 1 - An UDD is used to store the busy/free status of the master station. 0 = free, 1 = in conversation. The index of the UDD is equal to the physical number of the master station. The UDD is checked when call requests are received or deleted. If the station is in use, cameras should not be turned on (i.e. no commands should be transmitted).

Event Owner: The Master Station
Event type: 08 - Conversation Outgoing
When change to: ON or OFF
When related to: All
Action: WUDD %1.phy %chg(1,0)

Event 2 - When a conversation is made from the master station to a substation w. camera, transmit command "CamXXX" to the IP Video system, where XXX = the directory number of the substation.

Event Owner: The Master Station
Event type: 08 - Conversation Outgoing
Subevent: 0
When change to: ON
When related to: Stations w. UDP, Id: 2
Action: EDO 1 "Cam%2.dir"

Event 3 - When the conversation between the master and any station cancels, switch off the camera ("CamOff"), and activate the MAILQ_NAVIG command. The MAILQ_NAVIG command will step to the first in the queue, and re-trigger the '23 - New Current Mail' event.

Event Owner: The Master Station
Event type: 08 - Conversation Outgoing
Subevent: 0
When change to: OFF
When related to: All
Action: EDO 1 "CamOff"
  $MAILQ_NAVIG L%1.dir 2

Event 4 - When receiving a Call Request or scrolling the queue, and the master station is not busy, activate the camera assosiated with the selected substation.

Event Owner: The Master Station
Event type: 23 - New Current Mail
Subevent: 0
When change to: ON
When related to: Stations w. UDP, Id: 2
Action: IF %udd(%1.phy)
  EDO 1 "Cam%2.dir"

Event 5 - The Priority Mail Present - OFF event is triggered when the queue of the master station is empty. The queue can become empty because the delete code 7630 has been dialled, in that case the cameras should be turned off. Or the queue can become empty because of call back to the last substation in queue, in that case we want the camera to remain on until the conversation is cancelled. We start a 0.5 second timer, and check if the master station is in conversation when the timer times out:

Event Owner: The Master Station
Event type: 06 - Priority Mail Present
When change to: OFF
Action: $ST L%1.dir w5 L9999

Event 6 - Half a second after the queue was empty, check if the station is in conversation, if not switch off the camera:

Event Owner: The Master Station
Event type: 21 - Event Timeout
Subevent: 0
When change to: ON
When related to: Directory number: 9999
Action: IF %udd(%1.phy)
  EDO 1 "CamOff"

Related links and articles