From: David Vossel Date: Mon, 16 Feb 2009 21:28:20 +0000 (+0000) Subject: Fixes issue with AST_CONTROL_SRCUPDATE breaking out of native bridge X-Git-Tag: 1.4.24-rc1~53 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1a00cbbf1de298d7102ebe6a125cf6d8461e51ec;p=thirdparty%2Fasterisk.git 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: https://origsvn.digium.com/svn/asterisk/branches/1.4@176247 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 9e32f9fd85..78a0c46d77 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;