Hi,
Just two comments:
1/ Try to switch to mediaproxy - I find it more straight-forward to use than nathelper (also little slower though due to grrr Python).
My desired setup is as follows (the only thing behind a NAT are phones):
Phone(s) --> [NAT] --> SER --> Asterisk(FS) --> Asterisk (PSTN)
2/ Why do you want to send all to your Asterisk(FS) ? You can put the dial-plan to routing in ser, so only those nessecary requests will go to Asterisk(FS) and PSTN calls directly to Asterisk(PSTN). Also you can prevent loops from Asterisk(FS) by making SER handle routing directly between clients.
It is my understanding that my desired setup is very similar to that of others such as FWD (Free World Dialup), et al.
And no, Afaik FWD got a Jasomi box donated to handle all the NAT-oddities, lucky bastards ;-).
Cheers,