From: Richard Mudgett Date: Wed, 21 May 2014 22:24:40 +0000 (+0000) Subject: core_unreal: Only block media frames when a generator is on both ends of an unreal... X-Git-Tag: 13.0.0-beta1~270 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3bac303dc95afbe60069247eda469d9b48cfd701;p=thirdparty%2Fasterisk.git 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 --- diff --git a/main/core_unreal.c b/main/core_unreal.c index bf6b52732f..ae7f9d2abd 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; }