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
The new C compiler breaks a lot of things. snprintf and timespec now exist, and redefining causes an error.
Many more things are warnings, so warnings-as-errors will fail - remove it from some projects for now.
V8: don't pass VS version to build batch file.
mod_sofia: Config has too-long if/elseif chain. Break this up to avoid "parser stack overflow; program too complex".
Add mod_conference.h to project and dir to includes.
mod_conference new features:
add conference layout "1x1+2x1" and add to layout group grid
add conference flag video-bridge-first-two conference flag
add conference flag video-required-for-canvas to only use avatars for members with video
add conference flag video-muxing-personal-canvas
add conf_verto_ prefix for variables to pass on live array subscription notice
add api command conference foo vid-canvas <member_id|all|last|non_moderator> [<newval>]
add api command conference foo vid-layer <member_id|all|last|non_moderator> [<newval>]
add api command conference foo vid-watching-canvas <member_id|all|last|non_moderator> [<newval>]
changed api command conference foo vid-layout, args are now "<layout name>|group <group name> [<canvas_id>]"
add channel vars you can set before entering conference video_initial_canvas and video_initial_watching_canvas
add many new output status vars to conference list api
add new conference member flag "second-screen"
add config param video-canvas-count
add config param video-super-canvas-label-layers
add config param video-super-canvas-show-all-layers
add config param video-super-canvas-bgcolor
verto client:
add google login
add hipchat js file
conf_verto_hipchatURL= to control what hipchat server appears if any
global device init and overrides
allow passing sessid
add confMan.canvasCount
add handling of multiple canvases and launching them, and controlling all of their layouts
re-layout moderator controls and add support for changing the watching and input canvas and layers
when launching another canvas, watch subscriptions for the original call so we can automatically close the additional window
maintain camera settings on call recovery
"USAGE ERROR": bad application arguments
"GRAMMAR ERROR": speech recognizer failed to load grammar
"ASR INIT ERROR": speech recognizer failed to allocate a session
"ERROR": any other errors
This is useful for determining that play_and_detect_speech failed because the recognizer is out of licenses
giving the developer a chance to fall back to traditional DTMF menu navigation.
Use it to add an image to the write stream to see a recording banner on video echoed back to you during recording.
ARGS: <file> [<position>] [<opacity 0-255>]
POSITIONS:
left-top
left-mid
left-bot
center-top
center-mid
center-bot
right-top
right-mid
right-bot
<extension name="example">
<condition field="destination_number" expression="^overlay$">
<action application="answer"/>
<action application="video_write_overlay" data="/path/to/img.png"/>
<action application="record" data="/data/file.mp4"/>
<action application="stop_video_write_overlay"/>
</condition>
</extension>
Add channel variables eavesdrop_bridge_aleg and eavesdrop_bridge_bleg,
and if one is set to true on the eavesdrop channel, bridge that leg from
the target. If neither is specified, bridge both.