diff options
author | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-07-08 19:28:07 +0000 |
---|---|---|
committer | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-07-08 19:28:07 +0000 |
commit | 588b5fd20b93e7a103a5b46343b5a4be35ed3393 (patch) | |
tree | 15797bc65cd01957ab6e860d8ec00c1305d781c7 /apps | |
parent | 58f3dbaa27239237e9cb4d3adc9b8581f533d897 (diff) |
Merged revisions 205350 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r205350 | mmichelson | 2009-07-08 14:26:55 -0500 (Wed, 08 Jul 2009) | 20 lines
Merged revisions 205349 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r205349 | mmichelson | 2009-07-08 14:26:13 -0500 (Wed, 08 Jul 2009) | 14 lines
Prevent phantom calls to queue members.
If a caller were to hang up while a periodic announcement or position
were being said, the return value for those functions would incorrectly
indicate that the caller was still in the queue. With these changes,
the problem does not occur.
(closes issue #14631)
Reported by: latinsud
Patches:
queue_announce_ghost_call2.diff uploaded by latinsud (license 745)
(with small modification from me)
........
................
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@205353 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_queue.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c index 60cb9412c..e7c25dfb5 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -2167,7 +2167,8 @@ posout: res = play_file(qe->chan, qe->parent->sound_thanks); } playout: - if ((res > 0 && !valid_exit(qe, res)) || res < 0) + + if ((res > 0 && !valid_exit(qe, res))) res = 0; /* Set our last_pos indicators */ @@ -2719,7 +2720,7 @@ static int say_periodic_announcement(struct queue_ent *qe, int ringing) /* play the announcement */ res = play_file(qe->chan, ast_str_buffer(qe->parent->sound_periodicannounce[qe->last_periodic_announce_sound])); - if ((res > 0 && !valid_exit(qe, res)) || res < 0) + if (res > 0 && !valid_exit(qe, res)) res = 0; /* Resume Music on Hold if the caller is going to stay in the queue */ |