diff --git a/res/res_phoneprov.c b/res/res_phoneprov.c index 507238d3878bea902e37038d259cfa15bc319f5d..288b236f6d7e57e38eaa4d06e7a7615f4662b08a 100644 --- a/res/res_phoneprov.c +++ b/res/res_phoneprov.c @@ -705,7 +705,13 @@ static struct user *build_user(struct ast_config *cfg, const char *name, const c for (i = 0; i < PP_VAR_LIST_LENGTH; i++) { tmp = ast_variable_retrieve(cfg, name, pp_variable_list[i].user_var); - if (i == PP_TIMEZONE) { + /* If we didn't get a USERNAME variable, set it to the user->name */ + if (i == PP_USERNAME && !tmp) { + if ((var = ast_var_assign(pp_variable_list[PP_USERNAME].template_var, user->name))) { + AST_LIST_INSERT_TAIL(user->headp, var, entries); + } + continue; + } else if (i == PP_TIMEZONE) { /* perfectly ok if tmp is NULL, will set variables based on server's time zone */ set_timezone_variables(user->headp, tmp); }