Merged revisions 25518 via svnmerge from
authorBJ Weschke <bweschke@btwtech.com>
Mon, 8 May 2006 13:12:39 +0000 (13:12 +0000)
committerBJ Weschke <bweschke@btwtech.com>
Mon, 8 May 2006 13:12:39 +0000 (13:12 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r25518 | bweschke | 2006-05-08 09:11:32 -0400 (Mon, 08 May 2006) | 3 lines

 Don't recheck valid_exit() after getting the result from say_position (which already checks it). Should prevent another loop if the caller hits digits during the position announcement. #6776 (tgj reporting)

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@25519 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_queue.c

index 4f5d3e3..b81e091 100644 (file)
@@ -1214,7 +1214,9 @@ static int say_position(struct queue_ent *qe)
        /* Set our last_pos indicators */
        qe->last_pos = now;
        qe->last_pos_said = qe->pos;
-       ast_moh_start(qe->chan, qe->moh);
+       /* Don't restart music on hold if we're about to exit the caller from the queue */
+       if (!res)
+               ast_moh_start(qe->chan, qe->moh);
 
        return res;
 }
@@ -3144,7 +3146,7 @@ check_turns:
                                        /* Make a position announcement, if enabled */
                                        if (qe.parent->announcefrequency && !ringing)
                                                res = say_position(&qe);
-                                       if (res && valid_exit(&qe, res)) {
+                                       if (res) {
                                                 ast_queue_log(args.queuename, chan->uniqueid, "NONE", "EXITWITHKEY", "%s|%d", qe.digits, qe.pos);
                                                break;
                                        }