app_queue.c: Fix announcements when announce-to-first-user not enabled.

The previous patch for ASTERISK-27216 made it so you wouldn't get any
position or periodic announcements unless you had announce-to-first-user
enabled.  The announce-to-first-user feature was added by ASTERISK_21782
as a result of the patch which introduced the redundant announcements that
ASTERISK-27216 removes.

* By noting that the makeannouncement variable is used to suppresses the
first user announcement, we set its initial value to the
announce-to-first-user enable setting.

ASTERISK-27216

Change-Id: Ieaeb7dbea8ae7073086b775fbafe0625b000b10a
This commit is contained in:
Richard Mudgett
2017-09-28 17:37:15 -05:00
parent 5307659e96
commit b2dbfe23ef

View File

@@ -8229,7 +8229,7 @@ check_turns:
goto stop;
}
makeannouncement = 0;
makeannouncement = qe.parent->announce_to_first_user;
for (;;) {
/* This is the wait loop for the head caller*/
@@ -8249,15 +8249,17 @@ check_turns:
if (makeannouncement) {
/* Make a position announcement, if enabled */
if (qe.parent->announcefrequency && qe.parent->announce_to_first_user)
if ((res = say_position(&qe,ringing)))
if (qe.parent->announcefrequency) {
if ((res = say_position(&qe, ringing))) {
goto stop;
}
}
}
makeannouncement = 1;
/* Make a periodic announcement, if enabled */
if (qe.parent->periodicannouncefrequency && qe.parent->announce_to_first_user) {
if ((res = say_periodic_announcement(&qe,ringing))) {
if (qe.parent->periodicannouncefrequency) {
if ((res = say_periodic_announcement(&qe, ringing))) {
goto stop;
}
}