Freeswitch drops calls after 32 seconds
Solution 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}"/>
Solution 2:
Edit /etc/freeswitch/sip_profiles/internal.xml. Change
<!-- <param name="timer-T1X64" value="32000" /> -->
to
<param name="timer-T1X64" value="320000" />