Direct Dial to Extension not working - IVR waits for input

I have a company with a local number, let’s say it’s just 123456.
In the company we have several extensions, let’s say we have 78 and 79 available.

I have an inbound route with DID Number _123456XX that forwards to an IVR with Direct Dial = Extension enabled. If someone dials from the outside 12345678, I’d expect that extension 78 rings directly, however that does not happen.

What happens is this: After dialing 12345678, the enduser gets connected, so the line is established. Now he can enter an extension number (let’s say 78), and only after that we hear 78 ringing. SO he actually dialed 12345678-78. But of course he could also enter extension 79 and than 79 rings after the enduser dialed 12345678-79
Isn’t it possible that just the last 2 digits after the actual number (see XX in inbound route) get passed to the IVR immediately?

I don’t want to set for every extension manually the Inbound DID but have it automatically for all extensions in a generic way. If I do it the manual way for every single extensions - it works: An outside user can dial 12345678 and gets connected immediately to that extension without having an IVR waiting for input after the line is established.

We use FreePBX 2.11 with Asterisk 11.

look at the [from-did-direct] context in /etc/asterisk/extensions.conf and use it as a template for a custom context you can build to do that.

so that means I have to tamper with extensions_custom.conf to do that? I’d understand that “Direct Dial” is a builtin feature which I can fully utilize with just the webUI.

You misunderstanded :slight_smile: But it works fine if you follow my suggestion. The Web gui will allow you to build all 100 or whatever DID and map them to all 100 whatever extensions in whatever order you want, the from-did-direct is shorthand and originally designed for PRI and E&M circuits that only send the last N digits on a circuit on a one-to-one basis, you need to do the same, but only send the last n digits to from-internal (${EXTEN:-n})

Could you describe your solution a bit more specific with [from-did-direct] as a template? I see from-did-direct is just this:

[from-did-direct]
include => ext-findmefollow
include => ext-local

and ext-local is some kind of autogenerated list with all extensions, like this for 78 as example:
[ext-local]
snip
exten => *78,1,Macro(vm,78,DIRECTDIAL,${IVR_RETVM})
exten => *78,n,Goto(vmret,1)
snip

So where can I put to do it that way: (${EXTEN:-n}) (n=2 for me) and where can I set that the custom context gets actually executed, nowhere I set to use from-did-direct now I know where to override

Like this:-

[ext-did-custom]
exten => _123456XX,1,Goto(from-did-direct,${EXTEN:-2},1)
exten => _X.,1,Goto(from-pstn,${EXTEN},1)

( after reading

head -16 /etc/asterisk/extensions.conf

)