SIP and Fragments: Together Forever?
200ok.info
200ok.info
> But with SIP/TCP, the re-registration storm can be substantial, and disruptive.
Why would the endpoints reregister? We can do TCP failover already by replicating connection state between SBCs. It's complicated, but should work (almost?) all the time with mostly idle connections.
Also, the "use TCP to avoid fragmentation" was in the RFC for what... 2 decades now? This was really frustrating to me when working with VoIP. There's no SIP standard: there's Linksys SIP, there's Avaya SIP, there's MS SIP, ... One will be UDP only, one TCP only, one will crash on fragments, another will have really low default MTU.
I am glad that telcos have as little say in internet affairs as they have.
It's a clusterfuck, because you have to support the lowest common denominator with bad hacks. The things you mentioned? UDP is the lowest common denominator. So is the 30s reregister (because that's the Nat timeout on some home routers)
And given the limited IP competence of telco vendors, SIP over UDP causes less trouble. One artificially limited the TCP transmission window to 6k (turned out he used an old FreeBSD version that did this to optimize modem dialup connections(!)) One asked us to choose between SACK and the ability to handle re-ordered segments, as his stack couldn't handle both.
Of course, the issues with TCP aren't a big deal and SIP should never have specified UDP in the first place.