Inbound SIP Calls Not Working

Hi,
I am new to Asterisk and have solved all the problems I have encountered except inbound SIP calls and was wondering if someone might be able to point out my mistake(s).
I have Asterisk running on a repurposed Linksys router. The Asterisk box sits behind another router doing the usual NAT translation stuff. I have an account with VoIPVoIP.com for connectivity to the outside world, I make use an ATA to drive two POTS telephones and also I have a SIP phone.
All three phones can call each other and make outbound calls via VoIPVoIP. However, inbound calls just do not get through. The SIP debug output at the bottom of this posting shows that the incoming call is reaching me, but my PBX does not manage to make the last connection.
This should be really simple, but my brain has a short circuit somewhere.
Many thanks in advance!

Some of the obvious personal settings and IP addresses have been changed in the following extracts.

sip.conf
I took the VoIPVoIP configuration guide at http://www.voipvoip.com/trixbox/ to provide some of the sip.conf contents. I think the error is routing the incoming SIP call to a valid context in the extensions.conf file. Specifically, there is one line in the sip.conf file above the second of the sections cribbed from the VoIPVoIP web site that I have no idea about.

[general]
bindport=5060
externhost=myddns.domain
externrefresh=1800
qualify=yes
canreinvite=no
localnet=192.168.10.0/24
register => 5551231234:XXXXXXXX@sip3.voipvoip.com/sip3.voipvoip.com
disallow=all
allow=ulaw
sipdebug=yes

;Study
[101]
type=friend
context=phones
host=dynamic
qualify=yes
nat=no

;Upstairs
[102]
type=friend
context=phones
host=dynamic
qualify=yes
nat=no

;SIP Phone
[103]
type=friend
context=phones
host=dynamic
qualify=yes
nat=no

[sip3.voipvoip.com]  <<== This seems to work
username=5551231234
type=peer
secret=XXXXXXXX
nat=yes
insecure=very
host=sip3.voipvoip.com
fromuser=5551231234
fromdomain=sip3.voipvoip.com
dtmfmode=rfc2833
disallow=all
;allow=all
;allow=g729
;allow=ilbc
allow=ulaw
;allow=alaw
qualify=30000

[VoipNumber]  <<== What should this be? I think this is the problem but cannot find an example of what shis should be and how it relates to sections in extensions.conf
username=5551231234
type=user
secret=XXXXXXXX
context=incoming.voipvoip.com
nat=yes
insecure=very
host=sip3.voipvoip.com
fromdomain=sip3.voipvoip.com
dtmfmode=rfp2833
;disallow=all
allow=all
;allow=g729
;allow=ilbc
allow=ulaw
;allow=alaw

extensions.conf

[globals]
STUDY=SIP/Study
UPSTAIRS=SIP/Upstairs
DOWNSTAIRS=SIP=Downstairs
OUTBOUNDTRUNK=SIP/sip3.voipvoip.com

[default]
exten => s,1,Verbose(1|Unrouted call handler)
exten => s,n,Answer()
exten => s,n,Wait(1)
exten => s,n,Playback(tt-weasels)
exten => s,n,Hangup()

[outbound]
exten => _NXXNXXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN})
exten => _NXXNXXXXXX,2,Congestion()
exten => _NXXNXXXXXX,102,busy()

exten => _011.,1,Dial(${OUTBOUNDTRUNK}/${EXTEN})
exten => _011.,2,Congestion()
exten => _011.,102,busy()

[incoming.voipvoip.com]
include => default

[internal]
include => outbound

exten => 100,1,Verbose(Calling Extension SIP/101 & SIP/102 & SIP/103)
exten => 100,n,Dial(SIP/101&SIP/102&SIP/103,30)
exten => 100,n,Hangup()

exten => _10X,1,Verbose(Calling Extension ${EXTEN})
exten => _10X,n,Dial(SIP/${EXTEN},30)
exten => _10X,n,Hangup()

[phones]
include=>internal

SIP Debug output when placing incoming call

OpenWrt*CLI>
<-- SIP read from VoipVoipIPAddress:5060:

