Add exec: flag, 'P' (for "Priority") to bind_digit_action so that a
match is returned as soon as it is found, without waiting for the
inter-digit timeout to expire.
This can be very useful where the system needs to be more responsive
to the user.
By default, if multiple bindings are enabled and one or more use a
regex, switch_ivr_dmachine_check_match waits for the inter-digit
timeout to expire before returning a match. This ensures overlapping
patterns, such as "^\d{4}$" and "^\12{3}$" can both be reliably matched
When the 'P' flag is specified with bind_digit_action, whose action is
exec, a match is returned as soon as the condition is satisfied,
regardless of whether or not a longer match may be possible if further
digits were entered.
For example:
<action application="bind_digit_action" data="test,~^*\d{2}$,
exec[P]:execute_extension,myextn,self,self"/>
<action application="bind_digit_action" data="test,~^#\d{2}$",
exec:execute_extension,myotherextn,self,peer"/>
The first example causes a match to be returned immediately
after the 2nd digit is received, whereas the second example
defaults to waiting for the inter-digit timeout to expire
before returning.
In cases where the 'P' flag is used with a regex and string, and both
are matched, the more explicit, string match will be returned.
For example:
<action application="bind_digit_action" data="test,~^*\d{2}$,
exec[P]:execute_extension,myextn,self,self"/>
<action application="bind_digit_action" data="test,*12,
exec[P]:execute_extension,myotherextn,self,self"/>
If "*12" is matched, myotherextn is executed, because "*12" is
more explicit/specific than "^*\d{2}$"
If the 'P'(riority) flag is not used, behaviour is unchanged from
previous versions. This ensures backward compatibility.
FS-9325 #resolve
Ensure digit_action_callback raises the match event on leg specified
in bind_digit_action.
Specifying the event leg as "peer" or "self" now executes on the
correct call leg.
FS-9323 #resolve
Add support for "both" as target parameter to clear_digit_action.
CDA previously only supported target values of:
"", "self" or "peer"
CDA Behaviour now corresponds with documentation.
For example, the follow will work as expected:
<action application="clear_digit_action" data="all,both"/>
FS-9319 #resolve
update hupall API to support multiple variables
hupall [cause] [[var1] [val1]] [[var2] [val2]] ...
added switch_core_session_hupall_matching_vars_ans() which will hang up all channels that match each variable(s) value
This change implements a few new features, there's no behavior change at all.
1 - BLF for queues
You can now use BLF for knowing when there are callers waiting on a queue,
the pattern to be subscribed is callcenter+queuename@default or @domain name.
2 - callcenter_track app
Now every agent has an external_calls_count column that will be read upon
selecting agent to offer new calls.
If you start an external call (inbound or outbound) and don't wan't
mod_callcenter to offer new calls for this agent just call this app
passing the agent name as argument:
<action application="callcenter_track" data="agent1"/>
This will increment the external calls count, and to make mod_callcenter look to this variable you need to set this queue parameter:
<param name="skip-agents-with-external-calls" value="true"/>
3 - EXIT_WITH_KEY reason
If the member press a key to exit the queue the cc_cancel_reason will be this now.
4 - xml_curl config loading improvements
Prior to this mod_callcenter query your web server a LOT of times,
this will make it only query once per queue, just watch for CC-Queue
request param and build your xml with everything related to that queue,
including tiers (tiers wasn't loaded before this).
Addition of detectors which skip first few frames
of audio before they start to process it helps
to properly handle some Verizon voicemails.
The result of avmd test using this commit is
OK. All PASS [100]
Thi scommit also resolves:
FS-9588 Add script for outbound avmdy
FS-9589 Add resolution info to events
Now avmd detection is done in detector threads
processing audio frames with different resolution
and/or offsets. Detection decision is based on relative
standard deviation which dynamically adjusts to the signal.
Detection of amplitude, frequency and both simultaneously
is enabled and corresponding setting added to the configuration.
Frequency estimates are filtered with median filter.
This commit also resolves:
FS-9539 - Get estimates with different resolution
FS-9513 - Use adjustable thresholds
FS-9502 - Add detection mode setting
FS-9501 - Enable three modes of detection
FS-9407 - Add check of amplitude for NaN before appending to SMA buffer
FS-9139 - Unit test framework