aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/app_queue.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c
index 763febfa1..a35a3ee19 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -1184,7 +1184,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;
}
@@ -2989,7 +2991,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(queuename, chan->uniqueid, "NONE", "EXITWITHKEY", "%s|%d", qe.digits, qe.pos);
break;
}
@@ -3523,13 +3525,13 @@ static int manager_queues_status( struct mansession *s, struct message *m )
}
ast_mutex_unlock(&q->lock);
}
- ast_mutex_unlock(&qlock);
ast_cli(s->fd,
"Event: QueueStatusComplete\r\n"
"%s"
"\r\n",idText);
+ ast_mutex_unlock(&qlock);
return RESULT_SUCCESS;
}