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 b6d5e9223c
commit 0945f10d3b

View File

@@ -8042,7 +8042,7 @@ check_turns:
goto stop;
}
makeannouncement = 0;
makeannouncement = qe.parent->announce_to_first_user;
for (;;) {
/* This is the wait loop for the head caller*/
@@ -8062,15 +8062,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;
}
}