summaryrefslogtreecommitdiff
path: root/main/bridge_channel.c
diff options
context:
space:
mode:
authorMatthew Jordan <mjordan@digium.com>2014-05-19 01:10:23 +0000
committerMatthew Jordan <mjordan@digium.com>2014-05-19 01:10:23 +0000
commit42a1dee02d124635d570d834dd8ba32b99612964 (patch)
treea1ba581ccac58a7257063c480b64686dca2c66be /main/bridge_channel.c
parent17ff4d92823264e0db1902747d0b1ffcf5a7c26e (diff)
Undo r414123
The Test Suite caught a few problems, undoing until those are resolved git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@414138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/bridge_channel.c')
-rw-r--r--main/bridge_channel.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/main/bridge_channel.c b/main/bridge_channel.c
index 9d62af78b..2b37f25b5 100644
--- a/main/bridge_channel.c
+++ b/main/bridge_channel.c
@@ -1756,9 +1756,9 @@ void bridge_channel_internal_pull(struct ast_bridge_channel *bridge_channel)
/* If we are not going to be hung up after leaving a bridge, and we were an
* outgoing channel, clear the outgoing flag.
*/
- if (ast_test_flag(ast_channel_flags(bridge_channel->chan), AST_FLAG_OUTGOING) &&
- (ast_channel_is_leaving_bridge(bridge_channel->chan) ||
- bridge_channel->state == BRIDGE_CHANNEL_STATE_WAIT)) {
+ if (ast_test_flag(ast_channel_flags(bridge_channel->chan), AST_FLAG_OUTGOING)
+ && (ast_channel_softhangup_internal_flag(bridge_channel->chan) & (AST_SOFTHANGUP_ASYNCGOTO | AST_SOFTHANGUP_UNBRIDGE)
+ || bridge_channel->state == BRIDGE_CHANNEL_STATE_WAIT)) {
ast_debug(2, "Channel %s will survive this bridge; clearing outgoing (dialed) flag\n", ast_channel_name(bridge_channel->chan));
ast_clear_flag(ast_channel_flags(bridge_channel->chan), AST_FLAG_OUTGOING);
}