Skip to content
Snippets Groups Projects
Commit ce8f95d7 authored by Mark Michelson's avatar Mark Michelson
Browse files

Merged revisions 75253 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r75253 | mmichelson | 2007-07-16 13:16:15 -0500 (Mon, 16 Jul 2007) | 8 lines

Restoring functionality from 1.2 wherein Retrydial will not exit if there is no announce file specified.
This change makes it so that if there is no announce file specified, the application will continue until finished (or caller hangs up).
If a bogus announce file is specified, then a warning message will be printed saying that the file could not be found, but execution will
still continue. 

(closes issue #10186, reported by jon, patched by me)


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75254 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 0dc98ebd
No related branches found
No related tags found
No related merge requests found
......@@ -1888,22 +1888,33 @@ static int retrydial_exec(struct ast_channel *chan, void *data)
res = dial_exec_full(chan, dialdata, &peerflags, &continue_exec);
if (continue_exec)
break;
if (res == 0) {
if (ast_test_flag(&peerflags, OPT_DTMF_EXIT)) {
if (!(res = ast_streamfile(chan, announce, chan->language)))
res = ast_waitstream(chan, AST_DIGIT_ANY);
if (!ast_strlen_zero(announce)) {
if (ast_fileexists(announce, NULL, chan->language)) {
if(!(res = ast_streamfile(chan, announce, chan->language)))
ast_waitstream(chan, AST_DIGIT_ANY);
} else
ast_log(LOG_WARNING, "Announce file \"%s\" specified in Retrydial does not exist\n", announce);
}
if (!res && sleep) {
if (!ast_test_flag(chan, AST_FLAG_MOH))
ast_moh_start(chan, NULL, NULL);
res = ast_waitfordigit(chan, sleep);
}
} else {
if (!(res = ast_streamfile(chan, announce, chan->language)))
res = ast_waitstream(chan, "");
if (!ast_strlen_zero(announce)) {
if (ast_fileexists(announce, NULL, chan->language)) {
if (!(res = ast_streamfile(chan, announce, chan->language)))
res = ast_waitstream(chan, "");
} else
ast_log(LOG_WARNING, "Announce file \"%s\" specified in Retrydial does not exist\n", announce);
}
if (sleep) {
if (!ast_test_flag(chan, AST_FLAG_MOH))
ast_moh_start(chan, NULL, NULL);
if (!res)
if (!res)
res = ast_waitfordigit(chan, sleep);
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment