Milestone XProtect - Professional and Enterprise
From Zenitel Wiki
The integration of STENTOFON AlphaCom with Milestone XProtect software enables video stream routing under control of commands issued by AlphaCom. The interface uses the standard matrix functionality which is part of Milestone XProtect VMS. This article describes how to integrate the AlphaCom XE with the Milestone XProtect Professional and Enterprise 2013 (8.5e) version.
Integration with the Expert and Corporate versions of XProtect are described in a separate article.
Contents
Features
The integration allows cameras to be connected to monitors on call and call request events, including changes to the viewed camera when the guard scrolls through the call request queue on the intercom station.
When a master station receives Call Request from a substation, and when a call is made to the substation, action strings are sent from the AlphaCom XE to the Milestone 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 call queue, commands related to the selected station is transmitted, allowing the video on the monitor to 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 assosiated to the first station in queue will be displayed.
Software
AlphaCom software requirement:
Milestone software:
- Milestone XProtect Professional and Enterprise 2013 (8.5e) version.
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
Milestone XProtect configuration
It is assumed that a Milestone XProtect system is already installed and up and running.
Adding new cameras
Adding cameras in general
- Start the Milestone Management Application software
- Expand the Advanced Configuration folder, and right click Hardware Devices, and select Add New Hardware Device.
- A wizard offers you several ways of detecting and adding cameras. Follow the instructions and consult the Milestone documentation if required.
Adding the camera of the IP Video Station
To add the CP-CAM camera of the IP Video Station (item 1401110100) to Milestone, follow these steps:
- Start the Milestone Management Application software
- Expand the Advanced Configuration folder, and right click Hardware Devices, and select Add New Hardware Device.
- A wizard offers you several ways of detecting and adding cameras. Select Manually specify the hardware to add
- Select Driver to be "Universal Driver"
- Enter the IP-address of the camera, and Port to 80
- Enter "admin" as User Name and "1234" as Password
- Press Next multiple times to complete the wizard
After the camera has been added, you need to change the video properties:
- Expand the Camera and Storage folder, right click the camera, and select Properties
- Select Camera Settings, and set:
- Streaming mode: HTTP
- Delivery mode: Multipart stream
- Retrieval mode: Streaming
- Connection URI: http://<camera IP address>/mjpg/video.mjpg
The Matrix function
With Matrix — an integrated solution for distributed viewing of video — you can send video from any camera on a network operating your system to Matrix recipients. A Matrix recipient is basically a computer capable of displaying Matrix-triggered video. There are two kinds of Matrix recipients: computers running a dedicated Matrix Monitor application and computers running the XProtect Smart Client.
Adding a Matrix recipient
To add an Matrix recipient, do the following:
- In the Milestone Management Application software, expand the Advanced Configuration folder, and double click Matrix
- In the Name field, enter a descriptive name for the Matrix recipient.
- In the Address field enter the IP address or the host name of the required Matrix recipient
- In the Port field enter the port number used by the Matrix recipient installation. Default is 12345.
- In the Password field enter the Matrix recipient's password, e.g. 12345.
- Enable "Matrix recipient is a Smart Client".
- Click Add, then OK to save the settings.
Setting the Smart Client to work as a matrix recipient
To make the Smart Client work as a matrix recepient, do the following steps:
- Start the Smart Client application and select the tab Setup
- In the Views pane, right click on the Private view and add New Group.
- Once the new group is created, right click and add New View and select the dimensions wanted. E.g. 4:3, 1x1.
- In the System Overview pane, drag and drop the Matrix item to the main window.
- While the main window is in focus, scroll down and click the button Connection Settings in the Properties pane, and enter port number 12345 and the same password as you entered in the Matrix setup in the Management Application.
Generic Events
Adding Generic Events
Generic events allow you to trigger actions in the Milestone XProtect event server by sending simple strings from the AlphaCom XE via the IP network to the Milestone event server. In AlphaCom the Event Handler is used to generate strings transmitted via the EDO port. In this article the string is on the format "CamXXX", where XXX is the directory number of the station associated with the camera. Using the directory number as a part of the string is convenient, as it simplifies the event handler programming in AlphaCom. But the syntax of the string is freely programmable.
Examples:
EDO string | Camera | Event name | Station dir.no |
---|---|---|---|
Cam107 | Entrance | Cam107 | 107 |
Cam108 | Backdoor | Cam108 | 108 |
Cam109 | Corridor | Cam109 | 109 |
CamOff | All | CamOff | All stations |
The "CamOff" event is used to disconnect cameras from the Smart Client when there is no conversations and the call queue is empty.
To add Generic Events from the Management Client, do the following:
- In the Milestone Management Application software, expand the Advanced Configuration folder, and double click Generic Events
- Select Add at the button of the window to create a new event
- In the Event name field, enter a descriptive name for the event, e.g. Cam107.
- In the Event substring field, enter the actual string, as received from AlphaCom. E.g. Cam107.
- Select the Add button next to the "Event substring" field.
Creating event rules
Rules have to be created, saying that when the Milestone event server receives a generic event from the AlphaCom, the video from a certain camera should pop up in a certain Smart Client. To define actions on events follow these steps:
- In the Milestone Management Application software, expand the Advanced Configuration folder, and double click Matrix
- Select Matrix Event Control
- Right-click the Matrix recipient and select 'Generic', then select one of the predefined Generic events
- Now right-click the event to select which action should take place when the event occurs. Here, select 'Connect'.
- Right-click the action to select which camera to apply the action on
- Repeat step 3 to 5 for every camera
Testing Generic Events
One can test that the generic events are operational with a small program called Generic Event tester. This makes to possible to verify the Milestone configuration, totally independent of the AlphaCom.
- Host: Enter "localhost" if the GenericEventTester is running on the same computer as the Milestone server. If the GenericEventTester is running on a remote computer, enter the IP address of the Milestone server.
- Port: The port number used by the Milestone event server for Generic Events. Default is 1234.
- Event: The generic event string, e.g. Cam107 or CamOff, as defined in the "Expression" field of the Generic Event.
- Press Send Tcp to send the event string to Milestone. The actions as defined by the Rules should now be executed.
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 1 port must be configured to communiate with the computer running the Milestone XProtect server:
- Port type: TCP/IP Client
- IP address: The IP address of the Milestone XProtect event 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 Mangement Client, Tools -> Options -> Generic Events tab -> 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) |
STOP | |
ENDIF | |
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) |
STOP | |
ENDIF | |
EDO 1 "CamOff" |