diff options
author | Kevin Harwell <kharwell@digium.com> | 2017-06-20 16:01:48 -0500 |
---|---|---|
committer | Kevin Harwell <kharwell@digium.com> | 2017-06-21 11:17:46 -0500 |
commit | 45a1f4e2ae3749d16820d7f9ea1e7dfbe028bbdf (patch) | |
tree | 5c3e5bfd5e1356b1a1278c00beb2efc5cc7db4e3 | |
parent | db5e269365ad6ed4f32b22140bd5f1c5a37fec65 (diff) |
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
-rw-r--r-- | main/bridge.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/main/bridge.c b/main/bridge.c index 8cde62cb5..07880ab8f 100644 --- a/main/bridge.c +++ b/main/bridge.c @@ -4822,7 +4822,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); } |