localnet does not mean what you think. It tells Asterisk to exclude that network from NAT processing. You need a localnet declaration for every network that is reachable without NAT translation from any connected interface on the box.
So if the gateway that processes 192 traffic is 10.0.0.1 (not the freepbx) it should be included in the localnet? So the localnets should then be listed as 10.0.00/24 and 192.168.1.0/24?
It was a basic routing issue. Once I made the public address the default gw all my problems went away. I ad to add a few static routes to the inside interface, but those were quick and easy. In hindsight, the public interface doesn’t really push much traffic at all. Updates is about it. iptables is configured to allow appropriate ip’s in and block everything else. All is right in th eworld now.
I think folks are often confused about the public address field. It does not mean that an interface on the server has a piblic interface. This is the IP address that is on the public facing NAT interface. Asterisk assumes that NAT has taken care of forwarding the ports, remember that you should not have to put static NAT translations in your router unless you want outside hosts to be able to contact the server first. DNAT implicitely trusts the inbound portion of an outbound requests (this is why web surfing works). You should not have to map ports for a sip trunk to work.