[asterisk-commits] twilson: branch 1.6.2 r306673 - in /branches/1.6.2: ./ main/features.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Feb 7 16:40:24 CST 2011


Author: twilson
Date: Mon Feb  7 16:40:20 2011
New Revision: 306673

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=306673
Log:
Merged revisions 306672 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r306672 | twilson | 2011-02-07 14:35:20 -0800 (Mon, 07 Feb 2011) | 10 lines
  
  Don't try to pickup a call in the middle of a masquerade
  
  If A calls B which doesn't answer and C & D both try to do a call pickup, it is
  possible for ast_pickup_call to answer the call, then fail to masquerade one of
  the calls because the other one is already in the process of masquerading. This
  patch checks to see if the channel is in the process of masquerading before
  call before selecting it for a pickup.
  
  Review: https://reviewboard.asterisk.org/r/1094/
........

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

Propchange: branches/1.6.2/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: branches/1.6.2/main/features.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.6.2/main/features.c?view=diff&rev=306673&r1=306672&r2=306673
==============================================================================
--- branches/1.6.2/main/features.c (original)
+++ branches/1.6.2/main/features.c Mon Feb  7 16:40:20 2011
@@ -4882,7 +4882,8 @@
 		   change while we're here, but that isn't a problem. */
 		(c != chan) &&
 		(chan->pickupgroup & c->callgroup) &&
-		((c->_state == AST_STATE_RINGING) || (c->_state == AST_STATE_RING));
+		((c->_state == AST_STATE_RINGING) || (c->_state == AST_STATE_RING)) &&
+		!c->masq;
 }
 
 /*!




More information about the asterisk-commits mailing list