From 46aff9f0f88dd8d8b9d4d688a2c9e10b78501a73 Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Wed, 21 May 2014 22:01:26 +0000 Subject: [PATCH] chan_local: Only block media frames when a generator is on both ends of a local 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. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@414269 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_local.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/channels/chan_local.c b/channels/chan_local.c index c6afe8a856..1fee55be61 100644 --- a/channels/chan_local.c +++ b/channels/chan_local.c @@ -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; } -- 2.47.3