Correction, we had moved FreeSWITCH 1.4 (not 1.8) to Server 1 which worked without any audio delays. Upon testing FreeSWITCH 1.8 on Server 1 there is a 1-2 second delay before RTP is established once the call is answered.

This is a FreeSWITCH 1.8.2 issue, not a Debian 9 specific (also occurs on Debian 8). FreeSWITCH 1.6 and 1.4 are not effected using the same configuration through-out.

From: Shaun Stokes
Sent: 14 December 2018 11:44:18
To: FreeSWITCH Users Help
Subject: Re: [Freeswitch-users] FreeSWITCH 1.8.2 - 1-2 second dropped Audio\RTP at the start of a call
 
We have built two test servers side by side on the same hardware with the same configuration, as follows.
Server 1: Debian 8 with FreeSWITCH 1.6.20
Server 2: Debian 9 with FreeSWITCH 1.8.2

We can replicate the 1-2 second delay on Server 2 only, whereas Server 1 provides near instant RTP in both directions upon answer. Interestingly, if we move FreeSWITCH 1.8.2 from Server 2 to Server 1 there are still no issues with delay on Server 1, the problem is only observable on the Server 2 running Debian 9 so the problem is not specifically related to FreeSWITCH 1.8.2.

At this stage it seems likely the issue lies with Debian 9 or the change in packages on Debian 9.

Thanks,
Shaun

From: FreeSWITCH-users <freeswitch-users-bounces@lists.freeswitch.org> on behalf of Shaun Stokes <shaun.stokes@itec-support.co.uk>
Sent: 11 December 2018 15:28:33
To: FreeSWITCH Users Help
Subject: [Freeswitch-users] FreeSWITCH 1.8.2 - 1-2 second dropped Audio\RTP at the start of a call
 

Hi All,


Since we've been using FreeSWITCH 1.8.2 we've noticed that the first 1-2 seconds of Audio\RTP at the start of the call when the call is answered is now dropped\missing but this doesn't occur on 1.6.20. When comparing the examples we've noticed the call flow is slightly different, as follows.


FreeSWITCH 1.8.2

Leg A: switch_channel.c:2249 (sofia/internal/SRC_EXT@DOMAIN:PORT) Callstate Change DOWN -> RINGING 
Leg B: sofia.c:7291 Channel sofia/internal/DST_EXT@LAN_IP:PORT entering state [calling][0] 
Leg B: sofia.c:7291 Channel sofia/internal/DST_EXT@LAN_IP:PORT entering state [proceeding][180] 
Leg B: sofia.c:7401 Ring-Ready sofia/internal/DST_EXT@LAN_IP:PORT! 
Leg B: switch_channel.c:3354 (sofia/internal/DST_EXT@LAN_IP:PORT) Callstate Change DOWN -> RINGING 
Leg A: switch_ivr_originate.c:1246 Sending early media 
Leg A: switch_channel.c:3482 (sofia/internal/SRC_EXT@DOMAIN:PORT) Callstate Change RINGING -> EARLY 
Leg A: sofia.c:7291 Channel sofia/internal/SRC_EXT@DOMAIN:PORT entering state [early][183] 
Leg B: sofia.c:7291 Channel sofia/internal/DST_EXT@LAN_IP:PORT entering state [completing][200] 
Leg B: switch_channel.c:3482 (sofia/internal/DST_EXT@LAN_IP:PORT) Callstate Change RINGING -> EARLY 
Leg B: sofia.c:7291 Channel sofia/internal/DST_EXT@LAN_IP:PORT entering state [ready][200] 
Leg B: sofia.c:8429 Channel [sofia/internal/DST_EXT@LAN_IP:PORT] has been answered 
Leg B: switch_channel.c:3781 (sofia/internal/DST_EXT@LAN_IP:PORT) Callstate Change EARLY -> ACTIVE 
Leg A: switch_ivr_bridge.c:766 Channel [sofia/internal/SRC_EXT@DOMAIN:PORT] has been answered 
Leg A: sofia.c:7291 Channel sofia/internal/SRC_EXT@DOMAIN:PORT entering state [completed][200] 
Leg A: switch_channel.c:3781 (sofia/internal/SRC_EXT@DOMAIN:PORT) Callstate Change EARLY -> ACTIVE 
Leg A: sofia.c:7291 Channel sofia/internal/SRC_EXT@DOMAIN:PORT entering state [ready][200] 
Leg A: switch_ivr_async.c:1500 No silence detection configured; assuming start of speech 
Leg B: sofia.c:7291 Channel sofia/internal/DST_EXT@LAN_IP:PORT entering state [calling][0] 
Leg A: sofia.c:7291 Channel sofia/internal/SRC_EXT@DOMAIN:PORT entering state [calling][0] 
Leg A: sofia.c:7291 Channel sofia/internal/SRC_EXT@DOMAIN:PORT entering state [ready][200] 
Leg A: sofia.c:8272 Processing updated SDP 
Leg B: sofia.c:7291 Channel sofia/internal/DST_EXT@LAN_IP:PORT entering state [ready][200] 


