From 21da742934b78eb16eb8d4a856261413f8f475c7 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Mon, 7 Jan 2008 21:14:24 +0000 Subject: [PATCH] update git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7133 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/switch_ivr_originate.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/switch_ivr_originate.c b/src/switch_ivr_originate.c index 9b1bf72d7b..b292e1bb39 100644 --- a/src/switch_ivr_originate.c +++ b/src/switch_ivr_originate.c @@ -568,6 +568,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess ok = 1; } else if (!strcasecmp((char *)hi->name, "group_confirm_file")) { ok = 1; + } else if (!strcasecmp((char *)hi->name, "forked_dial")) { + ok = 1; } else if (!strcasecmp((char *)hi->name, "fail_on_single_reject")) { ok = 1; } else if (!strcasecmp((char *)hi->name, "ignore_early_media")) { @@ -810,8 +812,16 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess peer_sessions[i] = NULL; new_session = NULL; + + + if (and_argc > 1 || or_argc > 1) { myflags |= SOF_FORKED_DIAL; + } else if (var_event) { + const char *vvar; + if ((vvar = switch_event_get_header(var_event, "forked_dial")) && switch_true(vvar)) { + myflags |= SOF_FORKED_DIAL; + } } if ((reason = switch_core_session_outgoing_channel(session, chan_type, new_profile, &new_session, &pool, myflags)) != SWITCH_CAUSE_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot Create Outgoing Channel! cause: %s\n", switch_channel_cause2str(reason));