This prevents unreal channel optimization during the prequalification
phase when either channel is involved in DTMF emulation. This prevents
a situation where an emulated digit would be missed because the
emulation was never completed.
Review: https://reviewboard.asterisk.org/r/2747/
(closes issue ASTERISK-22214)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396385
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
if (!AST_LIST_EMPTY(ast_channel_readq(chan))) {
return NULL;
}
+ if (ast_test_flag(ast_channel_flags(chan), AST_FLAG_EMULATE_DTMF)) {
+ return NULL;
+ }
if (ast_channel_has_audio_frame_or_monitor(chan)) {
/* Channel has an active monitor, audiohook, or framehook. */
return NULL;
ast_channel_unlock(peer);
return NULL;
}
+ if (ast_test_flag(ast_channel_flags(peer), AST_FLAG_EMULATE_DTMF)) {
+ ast_channel_unlock(peer);
+ return NULL;
+ }
if (ast_channel_has_audio_frame_or_monitor(peer)) {
/* Peer has an active monitor, audiohook, or framehook. */
ast_channel_unlock(peer);