Allow channels in app_stasis to hangup properly

This detects hangups that occur while bridged to allow channels to exit
app_stasis even if the hangup frame was absorbed by the bridge the
channel was in.

Reported by: David Lee
(closes issue ASTERISK-22297)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397244 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Kinsey Moore
2013-08-21 14:08:23 +00:00
parent e85dd76945
commit d12350ccc3

View File

@@ -597,6 +597,11 @@ int stasis_app_exec(struct ast_channel *chan, const char *app_name, int argc,
int r;
int command_count;
/* Check to see if a bridge absorbed our hangup frame */
if (ast_check_hangup_locked(chan)) {
break;
}
if (stasis_app_get_bridge(control)) {
/* Bridge is handling channel frames */
control_wait(control);