408 timeout but only on specific softphone clients

I have a strange issue where if I use specific softphone clients it all works, but other softphone clients fail.

So on my android phone I have both Zoiper and 3CXPhone. Both of these connect with no issue and are seen by doing asterisk -rx “sip show peers”

On my Mac I have Zopier. That connects with no issue and I can call the android phone from the Mac.

However if I run Blink on the same Mac with the same account, then I get a 408 timeout on Blink. Looking at the wireshark I see the REGISTER -> 401 -> Authentication. On the server I see a OK back but that isn’t seen on Wireshark on the Mac.

I have tried all of the obvious things like turning off the firewall, removing restrictions in the config and still get the same result.

I also have a snom320 which also refuses to work in much the same way.

I am behind a router so have though about NAT. But if that was the case Zoiper wouldn’t work and the phone, which is going Wifi through the same router, would also have the same issue.

Any thoughts?

I’ve just spend the weekend moving asterisk from one server to another and it was all working before and comparing config files show no issue.

This is on Ubuntu server 12.04 LTS

Zoiper might be using "stun"
Are you using TCP transport? Blink may not support it.
They use ice I think.
In general not all softphones work with all servers.
E.g. Bria works great in IOS and horrible in Android.
Zoiper sound quality is ok in IOS and bad in Android.
Almost nothing works ok on the Nexus 4, etc…
(Android varies from phone to phone as well).

I have disabled stun on Zoiper - but it’s a good idea.

Even odder - the Windows version of Blink works just fine

So working on my network over Wifi
Blink for Windows
Zoiper for Android
3CXPhone for Android
Zoiper for Mac

Not working
Blink for Mac
Snom320 hardware phone

Zoiper in Android is using UDP transport type with registration expiry time of 60 seconds. This looks to be the same as in the versions that fail.