Particular 800/888 numbers fail to detect call answer

Hi All

These two numbers pickup (on a regular telephone) immediately.

1-800-398-0335 and 1-888-452-5000

My asterisk on a T1 with
Zaptel — wink start

My asterisk system does not detect the call being answered…

It detects other 800 numbers…so I beleieve the issue is related to the speed at which the line is picked up.

Any thoughts on how to solve it.



We have pretty much the same problem here, and speaking with others, this seems like a relatively common problem with Asterisk dialing over PRI or VOIP.

Some problem numbers for us:
800-492-8468 (AmEx)
800-854-6011 (Metropolitan Insurance)
800-662-2310 (St. Paul Travelers)

Each of these numbers picks up with an IVR immediately when called from a cellphone or POTS line. But over our PRI (XO Communications) or VOIP (Voxee) we get between 7 and 12 rings and then it finally picks up in the middle of the IVR somewhere… or about to transfer to a rep.

Some google searches found these links with someone who indicates that this is a problem caused by the way that some large companies have negotiated their toll-free contracts with telco providers: … 60485f458c … 9aef014044

I’d love to see some work toward a solution if anyone has any ideas.


paste your outbound dialing rules - we moved from e&m wink to PRI recently and had to modify our dialing rules a bit…

include => outrt-001-9_outside-custom
exten => _9.,1,Macro(dialout-trunk,1,${EXTEN:1},)
exten => _9.,n,Macro(outisbusy,)
; end of [outrt-001-9_outside]

include => outrt-002-8_outside_Voxee-custom
exten => _8.,1,Macro(dialout-trunk,3,${EXTEN:1},)
exten => _8.,n,Macro(outisbusy,)
; end of [outrt-002-8_outside_Voxee]

yeah, need the macro code then too…

Sorry… dunno if you need any of the other macros referenced below, but here’s a start…

exten => s,1,GotoIf($["${ARG3}" = “”]?3:2) ; arg3 is pattern password
exten => s,2,Authenticate(${ARG3})
exten => s,3,Macro(user-callerid)
exten => s,4,Macro(record-enable,${CALLERID(number)},OUT)
exten => s,5,Macro(outbound-callerid,${ARG1})
exten => s,6,Set(GROUP()=OUT_${ARG1})
exten => s,7,GotoIf($[ ${GROUP_COUNT()} > ${OUTMAXCHANS_${ARG1}} ]?108)
; if we’ve used up the max channels, continue at (n+101)
exten => s,8,Set(DIAL_NUMBER=${ARG2})
exten => s,9,Set(DIAL_TRUNK=${ARG1})
exten => s,10,AGI(fixlocalprefix) ; this sets DIAL_NUMBER to the proper dial string for this trunk
exten => s,11,Set(OUTNUM=${OUTPREFIX_${ARG1}}${DIAL_NUMBER}) ; OUTNUM is the final dial number
exten => s,12,Set(custom=${CUT(OUT_${ARG1},:,1)}) ; Custom trunks are prefixed with “AMP:”
exten => s,13,GotoIf($["${custom}" = “AMP”]?16)
exten => s,14,Dial(${OUT_${ARG1}}/${OUTNUM},120,${TRUNK_OPTIONS}) ; Regular Trunk Dial
exten => s,15,Goto(s-${DIALSTATUS},1)

; This is a custom trunk. Substitute $OUTNUM$ with the actual number and rebuild the dialstring
; example trunks: “AMP:CAPI/XXXXXXXX:b$OUTNUM$,30,r”, “AMP:OH323/$OUTNUM$@XX.XX.XX.XX:XXXX”
exten => s,16,Set(pre_num=${CUT(OUT_${ARG1},$,1)})
exten => s,17,Set(the_num=${CUT(OUT_${ARG1},$,2)}) ; this is where we expect to find string OUTNUM
exten => s,18,Set(post_num=${CUT(OUT_${ARG1},$,3)})
exten => s,19,GotoIf($["${the_num}" = “OUTNUM”]?20:21) ; if we didn’t find “OUTNUM”, then skip to Dial
exten => s,20,Set(the_num=${OUTNUM}) ; replace “OUTNUM” with the actual number to dial
exten => s,21,Dial(${pre_num:4}${the_num}${post_num},120,${TRUNK_OPTIONS})
exten => s,22,Goto(s-${DIALSTATUS},1)

exten => s,108,Noop(max channels used up)

exten => s-BUSY,1,NoOp(Trunk is reporting BUSY)
exten => s-BUSY,2,Busy()
exten => s-BUSY,3,Wait(60)
exten => s-BUSY,4,NoOp()

exten => _s-.,1,NoOp(Dial failed due to ${DIALSTATUS})

exten => s,1,Playback(all-circuits-busy-now)
exten => s,2,Playback(pls-try-call-later)
exten => s,3,Macro(hangupcall)

Thanks for the replies. I wanted to test my solution a little before mentioning it.

I am using Asterisk 1.2.11, and Zaptel 1.2.6

I edited /etc/asterisk/zapata.conf



did the trick.

More on the symptoms: The users said they were calling regular home telephones of their customers and the numbers above, and all they could hear was ringing. The customer however had picked up and could hear the background office chatter. Same with the 800 numbers above.

They described it as “one way audio”, but really it should be an “answer” issue for zaptel.

I discovered that I have eb8zs/sf coming in from the phone company.

I believe this means that my coding should be “b8zs” and my framing should be “d4” which is the same as “sf”. I have not managed to figure out the proper settings yet.

I am uncertain whether my signalling needs to be sf, or one of its derivatives, and how to word it…research required. Since I have a wink start flexgrow t1, it could be sf_w. however em_w works…with some issues that might indicate the settings are not correct yet.


An additional note:

It was not the dialplan at all…


No luck adding callprogress=yes here.

Can anyone try the phone numbers I posted via VOIP or PRI and tell me if you can get an immediate answer from an IVR? The AmEX number (800-492-8468) always answers on 7 or 8 rings via VOIP or PRI, but on the 1st ring or less from a POTS line or cell phone.


Can’t anyone please dial the above number via PRI or VOIP provider (IAX or SIP) and tell me if it works properly for you?

I’ll give you a cookie… :wink:


Hi Jason

It worked for me on my T1, b8zs/esf & em_w and on my tmd card on a pots line, but not over voip provider.

I think the place to start is your phone company…ask them to confirm the line coding and framing, then go further and have their local guys confirm the signalling method/equipment. Use ztmonitor to set the rx and tx gain, then fiddle with the answer options like callprogress, answer on polarity.

It is likely you could have a hangup issue as well, so monitor show channels at the cli etc.

So I think your issue is related to the basic fundamentals…guarantee that those are rock solid first.

Jonathan Galpin

For tuning the rxgain using

ztmonitor -vv

here is verizons Tampa florida milliwatt number:

813 873 9981

It should work on all exchanges… NXX NXX 9981

OK, the proper solution to this problem came about through another thread, and solved all of my issues.

Issues included:

Dropped calls, dropped frames, parking going haywire and telco messages not playing through to the users, so they would never know the problem existed.

The culprit was the “r” option to let the user hear ringing when dialing an outside line. With this option, asterisk does not pickup on those 800 numbers, telco messages and many home telephone numbers…it must be a bug.

To force asterisk to pick up (for most situations), I implemented the call-progress settings described above.

These settings caused the dropped calls and often problems with parking.

So do not use the “r” option for outgoing calls, do not compensate by using the call progress settings either. AMP users may find the “r” their default dial setting.

Jonathan Galpin