[asterisk-commits] russell: branch russell/issue_13747 r163760 - in /team/russell/issue_13747: m...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Dec 12 16:00:19 CST 2008


Author: russell
Date: Fri Dec 12 16:00:18 2008
New Revision: 163760

URL: http://svn.digium.com/view/asterisk?view=rev&rev=163760
Log:
 - Ensure that the peer channel gets indication that the "calling" channel is
   still ringing if that is the case.  This can happen when you redirect a
   channel that is still ringing.
 - Copy the OUTGOING flag in do_masq().  This prevents erroneous ast_answer()
   on an outgoing channel that has been redirected.


Modified:
    team/russell/issue_13747/main/channel.c
    team/russell/issue_13747/res/res_features.c

Modified: team/russell/issue_13747/main/channel.c
URL: http://svn.digium.com/view/asterisk/team/russell/issue_13747/main/channel.c?view=diff&rev=163760&r1=163759&r2=163760
==============================================================================
--- team/russell/issue_13747/main/channel.c (original)
+++ team/russell/issue_13747/main/channel.c Fri Dec 12 16:00:18 2008
@@ -3657,7 +3657,7 @@
 	/* XXX What about blocking, softhangup, blocker, and lock and blockproc? XXX */
 	/* Application and data remain the same */
 	/* Clone exception  becomes real one, as with fdno */
-	ast_copy_flags(original, clone, AST_FLAG_EXCEPTION);
+	ast_copy_flags(original, clone, AST_FLAG_EXCEPTION | AST_FLAG_OUTGOING);
 	original->fdno = clone->fdno;
 	/* Schedule context remains the same */
 	/* Stream stuff stays the same */

Modified: team/russell/issue_13747/res/res_features.c
URL: http://svn.digium.com/view/asterisk/team/russell/issue_13747/res/res_features.c?view=diff&rev=163760&r1=163759&r2=163760
==============================================================================
--- team/russell/issue_13747/res/res_features.c (original)
+++ team/russell/issue_13747/res/res_features.c Fri Dec 12 16:00:18 2008
@@ -1476,6 +1476,10 @@
 		pbx_builtin_setvar_helper(peer, "BRIDGEPEER", chan->name);
 	} else if (chan) {
 		pbx_builtin_setvar_helper(chan, "BLINDTRANSFER", NULL);
+	}
+
+	if (chan->_state == AST_STATE_RINGING && peer->visible_indication != AST_CONTROL_RINGING) {
+		ast_indicate(peer, AST_CONTROL_RINGING);
 	}
 
 	if (monitor_ok) {




More information about the asterisk-commits mailing list