What is the general experience using TCP instead of UDP?

We have a client that we just moved their system offsite into the cloud (well, really our cloud) and they were having CONSTANT phones dropping off - PJSIP mostly remedied that (they stopped becoming unreachable) but when you would call in and hit a ring group, some of the phones in the ring group would not ring - it was driving me crazy - we tried adjusting things like qualifyfrequency, played with the firewalls, and even switched out some phones (they had some REALLY old Polycom’s) and nothing helped - just switched them to TCP and the problem has COMPLETELY disappeared! I am surprised to say the least - has anyone else seen this? Had bad experiences with using all TCP?

I think it’s a miracle, but probably only because I have been fighting this for days.

Anybody have any horror stories about using TCP instead of UDP?

We use TCP for our Avaya 96XX phones, and from a call quality perspective it seems to have been working okay for the past ~year.

I was running remote phones on VPN using TCP 443 instead of 1194 UDP. VPN server is on different box than FreePBX, which is all UDP for voice.

Had to switch the VPN from using TCP to UDP, because call quality was unbearable, voice constantly cutting out.

Not exactly your scenario, but that was my TCP experience and that was enough for me to not try TCP again.

Generally, when running FreePBX behind a “conflictive” NAT device, the keepalive parameter can help keeping the connection open so the firewall won’t close the session prematurely.

That is true - keepalive was enabled all along through all the permutations we tried - that did not fix the problem. Switching to TCP fixed it when everything else would not.

The pure nature if TCP would make it more reliable than UDP, but also add some overhead, so just make sure you have enough bandwidth for it.

There is another current thread here that might pertain, I contend that udp can allow spoofed connections from perhaps a 400 pound guy in New Zealand, It is likely that restricting yourself to tcp where possible

Just a challenge to those that have a better understanding . . . .

Bandwidth is good (100MbitD/20MbitU) at the customer site and really good (1GbitU/D) at my CoLo - I am just trying to find out if anybody has had any real world problems because it seems to work perfectly.

Couple of things I noticed while troubleshooting:

  1. I had knocked the Qualify time down to 20sec - this seemed to be necessary to get 95% of the phones to have a stable connection - it was in the end only 3 phones that I could never get stable - switching to TCP fixed that and in fact I switched back to a 60sec qualify and they were all still solid.

  2. Voice Quality seems to have improved - without prompting, I got two comments that they sounded better - I wasn’t even asking.

The customer connection is Comcast, and they are terrible here as far as reliability and consistency goes - so maybe it was necessary in this case because of the circuit, but whatever - this is going to be my go-to solution in the future when this is a problem.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.