Outgoing calls fail on UDP

Some of our SIP devices suddenly stopped being able to make calls. After some investigation using sngrep on the Asterisk server I noticed that the INVITE messages are rejected:

95 INVITE 905@mydomain.com 7973@mydomain.com 3 x.x.x.x:51654 y.y.y.y:5060 REJECTED

→ INVITE
← 401 UNAUTHORIZED (containing the WWW-Authenticate header)
→ ACK

I would assume that after receiving the 401 the client would send another INVITE containing the proper authentication header but for some reason it doesn’t.
At first I thought this is a client issue but what’s puzzling me is that REGISTER works perfectly fine:

→ REGISTER
← 401 UNAUTHORIZED
→ REGISTER
← OK

Even more puzzling is that when I connect the client to a different network (behind a different FW, 4G network for example) OR set the client to use TCP instead of UDP everything works fine. Also, the whole setup used to work fine on UDP until a few weeks ago.

I suspect that the firewall (Meraki MX64) is at least part of the problem but I have no clue what to look at.

Any hint on where to look would be highly appreciated!

[pahlevoon] the first thing I would try is Wireshark. Do a sip trace their you will find that most likely you’ve got the wrong heading. Which means wrong dialplan for your “Carrier”

You could check your firewall for any types of SIP inspection, some firewalls has settings for rejecting/dropping repeated packets, and this could be faulty.

It’s also possible that the firewall performs NAT, and somehow messes up the packets, I’ve seen things like cable modems changing a port from 5060 to 506060, due to a faulty NAT implementation.