app_page.c: Don't fail to Page if beep sound file is missing

ASTERISK-16799 #close

Change-Id: I40367b0d6dbf66a39721bde060c8b2d734a61cf4
This commit is contained in:
Sean Bright 2021-02-25 14:55:22 -05:00 committed by George Joseph
parent 1c1d4b2c68
commit 8604867857
1 changed files with 10 additions and 3 deletions

View File

@ -160,6 +160,8 @@ AST_APP_OPTIONS(page_opts, {
AST_APP_OPTION('n', PAGE_NOCALLERANNOUNCE),
});
#define PAGE_BEEP "beep"
/* We use this structure as a way to pass this to all dialed channels */
struct page_options {
char *opts[OPT_ARG_ARRAY_SIZE];
@ -402,9 +404,14 @@ static int page_exec(struct ast_channel *chan, const char *data)
ast_free(predial_callee);
if (!ast_test_flag(&options.flags, PAGE_QUIET)) {
res = ast_streamfile(chan, "beep", ast_channel_language(chan));
if (!res)
res = ast_waitstream(chan, "");
if (!ast_fileexists(PAGE_BEEP, NULL, NULL)) {
ast_log(LOG_WARNING, "Missing required sound file: '" PAGE_BEEP "'\n");
} else {
res = ast_streamfile(chan, PAGE_BEEP, ast_channel_language(chan));
if (!res) {
res = ast_waitstream(chan, "");
}
}
}
if (!res) {