1. The registrar server is wrong - it has to be only the IP of the of the GXW4104. Fix this first and try again.
2. In the capture you show the call from the Grandstream GXP2170 desk phone to the PBX.
But you should instead look at the capture from the PBX IP address to the GXW4104 IP. These are the ones that will tell you if a call left 3CX and went to the Gateway, and what reply it got back.
FXO should also be set to one stage dialing.
I also see a prefix to specify the port option, you may have to test to see if the FXO actually wants a prefix, for the call to proceed.
Don't forget the calls come in via PSTN, so maybe the provider is not sending caller ID or they may be sending it in a standard that the FXO does not understand, so it has nothing to show to 3CX.
If your provider is sending CID in the Bellcore format, then the gateway must wait a few seconds before passing the call on to 3CX, as it must capture the CID info sent between the first and second ring.
As I recall, the option may be "number of rings before pickup". Try setting to 4, then lower, to 3, then 2, to see if it still works.