summaryrefslogtreecommitdiff
path: root/main/core_unreal.c
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2014-05-21 22:24:40 +0000
committerRichard Mudgett <rmudgett@digium.com>2014-05-21 22:24:40 +0000
commit3bac303dc95afbe60069247eda469d9b48cfd701 (patch)
treee575308429f8ed76d8788376e263f73c70e95263 /main/core_unreal.c
parent43bd3580e213554ef16ae89cbb91fc749a66db60 (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.c7
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;
}