From 2d6143068e8ee1ef8df96c9419e7488528f87f3d Mon Sep 17 00:00:00 2001 From: Naveen Albert Date: Wed, 27 Sep 2023 08:28:50 -0400 Subject: [PATCH] app_voicemail: Disable ADSI if unavailable. If ADSI is available on a channel, app_voicemail will repeatedly try to use ADSI, even if there is no CPE that supports it. This leads to many unnecessary delays during the session. If ADSI is available but ADSI setup fails, we now disable it to prevent further attempts to use ADSI during the session. Resolves: #354 (cherry picked from commit c4d9e950bd00f92978e97f8efd3c273970f2f294) --- apps/app_voicemail.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 277d22c393..0e69973146 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -7451,8 +7451,11 @@ static void adsi_begin(struct ast_channel *chan, int *useadsi) if (!ast_adsi_available(chan)) return; x = ast_adsi_load_session(chan, adsifdn, adsiver, 1); - if (x < 0) + if (x < 0) { + *useadsi = 0; + ast_channel_adsicpe_set(chan, AST_ADSI_UNAVAILABLE); return; + } if (!x) { if (adsi_load_vmail(chan, useadsi)) { ast_log(AST_LOG_WARNING, "Unable to upload voicemail scripts\n");