]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
app_voicemail: Disable ADSI if unavailable.
authorNaveen Albert <asterisk@phreaknet.org>
Wed, 27 Sep 2023 12:28:50 +0000 (08:28 -0400)
committerAsterisk Development Team <asteriskteam@digium.com>
Fri, 12 Jan 2024 18:32:12 +0000 (18:32 +0000)
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 75620616f46d054aa6a7bbff1753b05c7abc642a)

apps/app_voicemail.c

index 7faf1882474ad01da2ac8d4043b92252acb27f26..513ba9d855c8c81aa8a50c80e15fcaa7e685bf57 100644 (file)
@@ -7422,8 +7422,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");