summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorAutomerge script <automerge@asterisk.org>2012-12-14 23:17:59 +0000
committerAutomerge script <automerge@asterisk.org>2012-12-14 23:17:59 +0000
commitd4aeeecffa1b93c32159184171c28751f546f28a (patch)
treeeae820755dad308c82af367ef1aadab9831fdc62 /main
parent928f6463ec4e6a8f4ce9638393f6bf588d4ed3a2 (diff)
Merged revisions 378063-378064 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk ........ r378063 | jrose | 2012-12-14 16:34:18 -0600 (Fri, 14 Dec 2012) | 8 lines 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) ........ r378064 | rmudgett | 2012-12-14 16:45:03 -0600 (Fri, 14 Dec 2012) | 4 lines chan_agent: Remove some duplicated code. No need to check for an agent twice. Santa does that. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378066 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main')
-rw-r--r--main/features.c28
1 files changed, 19 insertions, 9 deletions
diff --git a/main/features.c b/main/features.c
index a4977f258..5e544cc26 100644
--- a/main/features.c
+++ b/main/features.c
@@ -4227,22 +4227,32 @@ static void set_bridge_features_on_config(struct ast_bridge_config *config, cons
}
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);