Index: main/asterisk.c =================================================================== --- main/asterisk.c (revision 63730) +++ main/asterisk.c (working copy) @@ -2338,6 +2338,7 @@ struct ast_config *cfg; struct ast_variable *v; char *config = AST_CONFIG_FILE; + char hostname[MAXHOSTNAMELEN] = ""; if (ast_opt_override_config) { cfg = ast_config_load(ast_config_AST_CONFIG_FILE); @@ -2485,6 +2486,14 @@ ast_copy_string(ast_config_AST_RUN_GROUP, v->value, sizeof(ast_config_AST_RUN_GROUP)); } else if (!strcasecmp(v->name, "systemname")) { ast_copy_string(ast_config_AST_SYSTEM_NAME, v->value, sizeof(ast_config_AST_SYSTEM_NAME)); + } else if (!strcasecmp(v->name, "autosystemname")) { + if (ast_true(v->value)) { + if (gethostname(hostname, sizeof(hostname)-1)) { + ast_log(LOG_ERROR, "Cannot obtain hostname for this system. 'autosystemname' option disabled.\n"); + } else { + ast_copy_string(ast_config_AST_SYSTEM_NAME, hostname, sizeof(ast_config_AST_SYSTEM_NAME)); + } + } } else if (!strcasecmp(v->name, "languageprefix")) { ast_language_is_prefix = ast_true(v->value); }