You say they are the same, but are they configured the same?
have you tried forwarding the RTP ports to the freepbx box?
have you checked Asterisk Sip settings in advanced? made sure internal and external IPs are correct?
Probation passed - setting RTP source indicates that nothing is wrong at that point. Basically your system has sent OK to the handset, and telling it to acknowledge. If you’re not getting that on the other system then the 2 are not communicating properly. (which is obvious i know!)…
This to me would suggest that there is a Network configuration issue in the handset, or it’s struggling to deal with the NAT. Maybe the handset is setup for the other network still?? 1 setting wrong somewhere with regards to server or something?