diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 869a33313a..f5508d34f2 100644 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -10419,7 +10419,13 @@ static int process_zap(struct ast_variable *v, int reload, int skipchannels) int y; int found_pseudo = 0; + /* Copy the default jb config over global_jbconf */ + memcpy(&global_jbconf, &default_jbconf, sizeof(struct ast_jb_conf)); + while(v) { + if (!ast_jb_read_conf(&global_jbconf, v->name, v->value)) + continue; + /* Create the interface list */ if (!strcasecmp(v->name, "channel") #ifdef HAVE_PRI @@ -11064,7 +11070,6 @@ static int setup_zap(int reload) { struct ast_config *cfg; struct ast_variable *v; - struct ast_variable *vjb; int res; #ifdef HAVE_PRI @@ -11147,11 +11152,6 @@ static int setup_zap(int reload) } #endif v = ast_variable_browse(cfg, "channels"); - /* Copy the default jb config over global_jbconf */ - memcpy(&global_jbconf, &default_jbconf, sizeof(struct ast_jb_conf)); - /* Traverse all variables to handle jb conf */ - for (vjb = v; vjb; vjb = vjb->next) - ast_jb_read_conf(&global_jbconf, vjb->name, vjb->value); res = process_zap(v, reload, 0); ast_mutex_unlock(&iflock); ast_config_destroy(cfg);