@ -78,6 +78,7 @@ enum {
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 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) */
@ -1828,8 +1829,10 @@ static int park_exec(struct ast_channel *chan, void *data)
ast_verbose ( VERBOSE_PREFIX_3 " Channel %s connected to parked call %d \n " , chan - > name , park ) ;
memset ( & config , 0 , sizeof ( struct ast_bridge_config ) ) ;
ast_set_flag ( & ( config . features_callee ) , AST_FEATURE_REDIRECT ) ;
ast_set_flag ( & ( config . features_caller ) , AST_FEATURE_REDIRECT ) ;
if ( parkedcalltransfers ) {
ast_set_flag ( & ( config . features_callee ) , AST_FEATURE_REDIRECT ) ;
ast_set_flag ( & ( config . features_caller ) , AST_FEATURE_REDIRECT ) ;
}
res = ast_bridge_call ( chan , peer , & config ) ;
/* Simulate the PBX hanging up */
@ -2116,6 +2119,7 @@ static int load_config(void)
adsipark = 0 ;
comebacktoorigin = 1 ;
parkaddhints = 0 ;
parkedcalltransfers = 0 ;
transferdigittimeout = DEFAULT_TRANSFER_DIGIT_TIMEOUT ;
featuredigittimeout = DEFAULT_FEATURE_DIGIT_TIMEOUT ;
@ -2148,6 +2152,8 @@ static int load_config(void)
parkfindnext = ( ! strcasecmp ( var - > value , " next " ) ) ;
} else if ( ! strcasecmp ( var - > name , " parkinghints " ) ) {
parkaddhints = ast_true ( var - > value ) ;
} else if ( ! strcasecmp ( var - > name , " parkedcalltransfers " ) ) {
parkedcalltransfers = ast_true ( var - > value ) ;
} else if ( ! strcasecmp ( var - > name , " adsipark " ) ) {
adsipark = ast_true ( var - > value ) ;
} else if ( ! strcasecmp ( var - > name , " transferdigittimeout " ) ) {