]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
chan_local: Only block media frames when a generator is on both ends of a local channel.
authorRichard Mudgett <rmudgett@digium.com>
Wed, 21 May 2014 22:01:26 +0000 (22:01 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Wed, 21 May 2014 22:01:26 +0000 (22:01 +0000)
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.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@414269 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_local.c

index c6afe8a8562fda66d95e4e657d9bf268b5008c5c..1fee55be6161ac57d674d53be01bed5bbc83e28e 100644 (file)
@@ -427,8 +427,11 @@ static int local_queue_frame(struct local_pvt *p, int isoutbound, struct ast_fra
                return 0;
        }
 
-       /* do not queue frame if generator is on both local channels */
-       if (us && us->generator && other->generator) {
+       /* do not queue media frames if a generator is on both local channels */
+       if (us
+               && (f->frametype == AST_FRAME_VOICE || f->frametype == AST_FRAME_VIDEO)
+               && us->generator
+               && other->generator) {
                return 0;
        }