diff options
author | Mark Michelson <mmichelson@digium.com> | 2015-08-24 17:12:06 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2015-08-24 17:12:06 -0500 |
commit | d36c8aa0062f7b2518fcd5e6100f0a0277117696 (patch) | |
tree | 18accb2a34a4cc81316dfe907a8dcdffb64a3e21 | |
parent | 3108820000ba44605f09a314c5a9d69f0114dd32 (diff) | |
parent | 98d089fb9a0a52baf6fa07c723bb74c4dd9a116c (diff) |
Merge "bridge: Kick channel from bridge if hung up during action."
-rw-r--r-- | main/bridge_channel.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/main/bridge_channel.c b/main/bridge_channel.c index 28dfd9ccb..be0819a5c 100644 --- a/main/bridge_channel.c +++ b/main/bridge_channel.c @@ -1914,6 +1914,13 @@ static void bridge_channel_handle_action(struct ast_bridge_channel *bridge_chann default: break; } + + /* While invoking an action it is possible for the channel to be hung up. So + * that the bridge respects this we check here and if hung up kick it out. + */ + if (bridge_channel->chan && ast_check_hangup_locked(bridge_channel->chan)) { + ast_bridge_channel_kick(bridge_channel, 0); + } } /*! |