[asterisk-commits] rmudgett: branch 1.8 r381466 - /branches/1.8/main/features.c

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


Author: rmudgett
Date: Thu Feb 14 13:41:17 2013
New Revision: 381466

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

Modified:
    branches/1.8/main/features.c

Modified: branches/1.8/main/features.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/main/features.c?view=diff&rev=381466&r1=381465&r2=381466
==============================================================================
--- branches/1.8/main/features.c (original)
+++ branches/1.8/main/features.c Thu Feb 14 13:41:17 2013
@@ -3902,9 +3902,12 @@
 	long duration;
 
 	ast_channel_lock(chan);
-	dead = ast_test_flag(chan, AST_FLAG_ZOMBIE) || ast_check_hangup(chan);
+	dead = ast_test_flag(chan, AST_FLAG_ZOMBIE)
+		|| (chan->_softhangup
+			& ~(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