0

So I've installed Freeswitch on a raspberry PI 3 and it's dropping calls after 32 seconds. I've googled extensively and this appears to be a common problem but all of the people with the problem had complicated setups with external gateways, VPNs, NAT, multiple subnets etc. In my case I'm using almost bog stock config, the only change I've made is to delete the IPv6 profiles from the config. I haven't even changed the default password. I'm using everything on a home network with a /24 subnet and all phones internal. At first I thought it was the network dropping packets but it only happens with some phones. The 2 phones are the android version of Zoiper and an older version of Zoiper on my PC. I have the newer version of Zoiper on the same PC and no problems. Everything I find refers to NAT, STUN, VPNs, firewalls etc. I have none of that, firewall is disabled on the PC and the PI. Traffic isn't going through my router. One instance that isn't working is using UDP, the other TCP. All the working ones are TCP. This is bog stock out the box. Any ideas?

MikeKulls
  • 285
  • 1
  • 2
  • 13
  • I've tried with multiple other devices and many others have the same problem, eg Billion voip ATA and Android app voip by antisip. All drop out at 32 seconds. – MikeKulls Apr 01 '20 at 02:28
  • After investigating further it looks like the client is sending the ACK to some random internet address that is similar to my public IP. I certainly don't own that IP and I can't ping it. The strange thing is that freeswitch is asking the client to reply to that address. I'm baffled as to why. – MikeKulls Apr 05 '20 at 06:38

2 Answers2

1

So I solved this. I captured packets for calls that were working and calls that were not. It appeared Freeswitch was actually asking the clients to respond on an IP address that was similar to my public IP but not the same. The clients that worked appeared to ignore this and just respond locally. Some clients would do as instructed and send the ACK out to that specified IP. Freeswitch would then keep asking for an ACK and eventually hang up. Why Freeswitch does this I'm not sure but it appears to be the default behavior for a fresh install. To solve it I changed the below setting and had to give Freeswitch a full restart. A reloadxml didn't work.

File was:

/etc/freeswitch/sip_profiles/internal.xml

Settings were (default settings commented out):

<!-- param name="ext-rtp-ip" value="$${external_rtp_ip}"/ -->
<param name="ext-rtp-ip" value="$${local_ip_v4}"/>
<!-- param name="ext-sip-ip" value="$${external_rtp_ip}"/ -->
<param name="ext-sip-ip" value="$${local_ip_v4}"/>
MikeKulls
  • 285
  • 1
  • 2
  • 13
1

Edit /etc/freeswitch/sip_profiles/internal.xml. Change

  <!-- <param name="timer-T1X64" value="32000" /> -->

to

<param name="timer-T1X64" value="320000" />