dect
/
asterisk
Archived
13
0
Fork 0

Add the Ring time in the CONNECT on the queue_log and on the Manager event AgentConnect

Closes issue #10349, patch by eliel


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77879 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
qwell 2007-08-01 20:05:13 +00:00
parent 3997783950
commit 5cfedfae17
2 changed files with 9 additions and 5 deletions

View File

@ -2460,7 +2460,7 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
{
struct member *cur;
struct callattempt *outgoing = NULL; /* the list of calls we are building */
int to;
int to, orig;
char oldexten[AST_MAX_EXTENSION]="";
char oldcontext[AST_MAX_CONTEXT]="";
char queuename[256]="";
@ -2583,6 +2583,7 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
to = (qe->expire - now) * 1000;
else
to = (qe->parent->timeout) ? qe->parent->timeout * 1000 : -1;
orig = to;
ring_one(qe, outgoing, &numbusies);
ast_mutex_unlock(&qe->parent->lock);
if (use_weight)
@ -2918,7 +2919,8 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
} else
ast_log(LOG_WARNING, "Asked to execute an AGI on this channel, but could not find application (agi)!\n");
}
ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "CONNECT", "%ld|%s", (long) time(NULL) - qe->start, peer->uniqueid);
ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "CONNECT", "%ld|%s|%ld", (long) time(NULL) - qe->start, peer->uniqueid,
(long)(orig - to > 0 ? (orig - to) / 1000 : 0));
if (qe->parent->eventwhencalled)
manager_event(EVENT_FLAG_AGENT, "AgentConnect",
"Queue: %s\r\n"
@ -2928,9 +2930,10 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
"MemberName: %s\r\n"
"Holdtime: %ld\r\n"
"BridgedChannel: %s\r\n"
"Ringtime: %ld\r\n"
"%s",
queuename, qe->chan->uniqueid, peer->name, member->interface, member->membername,
(long) time(NULL) - qe->start, peer->uniqueid,
(long) time(NULL) - qe->start, peer->uniqueid, (long)(orig - to > 0 ? (orig - to) / 1000 : 0),
qe->parent->eventwhencalled == QUEUE_EVENT_VARIABLES ? vars2manager(qe->chan, vars, sizeof(vars)) : "");
ast_copy_string(oldcontext, qe->chan->context, sizeof(oldcontext));
ast_copy_string(oldexten, qe->chan->exten, sizeof(oldexten));

View File

@ -56,13 +56,14 @@ origposition.
The configuration has been reloaded (e.g. with asterisk -rx reload)
\textbf{CONNECT(holdtime|bridgedchanneluniqueid)}
\textbf{CONNECT(holdtime|bridgedchanneluniqueid|ringtime)}
The caller was connected to an agent. Hold time represents the amount
of time the caller was on hold. The bridged channel unique ID contains
the unique ID of the queue member channel that is taking the call. This
is useful when trying to link recording filenames to a particular
call in the queue.
call in the queue. Ringtime represents the time the queue members phone
was ringing prior to being answered.
\textbf{ENTERQUEUE(url|callerid)}