diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-08-07 14:11:48 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-08-07 14:11:48 +0000 |
commit | 5778b4ebcd2d088dd2658a63bfedb1cdbdbabd34 (patch) | |
tree | 25e3adfa39af9e385cd03f72ae7c4d5af98b568b /apps | |
parent | f849d31d292cae3516a38c14fb554db8896469f6 (diff) |
Don't record all calls as abandoned (bug #4575) (fixes damage inadvertently added by bug #4644)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6299 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rwxr-xr-x | apps/app_queue.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c index 8de4beedf..989292cf8 100755 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -2890,9 +2890,10 @@ check_turns: res = try_calling(&qe, options, announceoverride, url, &go_on); if (res) { if (res < 0) { - if (!qe.handled) - record_abandoned(&qe); + if (!qe.handled) { + record_abandoned(&qe); ast_queue_log(queuename, chan->uniqueid, "NONE", "ABANDON", "%d|%d|%ld", qe.pos, qe.opos, (long)time(NULL) - qe.start); + } } else if (res > 0) ast_queue_log(queuename, chan->uniqueid, "NONE", "EXITWITHKEY", "%s|%d", qe.digits, qe.pos); break; @@ -2902,7 +2903,7 @@ check_turns: /* leave the queue if no agents, if enabled */ if (qe.parent->leavewhenempty && (stat == QUEUE_NO_MEMBERS)) { - record_abandoned(&qe); + record_abandoned(&qe); reason = QUEUE_LEAVEEMPTY; res = 0; break; @@ -2910,7 +2911,7 @@ check_turns: /* leave the queue if no reachable agents, if enabled */ if ((qe.parent->leavewhenempty == QUEUE_EMPTY_STRICT) && (stat == QUEUE_NO_REACHABLE_MEMBERS)) { - record_abandoned(&qe); + record_abandoned(&qe); reason = QUEUE_LEAVEUNAVAIL; res = 0; break; @@ -2918,7 +2919,7 @@ check_turns: /* Leave if we have exceeded our queuetimeout */ if (qe.expire && (time(NULL) > qe.expire)) { - record_abandoned(&qe); + record_abandoned(&qe); reason = QUEUE_TIMEOUT; res = 0; break; @@ -2927,7 +2928,7 @@ check_turns: /* OK, we didn't get anybody; wait for 'retry' seconds; may get a digit to exit with */ res = wait_a_bit(&qe); if (res < 0) { - record_abandoned(&qe); + record_abandoned(&qe); ast_queue_log(queuename, chan->uniqueid, "NONE", "ABANDON", "%d|%d|%ld", qe.pos, qe.opos, (long)time(NULL) - qe.start); if (option_verbose > 2) { ast_verbose(VERBOSE_PREFIX_3 "User disconnected from queue %s when they almost made it\n", queuename); |