Registration failed => Wrong Password

I figured out the problem affecting my registration, now I need to figure out how to overcome it.

Recap of my problem:

My sipura is registering ok when in the same LAN as my Asterisk.

As soon as I put Sipura on a public IP, say, my sipura does not register anymore due to a wrong password error message generated by Asterisk.
A public IP, say, goes to a PIX that transfers all UDP, port 5060 traffic to Asterisk at the local IP.

The reason for the WRONG PASSWORD message is that Asterisk finds the A2_hash using the local uri=> sip:, while my Sipura uses the public uri => sip: to calculate the same MD5Hash.

What is the solution here?
Is it a configuration that needs to be done in Asterisk to specify which URI to be used?
Is it a configuration of Sipura?
Or the PIX?