From: Naveen Albert Date: Thu, 14 Nov 2024 14:15:45 +0000 (-0500) Subject: sig_analog: Fix regression with FGD and E911 signaling. X-Git-Tag: 22.2.0-rc1~50 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=42629c695d402b01ab8fd5f4385a29b61a003b9f;p=thirdparty%2Fasterisk.git sig_analog: Fix regression with FGD and E911 signaling. 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 4f0a506c673e02a1767bfc820a95c280ea71b6f2) --- diff --git a/channels/sig_analog.c b/channels/sig_analog.c index 7ebb06239f..e23cf072c4 100644 --- a/channels/sig_analog.c +++ b/channels/sig_analog.c @@ -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);