Can you get a SIP trace/debug from the PBX so we can see what it thinks it is doing?

You might need to fire up wireshark and some port-mirroring or a 10/100 hub inline with the PBX. More then likely the PBX is sending the wrong IP info, or the gateway thinks it's smarter then you and screwing stuff up.