We used them at a High Street bank and the world's largest police force.
(facepalm)
Well, you have a nice un-supportable scenario here, so ill sum this up in one last post, and not make another reply here.
1. Is the gateway you cannot make work on the same lan as the 3CX server, or is it having to cross the firewall to talk to 3CX, if so, there is your problem, firewall checker isnt a suggestion, if it is showing errors, there are config problems in the firewall. You have failures for full cone nat, meaning your ports are getting randomized in transit across the firewall. If the gateway is on the same internal network, 3cx should in its logs, or even on the dashboard be indicating that it refused calls coming from the gateway, if there are no such logs, then the calls are not reaching the 3cx server....
2. If you are using Debian from an install source other than the 3CX ISO, you are up a creek configuration wise, i have done such installs before the ISO came out, they are difficult, and if you are not well skilled at command line on linux, you honestly have no business doing such, as this is not for the faint of heart. The 3CX ISO contains a lot of pre-configuration or things such as Debian's built in firewall, and other services, so that they work properly with the 3CX PBX software. You could be fighting one of these internal services not being configured properly, and you wouldn't even know it, and its not something that is easy to just tell you, hey go type this and do that.
3. If you are not able to get the 3CX ISO to work properly i question what VM platform your using because we have lit them up on vmware player, vmware workstation, vmware vcenter, virtual box, etc, and had little if any issues, HyperV is a dirty form of virtualization, it can be made to work however, i believe you have to force Gen 1 or it goes into the weeds.
I wouldn't be surprised if the 3CX VM itself you have built up is not functioning correctly, which is leading to some of this. The only recommendation i could offer up that would be rather simple to test is to first figure out if you installed UFW, or IPtables onto the VM as part of your install and if so, lookup the commands to fully disable them, and then try again, if it works better, then you lack the config for those systems, which as i said, is included in the ISO installer along with lots of other stuff....