[asterisk-commits] dvossel: branch 1.4 r243390 - /branches/1.4/res/res_features.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Jan 26 17:55:54 CST 2010


Author: dvossel
Date: Tue Jan 26 17:55:49 2010
New Revision: 243390

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=243390
Log:
fixes bug with channel receiving wrong privileges after call parking 

(closes issue #16429)
Reported by: Yasuhiro Konishi
Patches:
      features.c.diff uploaded by Yasuhiro Konishi (license 947)
Tested by: dvossel


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=243390&r1=243389&r2=243390
==============================================================================
--- branches/1.4/res/res_features.c (original)
+++ branches/1.4/res/res_features.c Tue Jan 26 17:55:49 2010
@@ -2579,8 +2579,12 @@
 		}
 		ast_channel_unlock(peer);
 
+		/* When the datastores for both caller and callee are created, both the callee and caller channels
+		 * use the features_caller flag variable to represent themselves. With that said, the config.features_callee
+		 * flags should be copied from the datastore's caller feature flags regardless if peer was a callee
+		 * or caller. */
 		if (dialfeatures) {
-			ast_copy_flags(&(config.features_callee), dialfeatures->is_caller ? &(dialfeatures->features_caller) : &(dialfeatures->features_callee), AST_FLAGS_ALL);
+			ast_copy_flags(&(config.features_callee), &(dialfeatures->features_caller), AST_FLAGS_ALL);
 		}
 
 		if ((parkedcalltransfers == AST_FEATURE_FLAG_BYCALLEE) || (parkedcalltransfers == AST_FEATURE_FLAG_BYBOTH)) {




More information about the asterisk-commits mailing list