Dude...if your inbound calls from your PSTN SIP provider are hit-or-miss, might want to try adding qualify=yes to your Asterisk SIP config for the trunk. Mine are solid now. My firewall must have been closing up the NAT association. My stupid firewall is not very conifgurable, so I can't set the timeout there.
With qualify=yes, traffic is ping-ponged every 60 seconds to keep the firewall happy during idle times.