|
|
|
@ -79,6 +79,7 @@ static char *parkedcall = "ParkedCall";
|
|
|
|
|
|
|
|
|
|
static int parkaddhints = 0; /*!< Add parking hints automatically */
|
|
|
|
|
static int parkedcalltransfers = 0; /*!< Enable DTMF based transfers on bridge when picking up parked calls */
|
|
|
|
|
static int parkedcallreparking = 0; /*!< Enable DTMF based parking on bridge when picking up parked calls */
|
|
|
|
|
static int parkingtime = DEFAULT_PARK_TIME; /*!< No more than 45 seconds parked before you do something with them */
|
|
|
|
|
static char parking_con[AST_MAX_EXTENSION]; /*!< Context for which parking is made accessible */
|
|
|
|
|
static char parking_con_dial[AST_MAX_EXTENSION]; /*!< Context for dialback for parking (KLUDGE) */
|
|
|
|
@ -1833,6 +1834,10 @@ static int park_exec(struct ast_channel *chan, void *data)
|
|
|
|
|
ast_set_flag(&(config.features_callee), AST_FEATURE_REDIRECT);
|
|
|
|
|
ast_set_flag(&(config.features_caller), AST_FEATURE_REDIRECT);
|
|
|
|
|
}
|
|
|
|
|
if (parkedcallreparking) {
|
|
|
|
|
ast_set_flag(&(config.features_callee), AST_FEATURE_PARKCALL);
|
|
|
|
|
ast_set_flag(&(config.features_caller), AST_FEATURE_PARKCALL);
|
|
|
|
|
}
|
|
|
|
|
res = ast_bridge_call(chan, peer, &config);
|
|
|
|
|
|
|
|
|
|
pbx_builtin_setvar_helper(chan, "PARKEDCHANNEL", peer->name);
|
|
|
|
@ -2123,6 +2128,7 @@ static int load_config(void)
|
|
|
|
|
comebacktoorigin = 1;
|
|
|
|
|
parkaddhints = 0;
|
|
|
|
|
parkedcalltransfers = 0;
|
|
|
|
|
parkedcallreparking = 0;
|
|
|
|
|
|
|
|
|
|
transferdigittimeout = DEFAULT_TRANSFER_DIGIT_TIMEOUT;
|
|
|
|
|
featuredigittimeout = DEFAULT_FEATURE_DIGIT_TIMEOUT;
|
|
|
|
@ -2157,6 +2163,8 @@ static int load_config(void)
|
|
|
|
|
parkaddhints = ast_true(var->value);
|
|
|
|
|
} else if (!strcasecmp(var->name, "parkedcalltransfers")) {
|
|
|
|
|
parkedcalltransfers = ast_true(var->value);
|
|
|
|
|
} else if (!strcasecmp(var->name, "parkedcallreparking")) {
|
|
|
|
|
parkedcallreparking = ast_true(var->value);
|
|
|
|
|
} else if (!strcasecmp(var->name, "adsipark")) {
|
|
|
|
|
adsipark = ast_true(var->value);
|
|
|
|
|
} else if (!strcasecmp(var->name, "transferdigittimeout")) {
|
|
|
|
|