Commit 4ec4543332 for asterisk.org

commit 4ec4543332571c4e6c4f8809360d136eae71edb7
Author: Joshua Colp <jcolp@sangoma.com>
Date:   Tue Apr 11 18:37:30 2023 -0500

    Revert "app_queue: periodic announcement configurable start time."

    This reverts commit 71e317f68f246939bde469609bbe573937232c7d.

    Reason for revert: Causes segmentation fault.

    Change-Id: I3beeda83249bffec2a8f246aa50a6b2f1b59ef59

diff --git a/apps/app_queue.c b/apps/app_queue.c
index d4362ae28c..9eebb2f3fc 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -1836,7 +1836,6 @@ struct call_queue {
 	int announcepositionlimit;          /*!< How many positions we announce? */
 	int announcefrequency;              /*!< How often to announce their position */
 	int minannouncefrequency;           /*!< The minimum number of seconds between position announcements (def. 15) */
-	int periodicannouncestartdelay;     /*!< How long into the queue should the periodic accouncement start */
 	int periodicannouncefrequency;      /*!< How often to play periodic announcement */
 	int numperiodicannounce;            /*!< The number of periodic announcements configured */
 	int randomperiodicannounce;         /*!< Are periodic announcments randomly chosen */
@@ -2965,7 +2964,6 @@ static void init_queue(struct call_queue *q)
 	q->weight = 0;
 	q->timeoutrestart = 0;
 	q->periodicannouncefrequency = 0;
-	q->periodicannouncestartdelay = -1;
 	q->randomperiodicannounce = 0;
 	q->numperiodicannounce = 0;
 	q->relativeperiodicannounce = 0;
@@ -3422,8 +3420,6 @@ static void queue_set_param(struct call_queue *q, const char *param, const char
 			ast_str_set(&q->sound_periodicannounce[0], 0, "%s", val);
 			q->numperiodicannounce = 1;
 		}
-	} else if (!strcasecmp(param, "periodic-announce-startdelay")) {
-		q->periodicannouncestartdelay = atoi(val);
 	} else if (!strcasecmp(param, "periodic-announce-frequency")) {
 		q->periodicannouncefrequency = atoi(val);
 	} else if (!strcasecmp(param, "relative-periodic-announce")) {
@@ -8523,10 +8519,6 @@ static int queue_exec(struct ast_channel *chan, const char *data)
 	qe.last_pos_said = 0;
 	qe.last_pos = 0;
 	qe.last_periodic_announce_time = time(NULL);
-	if (qe.parent->periodicannouncestartdelay >= 0) {
-		qe.last_periodic_announce_time += qe.parent->periodicannouncestartdelay;
-		qe.last_periodic_announce_time -= qe.parent->periodicannouncefrequency;
-	}
 	qe.last_periodic_announce_sound = 0;
 	qe.valid_digits = 0;
 	if (join_queue(args.queuename, &qe, &reason, position)) {
diff --git a/configs/samples/queues.conf.sample b/configs/samples/queues.conf.sample
index 7b5fe0b320..0987236cd6 100644
--- a/configs/samples/queues.conf.sample
+++ b/configs/samples/queues.conf.sample
@@ -278,13 +278,6 @@ monitor-type = MixMonitor
 ;
 ;periodic-announce-frequency=60
 ;
-; If given indicates the number of seconds after entering the queue the first
-; periodic announcement should be played.  The default (and historic) behavior
-; is to play the first periodic announcement at periodic-announce-frequency
-; seconds after entering the queue.
-;
-;periodic-announce-startdelay=10
-;
 ; Should the periodic announcements be played in a random order? Default is no.
 ;
 ;random-periodic-announce=no
diff --git a/doc/CHANGES-staging/app_queue.txt b/doc/CHANGES-staging/app_queue.txt
deleted file mode 100644
index f71bcb0dfa..0000000000
--- a/doc/CHANGES-staging/app_queue.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Subject: app_queue
-
-Introduce a new queue configuration option called
-'periodic-announce-startdelay' which will vary the normal (historic) behavior
-of starting the periodic announcement cycle at periodic-announce-frequency
-seconds after entering the queue to start the periodic announcement cycle at
-period-announce-startdelay seconds after joining the queue.
-
-The default behavior if this config option is not set remains unchanged.