; an extension created based on the name of the channel that originally parked
; the call. This extension will be created automatically to do a Dial() to the
; device that originally parked the call for comebacktodialtime seconds. If the
- ; call is not answered, the call will proceed to 'park-dial,t,1'.
+ ; call is not answered, the call will proceed to the next priority (usually none
+ ; unless you deliberately set up a catch-all second priority in the park-call
+ ; context) in the dialplan for extension matching the peer name (same as how
+ ; peer names are flattened into extensions when comebacktoorigin is 'no').
;
; 'no' - This option is useful for performing custom dialplan functionality prior to
; sending the call back to the extension that initially parked the call, or to
char *peername;
char *dash;
char *peername_flat; /* using something like DAHDI/52 for an extension name is NOT a good idea */
+ char parkingslot[AST_MAX_EXTENSION]; /* buffer for parkinglot slot number */
int i;
peername = ast_strdupa(pu->peername);
peername_flat, parking_con_dial);
}
}
+
+ snprintf(parkingslot, sizeof(parkingslot), "%d", pu->parkingnum);
+ pbx_builtin_setvar_helper(chan, "PARKINGSLOT", parkingslot);
+ pbx_builtin_setvar_helper(chan, "PARKEDLOT", pu->parkinglot->name);
+
if (pu->options_specified) {
/*
* Park() was called with overriding return arguments, respect
} else if (pu->parkinglot->cfg.comebacktoorigin) {
set_c_e_p(chan, parking_con_dial, peername_flat, 1);
} else {
- char parkingslot[AST_MAX_EXTENSION];
-
- snprintf(parkingslot, sizeof(parkingslot), "%d", pu->parkingnum);
- pbx_builtin_setvar_helper(chan, "PARKINGSLOT", parkingslot);
- pbx_builtin_setvar_helper(chan, "PARKEDLOT", pu->parkinglot->name);
-
/* Handle fallback when extensions don't exist here since that logic was removed from pbx */
if (ast_exists_extension(chan, pu->parkinglot->cfg.comebackcontext, peername_flat, 1, NULL)) {
set_c_e_p(chan, pu->parkinglot->cfg.comebackcontext, peername_flat, 1);