From 93d090147f1616149ff1c37970660dc686ba5c58 Mon Sep 17 00:00:00 2001 From: Mark Petersen <bugs.digium.com@zombie.dk> Date: Tue, 4 Jan 2022 10:11:41 +0100 Subject: [PATCH] app_queue.c: Queue don't play "thank-you" when here is no hold time announcements if holdtime is (0 min, 0 sec) there is no hold time announcements we should then also not playing queue-thankyou ASTERISK-29831 Change-Id: Ic7e51dcde526b23f1cd8d24e1d1e2d81e10f9d2c --- apps/app_queue.c | 12 +++--------- doc/CHANGES-staging/app_queue_say_thanks.txt | 4 ++++ 2 files changed, 7 insertions(+), 9 deletions(-) create mode 100644 doc/CHANGES-staging/app_queue_say_thanks.txt diff --git a/apps/app_queue.c b/apps/app_queue.c index 95eb05b0ee..9bd05379fc 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -4124,9 +4124,8 @@ static int valid_exit(struct queue_ent *qe, char digit) static int say_position(struct queue_ent *qe, int ringing) { - int res = 0, announceposition = 0; + int res = 0, say_thanks = 0; long avgholdmins, avgholdsecs; - int say_thanks = 1; time_t now; /* Let minannouncefrequency seconds pass between the start of each position announcement */ @@ -4155,11 +4154,7 @@ static int say_position(struct queue_ent *qe, int ringing) qe->parent->announceposition == ANNOUNCEPOSITION_MORE_THAN || (qe->parent->announceposition == ANNOUNCEPOSITION_LIMIT && qe->pos <= qe->parent->announcepositionlimit)) { - announceposition = 1; - } - - - if (announceposition == 1) { + say_thanks = 1; /* Say we're next, if we are */ if (qe->pos == 1) { res = play_file(qe->chan, qe->parent->sound_next); @@ -4203,6 +4198,7 @@ static int say_position(struct queue_ent *qe, int ringing) if ((avgholdmins+avgholdsecs) > 0 && qe->parent->announceholdtime && ((qe->parent->announceholdtime == ANNOUNCEHOLDTIME_ONCE && !qe->last_pos) || !(qe->parent->announceholdtime == ANNOUNCEHOLDTIME_ONCE))) { + say_thanks = 1; res = play_file(qe->chan, qe->parent->sound_holdtime); if (res) { goto playout; @@ -4237,8 +4233,6 @@ static int say_position(struct queue_ent *qe, int ringing) goto playout; } } - } else if (qe->parent->announceholdtime && !qe->parent->announceposition) { - say_thanks = 0; } posout: diff --git a/doc/CHANGES-staging/app_queue_say_thanks.txt b/doc/CHANGES-staging/app_queue_say_thanks.txt new file mode 100644 index 0000000000..7bf7b7b420 --- /dev/null +++ b/doc/CHANGES-staging/app_queue_say_thanks.txt @@ -0,0 +1,4 @@ +Subject: app_queues + +Don't play sound_thanks if there is no leading hold_time message +When the only announcement is hold time, and there is no hold time (0 min, 0 sec), asterisk will say "thank you for your patience" -- GitLab