dect
/
asterisk
Archived
13
0
Fork 0

Add a TalkingToChan to the response of the "agents" manager action.

This is similar to the existing "talking to" that you see what using the "agent show" CLI command.

Closes issue #10102


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78312 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
qwell 2007-08-06 23:00:35 +00:00
parent 16644dc35c
commit 91a236213c
1 changed files with 12 additions and 3 deletions

View File

@ -1350,6 +1350,7 @@ static int action_agents(struct mansession *s, const struct message *m)
struct agent_pvt *p;
char *username = NULL;
char *loginChan = NULL;
char *talkingto = NULL;
char *talkingtoChan = NULL;
char *status = NULL;
@ -1373,6 +1374,7 @@ static int action_agents(struct mansession *s, const struct message *m)
if (!ast_strlen_zero(p->loginchan) && !p->chan) {
loginChan = p->loginchan;
talkingto = "n/a";
talkingtoChan = "n/a";
status = "AGENT_IDLE";
if (p->acknowledged) {
@ -1382,14 +1384,20 @@ static int action_agents(struct mansession *s, const struct message *m)
} else if (p->chan) {
loginChan = ast_strdupa(p->chan->name);
if (p->owner && p->owner->_bridge) {
talkingtoChan = p->chan->cid.cid_num;
talkingto = p->chan->cid.cid_num;
if (ast_bridged_channel(p->owner))
talkingtoChan = ast_strdupa(ast_bridged_channel(p->owner)->name);
else
talkingtoChan = "n/a";
status = "AGENT_ONCALL";
} else {
talkingtoChan = "n/a";
talkingto = "n/a";
talkingtoChan = "n/a";
status = "AGENT_IDLE";
}
} else {
loginChan = "n/a";
talkingto = "n/a";
talkingtoChan = "n/a";
status = "AGENT_LOGGEDOFF";
}
@ -1401,9 +1409,10 @@ static int action_agents(struct mansession *s, const struct message *m)
"LoggedInChan: %s\r\n"
"LoggedInTime: %d\r\n"
"TalkingTo: %s\r\n"
"TalkingToChan: %s\r\n"
"%s"
"\r\n",
p->agent, username, status, loginChan, (int)p->loginstart, talkingtoChan, idText);
p->agent, username, status, loginChan, (int)p->loginstart, talkingto, talkingtoChan, idText);
ast_mutex_unlock(&p->lock);
}
AST_LIST_UNLOCK(&agents);