From: Russell Bryant Date: Fri, 22 Apr 2011 13:35:22 +0000 (+0000) Subject: Fix handling of some call parking config options. X-Git-Tag: 1.6.2.19-rc1~3^2~53 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b82f20cae0e77a8228d1f9fd1fbb2e60eb927a8a;p=thirdparty%2Fasterisk.git Fix handling of some call parking config options. 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 --- diff --git a/main/features.c b/main/features.c index 1b1d55b882..ce24cfdcac 100644 --- a/main/features.c +++ b/main/features.c @@ -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; }