diff --git a/res/res_agi.c b/res/res_agi.c index 29a4c8fbbbfc6adf5f60f6ce5cc75910dec1fb2a..d7f0574af1cf24ad453062eb7b5f962d341d8f1c 100644 --- a/res/res_agi.c +++ b/res/res_agi.c @@ -272,6 +272,18 @@ static int launch_script(char *script, char *argv[], int *fds, int *efd, int *op return -1; } if (!pid) { + /* Pass paths to AGI via environmental variables */ + setenv("AST_CONFIG_DIR", ast_config_AST_CONFIG_DIR, 1); + setenv("AST_CONFIG_FILE", ast_config_AST_CONFIG_FILE, 1); + setenv("AST_MODULE_DIR", ast_config_AST_MODULE_DIR, 1); + setenv("AST_SPOOL_DIR", ast_config_AST_SPOOL_DIR, 1); + setenv("AST_MONITOR_DIR", ast_config_AST_MONITOR_DIR, 1); + setenv("AST_VAR_DIR", ast_config_AST_VAR_DIR, 1); + setenv("AST_LOG_DIR", ast_config_AST_LOG_DIR, 1); + setenv("AST_AGI_DIR", ast_config_AST_AGI_DIR, 1); + setenv("AST_KEY_DIR", ast_config_AST_KEY_DIR, 1); + setenv("AST_RUN_DIR", ast_config_AST_RUN_DIR, 1); + /* Redirect stdin and out, provide enhanced audio channel if desired */ dup2(fromast[0], STDIN_FILENO); dup2(toast[1], STDOUT_FILENO);