- Infoshare
-
Signed in: Administrator
- Change Password
- Signoff
- Online Documentation
- Adutante ver. 5.0.1.0
PAGE TITLE
Date Last ModifiedPAGE TITLE
Date Last ModifiedD- Channel Events are special events available on digital PBX recording boards such as SmartWorks NGXXXX and Synway DSTXXXX series.
Digital telephone sets often have multiple controls: buttons, LEDs and menu displays. D-Channel Events correspond to activities or state changes of those controls: light on, button press, feature selected, light flashing etc.
Considering the multitude of different events generated on these boards, the recorder is expected to handle different combinations of these events to execute specific actions e.g. Start Stop recording. To achieve this, D-Channel events configuration of VSLogger is organized as D-Channel Event Sets, with expected events, conditions, and corresponding actions.
CLI (Command Line Interface) |
GUI (Graphical User Interface) | |
To access D-Channel Event sets configuration
Each channel includes up to 5 event sets. Each event set includes 1-N d-ch events (see CLI (config channel evtsets eventset_1 ) list command for available event ids) To process stop recording, it is often important to know what event set triggered start recording. For this, there are four options available for triggering "stop recording" event action, see stopby [first|last|all|any] parameter.
|
1) Navigate to Setup -> Channels -> Edit selected channel, then scroll to the "D-Channel Event Sets" 2) Click on the blue "Add" button to create an event set 3) The newly created event set will appear 4) Click on the + button on the event set to begin configuration |
|
Configure D-Channel set
|
1) Select event 2) Select action to perform 3) Click Add 4) The newly created event and action will appear 5) Submit event 6) Repeat similar steps to configure "STOP" when "ONHOOK" event 7) The event actions should be displayed below the event set |
|
Use list command for available event ids
|
||
Finding your individual D-Channel events per call patternVSLogger CLI provides a method (debug command) which allows to review events detected during the test call on a specific phone. If phone models, styles of calling (call patterns: handset, headset, speakerphone), are identical for all recorded phones – then you have only one test to do. Otherwise, (the more likely scenario) you’ll need to test each phone model and call pattern individually. To make process simple we recommend to test a single channel (recorded phone) and record events for a brief (5 to 10 second) test call. In the example below, there will be 3 call patterns for single handset model connected to recorder channel 16. We'll explain other possibilities, and the logic involved in selecting an event, or set of events. Events from other phones ( channels ) have been removed. To view events, open the CLI and enabled debug mode.
Now, if you'll make a call on the telephone connected to the selected hardware, you’ll see corresponding events… To end the test type exit.
|
||
Test 1, using handset only (significant events listed):
|
||
Test 2, using headset only (significant events listed):
|
||
Test 3, using speaker only (significant events listed):
For each call pattern we look for common triggers to use as start and stop recording events. . Handset and Headset calls look the same: Start – Off Hook, Audio 7 Stop – On Hook, Audio 4
Speaker call: Start – Speaker button, Speaker light on, Audio 7, Audio F Stop – Speaker light off, Audio C, Audio 4
In such case the suggestion would be… 1 event set: Start – on Audio 7 Stop – on Audio 4
|
||
As other example, if test call events were different : Handset call : On / Off Hook only Headset call : Audio C On / Audio 0 Off Speaker call: Light On / Off The suggested configuration would be 3 sets, 1 for each type of event, and stop by last(most recent) event set.
The logic of above configuration: If a handset answered the call (normal start). Then, they switched to the speaker for the conference (speaker light came on). Next, the phone was placed on hook (as they switched to the speaker). Lastly, ending the call… (Speaker light off.) We would get the entire recording, as the speaker light was the last set used.
|
||
Add and configure individual D-Channel events
|
||
About Event Conditions, Actions and Event processing sequence Each event can contain none, one or more conditions Each event can contain one or more actions Events processing sequence. First matching condition, terminates processing. For each evtsets do if (Event found) 1. check conditions 2. if matching condition found, process all event actions and exit this event processing end if
|
||
Configure event conditions and actions Options for conditions and actions can be displayed as below
->add act ?
Refer to table and samples below for more details
|
D-ch events can be divided by following categories:
BTN events : btn_press, funct_btn_press .....
LED events : light_on, light_off, funct_light_on ....
AUDIO event : audio_change
MESSAGE event : message_change
OTHER events (events without conditions) : offhook, onhook, release_btn_press, trans_btn_press, call_alerting, call_connected, call_released .....
D-channel event Category |
Configuration commands event edit mode level cli>(config-ch_1-evtsets-evtset_1-event_func_btn_pressed(0) |
Conditions for BTN events : btn_press, funct_btn_press ..... |
add cond [1-n] btn key [0-256,0-256,...] - create new condition and insert at position [1-n] set cond [1-n] btn key [0-256,0-256,...] - change setting of condition at position [1-n] remove cond [1-n] - remove condition at position [1-n] Note: you can set multiple button indices(comma delimited) in single condition key parameter. |
Conditions for LED events : light_on, light_off, funct_light_on .... |
add cond [1-n] led key [0-256,0-256,...] - create new condition and insert at position [1-n] set cond [1-n] led key [0-256,0-256,...] - change setting of condition at position [1-n] remove cond [1-n] - remove condition at position [1-n] Note: you can set multiple button indices(comma delimited) in single condition key parameter. |
Actions for BTN events : btn_press, funct_btn_press ..... and Actions for LED events : light_on, light_off, funct_light_on .... |
add act [1-n] start key [0-256] field [callerid|dialed|note|sessionid|extension|direction] val [] ref [] - create new action and insert at position [1-n] set act [1-n] start key [0-256] field [callerid|dialed|note|sessionid|extension|direction] val [] ref [] - change settings of action at position [1-n] add act [1-n] set key [0-256] field [callerid|dialed|note|sessionid|extension|direction] val [] - create new action and insert at position [1-n] set act [1-n] set key [0-256] field [callerid|dialed|note|sessionid|extension|direction] val [] - change settings of action at position [1-n] add act [1-n] stop key [0-256] field [callerid|dialed|note|sessionid|extension|direction] val [] ref []- create new action and insert at position [1-n] set act [1-n] stop key [0-256] field [callerid|dialed|note|sessionid|extension|direction] val [] ref []- change setting of action at position [1-n] remove act [1-n] - remove condition at position [1-n] Note: you can select none or single button index in in action key parameter. So you might have single condition true for several buttons, and several separate actions for those buttons |
Conditions for MESSAGE event : message_change |
add cond [1-n] lookup key [value | regExp] opr [eq|noteq|contain|notcontain|match|notmatch] - create new condition and insert at position [1-n] set cond [1-n] lookup key [value | regExp] opr [eq|noteq|contain|notcontain|match|notmatch] - change setting of condition at position [1-n] remove cond [1-n] - remove condition at position [1-n] |
Actions for MESSAGE event : message_change |
add act [1-n] rewrite key [regExp] field [callerid|dialed|note|sessionid|extension|direction] val [$1] - create new action and insert at position [1-n] set act [1-n] rewrite key [regExp] field [callerid|dialed|note|sessionid|extension|direction] val [$1] - change setting of action at position [1-n] add act [1-n] set field [callerid|dialed|note|sessionid|extension|direction] val [] - create new action and insert at position [1-n] set act [1-n] set field [callerid|dialed|note|sessionid|extension|direction] val [] - change settings of action at position [1-n] remove act [1-n] - remove condition at position [1-n] |
Conditions for AUDIO event : audio_change |
add cond [1-n] audio trans from [0x0-0xf] to [0x0-0xf] - create new condition and insert at position [1-n] set cond [1-n] audio trans from [0x0-0xf] to [0x0-0xf] - change setting of condition at position [1-n] remove cond [1-n] - remove condition at position [1-n] Note: audio change values can be detected and tested with driver provided tools e.g. SmartTap Even viewer. Values used for from and to parameters are corresponding values of AUDIO_CHANGE event trans - (optional), transition from to see audio_change Event parameter notes below |
Actions for AUDIO event : audio_change |
add act [1-n] start field [callerid|dialed|note|sessionid|extension|direction] val [] ref []- create new action and insert at position [1-n] set act [1-n] start field [callerid|dialed|note|sessionid|extension|direction] val [] ref [] - change setting of action at position [1-n] add act [1-n] set field [callerid|dialed|note|sessionid|extension|direction] val [] - create new action and insert at position [1-n] set act [1-n] set field [callerid|dialed|note|sessionid|extension|direction] val [] - change setting of action at position [1-n] add act [1-n] stop field [callerid|dialed|note|sessionid|extension|direction] val [] ref []- create new action and insert at position [1-n] set act [1-n] stop field [callerid|dialed|note|sessionid|extension|direction] val [] ref []- change setting of action at position [1-n] remove act [1-n] - remove condition at position [1-n] |
Actions for OTHER events: offhook, onhook, release_btn_press, trans_btn_press, call_alerting, call_connected, call_released ..... |
add act [1-n] start field [callerid|dialed|note|sessionid|extension|direction] val [] ref []- create new action and insert at position [1-n] set act [1-n] start field [callerid|dialed|note|sessionid|extension|direction] val [] ref [] - change setting of action at position [1-n] add act [1-n] set field [callerid|dialed|note|sessionid|extension|direction] val [] - create new action and insert at position [1-n] set act [1-n] set field [callerid|dialed|note|sessionid|extension|direction] val [] - change setting of action at position [1-n] add act [1-n] stop field [callerid|dialed|note|sessionid|extension|direction] val [] ref []- create new action and insert at position [1-n] set act [1-n] stop field [callerid|dialed|note|sessionid|extension|direction] val [] ref []- change setting of action at position [1-n] remove act [1-n] - remove condition at position [1-n] Note: These events do not have conditions |
CLI (Command Line Interface) |
GUI (Graphical User Interface) |
Using ref parameter Parameter ref can be used to associate start and stop events within the same event set. For example, if you have several start events and several stop events and you want to use specific stop only if recording started with specific start. Starts: event1 start ref 1 , event3 start ref 2 , event3 start ref 3 Stops: event4 stop ref 1 , event5 stop ref 2 , event6 stop ref 3 |
|
Sample configurationsScenario 1 :
|
|
add event and start activity
return to event set configuration mode
return to event set configuration mode and display setting
|
1) Configuration of "Start recording on 'offhook' event" 2) Configuration of "Stop recording on 'onhook' event" 3) The event actions will be displayed below the event set |
Scenario 2:
Note : audio change parameters from and to accept values in hex format (both 10 or 0x10 will be accepted as hex 10 ( 16 decimal) ). see audio_change Event parameter notes below |
|
cli>(config)ch 2 cli>(config-ch_2) evtsets cli>(config-ch_2-eventsets)add evtset 1 cli>(config-ch_2-eventsets-evtset_1)add evt audio_change cli>(config-ch_2-eventsets-evtset_1-evt_audio_change)add cond audio from 8 cli>(config-ch_2-eventsets-evtset_1-evt_audio_change)add act start cli>(config-ch_2-eventsets-evtset_1-evt_audio_change)exit cli>(config-ch_2-eventsets-evtset_1)add evt audio_change cli>(config-ch_2-eventsets-evtset_1-evt_audio_change)add cond audio from 0 cli>(config-ch_2-eventsets-evtset_1-evt_audio_change)add act stop cli>(config-ch_2-eventsets-evtset_1)show
|
1) Configuration of "Start recording on "audio_change" event , if audio = 8" 2) Configuration of "Stop recording on "audio_change" event, if audio = 0" 3) The event actions will be displayed below the event set |
Scenario 3:
Note : audio change parameters from and to accept values in hex format (both 10 or 0x10 will be accepted as hex 10 ( 16 decimal) ) see audio_change Event parameter notes below |
|
cli>(config-ch_2-eventsets-evtset_1)add evt audio_change cli>(config-ch_2-eventsets-evtset_1-evt_audio_change)add cond audio trans from 3 to 8 cli>(config-ch_2-eventsets-evtset_1-evt_audio_change)add act start cli>(config-ch_2-eventsets-evtset_1-evt_audio_change)exit cli>(config-ch_2-eventsets-evtset_1)add evt audio_change cli>(config-ch_2-eventsets-evtset_1-evt_audio_change)add cond audio from 0 cli>(config-ch_2-eventsets-evtset_1-evt_audio_change)add act stop cli>(config-ch_2-eventsets-evtset_1-evt_func_btn_pressed)exit cli>(config-ch_2-eventsets-evtset_1)show
|
1) Configuration of "Start recording on "audio_change" event, if audio transition from=3 to=8" 2) Configuration of "Stop recording on "audio_change" event, if audio = 0" 3) The event actions will be displayed below the event set |
Scenario 4:
|
|
cli>(config-ch_2-eventsets-evtset_1-evt_func_btn_pressed)add cond btn key 1,3,5,7 cli>(config-ch_2-eventsets-evtset_1-evt_func_btn_pressed)add act start cli>(config-ch_2-eventsets-evtset_1-evt_func_btn_pressed)add act set field note val btn1 key 1 cli>(config-ch_2-eventsets-evtset_1-evt_func_btn_pressed)exit cli>(config-ch_2-eventsets-evtset_1)add evt func_btn_pressed cli>(config-ch_2-eventsets-evtset_1-evt_func_btn_pressed)add cond btn key 2,4,6 cli>(config-ch_2-eventsets-evtset_1-evt_func_btn_pressed)add act set field note val btn2 key 2 cli>(config-ch_2-eventsets-evtset_1-evt_func_btn_pressed)add act stop cli>(config-ch_2-eventsets-evtset_1-evt_func_btn_pressed)exit cli>(config-ch_2-eventsets-evtset_1)show
|
1) Configuration of "Start recording on "func_btn_pressed" event, if buttons numbers = 1 or 3 or 5 or 7" 2) Configuration of "Update "note" field with value "btn1" , if button number = 1" 3) Configuration of "Update "note" field with value "btn2", if button number = 2" 4) Configuration of "Stop recording on "func_btn_pressed" event, if button number = 2 or 4 or 6" 5) The event actions will be displayed below the event set |
Scenario 5:
|
|
cli>(config-ch_2-eventsets-evtset_1)add evt light_on cli>(config-ch_2-eventsets-evtset_1-evt_light_on)add cond led key 1,3,5 color red cli>(config-ch_2-eventsets-evtset_1-evt_light_on)add act start cli>(config-ch_2-eventsets-evtset_1-evt_light_on)exit cli>(config-ch_2-eventsets-evtset_1)add evt light_off cli>(config-ch_2-eventsets-evtset_1-evt_light_off)add cond led key 1,3,5 cli>(config-ch_2-eventsets-evtset_1-evt_light_off)add act stop cli>(config-ch_2-eventsets-evtset_1-evt_func_btn_pressed)exit cli>(config-ch_2-eventsets-evtset_1)show
|
1) Configuration of "Start recording on "light_on" event, if led number = 1 or 3 or 5 and led color is red" 2) Configuration of "Stop recording on "light_off" event, if led number = 1 or 3 or 5" 3) The event actions will be displayed below the event set |
Scenario 6:
|
|
cli>(config-ch_2-eventsets-evtset_1)add evt message_change cli>(config-ch_2-eventsets-evtset_1-evt_message_change)add cond lookup key AGENT opr contain cli>(config-ch_2-eventsets-evtset_1-evt_message_change)add act set field note val Agent1 cli>(config-ch_2-eventsets-evtset_1-evt_message_change)exit li>(config-ch_2-eventsets-evtset_1)show
|
1) Configuration of "Update "note" field with value "Agent1" on channel 2 on "message_change" event, if message contains text "AGENT"" 2) The event action will be displayed below the event set |
Scenario 7:
|
|
This example intended for advanced users familiar with regular expressions. Some VSLogger CLI parameters support Regular expressions based on PCRE, the Perl Compatible Regular Expressions library by Philip Hazel (see http://www.pcre.org) For more information, see message_change Event parameter notes
cli>(config-ch_2-eventsets-evtset_1)add evt message_change cli>(config-ch_2-eventsets-evtset_1-evt_message_change)add cond lookup key RegExp1 opr match cli>(config-ch_2-eventsets-evtset_1-evt_message_change)add act rewrite key regExp2 field callerid val $1 cli>(config-ch_2-eventsets-evtset_1-evt_message_change)exit li>(config-ch_2-eventsets-evtset_1)show
}
|
1) Configuration of "Update "callerid" field with regExp2 property $1 , on "message_change" event, which match regExp1 message contains text "AGENT"" 2) The event action will be displayed below the event set |
message_change Event parameter notes
Note: Some VSLogger CLI parameters support Regular expressions based on PCRE, the Perl Compatible Regular Expressions library by Philip Hazel (see http://www.pcre.org) Message-change event corresponds to Telephone display text changes and can happen multiple times during the call. The event contains new text applied to telephone display at a specific moment and this text can be creatively used with VSLogger conditions and actions. |
|
Basically programming of message_change events includes two steps;
Create conditions without regular expressions:
Create SET actions without regular expressions:
Create conditions with regular expressions:
Create REWRITE actions with regular expressions:
Note: When you create a regular expression you have the option of capturing portions of the match and saving them as placeholders. They are numbered starting at
|
|
audio_change Event parameter notes
|
from and to parameters
audio_change event parameters from and to accept values in hex format (both f or 0xf will be accepted as hex f ). Longer values 0xFF or similar will be accepted, but only low 4 bits will be used by the program.
Bit 0 = Handset transmit (Mic)
Bit 1 = Handset receive (Spkr)
Bit 2 = Speakerphone (handsfree) transmit (Mic)
Bit 3 = Speakerphone (handsfree) receive (Spkr)
Bits 4-31 = Reserved
Per AudioCodes NGX boards documentation: Transmit and receive are always with respect to the phone’s position. Transmit - phone to PBX, and
Receive - PBX to the phone. The following table lists all possible options. Not all states are observed with each PBX
Device State | SPKR RECV |
SPKR TRANS |
HDSET RECV |
HDSET TRANS (LSB) |
HEX VALUE |
All devices are off | 0 | 0 | 0 | 0 | 0x0000 |
0 | 0 | 0 | 1 | 0x0001 | |
0 | 0 | 1 | 0 | 0x0002 | |
Handset active | 0 | 0 | 1 | 1 | 0x0003 |
0 | 1 | 0 | 0 | 0x0004 | |
0 | 1 | 0 | 1 | 0x0005 | |
0 | 1 | 1 | 0 | 0x0006 | |
0 | 1 | 1 | 1 | 0x0007 | |
1 | 0 | 0 | 0 | 0x0008 | |
1 | 0 | 0 | 1 | 0x0009 | |
Handset & SPR receive only |
1 | 0 | 1 | 0 | 0x000A |
1 | 0 | 1 | 1 | 0x000B | |
1 | 1 | 0 | 0 | 0x000C | |
1 | 1 | 0 | 1 | 0x000D | |
1 | 1 | 1 | 0 | 0x000E | |
All devices are active | 1 | 1 | 1 | 1 | 0x000F |