[asterisk-users] CallerID Error causes problems for Polycom phones

Lee Jenkins lee at datatrakpos.com
Wed Aug 15 12:16:40 CDT 2007


Anselm Martin Hoffmeister wrote:
> Am Mittwoch, den 15.08.2007, 10:14 -0400 schrieb Lee Jenkins:
>> Hi everyone,
>>
>> I have been dealing with a certain issue with a particular customer site
>> for months now.  The problem occurs when there is an error with caller
>> id as shown in the following:
>>
>> WARNING[16036]: chan_zap.c:6309 ss_thread: CallerID returned with error
>> on channel 'Zap/3-1'
>>
>> When this happens, it appears that the call still goes through as I can
>> see the caller still navigating through the systems menus and dialplan 
>> by watching the CLI.
>>
>> The problem however is manifested with polycom 301's that are setup with
>> the system.  When a call comes in after receiving that particular caller
>> id error, the polycoms, which are on a group ring by the way, will all
>> ring but you cannot pickup the call.  The Answer|Reject soft buttons
>> display, but only the reject button works.  Pressing the Answer button
>> or picking up the handset does nothing.
> 
> To me this looks like a firmware problem in your phones. Perhaps a
> firmware update could fix this. However - as it looks to me - the
> firmware chokes on some CALLERID strings, not on others. What is the
> caller id that is displayed in the error case? Perhaps you could get
> around by having a dialplan hook that rewrites the callerid to "000" if
> that invalid callerid comes in. Maybe those phones just choke on
> CALLERIDs with empty num or name.... With your test .call file that
> reproduces the problem, if you insert a line in your dialplan before the
> Dial() happens, that reads
> 	Set(CALLERID(all)=000)
> does that help? Does
> 	Set(CALLERID(num)=000)
> alone help, does
> 	Set(CALLERID(name)=000)
> ?
> 
> BR
> Anselm
> 

Anselm,

Thanks for responding.  My apologies as I should have mentioned that I 
have tried several workarounds including the following test scripts I 
placed on the server:

[check_time]
; -------------------------------------
; Called right after Answer() is called
; -------------------------------------

; check for default value in sip.conf
exten=>s,1,GotoIf($["${CALLERID(name)}" = "UNKNOWN" ]?set_no_callerid,s,1)

; check for null value
exten=>s,2,GotoIf($["${CALLERID(name)}" = "" ]?set_no_callerid,s,1)

exten=>s,3,GotoIf($["${CALLERID(num)}" = ""]?set_no_callerid,s,1)
exten=>s,4,Noop(CallerID: ${CALLERID(num)} ${CALLERID(name)})
exten=>s,5,Set(FAIL_MENU=daytime|TIMEOUT_MENU=daytime)
exten=>s,6,GotoIfTime(08:30-17:00,mon-fri,*,*,?daytime_ivr,s,1)
exten=>s,7,Goto(after_hours,s,1)

[set_no_callerid]
exten=>s,1,Set(CALLERID(num)=4105555555)
exten=>s,2,Set(CALLERID(name)=UNKNOWN)
exten=>s,3,Goto(check_time,s,1)

I'll update the firmware on the phones and see if that helps.

Thanks again,

--
Warm Regards,

Lee




More information about the asterisk-users mailing list