mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-18 18:46:16 +00:00
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:
@@ -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);
|
||||
|
Reference in New Issue
Block a user