From: Anthony Minessale Date: Tue, 17 Apr 2012 21:51:40 +0000 (-0500) Subject: FS-4125 --resolve you should really switch to {} when you know you have one dial... X-Git-Tag: v1.2-rc1~17^2~208 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=456b07eb8b075a69f62cbde0c56eeb1ba2282b00;p=thirdparty%2Ffreeswitch.git FS-4125 --resolve you should really switch to {} when you know you have one dial string but i'll add this as a convienence --- diff --git a/src/switch_ivr_originate.c b/src/switch_ivr_originate.c index 825de90d32..3d120e8628 100644 --- a/src/switch_ivr_originate.c +++ b/src/switch_ivr_originate.c @@ -1890,6 +1890,22 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess oglobals.check_vars = SWITCH_FALSE; } + + /* extract channel variables, allowing multiple sets of braces */ + if (*data == '<') { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Parsing ultra-global variables\n"); + while (*data == '<') { + char *parsed = NULL; + + if (switch_event_create_brackets(data, '<', '>', ',', &var_event, &parsed, SWITCH_FALSE) != SWITCH_STATUS_SUCCESS || !parsed) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Parse Error!\n"); + switch_goto_status(SWITCH_STATUS_GENERR, done); + } + + data = parsed; + } + } + /* extract channel variables, allowing multiple sets of braces */ switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Parsing global variables\n"); while (*data == '{') {