Polycom 4000 can't receive calls

I have a problem trying to get a Polycom 4000 Soundstation to work with FreePBX 2.8.1. I’ve had a dig around in the forums but can’t find a solution.

We mainly use Yealink phones and have had no issues. The extension (205) I’m trying to set up can make both internal and external calls but can’t receive calls. Does anyone have experience of the 4000 and any foibles it might have?

It does regsister with Asterisk successfully:

205/205 192.168.1.208 D N A 5060 OK (26 ms)

but when I try to dial the Polycom, the log shows:

== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Executing [205@from-internal:1] Macro(“SIP/204-0000014a”, “exten-vm,novm,205”) in new stack
– Executing [s@macro-exten-vm:1] Macro(“SIP/204-0000014a”, “user-callerid,”) in new stack
– Executing [s@macro-user-callerid:1] Set(“SIP/204-0000014a”, “AMPUSER=204”) in new stack
– Executing [s@macro-user-callerid:2] GotoIf(“SIP/204-0000014a”, “0?report”) in new stack
– Executing [s@macro-user-callerid:3] ExecIf(“SIP/204-0000014a”, “1?Set(REALCALLERIDNUM=204)”) in new stack
– Executing [s@macro-user-callerid:4] Set(“SIP/204-0000014a”, “AMPUSER=204”) in new stack
– Executing [s@macro-user-callerid:5] Set(“SIP/204-0000014a”, “AMPUSERCIDNAME=MC”) in new stack
– Executing [s@macro-user-callerid:6] GotoIf(“SIP/204-0000014a”, “0?report”) in new stack
– Executing [s@macro-user-callerid:7] Set(“SIP/204-0000014a”, “AMPUSERCID=204”) in new stack
– Executing [s@macro-user-callerid:8] Set(“SIP/204-0000014a”, “CALLERID(all)=“MC” <204>”) in new stack
– Executing [s@macro-user-callerid:9] ExecIf(“SIP/204-0000014a”, “0?Set(CHANNEL(language)=)”) in new stack
– Executing [s@macro-user-callerid:10] GotoIf(“SIP/204-0000014a”, “0?continue”) in new stack
– Executing [s@macro-user-callerid:11] Set(“SIP/204-0000014a”, “__TTL=64”) in new stack
– Executing [s@macro-user-callerid:12] GotoIf(“SIP/204-0000014a”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,19)
– Executing [s@macro-user-callerid:19] Set(“SIP/204-0000014a”, “CALLERID(number)=204”) in new stack
– Executing [s@macro-user-callerid:20] Set(“SIP/204-0000014a”, “CALLERID(name)=MC”) in new stack
– Executing [s@macro-user-callerid:21] NoOp(“SIP/204-0000014a”, “Using CallerID “MC” <204>”) in new stack
– Executing [s@macro-exten-vm:2] Set(“SIP/204-0000014a”, “RingGroupMethod=none”) in new stack
– Executing [s@macro-exten-vm:3] Set(“SIP/204-0000014a”, “VMBOX=novm”) in new stack
– Executing [s@macro-exten-vm:4] Set(“SIP/204-0000014a”, “__EXTTOCALL=205”) in new stack
– Executing [s@macro-exten-vm:5] Set(“SIP/204-0000014a”, “CFUEXT=”) in new stack
– Executing [s@macro-exten-vm:6] Set(“SIP/204-0000014a”, “CFBEXT=”) in new stack
– Executing [s@macro-exten-vm:7] Set(“SIP/204-0000014a”, “RT=”"") in new stack
– Executing [s@macro-exten-vm:8] Macro(“SIP/204-0000014a”, “record-enable,205,IN”) in new stack
– Executing [s@macro-record-enable:1] GotoIf(“SIP/204-0000014a”, “1?check”) in new stack
– Goto (macro-record-enable,s,4)
– Executing [s@macro-record-enable:4] ExecIf(“SIP/204-0000014a”, “0?MacroExit()”) in new stack
– Executing [s@macro-record-enable:5] GotoIf(“SIP/204-0000014a”, “0?Group:OUT”) in new stack
– Goto (macro-record-enable,s,15)
– Executing [s@macro-record-enable:15] GotoIf(“SIP/204-0000014a”, “1?IN”) in new stack
– Goto (macro-record-enable,s,20)
– Executing [s@macro-record-enable:20] ExecIf(“SIP/204-0000014a”, “1?MacroExit()”) in new stack
– Executing [s@macro-exten-vm:9] Macro(“SIP/204-0000014a”, “dial-one,”",trwW,205") in new stack
– Executing [s@macro-dial-one:1] Set(“SIP/204-0000014a”, “DEXTEN=205”) in new stack
– Executing [s@macro-dial-one:2] Set(“SIP/204-0000014a”, “DIALSTATUS_CW=”) in new stack
– Executing [s@macro-dial-one:3] GosubIf(“SIP/204-0000014a”, “0?screen,1”) in new stack
– Executing [s@macro-dial-one:4] GosubIf(“SIP/204-0000014a”, “0?cf,1”) in new stack
– Executing [s@macro-dial-one:5] GotoIf(“SIP/204-0000014a”, “1?skip1”) in new stack
– Goto (macro-dial-one,s,8)
– Executing [s@macro-dial-one:8] GotoIf(“SIP/204-0000014a”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:9] GotoIf(“SIP/204-0000014a”, “0?continue”) in new stack
– Executing [s@macro-dial-one:10] Set(“SIP/204-0000014a”, “EXTHASCW=”) in new stack
– Executing [s@macro-dial-one:11] GotoIf(“SIP/204-0000014a”, “1?next1:cwinusebusy”) in new stack
– Goto (macro-dial-one,s,12)
– Executing [s@macro-dial-one:12] GotoIf(“SIP/204-0000014a”, “0?docfu:skip3”) in new stack
– Goto (macro-dial-one,s,16)
– Executing [s@macro-dial-one:16] GotoIf(“SIP/204-0000014a”, “1?next2:continue”) in new stack
– Goto (macro-dial-one,s,17)
– Executing [s@macro-dial-one:17] GotoIf(“SIP/204-0000014a”, “1?continue”) in new stack
– Goto (macro-dial-one,s,25)
– Executing [s@macro-dial-one:25] GotoIf(“SIP/204-0000014a”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:26] GosubIf(“SIP/204-0000014a”, “1?dstring,1:dlocal,1”) in new stack
– Executing [dstring@macro-dial-one:1] Set(“SIP/204-0000014a”, “DSTRING=”) in new stack
– Executing [dstring@macro-dial-one:2] Set(“SIP/204-0000014a”, “DEVICES=205”) in new stack
– Executing [dstring@macro-dial-one:3] ExecIf(“SIP/204-0000014a”, “0?Return()”) in new stack
– Executing [dstring@macro-dial-one:4] ExecIf(“SIP/204-0000014a”, “0?Set(DEVICES=05)”) in new stack
– Executing [dstring@macro-dial-one:5] Set(“SIP/204-0000014a”, “LOOPCNT=1”) in new stack
– Executing [dstring@macro-dial-one:6] Set(“SIP/204-0000014a”, “ITER=1”) in new stack
– Executing [dstring@macro-dial-one:7] Set(“SIP/204-0000014a”, “THISDIAL=SIP/205”) in new stack
– Executing [dstring@macro-dial-one:8] GosubIf(“SIP/204-0000014a”, “1?zap2dahdi,1”) in new stack
– Executing [zap2dahdi@macro-dial-one:1] ExecIf(“SIP/204-0000014a”, “0?Return()”) in new stack
– Executing [zap2dahdi@macro-dial-one:2] Set(“SIP/204-0000014a”, “NEWDIAL=”) in new stack
– Executing [zap2dahdi@macro-dial-one:3] Set(“SIP/204-0000014a”, “LOOPCNT2=1”) in new stack
– Executing [zap2dahdi@macro-dial-one:4] Set(“SIP/204-0000014a”, “ITER2=1”) in new stack
– Executing [zap2dahdi@macro-dial-one:5] Set(“SIP/204-0000014a”, “THISPART2=SIP/205”) in new stack
– Executing [zap2dahdi@macro-dial-one:6] ExecIf(“SIP/204-0000014a”, “0?Set(THISPART2=DAHDI/205)”) in new stack
– Executing [zap2dahdi@macro-dial-one:7] Set(“SIP/204-0000014a”, “NEWDIAL=SIP/205&”) in new stack
– Executing [zap2dahdi@macro-dial-one:8] Set(“SIP/204-0000014a”, “ITER2=2”) in new stack
– Executing [zap2dahdi@macro-dial-one:9] GotoIf(“SIP/204-0000014a”, “0?begin2”) in new stack
– Executing [zap2dahdi@macro-dial-one:10] Set(“SIP/204-0000014a”, “THISDIAL=SIP/205”) in new stack
– Executing [zap2dahdi@macro-dial-one:11] Return(“SIP/204-0000014a”, “”) in new stack
– Executing [dstring@macro-dial-one:9] Set(“SIP/204-0000014a”, “DSTRING=SIP/205&”) in new stack
– Executing [dstring@macro-dial-one:10] Set(“SIP/204-0000014a”, “ITER=2”) in new stack
– Executing [dstring@macro-dial-one:11] GotoIf(“SIP/204-0000014a”, “0?begin”) in new stack
– Executing [dstring@macro-dial-one:12] Set(“SIP/204-0000014a”, “DSTRING=SIP/205”) in new stack
– Executing [dstring@macro-dial-one:13] Return(“SIP/204-0000014a”, “”) in new stack
– Executing [s@macro-dial-one:27] GotoIf(“SIP/204-0000014a”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:28] GotoIf(“SIP/204-0000014a”, “1?skiptrace”) in new stack
– Goto (macro-dial-one,s,30)
– Executing [s@macro-dial-one:30] Set(“SIP/204-0000014a”, “D_OPTIONS=trwW”) in new stack
– Executing [s@macro-dial-one:31] ExecIf(“SIP/204-0000014a”, “0?SIPAddHeader(Alert-Info: )”) in new stack
– Executing [s@macro-dial-one:32] ExecIf(“SIP/204-0000014a”, “0?SIPAddHeader()”) in new stack
– Executing [s@macro-dial-one:33] ExecIf(“SIP/204-0000014a”, “0?Set(CHANNEL(musicclass)=)”) in new stack
– Executing [s@macro-dial-one:34] GosubIf(“SIP/204-0000014a”, “0?qwait,1”) in new stack
– Executing [s@macro-dial-one:35] Set(“SIP/204-0000014a”, “__CWIGNORE=”) in new stack
– Executing [s@macro-dial-one:36] Set(“SIP/204-0000014a”, “__KEEPCID=TRUE”) in new stack
– Executing [s@macro-dial-one:37] Dial(“SIP/204-0000014a”, “SIP/205,”",trwW") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Called 205
– SIP/205-0000014b is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)
– Executing [s@macro-dial-one:38] ExecIf(“SIP/204-0000014a”, “0?Set(DIALSTATUS=)”) in new stack
– Executing [s@macro-dial-one:39] GosubIf(“SIP/204-0000014a”, “0?s-CONGESTION,1”) in new stack
– Executing [s@macro-dial-one:40] MacroExit(“SIP/204-0000014a”, “”) in new stack
– Executing [s@macro-exten-vm:10] GotoIf(“SIP/204-0000014a”, “0?exit”) in new stack
– Executing [s@macro-exten-vm:11] Set(“SIP/204-0000014a”, “SV_DIALSTATUS=CONGESTION”) in new stack
– Executing [s@macro-exten-vm:12] GosubIf(“SIP/204-0000014a”, “0?docfu,1”) in new stack
– Executing [s@macro-exten-vm:13] GosubIf(“SIP/204-0000014a”, “0?docfb,1”) in new stack
– Executing [s@macro-exten-vm:14] Set(“SIP/204-0000014a”, “DIALSTATUS=CONGESTION”) in new stack
– Executing [s@macro-exten-vm:15] NoOp(“SIP/204-0000014a”, “Voicemail is ‘novm’”) in new stack
– Executing [s@macro-exten-vm:16] GotoIf(“SIP/204-0000014a”, “1?s-CONGESTION,1”) in new stack
– Goto (macro-exten-vm,s-CONGESTION,1)
– Executing [s-CONGESTION@macro-exten-vm:1] NoOp(“SIP/204-0000014a”, "IVR_RETVM: IVR_CONTEXT: ") in new stack
– Executing [s-CONGESTION@macro-exten-vm:2] GotoIf(“SIP/204-0000014a”, “0?exit,1”) in new stack
– Executing [s-CONGESTION@macro-exten-vm:3] PlayTones(“SIP/204-0000014a”, “congestion”) in new stack
– Executing [s-CONGESTION@macro-exten-vm:4] Congestion(“SIP/204-0000014a”, “10”) in new stack
== Spawn extension (macro-exten-vm, s-CONGESTION, 4) exited non-zero on ‘SIP/204-0000014a’ in macro ‘exten-vm’
== Spawn extension (from-internal, 205, 1) exited non-zero on ‘SIP/204-0000014a’
– Executing [h@from-internal:1] Macro(“SIP/204-0000014a”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“SIP/204-0000014a”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,4)
– Executing [s@macro-hangupcall:4] GotoIf(“SIP/204-0000014a”, “1?skipblkvm”) in new stack
– Goto (macro-hangupcall,s,7)
– Executing [s@macro-hangupcall:7] GotoIf(“SIP/204-0000014a”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing [s@macro-hangupcall:9] Hangup(“SIP/204-0000014a”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘SIP/204-0000014a’ in macro ‘hangupcall’
== Spawn extension (from-internal, h, 1) exited non-zero on ‘SIP/204-0000014a’

this was probably obvious to everyone else but I’ve discovered that G.711a and G.711u are actually alaw and ulaw! :wink:

Configuring the Polycom to use G.711 instead of G.729 has resolved the problem.

thanks again
M