diff options
author | Richard Mudgett <rmudgett@digium.com> | 2014-05-21 22:24:40 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2014-05-21 22:24:40 +0000 |
commit | 3bac303dc95afbe60069247eda469d9b48cfd701 (patch) | |
tree | e575308429f8ed76d8788376e263f73c70e95263 /main/core_unreal.c | |
parent | 43bd3580e213554ef16ae89cbb91fc749a66db60 (diff) |
core_unreal: Only block media frames when a generator is on both ends of an unreal channel.
The fix for ASTERISK-12292 was a bit too aggressive. You could have
generators pointed at each other on local channels but need to get other
kinds of frames such as DTMF or CONNECTED_LINE frames accross.
........
Merged revisions 414269 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 414270 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 414272 from http://svn.asterisk.org/svn/asterisk/branches/12
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@414297 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/core_unreal.c')
-rw-r--r-- | main/core_unreal.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/main/core_unreal.c b/main/core_unreal.c index bf6b52732..ae7f9d2ab 100644 --- a/main/core_unreal.c +++ b/main/core_unreal.c @@ -211,8 +211,11 @@ static int unreal_queue_frame(struct ast_unreal_pvt *p, int isoutbound, struct a return 0; } - /* do not queue frame if generator is on both unreal channels */ - if (us && ast_channel_generator(us) && ast_channel_generator(other)) { + /* do not queue media frames if a generator is on both unreal channels */ + if (us + && (f->frametype == AST_FRAME_VOICE || f->frametype == AST_FRAME_VIDEO) + && ast_channel_generator(us) + && ast_channel_generator(other)) { return 0; } |