diff options
author | Mark Michelson <mmichelson@digium.com> | 2015-08-24 17:11:56 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2015-08-24 17:11:56 -0500 |
commit | d0f911f3261c2f0343207c0921f8d6bcf3a6bd68 (patch) | |
tree | 088ff55eebe44201328ed2af239ee23fdc35288a | |
parent | 5f781cb799eeb638127bc2ee97e59139390fe721 (diff) | |
parent | 6c2dab1e888e59cb429ed61219815bd00eee66c0 (diff) |
Merge "bridge: Kick channel from bridge if hung up during action." into 13
-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 3ee04db55..8ce022005 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); + } } /*! |