aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2009-12-30 21:57:10 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2009-12-30 21:57:10 +0000
commitad000dc0ce41010006944695664d4dff6425934e (patch)
tree9812f3b24ec15d5ce71b081fed96ba3c6ee83099
parent9c4118095ea3e36743627e0526cc796d8e834bd9 (diff)
Don't queue frames to channels that have no means to process them.
(closes issue #15609) Reported by: aragon Patches: 20091230__issue16521__1.4__chan_local_only.diff.txt uploaded by tilghman (license 14) Tested by: aragon Review: https://reviewboard.asterisk.org/r/452/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@236981 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/chan_local.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/channels/chan_local.c b/channels/chan_local.c
index b39aeccd1..cb317b9b2 100644
--- a/channels/chan_local.c
+++ b/channels/chan_local.c
@@ -212,7 +212,9 @@ static int local_queue_frame(struct local_pvt *p, int isoutbound, struct ast_fra
}
if (other) {
- ast_queue_frame(other, f);
+ if (other->pbx || other->_bridge) {
+ ast_queue_frame(other, f);
+ } /* else the frame won't go anywhere */
ast_channel_unlock(other);
}