]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
sig_analog: Fix regression with FGD and E911 signaling.
authorNaveen Albert <asterisk@phreaknet.org>
Thu, 14 Nov 2024 14:15:45 +0000 (09:15 -0500)
committerAsterisk Development Team <asteriskteam@digium.com>
Thu, 23 Jan 2025 18:39:41 +0000 (18:39 +0000)
Commit 466eb4a52b69e6dead7ebba13a83f14ef8a559c1 introduced a regression
which completely broke Feature Group D and E911 signaling, by removing
the call to analog_my_getsigstr, which affected multiple switch cases.
Restore the original behavior for all protocols except Feature Group C
CAMA (MF), which is all that patch was attempting to target.

Resolves: #993
(cherry picked from commit 7a4036574c3a25631f24fdbee64d81c3aa4d7058)

channels/sig_analog.c

index 7ebb06239ffddcf08920940fefdfb2c24ca36aae..e23cf072c4a9c2bd00107198b35f5e9277724e71 100644 (file)
@@ -1890,6 +1890,11 @@ static void *__analog_ss_thread(void *data)
                                        if (p->sig == ANALOG_SIG_E911) {
                                                analog_off_hook(p);
                                        }
+                                       if (p->sig != ANALOG_SIG_FGC_CAMAMF) {
+                                               /* CAMA signaling (CAMA and CAMAMF) are handled in an if block below.
+                                                * Everything else, process here. */
+                                               res = analog_my_getsigstr(chan, dtmfbuf + strlen(dtmfbuf), "#", 3000);
+                                       }
                                }
                                if (res < 1) {
                                        analog_dsp_reset_and_flush_digits(p);