FS-7467: mod_callcenter - Fixing uuid-standby agents.

This commit is contained in:
Italo Rossi 2015-06-22 17:51:08 -03:00
parent 4264f519da
commit be3c868655
1 changed files with 8 additions and 4 deletions

View File

@ -1773,15 +1773,19 @@ static void *SWITCH_THREAD_FUNC outbound_agent_thread_run(switch_thread_t *threa
playback_array(agent_session, o_announce);
}
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);
/* This is used for the waiting caller to quit waiting for a agent */
switch_channel_set_variable(member_channel, "cc_agent_found", "true");
switch_channel_set_variable(member_channel, "cc_agent_uuid", agent_uuid);
switch_ivr_uuid_bridge(h->member_session_uuid, switch_core_session_get_uuid(agent_session));
switch_channel_wait_for_flag(agent_channel, CF_BRIDGED, SWITCH_TRUE, 1000, NULL);
/* Wait until the agent hangup. This will quit also if the agent transfer the call */
while(switch_channel_up(agent_channel) && globals.running) {
if (!strcasecmp(h->agent_type, CC_AGENT_TYPE_UUID_STANDBY)) {
if (!switch_channel_test_flag(agent_channel, CF_BRIDGED)) {
break;
}
}
switch_yield(100000);
}
tiers_state = CC_TIER_STATE_READY;