Unable to answer incoming calls, although they ring to specified extension with CallerID

Hi all, I’m new to FreePBX/Asterisk and the world of VoIP, and need some help…

Here’s where I’m at so far:
Outgoing calls from any extension work perfectly.
Incoming calls ring to the extension I specify, and Caller ID displays.
Good so far… However,

When I answer, the phone’s display shows that I’ve answered, but I can hear nothing on the line.
On the calling end (calling in from my cell phone), the line just keeps ringing.

When I hangup the extension, the line keeps ringing at my cell phone like it was never picked up.

Here is my call history for this particular event (I’ve masked out personal info):
xx.xxx.xxx.xx = my masked out external IP (via dyndns)
1618mycell1 = my cell number I use to place incoming calls
1618myDID1 = our DID number
1210 = the extension I have incoming calls directed to
I’m not running NAT

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

[root@pbx1 /]# asterisk -vvvvvvvvvr
Asterisk 1.6.2.11, Copyright © 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer [email protected]
Asterisk comes with ABSOLUTELY NO WARRANTY; type ‘core show warranty’ for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type ‘core show license’ for details.

== Parsing ‘/etc/asterisk/asterisk.conf’: == Found
Connected to Asterisk 1.6.2.11 currently running on pbx1 (pid = 2898)
Verbosity is at least 9
pbx1CLI> sip set history on
SIP History Recording Enabled (use ‘sip show history’)
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Executing [s@incoming:1] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “Var_FROM_DOMAIN=ss.callcentric.com”) in new stack
– Executing [s@incoming:2] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?5:3”) in new stack
– Goto (incoming,s,3)
– Executing [s@incoming:3] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “1?5:4”) in new stack
– Goto (incoming,s,5)
– Executing [s@incoming:5] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “Var_TO_DID=1618myDID1”) in new stack
– Executing [s@incoming:6] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “1?ext-did,1618myDID1,1:7”) in new stack
– Goto (ext-did,1618myDID1,1)
– Executing [1618myDID1@ext-did:1] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “__FROM_DID=1618myDID1”) in new stack
– Executing [1618myDID1@ext-did:2] ExecIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0 ?Set(CALLERID(name)=1618mycell1)”) in new stack
– Executing [1618myDID1@ext-did:3] Ringing(“SIP/xx.xxx.xxx.xx-0000005e”, “”) in new stack
– Executing [1618myDID1@ext-did:4] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “__CALLINGPRES_SV=allowed_not_screened”) in new stack
– Executing [1618myDID1@ext-did:5] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “CALLERPRES()=allowed_not_screened”) in new stack
– Executing [1618myDID1@ext-did:6] Goto(“SIP/xx.xxx.xxx.xx-0000005e”, “from-did-direct,1210,1”) in new stack
– Goto (from-did-direct,1210,1)
– Executing [1210@from-did-direct:1] ExecIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?Set(__RINGTIMER=0)”) in new stack
– Executing [1210@from-did-direct:2] Macro(“SIP/xx.xxx.xxx.xx-0000005e”, “exten-vm,1210,1210,0,0,0”) in new stack
– Executing [s@macro-exten-vm:1] Macro(“SIP/xx.xxx.xxx.xx-0000005e”, “user-callerid,”) in new stack
– Executing [s@macro-user-callerid:1] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “AMPUSER=1618mycell1”) in new stack
– Executing [s@macro-user-callerid:2] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?report”) in new stack
– Executing [s@macro-user-callerid:3] ExecIf(“SIP/xx.xxx.xxx.xx-0000005e”, “1?Set(REALCALLERIDNUM=1618mycell1)”) in new stack
– Executing [s@macro-user-callerid:4] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “AMPUSER=”) in new stack
– Executing [s@macro-user-callerid:5] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “AMPUSERCIDNAME=”) in new stack
– Executing [s@macro-user-callerid:6] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “1?report”) in new stack
– Goto (macro-user-callerid,s,11)
– Executing [s@macro-user-callerid:11] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?continue”) in new stack
– Executing [s@macro-user-callerid:12] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “__TTL=64”) in new stack
– Executing [s@macro-user-callerid:13] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,24)
– Executing [s@macro-user-callerid:24] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “CALLERID(number)=1618mycell1”) in new stack
– Executing [s@macro-user-callerid:25] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “CALLERID(name)=IL Wireless Call”) in new stack
– Executing [s@macro-exten-vm:2] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “RingGroupMethod=none”) in new stack
– Executing [s@macro-exten-vm:3] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “__EXTTOCALL=1210”) in new stack
– Executing [s@macro-exten-vm:4] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “__PICKUPMARK=1210”) in new stack
– Executing [s@macro-exten-vm:5] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “RT=15”) in new stack
– Executing [s@macro-exten-vm:6] Macro(“SIP/xx.xxx.xxx.xx-0000005e”, “record-enable,1210,IN”) in new stack
– Executing [s@macro-record-enable:1] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “1?check”) in new stack
– Goto (macro-record-enable,s,4)
– Executing [s@macro-record-enable:4] ExecIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?MacroExit()”) in new stack
– Executing [s@macro-record-enable:5] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?Group:OUT”) in new stack
– Goto (macro-record-enable,s,14)
– Executing [s@macro-record-enable:14] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “1?IN”) in new stack
– Goto (macro-record-enable,s,18)
– Executing [s@macro-record-enable:18] ExecIf(“SIP/xx.xxx.xxx.xx-0000005e”, “1?MacroExit()”) in new stack
– Executing [s@macro-exten-vm:7] Macro(“SIP/xx.xxx.xxx.xx-0000005e”, “dial-one,15,tr,1210”) in new stack
– Executing [s@macro-dial-one:1] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “DEXTEN=1210”) in new stack
– Executing [s@macro-dial-one:2] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “DIALSTATUS_CW=”) in new stack
– Executing [s@macro-dial-one:3] GosubIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?screen,1”) in new stack
– Executing [s@macro-dial-one:4] GosubIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?cf,1”) in new stack
– Executing [s@macro-dial-one:5] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “1?skip1”) in new stack
– Goto (macro-dial-one,s,8)
– Executing [s@macro-dial-one:8] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:9] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?continue”) in new stack
– Executing [s@macro-dial-one:10] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “EXTHASCW=ENABLED”) in new stack
– Executing [s@macro-dial-one:11] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?next1:cwinusebusy”) in new stack
– Goto (macro-dial-one,s,23)
– Executing [s@macro-dial-one:23] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “1?next3:continue”) in new stack
– Goto (macro-dial-one,s,24)
– Executing [s@macro-dial-one:24] ExecIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?Set(DIALSTATUS_CW=BUSY)”) in new stack
– Executing [s@macro-dial-one:25] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:26] GosubIf(“SIP/xx.xxx.xxx.xx-0000005e”, “1?dstring,1:dlocal,1”) in new stack
– Executing [dstring@macro-dial-one:1] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “DSTRING=”) in new stack
– Executing [dstring@macro-dial-one:2] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “DEVICES=1210”) in new stack
– Executing [dstring@macro-dial-one:3] ExecIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?Return()”) in new stack
– Executing [dstring@macro-dial-one:4] ExecIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?Set(DEVICES=210)”) in new stack
– Executing [dstring@macro-dial-one:5] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “LOOPCNT=1”) in new stack
– Executing [dstring@macro-dial-one:6] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “ITER=1”) in new stack
– Executing [dstring@macro-dial-one:7] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “THISDIAL=SIP/1210”) in new stack
– Executing [dstring@macro-dial-one:8] GosubIf(“SIP/xx.xxx.xxx.xx-0000005e”, “1?zap2dahdi,1”) in new stack
– Executing [zap2dahdi@macro-dial-one:1] ExecIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?Return()”) in new stack
– Executing [zap2dahdi@macro-dial-one:2] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “NEWDIAL=”) in new stack
– Executing [zap2dahdi@macro-dial-one:3] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “LOOPCNT2=1”) in new stack
– Executing [zap2dahdi@macro-dial-one:4] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “ITER2=1”) in new stack
– Executing [zap2dahdi@macro-dial-one:5] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “THISPART2=SIP/1210”) in new stack
– Executing [zap2dahdi@macro-dial-one:6] ExecIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?Set(THISPART2=DAHDI/1210)”) in new stack
– Executing [zap2dahdi@macro-dial-one:7] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “NEWDIAL=SIP/1210&”) in new stack
– Executing [zap2dahdi@macro-dial-one:8] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “ITER2=2”) in new stack
– Executing [zap2dahdi@macro-dial-one:9] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?begin2”) in new stack
– Executing [zap2dahdi@macro-dial-one:10] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “THISDIAL=SIP/1210”) in new stack
– Executing [zap2dahdi@macro-dial-one:11] Return(“SIP/xx.xxx.xxx.xx-0000005e”, “”) in new stack
– Executing [dstring@macro-dial-one:9] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “DSTRING=SIP/1210&”) in new stack
– Executing [dstring@macro-dial-one:10] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “ITER=2”) in new stack
– Executing [dstring@macro-dial-one:11] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?begin”) in new stack
– Executing [dstring@macro-dial-one:12] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “DSTRING=SIP/1210”) in new stack
– Executing [dstring@macro-dial-one:13] Return(“SIP/xx.xxx.xxx.xx-0000005e”, “”) in new stack
– Executing [s@macro-dial-one:27] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:28] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “1?skiptrace”) in new stack
– Goto (macro-dial-one,s,30)
– Executing [s@macro-dial-one:30] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “D_OPTIONS=tr”) in new stack
– Executing [s@macro-dial-one:31] ExecIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?SIPAddHeader(Alert-Info: )”) in new stack
– Executing [s@macro-dial-one:32] ExecIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?SIPAddHeader()”) in new stack
– Executing [s@macro-dial-one:33] ExecIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?Set(CHANNEL(musicclass)=)”) in new stack
– Executing [s@macro-dial-one:34] GosubIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?qwait,1”) in new stack
– Executing [s@macro-dial-one:35] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “__CWIGNORE=”) in new stack
– Executing [s@macro-dial-one:36] Set(“SIP/xx.xxx.xxx.xx-0000005e”, “__KEEPCID=TRUE”) in new stack
– Executing [s@macro-dial-one:37] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “0?usegoto,1”) in new stack
– Executing [s@macro-dial-one:38] Dial(“SIP/xx.xxx.xxx.xx-0000005e”, “SIP/1210,15,tr”) in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Called 1210
– SIP/1210-0000005f is ringing
– SIP/1210-0000005f answered SIP/xx.xxx.xxx.xx-0000005e
– Executing [h@macro-dial-one:1] Macro(“SIP/xx.xxx.xxx.xx-0000005e”, “hangupcall,”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,3)
– Executing [s@macro-hangupcall:3] Hangup(“SIP/xx.xxx.xxx.xx-0000005e”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 3) exited non-zero on ‘SIP/xx.xxx.xxx.xx-0000005e’ in macro ‘hangupcall’
== Spawn extension (macro-dial-one, h, 1) exited non-zero on ‘SIP/xx.xxx.xxx.xx-0000005e’
== Spawn extension (macro-dial-one, s, 38) exited non-zero on ‘SIP/xx.xxx.xxx.xx-0000005e’ in macro ‘dial-one’
== Spawn extension (macro-exten-vm, s, 7) exited non-zero on ‘SIP/xx.xxx.xxx.xx-0000005e’ in macro ‘exten-vm’
== Spawn extension (from-did-direct, 1210, 2) exited non-zero on ‘SIP/xx.xxx.xxx.xx-0000005e’
– Executing [h@from-did-direct:1] Macro(“SIP/xx.xxx.xxx.xx-0000005e”, “hangupcall,”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“SIP/xx.xxx.xxx.xx-0000005e”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,3)
– Executing [s@macro-hangupcall:3] Hangup(“SIP/xx.xxx.xxx.xx-0000005e”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 3) exited non-zero on ‘SIP/xx.xxx.xxx.xx-0000005e’ in macro ‘hangupcall’
== Spawn extension (from-did-direct, h, 1) exited non-zero on ‘SIP/xx.xxx.xxx.xx-0000005e’
> doing dnsmgr_lookup for ‘callcentric.com
> ast_get_srv: SRV lookup for ‘_sip._UDP.callcentric.com’ mapped to host alpha8.callcentric.com, port 5080
> doing dnsmgr_lookup for ‘callcentric.com
> ast_get_srv: SRV lookup for ‘_sip._UDP.callcentric.com’ mapped to host alpha9.callcentric.com, port 5080
pbx1
CLI>

If you’re using Asterisk 1.6, you’re not using the FreePBX Distro. Also, the version of Asterisk 1.6 you’re using is older. Have you tried updating? I recommend that you install the FreePBX Distro and see if that resolves your problem.

Callcentric is quirky with Asterisk. Have you made the changes to sip_general_custom.conf that Callcentric requires? I’ve found that these changes are essential to ensure proper handling of incoming calls.

Have you tried another VOIP provider? Have you tried a simpler inbound route that doesn’t include an outbound call to your cellular phone?

After doing a NUMBER of things, including trying both the AsteriskNow and FreePBX Distros, and great dedicated support by the provider (Callcentric),
I went on my own and decided to replace the router…
I took out our --ahem-- DLINK DIR-600 (or maybe it was a DIR-615, can’t remember now and don’t care anymore), and replaced it with a new
NETGEAR N300, enabled all the port info and bingo! Incoming calls worked right away!!!
BAD… BAD… just like I’ve seen on other forums, Dlink routers are just not good for SIP.

Hope this helps others out there :slight_smile: