]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fixes issue with AST_CONTROL_SRCUPDATE breaking out of native bridge
authorDavid Vossel <dvossel@digium.com>
Mon, 16 Feb 2009 21:28:20 +0000 (21:28 +0000)
committerDavid Vossel <dvossel@digium.com>
Mon, 16 Feb 2009 21:28:20 +0000 (21:28 +0000)
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: https://origsvn.digium.com/svn/asterisk/branches/1.4@176247 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_iax2.c

index 9e32f9fd855f3e89c7f1abdb23b8acb71dad1787..78a0c46d77f69d8f36e6ce67caf90a4404f279f1 100644 (file)
@@ -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;