Merge "app_confbridge: Default the template option to a compatible default profile." into 13

This commit is contained in:
Matt Jordan
2015-04-24 13:07:06 -05:00
committed by Gerrit Code Review

View File

@@ -941,12 +941,17 @@ static const struct ast_datastore_info confbridge_datastore = {
.type = "confbridge",
.destroy = func_confbridge_destroy_cb
};
int func_confbridge_helper(struct ast_channel *chan, const char *cmd, char *data, const char *value)
{
struct ast_datastore *datastore;
struct func_confbridge_data *b_data;
char *parse;
struct ast_variable tmpvar = { 0, };
struct ast_variable template = {
.name = "template",
.file = "CONFBRIDGE"
};
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(type);
AST_APP_ARG(option);
@@ -1019,7 +1024,14 @@ int func_confbridge_helper(struct ast_channel *chan, const char *cmd, char *data
ast_datastore_free(datastore);
}
return 0;
} else if (!aco_process_var(&bridge_type, "dialplan", &tmpvar, &b_data->b_profile)) {
}
if (b_data && !b_data->b_usable && strcasecmp(args.option, "template")) {
template.value = DEFAULT_BRIDGE_PROFILE;
aco_process_var(&bridge_type, "dialplan", &template, &b_data->b_profile);
}
if (!aco_process_var(&bridge_type, "dialplan", &tmpvar, &b_data->b_profile)) {
b_data->b_usable = 1;
return 0;
}
@@ -1029,7 +1041,14 @@ int func_confbridge_helper(struct ast_channel *chan, const char *cmd, char *data
user_profile_destructor(&b_data->u_profile);
memset(&b_data->u_profile, 0, sizeof(b_data->u_profile));
return 0;
} else if (!aco_process_var(&user_type, "dialplan", &tmpvar, &b_data->u_profile)) {
}
if (b_data && !b_data->u_usable && strcasecmp(args.option, "template")) {
template.value = DEFAULT_USER_PROFILE;
aco_process_var(&user_type, "dialplan", &template, &b_data->u_profile);
}
if (!aco_process_var(&user_type, "dialplan", &tmpvar, &b_data->u_profile)) {
b_data->u_usable = 1;
return 0;
}
@@ -1045,7 +1064,14 @@ int func_confbridge_helper(struct ast_channel *chan, const char *cmd, char *data
ast_datastore_free(datastore);
}
return 0;
} else if (!aco_process_var(&menu_type, "dialplan", &tmpvar, b_data->menu)) {
}
if (b_data && !b_data->m_usable && strcasecmp(args.option, "template")) {
template.value = DEFAULT_MENU_PROFILE;
aco_process_var(&menu_type, "dialplan", &template, &b_data->menu);
}
if (!aco_process_var(&menu_type, "dialplan", &tmpvar, b_data->menu)) {
b_data->m_usable = 1;
return 0;
}