mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-24 03:47:39 +00:00
mod_callcenter: fix tracking agent external calls - prevent multiple track per channel
This commit is contained in:
parent
bc8e3da74c
commit
ed206b07e7
@ -3336,6 +3336,7 @@ SWITCH_STANDARD_APP(callcenter_track)
|
|||||||
char agent_status[255];
|
char agent_status[255];
|
||||||
char *agent_name = NULL;
|
char *agent_name = NULL;
|
||||||
char *sql = NULL;
|
char *sql = NULL;
|
||||||
|
const char *tracked_agent = NULL;
|
||||||
|
|
||||||
if (zstr(data)) {
|
if (zstr(data)) {
|
||||||
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Missing agent name\n");
|
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Missing agent name\n");
|
||||||
@ -3347,6 +3348,11 @@ SWITCH_STANDARD_APP(callcenter_track)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((tracked_agent = switch_channel_get_variable(channel, "cc_tracked_agent"))) {
|
||||||
|
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING, "Already tracking agent %s in this channel.", tracked_agent);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
agent_name = switch_safe_strdup(data);
|
agent_name = switch_safe_strdup(data);
|
||||||
|
|
||||||
switch_channel_set_variable(channel, "cc_tracked_agent", agent_name);
|
switch_channel_set_variable(channel, "cc_tracked_agent", agent_name);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user