Inbound Calls not working - Outbound OK

I have an extension setup for someone working out of their home. I have NAT turned on for their extension. The server is on a public IP.

SIP Debug Output and Asterisk output from a test call to that extension from another extension.


<--- SIP read from UDP:74.211.5.170:5060 --->
SIP/2.0 400 Bad Request
Via: SIP/2.0/UDP 97.75.186.19:5060;branch=z9hG4bK75dfc2ea;rport
From: "Mark" <sip:[email protected]>;tag=as1e9963e8
To: "Krystal at Home" <sip:[email protected]:5060>;tag=B62D8D97-1CD0628
CSeq: 102 INVITE
Call-ID: [email protected]:5060
Contact: <sip:[email protected]:5060>
User-Agent: PolycomSoundPointIP-SPIP_430-UA/3.2.3.1734
Accept-Language: en
Content-Length: 0

<------------->
--- (10 headers 0 lines) ---

<--- SIP read from UDP:74.211.5.170:5060 --->
SIP/2.0 400 Bad Request
Via: SIP/2.0/UDP 97.75.186.19:5060;branch=z9hG4bK75dfc2ea;rport
From: "Mark" <sip:[email protected]>;tag=as1e9963e8
To: "Krystal at Home" <sip:[email protected]:5060>;tag=B62D8D97-1CD0628
CSeq: 102 INVITE
Call-ID: [email protected]:5060
Contact: <sip:[email protected]:5060>
User-Agent: PolycomSoundPointIP-SPIP_430-UA/3.2.3.1734
Accept-Language: en
Content-Length: 0

<------------->
--- (10 headers 0 lines) ---

<--- SIP read from UDP:74.211.5.170:5060 --->
SIP/2.0 400 Bad Request
Via: SIP/2.0/UDP 97.75.186.19:5060;branch=z9hG4bK75dfc2ea;rport
From: "Mark" <sip:[email protected]>;tag=as1e9963e8
To: "Krystal at Home" <sip:[email protected]:5060>;tag=B62D8D97-1CD0628
CSeq: 102 INVITE
Call-ID: [email protected]:5060
Contact: <sip:[email protected]:5060>
User-Agent: PolycomSoundPointIP-SPIP_430-UA/3.2.3.1734
Accept-Language: en
Content-Length: 0

<------------->
--- (10 headers 0 lines) ---
Reliably Transmitting (NAT) to 74.211.5.170:5060:
OPTIONS sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP 97.75.186.19:5060;branch=z9hG4bK6f9a9ead;rport
Max-Forwards: 70
From: "Unknown" <sip:[email protected]>;tag=as36aa799f
To: <sip:[email protected]:5060>
Contact: <sip:[email protected]:5060>
Call-ID: [email protected]:5060
CSeq: 102 OPTIONS
User-Agent: FPBX-2.9.0(1.8.6.0)
Date: Wed, 09 Nov 2011 00:03:53 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Length: 0


---

<--- SIP read from UDP:74.211.5.170:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 97.75.186.19:5060;branch=z9hG4bK6f9a9ead;rport
From: "Unknown" <sip:[email protected]>;tag=as36aa799f
To: "Krystal at Home" <sip:[email protected]:5060>;tag=DC932E2-2558498B
CSeq: 102 OPTIONS
Call-ID: [email protected]:5060
Contact: <sip:[email protected]:5060>
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, INFO, MESSAGE, SUBSCRIBE, NOTIFY, PRACK, UPDATE, REFER
Supported: 100rel,replaces,100rel,timer,replaces,norefersub
User-Agent: PolycomSoundPointIP-SPIP_430-UA/3.2.3.1734
Accept-Language: en
Accept: application/sdp,text/plain,message/sipfrag,application/dialog-info+xml
Accept-Encoding: identity
Content-Length: 0