--- (0 headers 0 lines) Nat keepalive ---
OpenWrt*CLI>
<-- SIP read from VoipVoipIPAddress:5060:
INVITE sip:VoipVoipIPAddress@MyIPAddress SIP/2.0
Record-Route: <sip:VoipVoipIPAddress:5060;nat=yes;ftag=SD9pfu501-10000000-0-479125036;lr=on>
Via: SIP/2.0/UDP VoipVoipIPAddress;branch=z9hG4bKbe72.58e10eb7.0
Via: SIP/2.0/UDP 204.14.37.122:5060;branch=z9hG4bKufck0030doc1tg42r741.1
From: <sip:CellNumber@204.14.37.122;user=phone>;tag=SD9pfu501-10000000-0-479125036
To: <sip:VoipNumber@VoipVoipIPAddress;user=phone>
CSeq: 1 INVITE
Min-SE: 1800
Session-Expires: 1800
Supported: timer
Contact: <sip:CellNumber@204.14.37.122:5060;transport=udp>
Call-ID: SD9pfu501-725758303d1e020cb53d5e273eac998e-v3000i1
Remote-Party-ID: <sip:CellNumber@192.168.28.70;user=phone>;party=calling;id-type=subscriber;privacy=off;screen=yes
Max-Forwards: 68
Content-Type: application/sdp
Content-Length: 285

v=0
o=- 3425248095 3425248095 IN IP4 204.14.37.10
s=-
c=IN IP4 204.14.37.10
t=0 0
m=audio 46062 RTP/AVP 18 0 8 101
a=sendrecv
a=ptime:20
a=rtpmap:18 G729/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=fmtp:18 annexb=no

--- (16 headers 14 lines) ---
Using INVITE request as basis request - SD9pfu501-725758303d1e020cb53d5e273eac998e-v3000i1
Sending to VoipVoipIPAddress : 5060 (non-NAT)
Found peer 'VoipVoipIPAddress'
Found RTP audio format 18
Found RTP audio format 0
Found RTP audio format 8
Found RTP audio format 101
Peer audio RTP is at port 204.14.37.10:46062
Found description format G729
Found description format PCMU
Found description format PCMA
Found description format telephone-event
Capabilities: us - 0x4 (ulaw), peer - audio=0x10c (ulaw|alaw|g729)/video=0x0 (nothing), combined - 0x4 (ulaw)
Non-codec capabilities: us - 0x1 (telephone-event), peer - 0x1 (telephone-event), combined - 0x1 (telephone-event)
Looking for VoipVoipIPAddress in default (domain MyIPAddress)
Reliably Transmitting (NAT) to VoipVoipIPAddress:5060:
SIP/2.0 404 Not Found
Via: SIP/2.0/UDP VoipVoipIPAddress;branch=z9hG4bKbe72.58e10eb7.0;received=VoipVoipIPAddress
Via: SIP/2.0/UDP 204.14.37.122:5060;branch=z9hG4bKufck0030doc1tg42r741.1
From: <sip:CellNumber@204.14.37.122;user=phone>;tag=SD9pfu501-10000000-0-479125036
To: <sip:VoipNumber@VoipVoipIPAddress;user=phone>;tag=as03419bf2
Call-ID: SD9pfu501-725758303d1e020cb53d5e273eac998e-v3000i1
CSeq: 1 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Content-Length: 0


---
OpenWrt*CLI>
<-- SIP read from VoipVoipIPAddress:5060:
ACK sip:VoipVoipIPAddress@MyIPAddress SIP/2.0
Via: SIP/2.0/UDP VoipVoipIPAddress;branch=z9hG4bKbe72.58e10eb7.0
From: <sip:CellNumber@204.14.37.122;user=phone>;tag=SD9pfu501-10000000-0-479125036
Call-ID: SD9pfu501-725758303d1e020cb53d5e273eac998e-v3000i1
To: <sip:VoipNumber@VoipVoipIPAddress;user=phone>;tag=as03419bf2
CSeq: 1 ACK
User-Agent: OpenSer (1.0.1 (i386/linux))
Content-Length: 0


--- (8 headers 0 lines) ---
Destroying call 'SD9pfu501-725758303d1e020cb53d5e273eac998e-v3000i1'
OpenWrt*CLI>

Hi

there is nothing for it to match against in default

try adding _X. or _. as well as a s extension

IAn