aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_voicemail.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/app_voicemail.c')
-rw-r--r--apps/app_voicemail.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index f3e423ec1..0509559bb 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -8862,7 +8862,10 @@ static int load_module(void)
{
int res;
char *adsi_loaded = ast_module_helper("", "res_adsi.so", 0, 0, 0, 0);
+ char *smdi_loaded = ast_module_helper("", "res_smdi.so", 0, 0, 0, 0);
free(adsi_loaded);
+ free(smdi_loaded);
+
if (!adsi_loaded) {
/* If embedded, res_adsi may be known as "res_adsi" not "res_adsi.so" */
adsi_loaded = ast_module_helper("", "res_adsi", 0, 0, 0, 0);
@@ -8873,6 +8876,16 @@ static int load_module(void)
}
}
+ if (!smdi_loaded) {
+ /* If embedded, res_smdi may be known as "res_smdi" not "res_smdi.so" */
+ smdi_loaded = ast_module_helper("", "res_smdi", 0, 0, 0, 0);
+ ast_free(smdi_loaded);
+ if (!smdi_loaded) {
+ ast_log(LOG_ERROR, "app_voicemail.so depends upon res_smdi.so\n");
+ return AST_MODULE_LOAD_DECLINE;
+ }
+ }
+
my_umask = umask(0);
umask(my_umask);
res = ast_register_application(app, vm_exec, synopsis_vm, descrip_vm);