[asterisk-commits] rmudgett: trunk r381469 - in /trunk: ./ main/features.c

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


Author: rmudgett
Date: Thu Feb 14 13:52:14 2013
New Revision: 381469

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=381469
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
........

Merged revisions 381467 from http://svn.asterisk.org/svn/asterisk/branches/11

Modified:
    trunk/   (props changed)
    trunk/main/features.c

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

Modified: trunk/main/features.c
URL: http://svnview.digium.com/svn/asterisk/trunk/main/features.c?view=diff&rev=381469&r1=381468&r2=381469
==============================================================================
--- trunk/main/features.c (original)
+++ trunk/main/features.c Thu Feb 14 13:52:14 2013
@@ -4276,9 +4276,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