Unable to forward incoming calls to local extensions

Hi,

I’m using FreePBX 2.9.0.7 and Asterisk 1.8.2.3 installed on CentOS 5.5. Server is in a private network behind home router (I configured 5080 for SIP and 10000-10999 for RTP and forwarded them from router to the PBX machine). I cannot get incoming calls to ring any of the local extensions.

Right now I have 3 SIP trunks and 4 local SIP extensions:
Trunks:

  • Google Voice trunk for calls to US/Canada
  • VoipDiscount trunk for calls elsewhere
  • FreePhoneLine.ca trunk for calls to big cities in Canada and as a primary DID for incoming calls

Extensions:

  • Two X-Lite clients within the same private network as PBX at home
  • One remote X-Lite client connecting from outside
  • Linksys PAP2T adapter within the same private network with a regular phone connected to it

What works:

  • Calls between any local extensions (including calls between local and remote extensions)
  • Outgoing calls from local extensions to any valid external destination via all trunks
  • Incoming calls forwarded to IVR/DISA, including dialing external numbers from within DISA

What doesn’t work (and I spent a lot of time trying to make it work without any luck):

  • Incoming calls forwarded to any of the local SIP extensions, including calls that reach DISA and dial out local extension

I turned on the SIP debugging, and when I dial local extension from DISA / forward call directly, there are multiple messages that Asterisk is trying SIP retransmit to the local extension, and then a timeout (of about 6000 ms) after which the call is terminated.

Can you pls help me understand what am I doing wrong? What kind of logs / configs would be useful to diagnose that?

sip_nat.conf

externhost=sip.###.ca localnet=10.10.0.0/255.255.255.0