Add some additional option support for non-default parking lots.

The options are: parkedcallparking, parkedcallhangup, parkedcallrecording, and
parkedcalltransfers. Previously these options were only available for the 
default parking lot.

(closes issue #16641)
Reported by: bluecrow76
Patches: 
      asterisk-1.6.2.1-features.c.diff uploaded by bluecrow76 (license 270)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@244598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Jeff Peeler
2010-02-03 20:48:36 +00:00
parent a9932363a9
commit b527525ffc
2 changed files with 35 additions and 1 deletions

View File

@@ -1300,6 +1300,8 @@ Call Features (res_features) Changes
pickup pickup
* Added parkedcallrecording option to control one-touch record w/ parking * Added parkedcallrecording option to control one-touch record w/ parking
pickup pickup
* Added parkedcallparking, parkedcallhangup, parkedcallrecording, and
parkedcalltransfers option support for multiple parking lots.
* Added BRIDGE_FEATURES variable to set available features for a channel * Added BRIDGE_FEATURES variable to set available features for a channel
* The built-in method for doing attended transfers has been updated to * The built-in method for doing attended transfers has been updated to
include some new options that allow you to have the transferee sent include some new options that allow you to have the transferee sent

View File

@@ -3865,7 +3865,39 @@ static struct ast_parkinglot *build_parkinglot(char *name, struct ast_variable *
} }
} else if (!strcasecmp(confvar->name, "findslot")) { } else if (!strcasecmp(confvar->name, "findslot")) {
parkinglot->parkfindnext = (!strcasecmp(confvar->value, "next")); parkinglot->parkfindnext = (!strcasecmp(confvar->value, "next"));
} } else if (!strcasecmp(confvar->name, "parkedcalltransfers")) {
ast_log(LOG_DEBUG, "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"))
parkinglot->parkedcalltransfers = AST_FEATURE_FLAG_BYCALLER;
else if (!strcasecmp(confvar->value, "callee"))
parkinglot->parkedcalltransfers = AST_FEATURE_FLAG_BYCALLEE;
} else if (!strcasecmp(confvar->name, "parkedcallreparking")) {
ast_log(LOG_DEBUG, "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_log(LOG_DEBUG, "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_log(LOG_DEBUG, "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; confvar = confvar->next;
} }
/* make sure parkingtime is set if not specified */ /* make sure parkingtime is set if not specified */