if I’m not wrong, a softphone using LTE/4G connection will require a stun server (if not using a VPN of course). At least audio does not work without, in my experience.
I tried and add success using a “public” free server from google for example.
Is it reasonnable to rely on this kind of server ? do they stay open or do they change ?
Or should I build my own server (coturn for ex.)
There is a lot of reliance on stun.l.google.com:19302. You would probably do fine to specify that one.
Enabling ICE for your extensions in FreePBX and enabling ICE on your softphone should take care of audio problems. ICE lets your phone send a bunch of IP address candidates (local IPs, public IPv4 determined by STUN, public IPv6) and negotiate with Asterisk to find the best path.
When you run without STUN, find out what is going wrong. It’s probably something that can be fixed with a simple configuration change.
I have no trouble with Groundwire over LTE, without STUN.
In theory, I see no reason that STUN should help – it tells the client its public IP address and a port number. Asterisk puts the public IP and port in the received tag of the Via header in the response to REGISTER; most clients can use that data. And, the client shouldn’t have to know that anyway; Asterisk will send RTP back to whatever address and port the client’s RTP is coming from.
On a failed call, does outbound audio (from smartphone to Asterisk) work properly, or is there no audio in either direction?