From: Kevin Harwell Date: Tue, 20 Jun 2017 21:01:48 +0000 (-0500) Subject: bridge: stuck channel(s) after failed attended transfer X-Git-Tag: 14.6.0-rc1~18^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6a2fe083ceb9417d7faffeb177e44340f1d4ca5e;p=thirdparty%2Fasterisk.git bridge: stuck channel(s) after failed attended transfer If an attended transfer failed it was possible for some of the channels involved to get "stuck" because Asterisk was not hanging up the transfer target. This patch ensures Asterisk hangs up the transfer target when an attended transfer failure occurs. ASTERISK-27075 #close Change-Id: I98a6ecd92d3461ab98c36f0d9451d23adaf3e5f9 --- diff --git a/main/bridge.c b/main/bridge.c index 740a88f8ce..73a3d9282d 100644 --- a/main/bridge.c +++ b/main/bridge.c @@ -4789,7 +4789,7 @@ enum ast_transfer_result ast_bridge_transfer_attended(struct ast_channel *to_tra res = AST_BRIDGE_TRANSFER_SUCCESS; end: - if (res == AST_BRIDGE_TRANSFER_SUCCESS && hangup_target) { + if ((res == AST_BRIDGE_TRANSFER_SUCCESS && hangup_target) || res == AST_BRIDGE_TRANSFER_FAIL) { ast_softhangup(to_transfer_target, AST_SOFTHANGUP_DEV); }