]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix handling of some call parking config options.
authorRussell Bryant <russell@russellbryant.com>
Fri, 22 Apr 2011 13:35:22 +0000 (13:35 +0000)
committerRussell Bryant <russell@russellbryant.com>
Fri, 22 Apr 2011 13:35:22 +0000 (13:35 +0000)
This patch adjusts the handling of some call parking config options to fix some
issues that have already been addressed in 1.8 and trunk.

(closes issue #19167)
Reported by: bluecrow76
Patches:
      asterisk-1.6.2.17.2-fix-build-parkinglot-parked-AST_FEATURE_FLAGS.diff uploaded by bluecrow76 (license 270)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@314776 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/features.c

index 1b1d55b8824cfc0a3d3b249b84fe788d764098f5..ce24cfdcac94d824cf915b410c06b394348feef4 100644 (file)
@@ -4082,17 +4082,38 @@ static struct ast_parkinglot *build_parkinglot(char *name, struct ast_variable *
                        }
                } else if (!strcasecmp(confvar->name, "findslot")) {
                        parkinglot->parkfindnext = (!strcasecmp(confvar->value, "next"));
-               } else if (!strcasecmp(confvar->name, "parkedcalltransfers") ||
-                               !strcasecmp(confvar->name, "parkedcallreparking") ||
-                               !strcasecmp(confvar->name, "parkedcallhangup") ||
-                               !strcasecmp(confvar->name, "parkedcallrecording")) {
-                       if (!strcasecmp(confvar->value, "both")) {
+               } else if (!strcasecmp(confvar->name, "parkedcalltransfers")) {
+                       ast_debug(1, "Setting parking lot %s %s to %s\n", name, confvar->name, confvar->value);
+                       if (!strcasecmp(confvar->value, "both"))
                                parkinglot->parkedcalltransfers = AST_FEATURE_FLAG_BYBOTH;
-                       } else if (!strcasecmp(confvar->value, "caller")) {
+                       else if (!strcasecmp(confvar->value, "caller"))
                                parkinglot->parkedcalltransfers = AST_FEATURE_FLAG_BYCALLER;
-                       } else if (!strcasecmp(confvar->value, "callee")) {
+                       else if (!strcasecmp(confvar->value, "callee"))
                                parkinglot->parkedcalltransfers = AST_FEATURE_FLAG_BYCALLEE;
-                       }
+               } else if (!strcasecmp(confvar->name, "parkedcallreparking")) {
+                       ast_debug(1, "Setting parking lot %s %s to %s\n", name, confvar->name, confvar->value);
+                       if (!strcasecmp(confvar->value, "both"))
+                               parkinglot->parkedcallreparking = AST_FEATURE_FLAG_BYBOTH;
+                       else if (!strcasecmp(confvar->value, "caller"))
+                               parkinglot->parkedcallreparking = AST_FEATURE_FLAG_BYCALLER;
+                       else if (!strcasecmp(confvar->value, "callee"))
+                               parkinglot->parkedcallreparking = AST_FEATURE_FLAG_BYCALLEE;
+               } else if (!strcasecmp(confvar->name, "parkedcallhangup")) {
+                       ast_debug(1, "Setting parking lot %s %s to %s\n", name, confvar->name, confvar->value);
+                       if (!strcasecmp(confvar->value, "both"))
+                               parkinglot->parkedcallhangup = AST_FEATURE_FLAG_BYBOTH;
+                       else if (!strcasecmp(confvar->value, "caller"))
+                               parkinglot->parkedcallhangup = AST_FEATURE_FLAG_BYCALLER;
+                       else if (!strcasecmp(confvar->value, "callee"))
+                               parkinglot->parkedcallhangup = AST_FEATURE_FLAG_BYCALLEE;
+               } else if (!strcasecmp(confvar->name, "parkedcallrecording")) {
+                       ast_debug(1, "Setting parking lot %s %s to %s\n", name, confvar->name, confvar->value);
+                       if (!strcasecmp(confvar->value, "both"))
+                               parkinglot->parkedcallrecording = AST_FEATURE_FLAG_BYBOTH;
+                       else if (!strcasecmp(confvar->value, "caller"))
+                               parkinglot->parkedcallrecording = AST_FEATURE_FLAG_BYCALLER;
+                       else if (!strcasecmp(confvar->value, "callee"))
+                               parkinglot->parkedcallrecording = AST_FEATURE_FLAG_BYCALLEE;
                }
                confvar = confvar->next;
        }