Delay in DTMF dialing

Hi.

I have dialplan for single digit extension and 3 digits extensions in a same context.

When caller want to dial 1 as an extension it waits for couple of seconds then transfer call to extension, it seems that it wait if caller want to dial 3 digits extension or not. how can i make it sure that if customer 1, 2, 3 etc, and dialplan is there, then it should go immediately.

dialplan is

exten => 1,1,Goto(context1,s,1)
exten => 2,1,Goto(context2,s,1)
exten => 3,1,Goto(context3,s,1)

exten => _XXX,1,Dial(SIP/${EXTEN})

What channel technology are you using?

Especially if SIP, what is specified in the phone’s own dialplan?

Yes it is SIP. I am using softphone xlite, 3cx and Grand stream IP phone. does these phones has their own dialplan?

I am not aware of as SIP phone that doesn’t.

how i can play with it on asterisk level?

I’d suggest providing actual console output to make sure that it is as @david551 says. For example - is there anything else in the dialplan context? Is this part of an IVR?

1 Like

yes it is part of an IVR. i have an pbx IVR like simple welcome message get played at start then it gives options to either press 1/2/3 … or direct dial extension like 101, 102, 103 etc…

Then you would have to have extensions that don’t overlap. Asterisk isn’t psychic so it doesn’t know if the person wants “1” or “103” without waiting a period of time.

1 Like

Won’t allowoverlap=no cause Asterisk to rely only on the phone dialplan?

The phone dialplan can only be changed on the phone itself.

@david551 That’s only for the initial call into Asterisk. From the new information the call is in an IVR playing back a prompt and waiting for an extension to be entered.

In that case, there is no way of signalling end of number from the phone!!!

1 Like

that feature exist in other pbx. but in asterisk you need to wait for couple of seconds that either caller hit any other number or just want to dial single digit extension.

I mean, if there is specific extension already defined like 1,2,3 then it should just go to that extension instead of waiting.

No, it shouldn’t. If I have explicitly defined that “123” is a valid extension and also have “1” as an extension - then going to “1” immediately means that noone can ever dial 123. If you need it done immediately then you need to ensure extensions don’t overlap.

1 Like

But can i reduce the wait time? like press 1 wait couple of minutes before going to 1. it wait whether customer dial 123 or not. how can i reduce that time?

You can either ensure there is no overlap or use the TIMEOUT dialplan function[1] to lower the digit timeout.

[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+15+Function_TIMEOUT

1 Like

If it is waiting of the maximum length number, I would look at the phone, not at Asterisk. Asterisk will proceed when the number is unambiguous.

I think it cannot be the phone, because I tested the same GrandStream phone, 3cx /x-lite softphone on another PBX, “PortaOne” it works fine that specific situation.

Maybe you have _XXX. rather than _XXX

Also, if extensions can’t begin with 1, 2, or 3, _[4-90]XX would work better.

it is _XXX without dot (.)
no extension is with 1XX

I will try overlap setting today, i was out of server access since couple of days. i will let you guys know if overlap setting works.