diff options
author | Richard Mudgett <rmudgett@digium.com> | 2011-05-25 17:14:11 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2011-05-25 17:14:11 +0000 |
commit | 0096238b5256864fde6540b3b478705663f796a4 (patch) | |
tree | 0f7c1f8d63351e5eb1252d8c1fffb66751df6f3a /apps/app_queue.c | |
parent | a42bf8cc9250f875f6d26ca7cd2d81e2ea8821d8 (diff) |
Merged revisions 320823 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r320823 | rmudgett | 2011-05-25 12:06:38 -0500 (Wed, 25 May 2011) | 18 lines
The AMI Newstate event contains different information between v1.4 and v1.8.
The addition of connected line support in v1.8 changes the behavior of the
channel caller ID somewhat. The channel caller ID value no longer time
shares with the connected line ID on outgoing call legs. The timing of
some AMI events/responses output the connected line ID as caller ID.
These party ID's are now separate.
* The ConnectedLineNum and ConnectedLineName headers were added to many
AMI events/responses if the CallerIDNum/CallerIDName headers were also
present.
(closes issue #18252)
Reported by: gje
Tested by: rmudgett
Review: https://reviewboard.asterisk.org/r/1227/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@320825 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps/app_queue.c')
-rw-r--r-- | apps/app_queue.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c index 8b1072e90..dc7a0a074 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -2515,10 +2515,20 @@ static int join_queue(char *queuename, struct queue_ent *qe, enum queue_result * q->count++; res = 0; ast_manager_event(qe->chan, EVENT_FLAG_CALL, "Join", - "Channel: %s\r\nCallerIDNum: %s\r\nCallerIDName: %s\r\nQueue: %s\r\nPosition: %d\r\nCount: %d\r\nUniqueid: %s\r\n", + "Channel: %s\r\n" + "CallerIDNum: %s\r\n" + "CallerIDName: %s\r\n" + "ConnectedLineNum: %s\r\n" + "ConnectedLineName: %s\r\n" + "Queue: %s\r\n" + "Position: %d\r\n" + "Count: %d\r\n" + "Uniqueid: %s\r\n", qe->chan->name, S_COR(qe->chan->caller.id.number.valid, qe->chan->caller.id.number.str, "unknown"),/* XXX somewhere else it is <unknown> */ S_COR(qe->chan->caller.id.name.valid, qe->chan->caller.id.name.str, "unknown"), + S_COR(qe->chan->connected.id.number.valid, qe->chan->connected.id.number.str, "unknown"),/* XXX somewhere else it is <unknown> */ + S_COR(qe->chan->connected.id.name.valid, qe->chan->connected.id.name.str, "unknown"), q->name, qe->pos, q->count, qe->chan->uniqueid ); ast_debug(1, "Queue '%s' Join, Channel '%s', Position '%d'\n", q->name, qe->chan->name, qe->pos ); } @@ -3152,6 +3162,8 @@ static int ring_entry(struct queue_ent *qe, struct callattempt *tmp, int *busies "DestinationChannel: %s\r\n" "CallerIDNum: %s\r\n" "CallerIDName: %s\r\n" + "ConnectedLineNum: %s\r\n" + "ConnectedLineName: %s\r\n" "Context: %s\r\n" "Extension: %s\r\n" "Priority: %d\r\n" @@ -3160,6 +3172,8 @@ static int ring_entry(struct queue_ent *qe, struct callattempt *tmp, int *busies qe->parent->name, tmp->interface, tmp->member->membername, qe->chan->name, tmp->chan->name, S_COR(tmp->chan->caller.id.number.valid, tmp->chan->caller.id.number.str, "unknown"), S_COR(tmp->chan->caller.id.name.valid, tmp->chan->caller.id.name.str, "unknown"), + S_COR(tmp->chan->connected.id.number.valid, tmp->chan->connected.id.number.str, "unknown"), + S_COR(tmp->chan->connected.id.name.valid, tmp->chan->connected.id.name.str, "unknown"), qe->chan->context, qe->chan->exten, qe->chan->priority, qe->chan->uniqueid, qe->parent->eventwhencalled == QUEUE_EVENT_VARIABLES ? vars2manager(qe->chan, vars, sizeof(vars)) : ""); ast_verb(3, "Called %s\n", tmp->interface); @@ -7247,12 +7261,16 @@ static int manager_queues_status(struct mansession *s, const struct message *m) "Uniqueid: %s\r\n" "CallerIDNum: %s\r\n" "CallerIDName: %s\r\n" + "ConnectedLineNum: %s\r\n" + "ConnectedLineName: %s\r\n" "Wait: %ld\r\n" "%s" "\r\n", q->name, pos++, qe->chan->name, qe->chan->uniqueid, S_COR(qe->chan->caller.id.number.valid, qe->chan->caller.id.number.str, "unknown"), S_COR(qe->chan->caller.id.name.valid, qe->chan->caller.id.name.str, "unknown"), + S_COR(qe->chan->connected.id.number.valid, qe->chan->connected.id.number.str, "unknown"), + S_COR(qe->chan->connected.id.name.valid, qe->chan->connected.id.name.str, "unknown"), (long) (now - qe->start), idText); } } |