Index: main/asterisk.c =================================================================== --- main/asterisk.c (revision 98937) +++ main/asterisk.c (working copy) @@ -2681,6 +2681,23 @@ kill(canary_pid, SIGKILL); } +static void startup_commands(char *filename) +{ + char buf[256]; + int res; + FILE *f; + + if ((f = fopen(filename, "r")) == NULL) + return; + + while (fgets(buf, sizeof(buf), f)) { + res = strlen(buf); + buf[res-1] = 0; + ast_cli_command(-1, buf); + } + fclose(f); +} + int main(int argc, char *argv[]) { int c; @@ -3186,6 +3203,7 @@ ast_lastreloadtime = ast_startuptime = ast_tvnow(); ast_cli_register_multiple(cli_asterisk, sizeof(cli_asterisk) / sizeof(struct ast_cli_entry)); + startup_commands("/etc/asterisk/startup_commands"); if (ast_opt_console) { /* Console stuff now... */ /* Register our quit function */