[HELP] Connecting SIP Clients behind a NAT to Asterisk

We moved our Asterisk box to a public IP address. Our office phones (SIP); however, are behind a NAT and are having trouble registering with the Asterisk box. Does anyone have any solutions to this other than setting up another Asterisk box inside the office and then doing an IAX2 trunk inbetween the two boxes?

Have you ever config in sip.conf use nat=yes and qualify=yes
because it will send keep alive packet for routing table in nat should map in correct port.

You have a Stun Server configured for your SIP client? maybe that will help