From: Marc Olivier Chouinard Date: Tue, 26 Apr 2011 04:15:15 +0000 (-0400) Subject: mod_callcenter: Apparently, it by design that only 1 of the 2 leg can continue the... X-Git-Tag: v1.2-rc1~118^2~68 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3484874f5848c2dc24e7515936fdb7d33e0f9e73;p=thirdparty%2Ffreeswitch.git mod_callcenter: Apparently, it by design that only 1 of the 2 leg can continue the dialplan. So member are always A leg and agent are B leg. If you want to continue after hangup a call for the agent like in uuid standby mode, use the transfer_after_bridge feature. Sample example usage is on the mod_callcenter wiki page. --- diff --git a/src/mod/applications/mod_callcenter/mod_callcenter.c b/src/mod/applications/mod_callcenter/mod_callcenter.c index 872e2bc0b0..4ec9d12e92 100644 --- a/src/mod/applications/mod_callcenter/mod_callcenter.c +++ b/src/mod/applications/mod_callcenter/mod_callcenter.c @@ -1572,12 +1572,7 @@ static void *SWITCH_THREAD_FUNC outbound_agent_thread_run(switch_thread_t *threa switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(member_session), SWITCH_LOG_DEBUG, "Agent %s answered \"%s\" <%s> from queue %s%s\n", h->agent_name, h->member_cid_name, h->member_cid_number, h->queue_name, (h->record_template?" (Recorded)":"")); - /* TODO Temp fix so it continue the dialplan after hangup... Not sure of the reason why the order make a difference */ - if (!strcasecmp(h->agent_type, CC_AGENT_TYPE_UUID_STANDBY)) { - switch_ivr_uuid_bridge(switch_core_session_get_uuid(agent_session), h->member_session_uuid); - } else { - switch_ivr_uuid_bridge(h->member_session_uuid, switch_core_session_get_uuid(agent_session)); - } + switch_ivr_uuid_bridge(h->member_session_uuid, switch_core_session_get_uuid(agent_session)); switch_channel_set_variable(member_channel, "cc_agent_uuid", agent_uuid);