[asterisk-bugs] [JIRA] (ASTERISK-28900) Memory corruption and deadlock in frame.c when gatewaying between non-T.38 and T.38 endpoints

Gregory Massel (JIRA) noreply at issues.asterisk.org
Sat May 16 07:58:25 CDT 2020


Gregory Massel created ASTERISK-28900:
-----------------------------------------

             Summary: Memory corruption and deadlock in frame.c when gatewaying between non-T.38 and T.38 endpoints
                 Key: ASTERISK-28900
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-28900
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
          Components: Core/Bridging
    Affects Versions: 16.10.0
         Environment: Ubuntu 18.04.4 LTS, Asterisk 16.10.0, kernels 5.0.0-29-generic and 5.0.0-37-generic, Intel E5-1680 and E3-1271. No DAHDI.
            Reporter: Gregory Massel


When the T.38 gateway is enabled on two PJSIP endpoints [ set_var=FAXOPT(gateway)=yes,15 ] and the called endpoint initiates a T.38 re-INVITE and the calling endpoint does NOT support T.38, Asterisk tries to gateway between the audio (RTP) and UDPTL (T.38). In most instances, this works fine. However, when the calling party involves a Yeastar PBX device, the call will - every time, repeatedly - cause the Asterisk box performing the T.38 gatewaying to immediately deadlock and, shortly thereafter, Asterisk core dumps. 

At present this is only happening if the calling device is a Yeastar PBX which seems to indicate that a corrupt, malformed or missing RTP frame generated by that device is what is crashing Asterisk.

In many instances the core dump is zero bytes or the backtrace is largely unusable, however, I have managed to extract a few usable backtraces as well as packet captures of the calls that tigger the crash.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list