What kind of network problems and where do you see the loss of registration, at the GXW or the device to which it is connected and sending the calls?
I assume you see the loss in 3CX, but what does it show at the gateway.
When a device registers it requests and is given an expiry time. The expiry is the amount of time that the device has been given such that if no calls or other messaging is needed, the GXW will not need to contact 3CX again until the expiry is reached whereupon the GXW will register once again.
If the Internet goes out, the GXW may not know this and will continue to show being registered on its end while 3CX does not.
You need to check and see.
Additionally, it sounds like there is a possibility that you are not handling the NAT correctly. If you are not forwarding to the GWX, then are SIP Options keep alives enabled? Is STUN set and enabled or a NAT IP (if the remote has a static public IP) set. If not, then how does 3CX know where to find the GXW. The GXW knows where to contact 3CX as you provisioned a SIP server into it, but what about the return side? How do you ensure that the messaging from 3CX is going back to the public IP where the GXW is located and then thru the firewall to the GXW itself?