Actions

Audio Monitoring - Scanning

From Zenitel Wiki

Revision as of 13:51, 31 May 2022 by Roarl (talk | contribs) (Initialization)
AI.png

This application makes it possible to silently monitor in sequence a dynamically selected group of stations. The scanning can be paused, and one can listen to one particular station. In stations with DAK panel with LED (CRM-V and ECPIR-3P), the green will show which station that is currently monitored. In addition, the station display shows which station is currently being monitored.

The application is using the Simplex Conference feature.

Operation

There are 3 dedicated DAK keys for this function. The programming example in this article is using Dak 1-3.

  • DAK 3 (D3): Select Scanning Group key. Press D3, then select stations to be monitored by pressing the corresponding DAK key (or dialling the directory number). Red LED shows selected stations. Press D3 (or C-key) to terminate the selection.
  • DAK 1 (D1): Scan/Pause key. Press D1 to start the scanning. The system will start to monitor in rotating order, 2.5 seconds (configurable) at each station. Green LED shows currently monitored station. During the scanning, you can pause at one particular station by pressing D1. Resume scanning by pressing D1 again.
  • DAK 2 (D2): Stop key. Press D2 to stop scanning and clear the scanning group selection

Prerequisites

  • AlphaCom firmware AMC 11.2.3.11 or later
  • The directory number of the master station must be in the range of 1 - 6000.

Master Station configuration

Any master station can be used to perform the scanning, however when using a station with DAK panel with LEDs (CRM-V and ECPIR-3P), one will have a visual indication by red LED of which stations are selected for monitoring, and green LED showing which station is currently being monitored.

DAK Programming

The master station is using these DAK keys:

  • DAK1 = Leave blank in the DAK table (key press is triggering event 30)
  • DAK2 = Leave blank in the DAK table (key press is triggering event 30)
  • DAK3 = 9535 (Two-step event trigger. 9535 by default)

Simplex Conference and Station Group

From AlphaPro, select Users & Stations > UDP tab:

  • Include the master station in UDP group 1.
  • In the User Defined Parameter field, enter the index number of the simplex conference AND the station group to be used by this master station. Valid range 1 - 50. If you for example enter "20", then station group 20 will be used for the station selection, and simplex conference 20 (8220) will be used for the monitoring. It is recommended to use a fairly high number, say 16 or higher, to avoid conflict with group calls or conferences used for other purposes.
Use conference 20 and group 20 for the scanning feature



The master station must be set as Default Member of the conference.

From AlphaPro, open Simplex Conferences window, select the conference as defined in the User Defined Parameter field above, and set the master station as Default Member.

The master station is set as Default Member of conference 20


Event Handler Programming

A number of UDD variables are used:

  • UDD = Physical number of master station: "Next Member" UDD. Stores the physno of the next station in the scanning group
  • UDD = Directory number of master station: Scanning State. 0 = Scanning is running. 1 = Scanning is paused
  • UDD = 1000: Stores the index number of the conference and station group used by the scanning feature (same as entered in the User Defined Property field)
Note icon
  • Almost all events are made generic, so one can copy/paste into a new database without any modifications. However, there are two considerations:
  • The Directory number of the master station must be entered in the Scanning indication event
  • The Scanning Interval can be modified in the Scanning routine event


Initialization

When the master station goes online (event 13, OFF), write the conference/group index to UDD 1000. Empty the scanning group by triggering the Empty Group routine by the $ER command.

Initialization


Action commands:

WUDD 1000 %1.exp
$ER U15 U0 U1 U1 N%gns(%udd(1000),0) U3 L9993


Select stations - Start event

When DAK 3 - "Select Scanning Group" (9535) is pressed, set "Scan State" UDD = "Running". Turn on red LED in the DAK key, and write some help text to the display.

Event 2


WUDD %1.dir 0
IND %1.phy %1.dak(I%2.dir) 1 1
$DTS L%1.dir 'Select cell' U1

Select stations

