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. */
|
/* Set a default status. It 'should' get changed. */
|
||||||
status = "AGENT_UNKNOWN";
|
status = "AGENT_UNKNOWN";
|
||||||
|
|
||||||
if(p->chan) {
|
if (!ast_strlen_zero(p->loginchan)) {
|
||||||
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)) {
|
|
||||||
loginChan = p->loginchan;
|
loginChan = p->loginchan;
|
||||||
talkingtoChan = "n/a";
|
talkingtoChan = "n/a";
|
||||||
status = "AGENT_IDLE";
|
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);
|
snprintf(chanbuf, sizeof(chanbuf), " %s (Confirmed)", p->loginchan);
|
||||||
loginChan = chanbuf;
|
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 {
|
} else {
|
||||||
loginChan = "n/a";
|
loginChan = "n/a";
|
||||||
talkingtoChan = "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);
|
ast_mutex_lock(&p->lock);
|
||||||
login_state = 1; /* Successful Login */
|
login_state = 1; /* Successful Login */
|
||||||
ast_copy_string(p->loginchan, exten, sizeof(p->loginchan));
|
|
||||||
|
|
||||||
if (ast_strlen_zero(context))
|
if (ast_strlen_zero(context))
|
||||||
snprintf(p->loginchan, sizeof(p->loginchan), "%s", exten);
|
ast_copy_string(p->loginchan, exten, sizeof(p->loginchan));
|
||||||
else
|
else
|
||||||
snprintf(p->loginchan, sizeof(p->loginchan), "%s@%s", exten, context);
|
snprintf(p->loginchan, sizeof(p->loginchan), "%s@%s", exten, context);
|
||||||
|
|
||||||
|
|
Reference in New Issue