Inbound attendant receiving partial user input

Hi, I have a strange problem I was hoping someone could help me resolve. I have set up a new phone system using asterisk-1.8.11, and everything is working fine with one exception. When users call in to our main number and get the automated attendant, they can go through the menu options and select an option as programmed. HOWEVER, on some land lines, not all digits are received. This does not happen when using a cell phone or a softphone, only certain land lines (2 out of 3 tested).

For example, when calling in and pressing 226 (for local extension 226) these errors occur:
– Invalid extension ‘6’ in context ‘attendant’ on DAHDI/1-1
and
– Invalid extension ‘26’ in context ‘attendant’ on DAHDI/1-1

So some of the digits are coming through, but not all and so the person gets sent back to the beginning of the attendant. One land line we tested was not able to get through on any attempt.

Has anyone seen behavior like this before, and if so how was it resolved? Any help is greatly appreciated.

From testing last night I found what is causing this problem, but I do not yet know of a solution. This occurs when:

  • dialing inbound from a landline
  • the digits are entered while the main greeting is playing

After the greeting has played, the user can enter the digits without an issue. As a workaround I set up an error message for ‘invalid extension entered please try again’ (should have done this anyway) and then the caller can enter the extension again with no trouble.

So, I am guessing this may have something to do with my dahdi configuration. I am posting the contents on chan_dahdi.conf and an excerpt from dahdi-channels.conf.

chan_dahdi.conf ============
[trunkgroups]

[channels]
relaxdtmf=yes
usecallerid=yes
hidecallerid=no
callwaiting=no
usecallingpres=yes
callwaitingcallerid=no
threewaycalling=no
transfer=yes
cancallforward=yes
callreturn=no
echocancel=yes
echocancelwhenbridged=yes
rxgain=1.0
txgain=0.0
immediate=no
faxdetect=yes

#include /etc/asterisk/dahdi-channels.conf

dahdi-channels.conf ===========

;;; line="1 WCTDM/0/0 FXSKS (In use) (EC: VPMOCT032 - INACTIVE)"
signalling=fxs_ks
callerid=Calleridname
group=1
context=fxs-pstn
channel => 1

What main greeting? There is no built-in main greeting in Asterisk. You are going to need to provide your dialplan as we can’t guess what it is.

Are you using a GUI, in which case this is going to be a GUI issue, not an Asterisk one.

Thanks for replying! Here is the attendant section of my extensions.conf; the main greeting is the introductory (greet) wav. I pasted the incoming context below it.

[attendant]

exten => en,1,Verbose(1, Caller ${CALLERID(all)} has entered the auto attendant)
same => n,Answer()
same => n,Set(TIMEOUT(digit)=2)
same => n,Wait(1)
same => n,Background(greet)
same => n,WaitExten(6)
same => n,Goto(en,1)

exten => 1,1,Verbose(1, Caller ${CALLERID(all)} has entered the fusion queue)
same => n,Goto(queues,fusion,1)

exten => 2,1,Verbose(1, Caller ${CALLERID(all)} has entered the sales queue)
same => n,Goto(queues,sales,1)

exten => 3,1,Verbose(1, Caller ${CALLERID(all)} has entered the marketing queue)
same => n,Goto(queues,marketing,1)

exten => _XXX,1,Set(CALLERID(all)=${CALLERID(all)})
same => n,Macro(stdexten,${EXTEN},SIP/${EXTEN})

exten => 9,1,Goto(en,1)

exten => *,1,Goto(stations,*97,1)
exten => #,1,Goto(stations,*99,1)
exten => t,1,Goto(en,1)
exten => i,1,Background(invalid)
same => n,WaitExten(6)
same => n,Goto(en,1)

[fxs-pstn]

exten => s,1,Ringing
same => n,Wait(1)
same => n,Set(CALLERID(all)=${CALLERID(all)})
same => n,Goto(attendant,en,1)
same => n,Hangup

exten => _X.,1,Wait(1)
same => n,Goto(fxs-pstn,${MAINNUM},1)
same => n,Hangup

BTW, no gui, just asterisk 1.8.11.

Here is the card type and modules loaded, in case this might be a factor.

description=Wildcard AEX2400
name=WCTDM/0
manufacturer=Digium
devicetype=Wildcard AEX2400 (VPMOCT032)

wctc4xxp 31024 0
dahdi_transcode 4509 1 wctc4xxp
wctdm24xxp 97727 16
wcte12xp 24688 0
dahdi_voicebus 40916 2 wctdm24xxp,wcte12xp
wct4xxp 191107 0
dahdi 184071 62 dahdi_transcode,wctdm24xxp,wcte12xp,dahdi_voice
bus,wct4xxp
crc_ccitt 1323 2 wctdm24xxp,dahdi

Do you have significant echo on from the PSTN side? It is possible that echo/cross talk from the greeting is jamming the tone decoding.

No problems with echo, when a call connects the sound quality is excellent. I have a hardware echo cancellation module attached to the digium card ( I realize not a cure-all, but it helps).

Two thoughts:

  1. has it had time to train before the first digit;

  2. the part of the echo due to the air path at the far end will be removed during the tones, but the echo canceller will still be trying to cancel that.

It is possibly worth noting that UK dial tones changed when DTMF introduced, presumably because the large number of harmonics in the old tone tended to jam the touch tone decoders.