[asterisk-commits] rmudgett: branch 11 r381467 - in /branches/11: ./ main/features.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Feb 14 13:44:43 CST 2013


Author: rmudgett
Date: Thu Feb 14 13:44:39 2013
New Revision: 381467

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=381467
Log:
End stuck DTMF if AST_SOFTHANGUP_ASYNCGOTO because it isn't a real hangup.

It doesn't hurt to check AST_SOFTHANGUP_UNBRIDGE either, but it should not
be set outside of a bridge.

(issue ASTERISK-20492)
........

Merged revisions 381466 from http://svn.asterisk.org/svn/asterisk/branches/1.8

Modified:
    branches/11/   (props changed)
    branches/11/main/features.c

Propchange: branches/11/
------------------------------------------------------------------------------
Binary property 'branch-1.8-merged' - no diff available.

Modified: branches/11/main/features.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/main/features.c?view=diff&rev=381467&r1=381466&r2=381467
==============================================================================
--- branches/11/main/features.c (original)
+++ branches/11/main/features.c Thu Feb 14 13:44:39 2013
@@ -4246,9 +4246,12 @@
 	long duration;
 
 	ast_channel_lock(chan);
-	dead = ast_test_flag(ast_channel_flags(chan), AST_FLAG_ZOMBIE) || ast_check_hangup(chan);
+	dead = ast_test_flag(ast_channel_flags(chan), AST_FLAG_ZOMBIE)
+		|| (ast_channel_softhangup_internal_flag(chan)
+			& ~(AST_SOFTHANGUP_ASYNCGOTO | AST_SOFTHANGUP_UNBRIDGE));
 	ast_channel_unlock(chan);
 	if (dead) {
+		/* Channel is a zombie or a real hangup. */
 		return;
 	}
 




More information about the asterisk-commits mailing list