diff options
author | dvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-02-16 21:28:20 +0000 |
---|---|---|
committer | dvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-02-16 21:28:20 +0000 |
commit | 02b56e62a919738a831a3b29e1dd29974c38c1df (patch) | |
tree | 127b7e779df72d9ec297855a0705dce6e19ddf09 /channels | |
parent | 12073622e35a6773d926b7d1bf9f597752d797b0 (diff) |
Fixes issue with AST_CONTROL_SRCUPDATE breaking out of native bridge
In iax2, when a AST_CONTROL_SRCUPDATE is received it breaks from the native bridge, but since there is no code path to handle srcupdate it just goes to be beginning of the loop. This was causing packet storms of srcupdate frames between servers. Now srcupdate frames do not break the native bridge for processing.
(closes issue #13749)
Reported by: adiemus
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@176247 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_iax2.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 9e32f9fd8..78a0c46d7 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -3749,7 +3749,7 @@ static enum ast_bridge_result iax2_bridge(struct ast_channel *c0, struct ast_cha res = AST_BRIDGE_COMPLETE; break; } - if ((f->frametype == AST_FRAME_CONTROL) && !(flags & AST_BRIDGE_IGNORE_SIGS)) { + if ((f->frametype == AST_FRAME_CONTROL) && !(flags & AST_BRIDGE_IGNORE_SIGS) && (f->subclass != AST_CONTROL_SRCUPDATE)) { *fo = f; *rc = who; res = AST_BRIDGE_COMPLETE; |