<------------->
--- (14 headers 0 lines) ---
Really destroying SIP dialog '[email protected]:5060' Method: OPTIONS
    -- Executing [h@macro-dialout-trunk:1] Macro("SIP/400-00000136", "hangupcall,") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("SIP/400-00000136", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [s@macro-hangupcall:3] Hangup("SIP/400-00000136", "") in new stack
  == Spawn extension (macro-hangupcall, s, 3) exited non-zero on 'SIP/400-00000136' in macro 'hangupcall'
  == Spawn extension (macro-dialout-trunk, h, 1) exited non-zero on 'SIP/400-00000136'
  == Spawn extension (macro-dialout-trunk, s, 20) exited non-zero on 'SIP/400-00000136' in macro 'dialout-trunk'
  == Spawn extension (from-internal, 918014376566, 5) exited non-zero on 'SIP/400-00000136'

<--- SIP read from UDP:74.211.5.170:5060 --->
SIP/2.0 400 Bad Request
Via: SIP/2.0/UDP 97.75.186.19:5060;branch=z9hG4bK75dfc2ea;rport
From: "Mark" <sip:[email protected]>;tag=as1e9963e8
To: "Krystal at Home" <sip:[email protected]:5060>;tag=B62D8D97-1CD0628
CSeq: 102 INVITE
Call-ID: [email protected]:5060
Contact: <sip:[email protected]:5060>
User-Agent: PolycomSoundPointIP-SPIP_430-UA/3.2.3.1734
Accept-Language: en
Content-Length: 0

<------------->
--- (10 headers 0 lines) ---

<--- SIP read from UDP:74.211.5.170:5060 --->
SIP/2.0 400 Bad Request
Via: SIP/2.0/UDP 97.75.186.19:5060;branch=z9hG4bK75dfc2ea;rport
From: "Mark" <sip:[email protected]>;tag=as1e9963e8
To: "Krystal at Home" <sip:[email protected]:5060>;tag=B62D8D97-1CD0628
CSeq: 102 INVITE
Call-ID: [email protected]:5060
Contact: <sip:[email protected]:5060>
User-Agent: PolycomSoundPointIP-SPIP_430-UA/3.2.3.1734
Accept-Language: en
Content-Length: 0

<------------->
--- (10 headers 0 lines) ---

<--- SIP read from UDP:74.211.5.170:5060 --->
SIP/2.0 400 Bad Request
Via: SIP/2.0/UDP 97.75.186.19:5060;branch=z9hG4bK75dfc2ea;rport
From: "Mark" <sip:[email protected]>;tag=as1e9963e8
To: "Krystal at Home" <sip:[email protected]:5060>;tag=B62D8D97-1CD0628
CSeq: 102 INVITE
Call-ID: [email protected]:5060
Contact: <sip:[email protected]:5060>
User-Agent: PolycomSoundPointIP-SPIP_430-UA/3.2.3.1734
Accept-Language: en
Content-Length: 0

<------------->
--- (10 headers 0 lines) ---

<--- SIP read from UDP:74.211.5.170:5060 --->
SIP/2.0 400 Bad Request
Via: SIP/2.0/UDP 97.75.186.19:5060;branch=z9hG4bK75dfc2ea;rport
From: "Mark" <sip:[email protected]>;tag=as1e9963e8
To: "Krystal at Home" <sip:[email protected]:5060>;tag=B62D8D97-1CD0628
CSeq: 102 INVITE
Call-ID: [email protected]:5060
Contact: <sip:[email protected]:5060>
User-Agent: PolycomSoundPointIP-SPIP_430-UA/3.2.3.1734
Accept-Language: en
Content-Length: 0


    -- SIP/414-00000143 is circuit-busy
  == Everyone is busy/congested at this time (1:0/1/0)
    -- Executing [s@macro-dial-one:43] ExecIf("SIP/444-00000142", "0?Set(DIALSTATUS=)") in new stack
    -- Executing [s@macro-dial-one:44] GosubIf("SIP/444-00000142", "0?s-CONGESTION,1") in new stack
    -- Executing [s@macro-dial-one:45] MacroExit("SIP/444-00000142", "") in new stack
    -- Executing [s@macro-exten-vm:15] GotoIf("SIP/444-00000142", "0?exit") in new stack
    -- Executing [s@macro-exten-vm:16] Set("SIP/444-00000142", "SV_DIALSTATUS=CONGESTION") in new stack
    -- Executing [s@macro-exten-vm:17] GosubIf("SIP/444-00000142", "0?docfu,1") in new stack
    -- Executing [s@macro-exten-vm:18] GosubIf("SIP/444-00000142", "0?docfb,1") in new stack
    -- Executing [s@macro-exten-vm:19] Set("SIP/444-00000142", "DIALSTATUS=CONGESTION") in new stack
    -- Executing [s@macro-exten-vm:20] ExecIf("SIP/444-00000142", "0?MacroExit()") in new stack
    -- Executing [s@macro-exten-vm:21] GotoIf("SIP/444-00000142", "0?s-CONGESTION,1") in new stack
    -- Executing [s@macro-exten-vm:22] Macro("SIP/444-00000142", "vm,414,CONGESTION,") in new stack
    -- Executing [s@macro-vm:1] Macro("SIP/444-00000142", "user-callerid,SKIPTTL") in new stack
    -- Executing [s@macro-user-callerid:1] Set("SIP/444-00000142", "AMPUSER=444") in new stack
    -- Executing [s@macro-user-callerid:2] GotoIf("SIP/444-00000142", "4?report") in new stack
    -- Goto (macro-user-callerid,s,13)
    -- Executing [s@macro-user-callerid:13] GotoIf("SIP/444-00000142", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,26)
    -- Executing [s@macro-user-callerid:26] Set("SIP/444-00000142", "CALLERID(number)=444") in new stack
    -- Executing [s@macro-user-callerid:27] Set("SIP/444-00000142", "CALLERID(name)=Mark") in new stack
    -- Executing [s@macro-user-callerid:28] Set("SIP/444-00000142", "CHANNEL(language)=en") in new stack
    -- Executing [s@macro-vm:2] Set("SIP/444-00000142", "VMGAIN=""") in new stack
    -- Executing [s@macro-vm:3] Macro("SIP/444-00000142", "blkvm-check,") in new stack
    -- Executing [s@macro-blkvm-check:1] Set("SIP/444-00000142", "GOSUB_RETVAL=") in new stack
    -- Executing [s@macro-blkvm-check:2] MacroExit("SIP/444-00000142", "") in new stack
    -- Executing [s@macro-vm:4] GotoIf("SIP/444-00000142", "1?vmx,1") in new stack
    -- Goto (macro-vm,vmx,1)
    -- Executing [vmx@macro-vm:1] Set("SIP/444-00000142", "MEXTEN=414") in new stack
    -- Executing [vmx@macro-vm:2] Set("SIP/444-00000142", "MMODE=CONGESTION") in new stack
    -- Executing [vmx@macro-vm:3] Set("SIP/444-00000142", "RETVM=") in new stack
    -- Executing [vmx@macro-vm:4] Set("SIP/444-00000142", "MODE=unavail") in new stack
    -- Executing [vmx@macro-vm:5] GotoIf("SIP/444-00000142", "1?chknomsg") in new stack
    -- Goto (macro-vm,vmx,8)
    -- Executing [vmx@macro-vm:8] GotoIf("SIP/444-00000142", "0?s-CONGESTION,1") in new stack
    -- Executing [vmx@macro-vm:9] GotoIf("SIP/444-00000142", "1?notdirect") in new stack
    -- Goto (macro-vm,vmx,11)
    -- Executing [vmx@macro-vm:11] NoOp("SIP/444-00000142", "Checking if ext 414 is enabled: ") in new stack
    -- Executing [vmx@macro-vm:12] GotoIf("SIP/444-00000142", "1?s-CONGESTION,1") in new stack
    -- Goto (macro-vm,s-CONGESTION,1)
    -- Executing [s-CONGESTION@macro-vm:1] Macro("SIP/444-00000142", "get-vmcontext,414") in new stack
    -- Executing [s@macro-get-vmcontext:1] Set("SIP/444-00000142", "VMCONTEXT=default") in new stack
    -- Executing [s@macro-get-vmcontext:2] GotoIf("SIP/444-00000142", "0?200:300") in new stack
    -- Goto (macro-get-vmcontext,s,300)
    -- Executing [s@macro-get-vmcontext:300] NoOp("SIP/444-00000142", "") in new stack
    -- Executing [s-CONGESTION@macro-vm:2] VoiceMail("SIP/444-00000142", "414@default,u""") in new stack
Really destroying SIP dialog '[email protected]:5060' Method: INVITE
    -- <SIP/444-00000142> Playing 'vm-theperson.ulaw' (language 'en')

Have you followed the instructions found here?

http://www.freepbx.org/support/documentation/howtos/howto-setup-a-remote-sip-extension

My phone server has a public IP. I have iptables on it, the rules work plus I’ve also shut it off for testing.

The phone is on a home network behind a router. It’s a polycom IP430.

These instructions apply with equal force to servers that are on a public IP.