dect
/
asterisk
Archived
13
0
Fork 0

Merged revisions 77795 via svnmerge from

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

(closes issue #10083)
........
r77795 | qwell | 2007-07-30 15:17:08 -0500 (Mon, 30 Jul 2007) | 6 lines

Applications like SayAlpha() should not hang up the channel if you
 request an "unknown" character such as a comma.
Instead, skip the character and move on.

Issue 10083, initial patch by jsmith, modified by me.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77796 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
qwell 2007-07-30 20:19:13 +00:00
parent e862408540
commit 0ffe53f6f9
1 changed files with 19 additions and 15 deletions

View File

@ -126,14 +126,16 @@ static int say_character_str_full(struct ast_channel *chan, const char *str, con
fnbuf[8] = ltr;
fn = fnbuf;
}
res = ast_streamfile(chan, fn, lang);
if (!res) {
if ((audiofd > -1) && (ctrlfd > -1))
res = ast_waitstream_full(chan, ints, audiofd, ctrlfd);
else
res = ast_waitstream(chan, ints);
if (fn && ast_fileexists(fn, NULL, NULL) > 0) {
res = ast_streamfile(chan, fn, lang);
if (!res) {
if ((audiofd > -1) && (ctrlfd > -1))
res = ast_waitstream_full(chan, ints, audiofd, ctrlfd);
else
res = ast_waitstream(chan, ints);
}
ast_stopstream(chan);
}
ast_stopstream(chan);
num++;
}
@ -204,14 +206,16 @@ static int say_phonetic_str_full(struct ast_channel *chan, const char *str, cons
fnbuf[9] = ltr;
fn = fnbuf;
}
res = ast_streamfile(chan, fn, lang);
if (!res) {
if ((audiofd > -1) && (ctrlfd > -1))
res = ast_waitstream_full(chan, ints, audiofd, ctrlfd);
else
res = ast_waitstream(chan, ints);
if (fn && ast_fileexists(fn, NULL, NULL) > 0) {
res = ast_streamfile(chan, fn, lang);
if (!res) {
if ((audiofd > -1) && (ctrlfd > -1))
res = ast_waitstream_full(chan, ints, audiofd, ctrlfd);
else
res = ast_waitstream(chan, ints);
}
ast_stopstream(chan);
}
ast_stopstream(chan);
num++;
}
@ -252,7 +256,7 @@ static int say_digit_str_full(struct ast_channel *chan, const char *str, const c
fn = fnbuf;
break;
}
if (fn) {
if (fn && ast_fileexists(fn, NULL, NULL) > 0) {
res = ast_streamfile(chan, fn, lang);
if (!res) {
if ((audiofd > -1) && (ctrlfd > -1))