properly display connected channel name in 'agents' manager action for non-callback agents (issue #5235)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6766 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
parent
d3afe5d8d4
commit
27e10bbabd
|
@ -1399,16 +1399,7 @@ static int action_agents(struct mansession *s, struct message *m)
|
|||
/* Set a default status. It 'should' get changed. */
|
||||
status = "AGENT_UNKNOWN";
|
||||
|
||||
if(p->chan) {
|
||||
loginChan = p->loginchan;
|
||||
if(p->owner && p->owner->_bridge) {
|
||||
talkingtoChan = p->chan->cid.cid_num;
|
||||
status = "AGENT_ONCALL";
|
||||
} else {
|
||||
talkingtoChan = "n/a";
|
||||
status = "AGENT_IDLE";
|
||||
}
|
||||
} else if(!ast_strlen_zero(p->loginchan)) {
|
||||
if (!ast_strlen_zero(p->loginchan)) {
|
||||
loginChan = p->loginchan;
|
||||
talkingtoChan = "n/a";
|
||||
status = "AGENT_IDLE";
|
||||
|
@ -1416,6 +1407,15 @@ static int action_agents(struct mansession *s, struct message *m)
|
|||
snprintf(chanbuf, sizeof(chanbuf), " %s (Confirmed)", p->loginchan);
|
||||
loginChan = chanbuf;
|
||||
}
|
||||
} else if (p->chan) {
|
||||
loginChan = ast_strdupa(p->chan->name);
|
||||
if (p->owner && p->owner->_bridge) {
|
||||
talkingtoChan = p->chan->cid.cid_num;
|
||||
status = "AGENT_ONCALL";
|
||||
} else {
|
||||
talkingtoChan = "n/a";
|
||||
status = "AGENT_IDLE";
|
||||
}
|
||||
} else {
|
||||
loginChan = "n/a";
|
||||
talkingtoChan = "n/a";
|
||||
|
@ -2175,10 +2175,9 @@ static int action_agent_callback_login(struct mansession *s, struct message *m)
|
|||
}
|
||||
ast_mutex_lock(&p->lock);
|
||||
login_state = 1; /* Successful Login */
|
||||
ast_copy_string(p->loginchan, exten, sizeof(p->loginchan));
|
||||
|
||||
if (ast_strlen_zero(context))
|
||||
snprintf(p->loginchan, sizeof(p->loginchan), "%s", exten);
|
||||
ast_copy_string(p->loginchan, exten, sizeof(p->loginchan));
|
||||
else
|
||||
snprintf(p->loginchan, sizeof(p->loginchan), "%s@%s", exten, context);
|
||||
|
||||
|
|
Reference in New Issue