Actions

Difference between revisions of "Milestone XProtect - ICX-AlphaCom Integration"

From Zenitel Wiki

(Created page with "{{AI}} ==Introduction== <br> '''This article assumes that the reader is''' *familiar with setup and operation of the Milestone XProtect VMS *that the Milestone XProtect VMS is...")
 
 
(89 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
{{AI}}
 
{{AI}}
 +
<table style="float:right; max-width:80%; border-style: double; border-color: #c7c7c7;">
 +
<tr style="rowspan:2;">
 +
<td style="display: block; vertical-align: bottom;">[[Image:Milestone ICX-AlphaCom.png|400px]]</td>
 +
</tr>
 +
<tr>
 +
<td style='background-color:#efefef;'>Milestone XProtect - ICX-AlphaCom Integration</td>
 +
</tr>
 +
</table>
 +
 
==Introduction==
 
==Introduction==
<br>
+
The interface between ICX-AlphaCom and Milestone XProtect VMS is through an [https://alpha.zenitel.com/downloads/ZenitelCallHandlerSetupIcxAlphaCom_3.0.6.msi integration module] which is available on the [[Downloads#Interface_modules|Downloads page]] of Zenitel Wiki.
'''This article assumes that the reader is'''
+
 
 +
This integration requires a Zenitel desktop station or SoftClient to be associated with each XProtect Smart Client, as audio is routed through ICX-AlphaCom.
 +
 
 +
This article assumes that the reader is:
 
*familiar with setup and operation of the Milestone XProtect VMS
 
*familiar with setup and operation of the Milestone XProtect VMS
*that the Milestone XProtect VMS is operational, with all the system connected cameras configured
+
*that the Milestone XProtect VMS is operational, with all to the system connected cameras configured
Only points that are specific to this integration and to its connected intercom stations are described.
+
*that ICX-AlphaCom is operational, with all the system connected intercom devices and SoftClients configured
<br><br>
 
  
===Overview===
+
Only points which are specific to this integration and to connected intercom stations/SoftClients and IP speakers are described.
Zenitel devices can be integrated into the Milestone XProtect system using their ONVIF capabilities and supplemented with the Zenitel Call Handler plugin.
 
<br><br>
 
'''ONVIF benefits:'''
 
* Auto discover devices in the Milestone XProtect VMS, ensuring easy integration.
 
* Display Zenitel device video feed in the Milestone XProtect VMS on various events like a call request, outgoing call, or pressed DAK button.
 
* Display Camera on a call connection, allowing the operator to see who he is talking to.
 
* Record audio and video during a conversation.
 
* Write a log entry for the audit trail on various events like starting a conversation, opening a door, motion detection, etc.
 
'''Benefits of Zenitel Call Handler:'''
 
* Pops up above all opened windows and displays all incoming (queued) and outgoing calls.
 
* Allows the operator to accept queued calls and close opened call connections without opening the plugin inside the Milestone XProtect VMS.
 
  
<br>
+
Read more about the integration in the [https://www.zenitel.com/sites/default/files/Zenitel-Milestone_Integration_EN.pdf Solution Brochure].
===Compatibility===
+
 
*Milestone XProtect Smart Client 2019 R3 and higher
+
==Licensing==
*ICX: 1.0.3.1 and higher
+
 
*AlphaCom: 13.1.3.3 and higher
+
===Milestone XProtect ===
 +
The integration interface does not require a specific license from Milestone.
 +
 
 +
However, note that Zenitel stations are typically registered as ONVIF devices in XProtect, to e.g. stream and record audio/video from stations. This requires separate station licenses from Milestone.
 +
For an overview of the ONVIF features supported in Zenitel devices, please read our article [[ONVIF Settings]]
 +
 
 +
===ICX-AlphaCom===
 +
ICX-AlphaCom gateways requires the presence of the appropriate API/OPC license:  
 +
*1002602306 - ILI-API64 - API License Supporting 64 Intercom Stations
 +
*1002602309 - ILI-API512 - API License Supporting 512 Intercom Stations
 +
 
 +
With ICX-AlphaCom it is possible to purchase a single Product Key which covers all stations connected to all ICX-AlphaCom's in a network. Licenses can be stacked, i.e. 1x 1002602306 + 2x 1002602309 gives 1088 API licenses which can be used on 2 or more ICX-AlphaCom's.
  
===Licensing===
+
Note that the licenses are based on the number of intercom stations, not the number of gateways and servers. Thus, 1 API license can be used across multiple networked ICX-AlphaCom gateways and Milestone servers.  
Zenitel devices can be used using their ONVIF capabilities without a specific integration license from Zenitel.<br>
+
The license is independent of the number of XProtect Smart Clients.
The use of the call handler plugin is licensed as detailed below.
 
====ICX-AlphaCom====
 
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 that covers all stations connected to all ICXs 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.
+
If the Zenitel SoftClient is to be used for SIP audio directly in the XProtect Smart Client you will need 1 SoftClient license (item number 1002600300) per Operator computer.
  
====AlphaCom XE====
+
<!--===AlphaCom XE===
AlphaCom requires the presence of the appropriate API/OPC license. Note that every AlphaCom in an AlphaNet requires such a license.
+
AlphaCom XE requires the presence of the appropriate API/OPC license, depending on the number of intercom stations connected to ICX-AlphaCom. Note that every AlphaCom XE in an AlphaNet requires such a license.
 
*1009649901 - STENTOFON API License Supporting 40 Stations
 
*1009649901 - STENTOFON API License Supporting 40 Stations
 
*1009649902 - STENTOFON API License Supporting 80 Stations
 
*1009649902 - STENTOFON API License Supporting 80 Stations
Line 47: Line 53:
 
*1009649907 - STENTOFON API License Supporting 552 Stations
 
*1009649907 - STENTOFON API License Supporting 552 Stations
  
====Milestone license====
+
If the Zenitel SoftClient is to be used for SIP audio directly in the Milestone Smart Client you will need 1 SoftClient license (item number 1002600300) per Operator computer.
Using the integration plug-in module does not require a specific license from Milestone.<br>
+
<br style="clear:both;" /> -->
For connection of devices to Milestone XProtect, please contact Milestone directly.
 
<br><br>
 
 
 
==ONVIF Integration==
 
Zenitel devices are recognized in the Milestone XProtect system as ONVIF compatible devices and are added to the system in the same way.
 
<br>
 
'''Note:''' ''audio-only devices are also recognized as ONVIF devices.''
 
<br><br>
 
=== Supported Devices ===
 
====Video Intercoms====
 
*Turbine Video intercom and kit: TCIV+
 
*Turbine Video kit: TKIV+
 
* Turbine  Video intercom TCIV (previous generation of Zenitel video intercom devices)
 
 
 
====Non-Video Intercoms====
 
* Turbine Compact series TCIS
 
* Turbine Industrial series TFIE
 
* Turbine kits TKIE and TKIS
 
* EX intercoms series TFIX
 
* V2 Master Stations
 
* IP Speakers
 
 
 
=== Pre-requisites ===
 
* VS-IS 6.4.3.0 or later must be installed in the Zenitel Device
 
* The latest XProtect Device Pack must be installed.
 
 
 
===ONVIF configuration===
 
Some ONVIF settings are available from the station web interface where the user needs to enable reporting DAKs and digital inputs in ONVIF.
 
<br clear="all" />
 
 
 
The user can configure digital inputs to trigger various behaviors in XProtect, most notably: <br>
 
* Set the Matrix to view the device video
 
* Start recording video/audio
 
* Write an entry in the audit trail log
 
* Trigger a pre-recorded audio message
 
* Trigger an alarm
 
  
More information on this topic can be found in the [[ONVIF Settings|ONVIF]] article.
+
==Installation==
 
 
===Using the Matrix===
 
 
 
1. The user has to create a matrix in the Milestone Management Client.
 
<br><br>
 
[[File:MatrixLocalSetup.PNG|700px]]
 
<br><br>
 
2. After configuring the matrix the user has to add it to a view in the XProtect Smart Client
 
<br><br>
 
[[File:MatrixSmartClient.PNG|700px]]
 
<br><br>
 
3. After the matrix has been set up the user has to configure the rule system in the XProtect Management System to push the device video to the matrix.
 
<br><br>
 
[[File:RuleExampleSetup.png|700px]]
 
 
 
More information on the matrix can be found in the official Milestone documentation <br>
 
[https://doc.milestonesys.com/latest/en-US/standard_features/sf_sc/sf_matrix/sc_workingwithmatrix(715).htm Milestone Matrix (usage)] <br>
 
[https://doc.milestonesys.com/latest/en-US/standard_features/sf_sc/sf_matrix/sc_configuringmatrix.htm Milestone Matrix (configuration)] <br>
 
 
 
===Alarm configuration===
 
On the Milestone XProtect VMS server, virtually any kind of incident or technical problem - events - can be set up to trigger an alarm. Alarms and events can all be viewed on the Alarm Manager tab, which provides a central overview of your Milestone XProtect VMS incidents, status, and possible technical problems.
 
<br><br>
 
The following images show a detailed overview of the XProtect alarm system:
 
<br><br>
 
[[File:Alarm management 3 - Detailed.png|1000px]]
 
[[File:Alarm trigered - Detailed.PNG|1000px]]
 
<br><br>
 
Full size images can be found here:
 
* [[Media:Alarm management 3 - Detailed.png]]
 
* [[Media:Alarm trigered - Detailed.PNG]]
 
 
 
More information on the alarm system can be found in the official Milestone documentation<br>
 
[https://doc.milestonesys.com/latest/en-US/feature_flags/ff_managealarms/sc_workingwithalarms.htm Milestone Alarms and events (usage)]
 
 
 
==Zenitel Call Handler plugin installation==
 
 
This section describes how to install the integration plugin.
 
This section describes how to install the integration plugin.
It is assumed that the Milestone XProtect VMS has been installed and is running.<br>
+
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.<br>
 
 
===Prerequisite===
 
The integration plugin uses .NET 4.8. 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 Zenitel-CallHandler.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, make the appropriate choices, and select Install to do the actual plugin installation.
 
  
The plugin will be installed in the directory
+
*When installing (or uninstalling) the plugin all XPRotect Clients (XProtect Management Client and XProtect Smart Client) must be closed.
C:\Windows\Program Files(x86)\Zenitel\Zenitel Call Handler
+
*The plugin is to be installed on the same machine as the XProtect Smart client.
  
[[File:ZCH_SetupFileStructure.png|thumb|left|700px|Setup File Structure]]
+
#[https://alpha.zenitel.com/downloads/ZenitelCallHandlerSetupIcxAlphaCom_3.0.6.msi Download the msi setup file] from the Downloads section on Zenitel Wiki.
 +
#Run the setup file, and follow the instructions on the screen
 +
#When prompted for the installation location, select the Milestone/MIP installation folder (e.g. C:\Program Files\Milestone\MIPPlugins).
 +
#Click "Close" to complete the installation.<br>
 
<br style="clear:both;" />
 
<br style="clear:both;" />
  
===Plugin Setup===
+
== Configuration ==
 
+
===Basic plugin configuration===
The installation in Milestone XProtect VMS is carried out by starting the program Zenitel.CallHandler.Plugin.Config.exe:
+
#Open the XProtect Smart Client.
 +
#Open the "Configuration" window by clicking the "Configuration" Icon button in the toolbar.
 +
#In the "Configuration" window enter the IP addressof your Zenitel intercom system in the "IP Address" field. The port used for connection is TCP port 61112 and must be open in the [[ICX_Web#Filters|<b>filters settings</b>]] of the ICX-Alphacom.
 +
#Click the "Connect" button and wait for the system to retrieve the list of available devices.
 +
#Select the operator's device by choosing its directory number from the drop-down list.
 +
<br>
 +
{{warn|When using  the [[Milestone_XProtect_-_ICX-AlphaCom_Integration#Broadcasting_.28available_from_Plugin_Version_3.0.6.29|Broadcasting]] feature, the operator station should not be an ITSV-2, ITSV-3, ITSV-4 or ITSV-5}}
  
[[File:ZCH_PluginSetup.PNG|thumb|left|700px|Milestone Plugin Setup]]
+
[[File:ZenitelCallHandlerConfigurationGif_306.gif|thumb|center|800px|Animation of the Zenitel Cal Handler configuration process]]
<br style="clear:both;" />
 
  
Select the type of system (ICX/IC-EDGE). Press “Apply” to execute the update. The program can also be used for changing the system type in which case you press “Load” – make 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)
+
<br>
*IC-EDGE - Selects IC-EDGE system
 
  
 +
===Associating cameras with devices===
 +
# Open the camera settings window.
 +
# On the left side, there will be a list of devices registered with ICX-AlphaCom. On the right side, there will be a list of cameras registered within the XProtect system.
 +
# Click on a device in the left list to select it.
 +
# Click on an item in the right list to preview the video feed from that camera.
 +
# To associate a camera with a selected device, click on the checkbox next to the camera's name.
 +
# Repeat steps 3-5 to associate additional cameras with the selected device.
 +
# Once satisfied with the configuration, close the camera settings window.
 +
# Click "Save and Close" on the configuration window to save the changes.
 
<br>
 
<br>
 +
[[File:ZenitelCallHandlerCameraConfiguration_306.JPG|thumb|center|800px|Screenshot of the camera assosiation process]]
  
===Milestone XProtect Smart Client===
 
  
The Milestone XProtect Smart Client is started in the following way:
+
<br>
*Ensure the three servers - management, event, and recording - are up and running. This can be checked by viewing the taskbar. All icons should be shown with a green indicator.  [[File:MilestoneServers.jpg]] <br style="clear:both;" />
+
===Groups configuration (available from Plugin Version 3.0.6)===
*Click on icon [[File:SmartClientIcon.jpg]]  and wait until the following picture will be shown:
+
To enable live announcements and prerecorded message broadcasting, you'll first need to configure the groups. <br>
 
+
To do this, you'll require access to the AlphaPro software, and then you can proceed with the following steps:
[[File:ConnectSmartClient.jpg|thumb|left|700px|Milestone XProtect Smart Client Connection]]
 
<br style="clear:both;" />
 
Press “Connect” and wait until the Milestone XProtect Client is started.
 
 
 
[[File:SmartClientGUI.jpg|thumb|left|700px|Milestone XProtect Smart Client Startup View]] <br style="clear:both;" />
 
 
 
Ensure that the “Setup” button in the upper right corner is turned on with an orange background as shown. The Milestone Xprotect VMS is now in setup mode.
 
It is now possible to define different views with different partitioning (split). For the test, it would be appropriate to create a (1 x 1) view (see picture above).
 
  
 
<br>
 
<br>
Select the (1*1) view and and drag and drop the “Zenitel Call Handler” plugin onto the view.
+
1. Open the AlphaPro software and follow these steps to export the groups csv file:
[[File:SmartClientView_1_1.jpg|thumb|left|700px|Milestone XProtect Smart Client 1*1 View]] <br style="clear:both;" />
+
[[File:ZenitelCallHandlerExportGroups_306.gif|thumb|center|800px|]]
 +
<br>
 +
2. Return to Milestone XProtect and within the Zenitel Call Handler, navigate to the 'Broadcasting' tab.
 +
<br>
 +
3. Follow these steps to import the groups list file exported from AlphaPro into Zenitel Call Handler:
 +
[[File:ZenitelCallHandlerImportGroups_306.gif|thumb|center|800px|]]
 
<br>
 
<br>
Press the orange "Setup" button.
+
4. Return to the AlphaPro software and follow these steps to configure the necessary events for group UI to function properly:
You may push “<” in the panel  [[File:ViewSelect.jpg]] to hide the left side panel.
+
* Open '''Exchange Information -> Events'''
<br style="clear:both;" />
+
[[File:ZenitelCallHandlerEventsConfig.gif|thumb|center|800px|]]
  
[[File:SmartClient_ICX_Unconfigured_Settup_window.PNG|thumb|left|700px|Milestone XProtect Smart Client - ICX Setup]]
+
* then '''Insert''' two new records with the following information:
<br style="clear:both;" />
+
[[File:ZenitelCallHandlerEventConfig_1_306.JPG|thumb|center|650px|<table style="border-style: double; border-color: #c7c7c7;">
 +
  <tr>
 +
    <td>Owner type</td>
 +
    <td>'''Stations w. UDP'''</td>
 +
  </tr>
 +
<tr>
 +
    <td>Id</td>
 +
    <td>8</td>
 +
  </tr>
 +
<tr>
 +
    <td>Event Type</td>
 +
    <td>'''8 - Conversation - Outgoing'''</td>
 +
  </tr>
 +
<tr>
 +
    <td>Sub Event</td>
 +
    <td>0</td>
 +
  </tr>
 +
<tr>
 +
    <td>When Change To</td>
 +
    <td>'''ON or OFF'''</td>
 +
  </tr>
 +
<tr style="rowspan:2;">
 +
    <td>When Related To</td>
 +
    <td>'''All'''</td>
 +
  </tr>
 +
<tr>
 +
    <td>
 +
For the section '''Action: Command or RCO''' <br>
 +
select the first option and type this command<br>
 +
in the text box
 +
    </td>
 +
    <td>'''@*d1 M7F01 %1.ref %2.ref W%chg(1,0) W0 W0 W0 W0'''</td>
 +
  </tr>
 +
</table>]]
  
You can easily switch between views by activating the “v” in the panel.
 
[[File:ViewSelect_2.jpg]] and select the desired view from the list:
 
<br style="clear:both;" />
 
  
[[File:CreatedViews.jpg|thumb|left|700px|List of User Defined Views]]
+
[[File:ZenitelCallHandlerEventConfig_2_306.JPG|thumb|center|650px|<table style="border-style: double; border-color: #c7c7c7;">
<br style="clear:both;" />
+
  <tr>
 +
    <td>Owner type</td>
 +
    <td>'''Stations w. UDP'''</td>
 +
  </tr>
 +
<tr>
 +
    <td>Id</td>
 +
    <td>8</td>
 +
  </tr>
 +
<tr>
 +
    <td>Event Type</td>
 +
    <td>'''10 - Received mail'''</td>
 +
  </tr>
 +
<tr>
 +
    <td>Sub Event</td>
 +
    <td>0</td>
 +
  </tr>
 +
<tr>
 +
    <td>When Change To</td>
 +
    <td>'''ON or OFF'''</td>
 +
  </tr>
 +
<tr style="rowspan:2;">
 +
    <td>When Related To</td>
 +
    <td>'''All'''</td>
 +
  </tr>
 +
<tr>
 +
    <td>
 +
For the section '''Action: Command or RCO''' <br>
 +
select the first option and type this command<br>
 +
in the text box
 +
    </td>
 +
    <td>'''@*d1 M7F01 %1.ref %2.ref W%chg(1,0) W0 W0 W0 W0'''</td>
 +
  </tr>
 +
</table>]]
  
The ICXICE-Client is now in setup mode. Switching between “Setup” and “Operation” is done by a single left click on the icon  [[File:ICX_Icon.jpg]]
+
===Configuration of prerecorded messages (available from Plugin Version 3.0.6)===
<br style="clear:both;" />
+
In the message configuration window, the user needs to provide the message's name and the corresponding directory number.
 +
[[File:ZenitelCallHandlerBroadcastMessageConfigWindow_1_306.JPG|thumb|center|800px|Prerecorded message configuration window]]
 +
{{note| Add the '''L''' character before the directory number. example '''L8194'''}}
  
==ICX - Configuration==
+
You can get the message directory number in the ICX-Web
Configuration for a system with ICX is described in this paragraph.
+
[[File:ZenitelCallHandlerICX-Web-PrerecordedMsg_DirNo.JPG|thumb|center|800px|]]
  
===Call requests and Ringing group===
 
Operator stations of type CRMV work with both call requests and calls to a Ringing Group.<br>
 
Operator stations of type ITSV-1/2/3 work best when the ITSV-1/2/3 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.<br>
 
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 a standard priority:
 
*Go to '''C:\Program Files\Milestone\MIPPlugins\Zenitel Call Handler'''.
 
*Open the file '''Zenitel.CallHandler.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/2/3 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/2/3 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 indicated in the picture below
 
[[File:ITSVAutoAnswer.jpg]]
 
<br style="clear:both;" />
 
  
===Calls in private to an ITSV-1/2/3===
+
<br>
If stations can make calls in 'Private mode' to the ITSV-1/2/3, the call will be shown in the Call Request list with the annotation '''P'''. Such calls can only be accepted from the ITSV-1/2/3 by 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===
+
==Using the Call Handler==
Each Smart Client in the system needs its own communication channel with ICX.
+
The Zenitel Call Handler (ICX-AlphaCom) plugin can be used for two scenarios: initiating calls and handling incoming calls.
====Communication via API ports 61112 and 61113====
 
As from ICX software version 1.1.3.0, ports 61112 and 61113 allow multiple connections. The total number of API connections is 120, independent of whether this is to a single port, single ICX, or divided over multiple servers.<br><br>
 
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 servers, [[AlphaCom_12.03_-_Release_Notes#Support_of_10_OPC_Servers|up to a maximum of 10 ports]].<br>
 
  
====Communication via the AlphaNet Service Provider====
+
Note that SIP audio is routed through ICX-AlphaCom, so audio calls and audio broadcasts are established on a Zenitel desktop station or softclient.
The [[AlphaNetServiceProvider|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.
 
  
===Options===
+
If the Operator uses a desktop station, the Call Handler transfers the call from the Smart Client to the desktop station where the operator gets audio through the station connected handset, speaker or headset.
The Zenitel Call Handler options are configured by pushing the “Option” button when the client is in setup mode.
 
There are 3 sections in the Options dialog.<br>
 
[[File:ICX_Options.jpg|thumb|left|700px|ICX Option Dialog]]
 
<br style="clear:both;" />
 
Make the changes as required in the Options dialog and click OK to save the changes.
 
  
====AlphaNet setup====
+
If the Operator uses the Zenitel softclient, the Call Handler transfers the call from the Smart Client to the softclient, which runs in background on the PC, and the operator gets audio through the PC connected microphone, speakers or headset.
*Direct connect - Enable this if communication is established 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 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
 
  
====Operator====
+
===Initiating Calls===
Enter the node number and directory number of the station which will be used by the operator to answer call requests and make calls.
+
In XProtect Smart Client on the Zenitel Audio tab select a device you wish to call and click on the green "Answer/Call" button.<br>
 +
A popup window will be displayed showing the active call, along with a video preview from an associated camera.
 +
<br>
 +
[[File:ZenitelCallHandlerOperation1_306.JPG|thumb|center|800px|Screenshot of popup window displaying the active call and associated camera]]
  
====Configuration====
 
'''Configuration file'''<br>
 
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.<br>
 
Simply do all configuration for one operator, and store the resulting file '''Zenitel.CallHandler.Plugin.ProjectData.xml''' in a location that can be reached by any operator workstation. Then simply point to this file every time a new workstation is configured.
 
  
'''Disable config'''<br>
+
<br>
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:
+
===Answering queued Calls===
*Navigate to the file '''Zenitel.CallHandler.Plugin.ConfigData.xml''', normally located at '''C:\Program Files\Milestone\MIPPlugins\Zenitel Call Handler''' and edit it; Find the line '''<DisableConfig>true</DisableConfig>''' and change '''true''' to '''false'''; Save the file.
+
# When an inbound call is received, a popup window will be displayed showing the queued call, along with a video preview from an associated camera.
 +
# To answer the call, click the green "Answer/Call" button.
 +
# If there is an active call, the Call Handler will automatically hang up the active call and answer the inbound call.
 +
# If there are multiple queued calls, they will be displayed in order of priority. To answer a specific queued call, simply click on the green "Answer/Call" button.
 +
<br>
 +
[[File:ZenitelCallHandlerOperation2_306.JPG|thumb|center|800px|Screenshot of popup window displaying the active call and his associated camera with two queued calls]]
  
===Explore===
 
[[File:ICX_Explore_new.jpg|thumb|left|700px|ICX Explore]]
 
<br style="clear:both;" />
 
  
Select the radio-button '''Explore system''' and click '''Explore'''. All configured ICXs and stations will be discovered and listed with directory numbers and display text as defined in the ICX. Newly discovered stations are indicated with '''+Added''', and stations whose name has changed since the last discovery are indicated with '''Updated'''.
+
<br>
<br style="clear:both;" />
+
===Tracking calls meant for a different operator===
 +
You can determine if a station is busy by checking the device list.  
 +
If another operator has initiated a call, the current user will be informed about which operator and station are engaged.
 +
Notably, there will be no popup window displayed in this scenario.
 +
[[File:ZenitelCallHandlerOperation3_306.JPG|thumb|center|800px|Two stations busy but the operator is not involved]]
  
===Station configuration===
 
  
===Save and Load===
 
[[File:Options_Load_Save.jpg|thumb|left|700px|Click Save to save]]
 
<br style="clear:both;" />
 
 
<br>
 
<br>
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.<br>
+
===Using the Popup Window===
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.
+
* The popup window displays the active call (if it was initiated by the operator) or a list of queued calls, along with a video preview from an associated camera.
 +
* The popup window will display the camera feed from the first associated camera of the active call (if present) or if there are no active calls, the first queued device-associated camera will be displayed.
 +
* To manually switch the camera video feed to any active or queued device, select the desired device from the dropdown list in the popup window.
 +
* To hang up the active call, click the red "Hang-Up" button.
 +
* To answer a queued call, click the green "Answer/Call" button.
 +
* If there are multiple queued calls, they will be displayed in order of priority. To answer a specific queued call, select it from the dropdown list in the popup window.
  
===Switch between configuration mode and operational mode===
 
  
To change between operational mode and configuration mode, left click the ICX-icon in the top right corner of the view  [[File:ICX_Icon.jpg]]
+
<br>
<br style="clear:both;" />
+
===Broadcasting (available from Plugin Version 3.0.6)===
 +
{{note | Prior to utilizing the features in the broadcasting tab, please ensure that you have configured groups, as explained in the '''Groups configuration''' section of this page.}}
  
==Operation==
+
====Live announcements (available from Plugin Version 3.0.6)====
===Popup window===
+
The user will be presented with a list of all available groups. <br>
As soon as a call is queued the popup window will be opened. Popup windows will be drawn on top of any other open window and persist as the topmost window until manually closed. This way the operator can use the VMS to view video from the stations and the popup window to answer calls.
+
From this list, the user can make a selection to interact with a particular group by simply clicking either of the two buttons: "Live Announcement" or "Prerecorded Message."
[[File:PopupDemo.PNG|thumb|left|500px|Popup window]]
+
[[File:ZenitelCallHandlerBroadcastView_306.JPG|thumb|center|800px|Broadcast tab view]]
<br style="clear:both;" />
 
  
===Usage===
+
<br>
The main TAB in operational mode is the '''Call Requests'''-TAB.<br/>
+
Notably, if any group is currently engaged or busy, both buttons will be displayed in a distinctive red color to indicate the unavailability of the group. <br>
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.<br>
+
This visual cue helps users quickly identify the status of the chosen group.
An established call is shown in the top section of the TAB and in the popup window. A timer shows how long the conversation has been going on.<br>
+
[[File:ZenitelCallHandlerGroupBussy_306.JPG|thumb|center|800px|Example of a busy group]]
[[File:SMartClient_ICX_Operation_1.PNG|thumb|left|500px|Call request TAB in operational mode]]
 
<br style="clear:both;" />
 
  
The '''Stations'''-TAB allows the selection of stations for directly calling them through the Milestone XProtect VMS. Clicking on the call icon will establish a call with the selected station and immediately open the popup window.  
+
<br>
''NOTE: The popup window lacks the station tab to place calls from the Milestone XProtect VMS. More on stations tabs in the Usage section below.''
+
When the user clicks on the "Live Announcement" button, a new window will appear, providing the user with essential information about the selected group. <br>
[[File:SmartClient ICX Operation 2.PNG|thumb|left|500px|Stations TAB in operational mode]]
+
Within this window, the user will have access to the following controls:
<br style="clear:both;" />
 
  
==Additional Information==
+
1. Stop Live Announcement Call: This button allows the user to halt the live announcement call in progress.
All Zenitel devices with a camera (TCIV and TCIV+) are certified to ONVIF Profile S. This allows the stations to be discovered by Milestone XProtect.
 
As from VS-IS software version 6.4.3.0, a number of additional capabilities have been added:
 
  
*Support for DeviceIO
+
2. Mute/Unmute Operator Microphone: Users can control the operator's microphone by toggling between mute and unmute states. <br>
*Audio Backchannel, meaning audio from Milestone XProtect VMS to the device
+
It's important to note that the initial microphone state is set to mute, ensuring a silent start for the operator's microphone during the live announcement.
 +
<br>
 +
[[File:ZenitelCallHandlerLiveAnnouncementWindow_306.JPG|thumb|center|800px|Live Announcement Window]]
  
In addition, some other major changes have been made:
 
  
*Audio only stations which can run VS-IS 6.4.3.0 are now able to generate a video stream and are therefore compliant with ONVIF Profile S
+
====Broadcasting prerecorded messages (available from Plugin Version 3.0.6)====
*As a further enhancement to DeviceIO, station modes are made available as a logical input to the Milestone XProtect VMS and can then trigger function in that Milestone XProtect VMS
+
{{note | Before using prerecorded messages, it's essential to upload WAV audio files to the ICX-AlphaCom system. For more information, please refer to the [https://wiki.zenitel.com/wiki/ICX_Web#Messaging ICX web Messaging]}}
  
====Non-Video Intercom stations as ONVIF Profile S compliant devices====
+
When the user clicks on the "Prerecorded Message" button, a new window will appear, providing the user with vital information about the selected group and controls for broadcasting prerecorded messages to that group. Within this window, the user can:
The stations generate a video stream (a Zenitel logo) and can be discovered as any other camera. As with the TCIV and TCIV+, the microphone is also discovered as a camera capability.
 
  
====Audio backchannel====
+
* Select a prerecorded message.
Milestone XProtect will also discover the presence of the station's loudspeaker. This then gives the possibility for the Milestone XProtect VMS operator to directly send a voice message to the station. This would normally be used when the same message needs to be broadcast to all cameras featuring a loudspeaker and which cannot be reached in the normal Zenitel way, as they are not part of an ICX-AlphaCom, IC-EDGE or SIP system.
+
* Choose whether to play it once, repeat it indefinitely (until manually stopped), or repeat it a specific number of times.
 +
* Configure message settings using the "Configure" button, which opens a new window for message setup.
 +
[[File:ZenitelCallHandlerBroadcastMsgWindow_306.JPG|thumb|center|800px|Prerecorded message control Window]]
  
====DeviceIO====
+
<br>
VMS's which support this ONVIF feature will be able to discover the presence of all inputs and outputs on the station, this includes Milestone XProtect VMS. Inputs can be used to trigger actions in the Milestone XProtect VMS event handler. Control of the outputs can be triggered directly by the operator, or as an action from the Milestone XProtect VMS event handler.
 
[[File:Support_for_ DeviceIO.png|thumb|left|700px|Support for DeviceIO]]
 
<br clear="all" />
 
=====Report DAK as Digital Input in ONVIF=====
 
Other than the general-purpose inputs which are available on the station, it is possible to have a DAK-button press reported as an input to the Milestone XProtect VMS. This can for instance be used as an additional way of signaling that there is somebody at the door, wanting to talk to the operator. (Turbine stations only, TCIS and TCIV+)
 
  
=====Report station call events as Digital Input in ONVIF=====
+
==Previous versions==
Stations know the state they are in: in a call, ringing, in call requester mode. This state information is now available to the ONVIF module in the station software and can be used to provide a number of additional 'virtual' inputs. These inputs are discovered through DeviceIO, in the way any physical input is discovered. States that can be signaled to Milestone XProtect are:
+
For configuration of previous versions of the plugin go to:
 
+
* [[Milestone Xprotect - ICX-Alphacom Integration (Zenitel Call Handler)]] or
*Call established - Call in progress input Activated
+
* [[Milestone Xprotect - ICX-Alphacom Integration (VS-Milestone Plugin)]]
*Call ended - Call in progress input Deactivated
+
<br style="clear:both;" />
*Station in ringing mode - both for an outgoing (ringback) and incoming call - Call ringing input Activated
 
*Station ringing mode ended - Call ringing input Deactivated
 
*Station has made a call request or ringing group call (only when the station is in AlphaCom mode) - Call queued input Activated
 
*Station leaves call request or ringing group call mode (only when the station is in AlphaCom mode) - Call queued input Deactivated
 
 
 
Use cases that can be solved by these inputs are:
 
 
 
*Switching a camera to a monitor pane at the start of a conversation
 
*Starting and stopping video and/or audio recording
 
*Adding an entry in a the log for audit trail purposes
 
 
 
=====The order of inputs being reported=====
 
The following order, from first to last, is used to report the different inputs if enabled and available.
 
 
 
*Call Active
 
*Call Queued
 
*Call Ringing
 
*DAK 1....n
 
*Inputs 1....n
 
  
[[Category:ONVIF]]
 
 
[[Category:3rd party integration]]
 
[[Category:3rd party integration]]
 +
[[Category: ICX-AlphaCom integration]]

Latest revision as of 13:57, 24 October 2024

AI.png
Milestone ICX-AlphaCom.png
Milestone XProtect - ICX-AlphaCom Integration

Introduction

The interface between ICX-AlphaCom and Milestone XProtect VMS is through an integration module which is available on the Downloads page of Zenitel Wiki.

This integration requires a Zenitel desktop station or SoftClient to be associated with each XProtect Smart Client, as audio is routed through ICX-AlphaCom.

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
  • that ICX-AlphaCom is operational, with all the system connected intercom devices and SoftClients configured

Only points which are specific to this integration and to connected intercom stations/SoftClients and IP speakers are described.

Read more about the integration in the Solution Brochure.

Licensing

Milestone XProtect

The integration interface does not require a specific license from Milestone.

However, note that Zenitel stations are typically registered as ONVIF devices in XProtect, to e.g. stream and record audio/video from stations. This requires separate station licenses from Milestone. For an overview of the ONVIF features supported in Zenitel devices, please read our article ONVIF Settings

ICX-AlphaCom

ICX-AlphaCom gateways requires the presence of the appropriate API/OPC license:

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

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

Note that the licenses are based on the number of intercom stations, not the number of gateways and servers. Thus, 1 API license can be used across multiple networked ICX-AlphaCom gateways and Milestone servers. The license is independent of the number of XProtect Smart Clients.

If the Zenitel SoftClient is to be used for SIP audio directly in the XProtect Smart Client you will need 1 SoftClient license (item number 1002600300) per Operator computer.


Installation

This section describes 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.

  • When installing (or uninstalling) the plugin all XPRotect Clients (XProtect Management Client and XProtect Smart Client) must be closed.
  • The plugin is to be installed on the same machine as the XProtect Smart client.
  1. Download the msi setup file from the Downloads section on Zenitel Wiki.
  2. Run the setup file, and follow the instructions on the screen
  3. When prompted for the installation location, select the Milestone/MIP installation folder (e.g. C:\Program Files\Milestone\MIPPlugins).
  4. Click "Close" to complete the installation.


Configuration

Basic plugin configuration

  1. Open the XProtect Smart Client.
  2. Open the "Configuration" window by clicking the "Configuration" Icon button in the toolbar.
  3. In the "Configuration" window enter the IP addressof your Zenitel intercom system in the "IP Address" field. The port used for connection is TCP port 61112 and must be open in the filters settings of the ICX-Alphacom.
  4. Click the "Connect" button and wait for the system to retrieve the list of available devices.
  5. Select the operator's device by choosing its directory number from the drop-down list.


Warning icon When using the Broadcasting feature, the operator station should not be an ITSV-2, ITSV-3, ITSV-4 or ITSV-5


Animation of the Zenitel Cal Handler configuration process



Associating cameras with devices

  1. Open the camera settings window.
  2. On the left side, there will be a list of devices registered with ICX-AlphaCom. On the right side, there will be a list of cameras registered within the XProtect system.
  3. Click on a device in the left list to select it.
  4. Click on an item in the right list to preview the video feed from that camera.
  5. To associate a camera with a selected device, click on the checkbox next to the camera's name.
  6. Repeat steps 3-5 to associate additional cameras with the selected device.
  7. Once satisfied with the configuration, close the camera settings window.
  8. Click "Save and Close" on the configuration window to save the changes.


Screenshot of the camera assosiation process



Groups configuration (available from Plugin Version 3.0.6)

To enable live announcements and prerecorded message broadcasting, you'll first need to configure the groups.
To do this, you'll require access to the AlphaPro software, and then you can proceed with the following steps:


1. Open the AlphaPro software and follow these steps to export the groups csv file:

ZenitelCallHandlerExportGroups 306.gif


2. Return to Milestone XProtect and within the Zenitel Call Handler, navigate to the 'Broadcasting' tab.
3. Follow these steps to import the groups list file exported from AlphaPro into Zenitel Call Handler:

ZenitelCallHandlerImportGroups 306.gif


4. Return to the AlphaPro software and follow these steps to configure the necessary events for group UI to function properly:

  • Open Exchange Information -> Events
ZenitelCallHandlerEventsConfig.gif
  • then Insert two new records with the following information:
Owner type Stations w. UDP
Id 8
Event Type 8 - Conversation - Outgoing
Sub Event 0
When Change To ON or OFF
When Related To All
For the section Action: Command or RCO
select the first option and type this command
in the text box
@*d1 M7F01 %1.ref %2.ref W%chg(1,0) W0 W0 W0 W0


Owner type Stations w. UDP
Id 8
Event Type 10 - Received mail
Sub Event 0
When Change To ON or OFF
When Related To All
For the section Action: Command or RCO
select the first option and type this command
in the text box
@*d1 M7F01 %1.ref %2.ref W%chg(1,0) W0 W0 W0 W0

Configuration of prerecorded messages (available from Plugin Version 3.0.6)

In the message configuration window, the user needs to provide the message's name and the corresponding directory number.

Prerecorded message configuration window
Note icon Add the L character before the directory number. example L8194


You can get the message directory number in the ICX-Web

ZenitelCallHandlerICX-Web-PrerecordedMsg DirNo.JPG



Using the Call Handler

The Zenitel Call Handler (ICX-AlphaCom) plugin can be used for two scenarios: initiating calls and handling incoming calls.

Note that SIP audio is routed through ICX-AlphaCom, so audio calls and audio broadcasts are established on a Zenitel desktop station or softclient.

If the Operator uses a desktop station, the Call Handler transfers the call from the Smart Client to the desktop station where the operator gets audio through the station connected handset, speaker or headset.

If the Operator uses the Zenitel softclient, the Call Handler transfers the call from the Smart Client to the softclient, which runs in background on the PC, and the operator gets audio through the PC connected microphone, speakers or headset.

Initiating Calls

In XProtect Smart Client on the Zenitel Audio tab select a device you wish to call and click on the green "Answer/Call" button.
A popup window will be displayed showing the active call, along with a video preview from an associated camera.

Screenshot of popup window displaying the active call and associated camera



Answering queued Calls

  1. When an inbound call is received, a popup window will be displayed showing the queued call, along with a video preview from an associated camera.
  2. To answer the call, click the green "Answer/Call" button.
  3. If there is an active call, the Call Handler will automatically hang up the active call and answer the inbound call.
  4. If there are multiple queued calls, they will be displayed in order of priority. To answer a specific queued call, simply click on the green "Answer/Call" button.


Screenshot of popup window displaying the active call and his associated camera with two queued calls



Tracking calls meant for a different operator

You can determine if a station is busy by checking the device list. If another operator has initiated a call, the current user will be informed about which operator and station are engaged. Notably, there will be no popup window displayed in this scenario.

Two stations busy but the operator is not involved



Using the Popup Window

  • The popup window displays the active call (if it was initiated by the operator) or a list of queued calls, along with a video preview from an associated camera.
  • The popup window will display the camera feed from the first associated camera of the active call (if present) or if there are no active calls, the first queued device-associated camera will be displayed.
  • To manually switch the camera video feed to any active or queued device, select the desired device from the dropdown list in the popup window.
  • To hang up the active call, click the red "Hang-Up" button.
  • To answer a queued call, click the green "Answer/Call" button.
  • If there are multiple queued calls, they will be displayed in order of priority. To answer a specific queued call, select it from the dropdown list in the popup window.



Broadcasting (available from Plugin Version 3.0.6)

Note icon Prior to utilizing the features in the broadcasting tab, please ensure that you have configured groups, as explained in the Groups configuration section of this page.


Live announcements (available from Plugin Version 3.0.6)

The user will be presented with a list of all available groups.
From this list, the user can make a selection to interact with a particular group by simply clicking either of the two buttons: "Live Announcement" or "Prerecorded Message."

Broadcast tab view


Notably, if any group is currently engaged or busy, both buttons will be displayed in a distinctive red color to indicate the unavailability of the group.
This visual cue helps users quickly identify the status of the chosen group.

Example of a busy group


When the user clicks on the "Live Announcement" button, a new window will appear, providing the user with essential information about the selected group.
Within this window, the user will have access to the following controls:

1. Stop Live Announcement Call: This button allows the user to halt the live announcement call in progress.

2. Mute/Unmute Operator Microphone: Users can control the operator's microphone by toggling between mute and unmute states.
It's important to note that the initial microphone state is set to mute, ensuring a silent start for the operator's microphone during the live announcement.

Live Announcement Window


Broadcasting prerecorded messages (available from Plugin Version 3.0.6)

Note icon Before using prerecorded messages, it's essential to upload WAV audio files to the ICX-AlphaCom system. For more information, please refer to the ICX web Messaging


When the user clicks on the "Prerecorded Message" button, a new window will appear, providing the user with vital information about the selected group and controls for broadcasting prerecorded messages to that group. Within this window, the user can:

  • Select a prerecorded message.
  • Choose whether to play it once, repeat it indefinitely (until manually stopped), or repeat it a specific number of times.
  • Configure message settings using the "Configure" button, which opens a new window for message setup.
Prerecorded message control Window


Previous versions

For configuration of previous versions of the plugin go to: