Commit Graph

234 Commits

Author SHA1 Message Date
Seven Du 8aafff281b [Core] Make switch_ivr_orig_and_bridge function return status and a cause. 2019-10-30 21:07:54 +04:00
Chris Rienzo fb695c528e FS-11893 [core] add switch_dial_handle_create_json() and switch_dial_handle_serialize_json() for dial handle/json conversions 2019-07-18 00:09:20 +04:00
Chris Rienzo c796723dd7 FS-11728 [core] add switch_ivr_play_and_collect_input(). This function plays a prompt while looking for DTMF or speech and returns whatever was heard. 2019-07-17 19:58:45 +04:00
lazedo 168a3c068b FS-10968 [core] create recording vars
* moves channel vars starting with Recording-Variable- to record_helper
* uses record_helper variables for RECORD_START/STOP events
2019-03-26 22:28:13 +00:00
Mariah Yang 6ac8105944 FS-11601: Fix some core function prototype 2019-01-09 08:44:41 -05:00
Seven Du bdc21a0607 FS-11405 #resolve tweak macro to use do while 0
the original one will leave an extra semicolon after }
2018-09-24 18:52:07 +00:00
Anthony Minessale b4a64d4817 FS-11380: [core] add new internal function 2018-09-05 18:20:54 -04:00
Anthony Minessale d3e320ef56 FS-11346: [core] add api to pass pre-parsed values instead of dial strings to switch_ivr_originate
SWITCH_DECLARE(switch_status_t) switch_dial_handle_create(switch_dial_handle_t **handle);
SWITCH_DECLARE(void) switch_dial_handle_destroy(switch_dial_handle_t **handle);
SWITCH_DECLARE(void) switch_dial_handle_add_leg_list(switch_dial_handle_t *handle, switch_dial_leg_list_t **leg_listP);
SWITCH_DECLARE(void) switch_dial_leg_list_add_leg(switch_dial_leg_list_t *parent, const char *dial_string, switch_dial_leg_t **legP);
SWITCH_DECLARE(void) switch_dial_handle_add_global_var(switch_dial_handle_t *handle, const char *var, const char *val);
SWITCH_DECLARE(void) switch_dial_handle_add_global_var_printf(switch_dial_handle_t *handle, const char *var, const char *fmt, ...);
SWITCH_DECLARE(switch_status_t) switch_dial_handle_add_leg_var(switch_dial_leg_t *leg, const char *var, const char *val);
SWITCH_DECLARE(switch_status_t) switch_dial_handle_add_leg_var_printf(switch_dial_leg_t *leg, const char *var, const char *fmt, ...);
SWITCH_DECLARE(int) switch_dial_handle_get_peers(switch_dial_handle_t *handle, int idx, char **array, int max);
SWITCH_DECLARE(int) switch_dial_handle_get_vars(switch_dial_handle_t *handle, int idx, switch_event_t **array, int max);
SWITCH_DECLARE(switch_event_t *) switch_dial_handle_get_global_vars(switch_dial_handle_t *handle);
SWITCH_DECLARE(switch_event_t *) switch_dial_leg_get_vars(switch_dial_leg_t *leg);
SWITCH_DECLARE(int) switch_dial_handle_get_total(switch_dial_handle_t *handle);
SWITCH_DECLARE(void) switch_ivr_orig_and_bridge(switch_core_session_t *session, const char *data, switch_dial_handle_t *dh);

add switch_dial_handle_t *dh to end of args for switch_ivr_originate
2018-08-22 18:20:13 +00:00
Joshua Young afcb1f8d51 FS-11178: [core] return switch_status_t from switch_ivr_intercept_session 2018-07-24 07:21:53 +00:00
Sergey Safarov df1ab07ca4 FS-9924: Removed extra space in source files 2017-02-09 23:59:49 -05:00
Mike Jerris cf0308b4e1 Merge pull request #1058 in FS/freeswitch from ~LAZEDO/freeswitch:feature/FS-9735 to master
* commit '498ce4fc83953ed53c74f054163c829a439737df':
  FS-9735 - send unknown headers to switch_ivr_set_user
2016-11-21 15:12:20 -06:00
Luis Azedo 498ce4fc83 FS-9735 - send unknown headers to switch_ivr_set_user
creeates switch_ivr_set_user_extended to receive params to pass to xml_locate_user
2016-11-14 17:18:32 +00:00
Andy Newlands b5266ed6b4 FS-9325 [mod_dptools] Priority flag for faster bind_digit_action matches
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
2016-11-08 13:47:37 +00:00
Anthony Minessale c409499cd9 FS-9576 #resolve [Add Realtime Text] 2016-09-27 16:40:43 -05:00
Matthew Grooms 6c3710df4d FS-9264: Introduce two new api calls named detect_audio and detect_audio_silence. The existing wait_for_silence call never actually waits for silence until it first detects non-silence. There is also no way to set an independent timeout for detecting both the non-silence and then silence. This causes problems when wait_for_silence is called on an already quiet channel. Splitting the function up into two separate calls with separate timeouts offers more flexibility. 2016-06-16 15:34:37 -05:00
Anthony Minessale 647cc257fd FS-8913 #resolve [Problem with transfer when using bypass_media + SRTP + Inbound late negotiation] 2016-03-31 16:45:34 -05:00
Anthony Minessale a53659c086 FS-7929 #resolve [ignore_early_media=true behaviour] 2015-10-08 13:17:39 -05:00
Mike Jerris bd1fad2e2c Merge pull request #214 in FS/freeswitch from ~ARTURZ/freeswitch:FS-7344-ack-invite-3pcc-race to master
* commit '8ea99bfccfa85ef94b13693db6489aec3dca2c88':
  FS-7344: Fix race condition for INVITE right after ACK in 3PCC mode.
2015-09-09 12:51:22 -05:00
Artur Zaprzała 8ea99bfccf FS-7344: Fix race condition for INVITE right after ACK in 3PCC mode. 2015-09-03 22:32:32 +02:00
Anthony Minessale 2feae3fc69 FS-6833 #comment please test this branch 2015-09-01 16:31:23 -05:00
Anthony Minessale 81ef7703bd FS-7500: add video_write_overlay and stop_video_write_overlay
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>
2015-05-28 12:47:32 -05:00
Anthony Minessale d413bcd7b3 FS-7567 #resolve #comment additional occurrences beyond the initial patch discovered 2015-05-21 09:50:49 -05:00
Anthony Minessale b2162142f3 FS-6667 #comment block sending audio when dmachine is reading 2014-08-06 01:21:34 +05:00
Chris Rienzo bb6869b7ab FS-6535 --resolve mod_rayo: allow multiple grammars (including dtmf) when using unimrcp 2014-06-12 22:56:34 -04:00
Ken Rice 6e7d5d0897 update copyright header for 2014 2014-02-12 12:08:56 -06:00
Brian West fb34ff9ade adding transfer-sound to ivr menu so you can specifiy a sound file to pay when a transfer takes place 2013-07-24 18:40:45 -05:00
Anthony Minessale 75bdc43d82 FS-5573 --resolve 2013-07-19 14:05:03 -05:00
Anthony Minessale a6bffd38cb FS-5498 2013-07-19 12:03:51 -05:00
Nathan Neulinger 32adc789f6 make noexpandtab explicit in all vim modelines other than xml files 2013-06-25 11:50:17 -05:00
Anthony Minessale 61b313b006 FS-5269 --resolve 2013-04-11 15:03:50 -05:00
Anthony Minessale 7fd28f58f9 FS-5208 --resolve 2013-04-08 12:09:49 -05:00
Anthony Minessale 3b50675d25 FS-5231 --resolve 2013-03-27 12:41:17 -05:00
Anthony Minessale 8be9d429fb fix recursion error 2012-12-10 10:56:07 -06:00
Michael Jerris 1de65cbcd0 handle state update for hangup 2012-10-30 19:02:33 -04:00
Anthony Minessale f106c18f51 tweak to confirm blind transfer patch 2012-05-08 19:33:53 -05:00
Anthony Minessale 024e5fdefd FS-4196 --resolve 2012-05-08 07:41:10 -05:00
Anthony Minessale a511ff3026 re-implement sla barge using eavesdrop backend 2012-05-07 13:44:16 -05:00
Ken Rice 7a147e4762 Update a ton of copyright statements to make sure the dates are proper 2012-04-25 17:14:55 -05:00
Anthony Minessale f7438a22f7 fix regression from earlier commit 2012-01-05 13:25:04 -06:00
Anthony Minessale 410e523c24 add support for configurable timeout and passing of args to play_and_detect_speech 2012-01-05 10:38:08 -06:00
Anthony Minessale 34338e5a56 FS-3692 --resolve 2011-11-15 11:28:05 -06:00
Anthony Minessale 3c9551ee90 move code from uuid_kill into core 2011-10-25 11:53:22 -05:00
Anthony Minessale 4ee1722f3e add presence_map 2011-10-22 09:40:59 -05:00
Anthony Minessale d2710422ab fix issue where clearing a single realm does not completely clear 2011-10-06 10:12:36 -05:00
Anthony Minessale 7333d46d5b add new chatplan concept and mod_sms. Apps for chat messages: copy new base freeswitch.xml and chatplan dir if you are upgrading on existing config base 2011-09-21 14:31:18 -05:00
Anthony Minessale 2e9724d2ec pass cancel_cause into enterprise_originate 2011-09-01 12:37:58 -05:00
Anthony Minessale d43af04e93 fix races in bypass media regarding channel signalling that may cause answer to be skipped 2011-08-19 16:25:32 -05:00
Michael S Collins e4d473190d mod_dptools: add transfer_on_failure ext/dp/context to play_and_get_digits
If max tries is reach and user has not made a valid entry then system transfers the call leg to the specified destination.
2011-08-18 20:29:52 -07:00
Anthony Minessale f1ee225cb1 push out signal data into its own queue system 2011-07-08 12:52:18 -05:00
Jeff Lenk 4480abc911 fix compiler warning 2011-05-27 21:46:28 -05:00