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 */
q->weight = 0;
q->timeoutrestart = 0;
q->periodicannouncefrequency = 0;
+ q->periodicannouncestartdelay = -1;
q->randomperiodicannounce = 0;
q->numperiodicannounce = 0;
q->relativeperiodicannounce = 0;
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")) {
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)) {
;
;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
--- /dev/null
+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.