Yealink phones set to 1500 MTU at the local office, connecting to remote 3CX phone system via UDP over EoIP + IPsec tunnel
Hardware MikroTik router at the local office, default of 1500 MTU on all physical interfaces running an EoIP + IPsec tunnel with 1500 MTU
Virtual MikroTik router in a remote OpenStack VXLAN environemnt, 1450 MTU on all virtual interfaces (VXLAN limitation), running the other side of the EoIP + IPsec tunnel with 1500 MTU as well
3CX phone system in OpenStack VXLAN environment, connected to CHR, 1450 MTU on interface as well
The problem is, when using UDP for the connection from the phones to the phone system, the SIP INVITEs fragment so badly, they basically don’t work anymore.
With TCP for the connection everything works without any issues.
Some fragmentation should be normal when going from 1500 to 1450 MTU, but why is it completely breaking any calls? Am I doing the MTU change at wrong place or are my values messed up?
Is there any way of fixing this without decreasing the MTU of the phones? (would require manually changing the provision file) I tried it with one and setting the MTU to 1300 fixed the issues with the calls. My knowledge of all things networking related is pretty basic, so maybe I’m just missing something obvious.
Edit: Is there a way to see where the fragmentation occurs? No matter where I capture the packets (directly on the phone, local mikrotik, remote mikrotik), they always show as fragmented.
Thanks, I changed the tunnel from EoIP to BCP, however the problem still exists.
What I don’t understand: no matter where I capture the packets (directly on the phone, on the local router or the remote router) they always show as fragmented - does this mean the packets are already fragmenting ON the phone?
Is connection tracking enabled? There is in mangle also a option to accept fragmentend (following) packages.
Matches fragmented packets. First (starting) fragment does not count. If connection tracking is enabled there will be no fragments as system automatically assembles every packet
I found the Issue - the INVITEs some yealink phones create are always larger than their set MTU, for example with MTU set to 1500, my invites are 1652 bytes, since it sends all the enabled audio/video codecs there, making the packets way too big. With the additional limit of 1450 MTU in the OpenStack environment, this fragments them so badly, they basically become useless.