After having pressed DAK 3, this event 25 is triggered every time a new directory number is dialled.

  • If the dialled number is 9535, it means DAK 3 is pressed again, and the selection mode is terminaled ($DISCON_ST).
  • If the dialed number is included (%sgm) in the group specified in UDD 1000, it will be removed from the group ($GRM). Red LED in associated DAK key will be turned off.
  • If the dialed number is not included (%sgm) in the group specified in UDD 1000, it will be included in the group ($GRM). Red LED in associated DAK key will be turned on.
Event 3


IF %op(%2.dir,=,9535)
$DISCON_ST L%1.dir U2
stop
ENDIF
IF %sgm(%2.phy,%udd(1000))
$GRM L%2.dir NG%udd(1000) U0
IND %1.phy %1.dak(I%2.dir) 1 1 OFF
stop
ENDIF
$GRM L%2.dir NG%udd(1000) U1
IND %1.phy %1.dak(I%2.dir) 1 1 ON

Start/Pause scanning

DAK 1 will trigger event 30, subevent 1, ON.

  • If the scanning group is empty, scanning will not be started. Write to the display that the user must add stations to the group.
  • If the current "Scanning State" is "Running", then toggle the mode to "Paused", and stop the timer that is used for stepping to the next station. Write status to the display.
  • If the current "Scanning State" is "Paused", then toggle the mode to "Running", and restart the timer that is used for stepping to the next station. Write status to the display.
Event 4


IF %op(%gns(%udd(1000),0),=,0)
$DTS L%1.dir 'D3: Add stations..' U1
stop
ENDIF
IF %udd(%1.dir)
WUDD %1.dir 0
$ST L%1.dir W0 L9991
$DTS L%1.dir 'Scanning paused' U1
stop
ENDIF
WUDD %1.dir 1
$ST L%1.dir W1 L9991
$DTS L%1.dir 'Scanning...' U1

Scanning routine

This timer event is used to step to the next station in the group after a preset time.

  • First the conference is turned off to all stations in the group
  • Use %gns to search the group for members. If there are more members in the group, turn on conference ($CONF) on the next member, and store this station in UDD = physno (WUDD)
  • Restart the timer ($ST), which will trigger this same event at timeout
  • Force the next station to feed audio in the conference ($CONF_TALK)
  • If there are no more members in the group, set reset "Next Station" UDD to 0, and restart this event by starting the timer using a very short time (100ms).
Event 5


$CONF NG%udd(1000) LV
IF %gns(%udd(1000),%udd(%1.phy))
$CONF N%gns(%udd(1000),%udd(%1.phy)) NC%udd(1000)
WUDD %1.phy %gns(%udd(1000),%udd(%1.phy))
$ST L%1.dir W25 L9991
$CONF_TALK N%udd(%1.phy)
stop
ENDIF
WUDD %1.phy 0
$ST L%1.dir W1 L9991
Note icon The line " $ST L%1.dir W25 L9991" specifies the scanning interval to 2.5 seconds. Change this value if shorter or longer intervals are required


Stop scanning

DAK 2 will trigger event 30, subevent 2 ON.

  • Stop the scanner timer, and turn off conference on all stations in the scanning group
  • Turn off all indications in the DAK keys, and restore the display text to standard
  • Empty the scanning group by triggering the Empty Group routine by the $ER command.
Event 6


$ST L%1.dir W0 9991
$CONF NG%udd(1000) LV
IND %1.phy 0 0 0 OFF
$DTS L%1.dir
$ER U15 U0 U1 U1 N%gns(%udd(1000),0) U3 L9993

Scanning indication

The Simplex Conference event is used to turn on green LED in the DAK key of the station being scanned. In addition, it will write to the display of the master station which station is currently being scanned.

Event 7


OWN r 101
IND %2.phy %2.dak(I%1.dir) 2 1
IF %chg(1,0)
$DTS L%2.dir 'Scanning....' U1
$DTS L%2.dir '%1.dir %1.nam' U2
ENDIF
Note icon The line "OWN r 101" specifies number 101 to be the directory number of the master station. Must be modified according to the actual directory number of the master station. (The OWN command modifies the "Related To" number of the event).


Empty Group routine

Event 8


IF %gns(%udd(1000),0)
$GRM N%gns(%udd(1000),0) NG%udd(1000) U0
$ER U15 U0 U1 U1 N%gns(%udd(1000),0) U3 %2.ref
ENDIF