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.
When native mod_dptools:wait_for_answer application is used - the call recording appears distorted in early media part of the overall call. When call is answered - clean and quality recording presented.
With a workaround in Lua both parts of the call(early media and answered media) recording appear OK.
This issue is easily reproducible with below. When real calls are made the issue persists.
function wait_for_answer(ses, sleep_interval_ms)
local sleep_interval_ms = sleep_interval_ms or 20
while not ses:answered() do
ses:sleep(sleep_interval_ms)
end
ses:consoleLog("INFO", 'Session is in ANSWERED state.')
end
if session:ready() then
wait_for_answer(session)
end
You can trigger these by:
bgapi originate {}loopback/leg_1/testing leg_21 XML testing
bgapi originate {}loopback/leg_1/testing leg_22 XML testing
Have a look into recordings:
Expected behavior
A clean recording (without distortion) is expected.
Package version or git hash
FREESWITCH Version 1.10.12-dev git 31cf32d 2024-04-26 13:37:10Z 64bit
FREESWITCH Version 1.10.11 -release-25-f24064f7c9 64bit
Describe the bug
When native mod_dptools:wait_for_answer application is used - the call recording appears distorted in early media part of the overall call. When call is answered - clean and quality recording presented.
With a workaround in Lua both parts of the call(early media and answered media) recording appear OK.
This issue is easily reproducible with below. When real calls are made the issue persists.
To Reproduce
Dialplan snippet:
Workaround solution via wait_for_answer.lua:
You can trigger these by:
Have a look into recordings:
Expected behavior
A clean recording (without distortion) is expected.
Package version or git hash