Remote Softphone for Freepbx 16

I have been using Asterisk, Trixbox, and now FreePBX for years for internal extensions and loop start trunking. Pretty simple stuff BC (Before Covid)…
Now, with remote users doing development work on my servers, I feel the need to provide remote extensions to my interns.
I am having one devil of a time setting up MicroSIP on intern PCs.
Internally, no problem . . .
Externally, I have NOIP / Callcentric trunking, ER7206 Router connected to a FreePBX 16.
For the life of me I cannot get a softphone to register with the PBX.
That’s why I am browsing around.
I have set up different ports and forwarded those ports to the “correct” ports.
I set up a new instance to point my remote softphones to the router and forwarded that to FreePBX 16.
All to no avail. . .
I am indeed doing something wrong, but really can’t figure out what…!

This is normally not a good idea. If you really need it because it’s unfeasible to configure your internal devices to use the non-standard SIP port, see

I changed the MicroSIP softphone port numbers on the remote side of the public IP address.
I used a port mapping feature to change them back to 5060 for the PBX.

I had look at the link.
I’m now thinking I need to transpose port numbers from inside to outside…
First time I’ve tried this. . . There are a lot of options.
I’m thinking that my feeble efforts may well be in conflict.
Any direction would be appreciated.
I’m a married man, I take direction well.

Make sure softphones are binding to the right network interfaces (e.g. not some random VirtualBox or VPN adapter).
Use some 3rd party SIP account for sanity check - or (it can be created for free in minutes and there are are some test “numbers” on both these platforms).
Check with other softphone(s), starting with one(s) you are familiar with.
Try TCP and/or TLS transport if possible.
Use Wireshark for further troubleshooting.

Good point.
Right now I am working the problem with 2 instances of MicroSIP.
One is truly remote at a friends house. We are in a video call when working on this problem.
The second one is at my house but I am attempting a pseudo-remote emulation using the address to attempt a registration.
You have a point. Time for Wireshark!