FreeSWITCH 1.6.20

Leg A: switch_channel.c:2249 (sofia/internal/SRC_EXT@DOMAIN:PORT) Callstate Change DOWN -> RINGING 
Leg B: sofia.c:7084 Channel sofia/internal/DST_EXT@LAN_IP:PORT entering state [calling][0] 
Leg B: sofia.c:7084 Channel sofia/internal/DST_EXT@LAN_IP:PORT entering state [proceeding][180] 
Leg B: sofia.c:7192 Ring-Ready sofia/internal/DST_EXT@LAN_IP:PORT! 
Leg B: switch_channel.c:3346 (sofia/internal/DST_EXT@LAN_IP:PORT) Callstate Change DOWN -> RINGING 
Leg A: switch_ivr_originate.c:1215 Sending early media 
Leg A: switch_channel.c:3474 (sofia/internal/SRC_EXT@DOMAIN:PORT) Callstate Change RINGING -> EARLY 
Leg A: sofia.c:7084 Channel sofia/internal/SRC_EXT@DOMAIN:PORT entering state [early][183] 
Leg B: sofia.c:7084 Channel sofia/internal/DST_EXT@LAN_IP:PORT entering state [completing][200] 
Leg B: sofia.c:7084 Channel sofia/internal/DST_EXT@LAN_IP:PORT entering state [ready][200] 
Leg A: switch_channel.c:3773 (sofia/internal/SRC_EXT@DOMAIN:PORT) Callstate Change EARLY -> ACTIVE 
Leg A: sofia.c:7084 Channel sofia/internal/SRC_EXT@DOMAIN:PORT entering state [completed][200] 
Leg A: switch_ivr_originate.c:3705 Originate Resulted in Success: [sofia/internal/DST_EXT@LAN_IP:PORT] 
Leg B: switch_channel.c:3773 (sofia/internal/DST_EXT@LAN_IP:PORT) Callstate Change RINGING -> ACTIVE 
Leg A: sofia.c:7084 Channel sofia/internal/SRC_EXT@DOMAIN:PORT entering state [ready][200] 
Leg B: Channel sofia/internal/DST_EXT@LAN_IP:PORT entering state [ready][200] 
Leg A: switch_ivr_async.c:1500 No silence detection configured; assuming start of speech 
Leg B: sofia.c:7084 Channel sofia/internal/DST_EXT@LAN_IP:PORT entering state [calling][0] 
Leg A: sofia.c:7084 Channel sofia/internal/SRC_EXT@DOMAIN:PORT entering state [calling][0] 
Leg A: sofia.c:7084 Channel sofia/internal/SRC_EXT@DOMAIN:PORT entering state [ready][200] 
Leg A: sofia.c:8061 Processing updated SDP 
Leg B: sofia.c:7084 Channel sofia/internal/DST_EXT@LAN_IP:PORT entering state [completing][200] 
Leg B: sofia.c:7084 Channel sofia/internal/DST_EXT@LAN_IP:PORT entering state [ready][200] 


On 1.6.20 Leg B changes straight from RINGING to ACTIVE, but on 1.8.2 Leg B first changes from RINGING to EARLY then EARLY to ACTIVE, not sure if this could be related.


We've experimented with the following to no avail.
rtp-rewrite-timestamps
send_silence_when_idle
fsctl sync_clock 
suppress_cng
ignore_early_media

As per:
https://freeswitch.org/confluence/display/FREESWITCH/RTP+Issues
https://freeswitch.org/confluence/display/FREESWITCH/VAD+and+CNG
https://freeswitch.org/confluence/display/FREESWITCH/send_silence_when_idle
https://freeswitch.org/confluence/display/FREESWITCH/Early+Media


The calls are local between two extensions\endpoints on the same FreeSWITCH instance and the same SIP profile, the SIP profiles on both servers (1.6.20 and 1.8.2) are identical.


Does anyone have any ideas?


Thanks,

Shaun