[asterisk-commits] rmudgett: branch 1.4 r304005 - /branches/1.4/res/res_features.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Jan 25 17:21:13 CST 2011


Author: rmudgett
Date: Tue Jan 25 17:21:09 2011
New Revision: 304005

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=304005
Log:
DTMF attended transfers sometimes fail for no apparent reason.

The loop in feature_request_and_dial() can exit when Party C has answered
without processing an AST_CONTROL_ANSWER.  Also sometimes an
AST_CONTROL_ANSWER never happens even though Party C has answered.

Don't hangup Party C if he is up or we receive an AST_CONTROL_ANSWER.

Modified:
    branches/1.4/res/res_features.c

Modified: branches/1.4/res/res_features.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.4/res/res_features.c?view=diff&rev=304005&r1=304004&r2=304005
==============================================================================
--- branches/1.4/res/res_features.c (original)
+++ branches/1.4/res/res_features.c Tue Jan 25 17:21:09 2011
@@ -1956,9 +1956,8 @@
 
 done:
 	ast_indicate(caller, -1);
-	if (chan && ready) {
-		if (chan->_state == AST_STATE_UP)
-			state = AST_CONTROL_ANSWER;
+	if (chan && (ready || chan->_state == AST_STATE_UP)) {
+		state = AST_CONTROL_ANSWER;
 	} else if (chan) {
 		ast_hangup(chan);
 		chan = NULL;




More information about the asterisk-commits mailing list