Visitor Intercom - Remote call setup and Listen-In
From Zenitel Wiki
This article describes how the ICX-AlphaCom system can be configured to control call setup between pairs of stations, e.g. used for visitor intercoms i prison, interrogation rooms etc. Up to 20 pairs of intercoms are supported.
From the Control Room Station one can:
- Set up and tear down calls between two stations in a "pair"
- Silently Listen-In on an active conversation. Talkback is possible.
- Start/stop recording of active calls. This requires that a Zenitel Audio Recorder is installed.
As an option it is possible set a conversation timer, and play a voice message to the intercom pair when there is a short time left of the conversation.
- 1 Operation
- 2 Number plan
- 3 DAK-48 panel configuration
- 4 Event Handler configuration
- 5 The use of UDD variables
The application is based on using the IP Flush Master with a DAK-48 module. One DAK panel supports up to 16 pairs of intercoms. If more pairs are needed (max. 20 pairs), a second DAK-48 panel must be added. Function keys on the DAK48 panel will be as follows:
- Call setup: Press the "Pair x" button. The two intercoms in the pair will be connected, and the green LED will be lit. Press the button again to terminate the connection. One can activate as many pairs as one wants.
- Listen-In: Press the "Listen x" button to silently monitor the conversation in the selected pair. Press the same button again (or C-button) to stop Listen-In. Only one conversation can be monitored at a time. If pressing a new "Listen x" button, the current monitoring will be terminated, and the new selection will be activated. Active Listen-In is indicated by green LED. One can start the "Listen-In" before or after a call has been set up. Talkback into the conversation is possible by pressing the M-key.
- Audio Recording: Press the "REC x" button to start audio recording of the conversation in the selected pair. Recording can be started only after the call has been set up. An active recording is indicated by red LED. Multiple conversations can be recorded at the same time.
The application is using the Duplex Conference feature of the ICX-AlphaCom. There are 20 conference channels, default numbers are 8301-8320.
Due to the Event Handler configuration used in this application, a strict number plan must be followed.
- Each intercom pair is using one fixed duplex conference.
- The "Call setup", "Listen-In" and "Record" are Event Triggers, feature 52.
The general directory number rules are as follows:
- Intercom pair xx:
- Conference number: 83xx
- Station A: 41xx
- Station B: 42xx
- Call Setup: 43xx
- Listen-In: 44xx
- Record: 45xx
- Example - Pair 4:
- Conference number: 8304
- Station A: 4104
- Station B: 4204
- Call Setup: 4304
- Listen-In: 4404
- Record: 4504
Station directory numbers
The Control Room Station must have directory number 4000.
The stations in the pairs must have directory numbers 41xx (Station A) and 42xx (Station B) according to the rules above.
Station A in each pair must be included in UDP group 1. Note that "Station B" must not be in the UDP group.
Event Trigger directory numbers
Event Trigger numbers must be created in AlphaPro, Directory & Features menu as Event Trigger, feature 52.
Note that the ID field is used to separate the events. The ID field is linked to the Sub-Event field in the Event Handler.
- Call Setup: 43xx. ID field = 1.
- Listen-In: 44xx. ID field = 2.
- Record: 45xx. ID field = 3.
DAK-48 panel configuration
If more that 20 DAK keys are used, one have to "borrow" DAK tables from free users.
Note that the Event Trigger numbers must be entered with the letter "E" in front:
Below shows what numbers to assign to the first 24 DAK keys on the panel:
Event Handler configuration
Call Setup event
IF %udd(%2.dir(2)) $ODC L41%2.dir(2,0) L8300 IND %1.phy %1.dak(E%2.dir) 2 1 OFF stop ENDIF $ODC L41%2.dir(2,0) L83%2.dir(2,0) IND %1.phy %1.dak(E%2.dir) 2 1 ON
$ODC L42%1.dir(2,0) L%chg(%2.dir,8300) WUDD %1.dir(2) %chg(1,0) IF %chg(0,1) IF %udd(1%2.dir(2,0)) $REC L%2.dir U0 WUDD 1%2.dir(2,0) 0 OWN 4000 IND %1.phy %1.dak(E45%2.dir(2,0)) 1 3 OFF ENDIF ENDIF
IF %op(%2.dir,=,%udd(5000)) $DISCON_ST L%1.dir U0 stop ENDIF $SNV Q0 W1 W6 W54 $DISCON_ST L%1.dir U0 pause pause pause pause $ODC L%1.dir L83%2.dir(2,0) U1 U4 pause pause pause $SNV Q4 W1 W6 W54
IND %1.phy %1.dak(E44%2.dir(2,0)) 2 1 WUDD 5000 %chg(44%2.dir(2,0),0) IF %chg(1,0) $DIP L%1.dir "auo 8" ENDIF
Audio Recording event
IF %udd(1%2.dir(2,0)) $REC L83%2.dir(2,0) U0 IND %1.phy %1.dak(E45%2.dir(2,0)) 1 3 OFF WUDD 1%2.dir(2,0) 0 stop ENDIF IF %udd(%2.dir(2,0)) $REC L83%2.dir(2,0) U1 IND %1.phy %1.dak(E45%2.dir(2,0)) 1 3 ON WUDD 1%2.dir(2,0) 1 stop ENDIF pause $DTS L%1.dir 'Rec. not avail.' U1 $DTS L%1.dir 'Call not active' U2
Restore "Microphone mute" after Talkback
If the Control Room does Talkback" to an intercom pair by pressing the M-key while Listen-In is active, this event will reassure that the microphone is muted again when the M-key is released.
IF %udd(5000) pause $DIP L%1.dir "auo 8" ENDIF
Initialization of UDD variables at ICX System startup
WUDD 5000 0 tmp 0 "0" LOOP tmp 0 "%op(%tmp(0),+,1)" WUDD %tmp(0) 0 IF %op(%tmp(0),=,20) BREAK ENDIF ENDLOOP tmp 1 "100" LOOP tmp 1 "%op(%tmp(1),+,1)" WUDD %tmp(1) 0 IF %op(%tmp(1),=,120) BREAK ENDIF ENDLOOP
Conversation timeout and Voice Message alert
A timer can be started when the call is established between a pair. At timeout the call will be terminated. One can also play a voice message to notify the parties that the call is soon to be ended.
In the below configuration example, there are three timers:
- Timer 1: After 15 minutes (900.0 sec) a voice message (Message 1, 8191) is played to the two parties, e.g. "The call will end in 5 minutes"
- Timer 2: After 19 minutes (1140.0 sec) a voice message (Message 2, 8192) is played to the two parties, e.g. "The call will end in 1 minute"
- Timer 3: After 20 minutes (1200.0 sec) is terminated
Each pair of intercoms must have a dedicated Group Call for the voice announcement. The Directory Number of the group call must be 46xx (4601-4620 if there are 20 pairs).
- In group 4601 include station 4101 (Station A, Pair 1) and 4201 (Station B, Pair 1).
- In group 4602 include station 4102 (Station A, Pair 2) and 4202 (Station B, Pair 3).
- In group 4603 include station 4103 (Station A, Pair 3) and 4203 (Station B, Pair 3).
Modify the Call Setup event by adding the lines in bold, they will start and stop the three timers:
IF %udd(%2.dir(2)) $ODC L41%2.dir(2,0) L8300 IND %1.phy %1.dak(E%2.dir) 2 1 OFF $ST L%1.dir W0 L1%2.dir(2) $ST L%1.dir W0 L2%2.dir(2) $ST L%1.dir W0 L3%2.dir(2) stop ENDIF $ODC L41%2.dir(2,0) L83%2.dir(2,0) IND %1.phy %1.dak(E%2.dir) 2 1 ON $ST L%1.dir W9000 L1%2.dir(2) $ST L%1.dir W11400 L2%2.dir(2) $ST L%1.dir W12000 L3%2.dir(2)
The timers are using "labels" 101-120, 201-220 and 301-320 as identifiers. When the Timeout event (21) is triggered, these labels are used to decide which message to play to which group. Examples:
- 101 = Play message 1 to group 4601
- 105 = Play message 1 to group 4605
- 204 = Play message 2 to group 4604
- 302 = 3: terminate, call in pair 02
IF %op(%2.dir,>=,101) IF %op(%2.dir,<=,120) $GM L46%2.dir(2) N!1 ENDIF ENDIF IF %op(%2.dir,>=,201) IF %op(%2.dir,<=,220) $GM L46%2.dir(2) N!2 ENDIF ENDIF IF %op(%2.dir,>=,301) IF %op(%2.dir,<=,320) $DISCON_ST L41%2.dir(2) U3 IND %1.phy %1.dak(E43%2.dir(2)) 2 1 OFF ENDIF ENDIF
The use of UDD variables
UDDs are used to store various status information:
- UDD 1 - 20: Call status, one UDD per intercom pair: 0 = Call not active. 1 = Call is active.
- UDD 101 - 120: Recordig status, one UDD per intercom pair: 0 = Recording not active. 1 = Recording active.
- UDD 5000: 0 = Listen-In not active. When Listen-In is active the UDD stores which pair is monitored. (44xx, where xx is the pair).