I have been using the built in B2B scenario "top hiding" while running on Amazon EC2 with an associated Elastic IP. EC2 uses a 1 to 1 nat, So I have set the opensips advertised_address to my public elastic IP address.
When b2b init request is used, the proxy sends out a new invite and uses the advertised address in the Via header, but it uses the locally bound socket IP in the Contact header. This obviously causes problems because the local socket IP is a private ip address within EC2.
I have captured a SIP trace of this behaviour which you can find here.
I have tested this against 1.8 tarball, and opensips_head from svn as of 7/29/2012