diff --git a/apps/app_queue.c b/apps/app_queue.c
index 029e6bfb5b..f5550bb7d7 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -238,7 +238,13 @@
URL will be sent to the called party if the channel supports it.
-
+
+
+ Announcement file(s) to play to agent before bridging call, overriding the announcement(s)
+ configured in queues.conf, if any.
+
+
+
Will cause the queue to fail out after a specified number of
seconds, checked between each queues.conf timeout and
@@ -6956,8 +6962,12 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
res2 = ast_safe_sleep(peer, qe->parent->memberdelay * 1000);
}
if (!res2 && announce) {
- if (play_file(peer, announce) < 0) {
- ast_log(LOG_ERROR, "play_file failed for '%s' on %s\n", announce, ast_channel_name(peer));
+ char *front;
+ char *announcefiles = ast_strdupa(announce);
+ while ((front = strsep(&announcefiles, "&"))) {
+ if (play_file(peer, front) < 0) {
+ ast_log(LOG_ERROR, "play_file failed for '%s' on %s\n", front, ast_channel_name(peer));
+ }
}
}
if (!res2 && qe->parent->reportholdtime) {
diff --git a/doc/CHANGES-staging/app_queue.txt b/doc/CHANGES-staging/app_queue.txt
new file mode 100644
index 0000000000..5d677b56b9
--- /dev/null
+++ b/doc/CHANGES-staging/app_queue.txt
@@ -0,0 +1,4 @@
+Subject: app_queue.c
+
+Allow multiple files to be streamed for agent announcement.
+