A couple of questions concerning FreePBX behind NAT and at Dynamic IP

I have FreePBX 12 with Asterisk 13. Sysadmin Pro module

The server is behind firewall/nat and the ISP (Cox Cable) supplies Dynamic public IP.

Before I had the Sysadmin Pro, I have setup curl with duckdns.org account which is one of the DDNS handling methods.This works and my duckdns.org address follows the changes in my public IP very well. However, while a Grandstream IP phone and MicroSIP Softphone in the remote locations are connecting fine and stay registered without any hiccups, my soft phone (Grandstream Wave) on my smart phone has a problem.
In 3G/4G mode (through my cellphone data plan) it works pretty good, but when it is on WiFi, it looses the registration after some time and fails to reregister untill I switch to 4G and the back to WiFi. I can ping my duckdns.org address from the phone at all time with no problems. The only way that it does not loose the registration if instead of duckdns.org FDQN, I put actual public IP address which is not a long term solution as it is Dymnamic.

Once I go a free upgrade to SysadminPro, it has a DDNS handling through pbxact.com server (freePbx own thing). I have enabled that and now I have duckdns.org FDQN and pbxact.com FDQN and both of the work exactly the same way (on WiFi only for a time, then drop).

If anyone can shine a light on this, please do. It is quite obviously is my Android Phone problem only as the windows computers appear to be able to handle with this. I am pretty sure it is not expiery settings or anything of that nature as the moment I change FDQN to the IP address it represents, the phone springs into life and stay there as long as the Cox provided IP stays. Also if the phone in 4G/3G mode, the sip registration is also solid.

Another unrelated question is that I set RTP address range to 10000-20000, but It looks like most of the connected clients register and operate on ports outside of the set range (like 55655 for example) which i checked with “rtp debug” CLI command.