signalwire / freeswitch

FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unlock the telecommunications potential of any device.
https://freeswitch.com/#getting-started
Other
3.54k stars 1.41k forks source link

Stuck calls #2439

Open grumvalski opened 5 months ago

grumvalski commented 5 months ago

Describe the bug We are running a simple bridge scenario where we force transcoding from/to OPUS for leg A and from/to G711 for leg B. Freeswitch is processing several hundreds of calls per day and sometimes leg B "freezes" upon receiving a provisional response or a 200 OK with SDP. Messages coming from callee are not replayed not relayed back to A anymore and the call stays there until restart of freeswitch (e.g. "hupall normal-clearing" has no effect).

Expected behavior Provisional responses or 200 OK don't cause the calls to freeze.

Package version or git hash

Trace logs The server(s) are run in production so I cannot set the loglevel to DEBUG.

backtrace from core file I've generated a core file from a running freeswitch which had 4 stuck calls https://pastebin.com/ifqS4Sfx

televoicepl commented 5 months ago

Did you try this fix?: https://github.com/signalwire/freeswitch/pull/2300