[svn-commits] jrose: trunk r378063 - in /trunk: CHANGES UPGRADE.txt main/features.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Fri Dec 14 16:34:21 CST 2012


Author: jrose
Date: Fri Dec 14 16:34:18 2012
New Revision: 378063

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=378063
Log:
Features: BRIDGE_FEATURES variable automixmonitor support and use proper party

BRIDGE_FEATURES did not previously support the automixmonitor feature. Now it
does. In addition, the BRIDGE_FEATURES variable would not apply features to
the proper party based on whether the feature option letter was in caps or
in lowercase (both ways would apply it to the caller). Now uppercase applies
to the caller while lowercase applies to the callee (like with the dial option)

Modified:
    trunk/CHANGES
    trunk/UPGRADE.txt
    trunk/main/features.c

Modified: trunk/CHANGES
URL: http://svnview.digium.com/svn/asterisk/trunk/CHANGES?view=diff&rev=378063&r1=378062&r2=378063
==============================================================================
--- trunk/CHANGES (original)
+++ trunk/CHANGES Fri Dec 14 16:34:18 2012
@@ -30,6 +30,16 @@
    than 15 characters and no longer shows authorization requirement for commands.
    'Manager Show Command' now displays the privileges needed for using a given
    manager command instead.
+
+Features
+-------------------
+ * The BRIDGE_FEATURES channel variable would previously only set features for
+   the calling party and would set this feature regardless of whether the
+   feature was in caps or in lowercase. Use of a caps feature for a letter
+   will now apply the feature to the calling party while use of a lowercase
+   letter will apply that feature to the called party.
+
+ * Add support for automixmonitor to the BRIDGE_FEATURES channel variable.
 
 Logging
 -------------------

Modified: trunk/UPGRADE.txt
URL: http://svnview.digium.com/svn/asterisk/trunk/UPGRADE.txt?view=diff&rev=378063&r1=378062&r2=378063
==============================================================================
--- trunk/UPGRADE.txt (original)
+++ trunk/UPGRADE.txt Fri Dec 14 16:34:18 2012
@@ -64,6 +64,9 @@
  - Asterisk has always had code to ignore dash '-' characters that are not
    part of a character set in the dialplan extensions.  The code now
    consistently ignores these characters when matching dialplan extensions.
+ - BRIDGE_FEATURES channel variable is now casesensitive for feature letter codes.
+   Uppercase variants apply them to the calling party while lowercase variants
+   apply them to the called party.
 
 From 10 to 11:
 

Modified: trunk/main/features.c
URL: http://svnview.digium.com/svn/asterisk/trunk/main/features.c?view=diff&rev=378063&r1=378062&r2=378063
==============================================================================
--- trunk/main/features.c (original)
+++ trunk/main/features.c Fri Dec 14 16:34:18 2012
@@ -4227,22 +4227,32 @@
 	}
 
 	for (feature = features; *feature; feature++) {
-		switch (*feature) {
-		case 'T' :
+		struct ast_flags *party;
+		char this_feature;
+
+		if (isupper(*feature)) {
+			party = &(config->features_caller);
+		} else {
+			party = &(config->features_callee);
+		}
+
+		this_feature = tolower(*feature);
+
+		switch (this_feature) {
 		case 't' :
-			ast_set_flag(&(config->features_caller), AST_FEATURE_REDIRECT);
+			ast_set_flag(party, AST_FEATURE_REDIRECT);
 			break;
-		case 'K' :
 		case 'k' :
-			ast_set_flag(&(config->features_caller), AST_FEATURE_PARKCALL);
+			ast_set_flag(party, AST_FEATURE_PARKCALL);
 			break;
-		case 'H' :
 		case 'h' :
-			ast_set_flag(&(config->features_caller), AST_FEATURE_DISCONNECT);
+			ast_set_flag(party, AST_FEATURE_DISCONNECT);
 			break;
-		case 'W' :
 		case 'w' :
-			ast_set_flag(&(config->features_caller), AST_FEATURE_AUTOMON);
+			ast_set_flag(party, AST_FEATURE_AUTOMON);
+			break;
+		case 'x' :
+			ast_set_flag(party, AST_FEATURE_AUTOMIXMON);
 			break;
 		default :
 			ast_log(LOG_WARNING, "Skipping unknown feature code '%c'\n", *feature);




More information about the svn-commits mailing list