After some investigations i found that Direct Dial work ONLY with local extensions!
Its don’t work with “Misc Applications” numbers, don’t work with Queues numbers, and don’t work with numbers on other PBX!
I e.g. have a range of numbers on another PBX and I make those dialable from my IVR through some custom dial plan in extensions_custom.conf
In below example 4 digit numbers in the 1000-3000 range are dialable from my IVR and sent out the trunk to another PBX.
FreePBX starts numbering the IVRs that you create from the GUI with ivr-2 being the first, ivr-3 the second and so one.
Below dial plan adds to the one generated by FreePBX.
If you don’t have numbers in a specific range on the other PBX and you have just a few, you can also create a custom extension on your local PBX for every one you have on the other PBX and use local/yournumber@outbound-allroutes in the dial field under the advanced tab of the extension and add it as an IVR entry.
You can create a Directory with all of the numbers IVR callers are allowed to input and then change the “Enable Direct Dial” to the name of the directory:
You can put this in extensions_custom.conf from the GUI using config editor under admin. (Of course change [1-3]XXX in the example to your numbering scheme).
Just make sure the ivr numbering is correct. So ivr-2 would be the first IVR that you have created from the GUI, ivr-3 the second etc. (You might have to verify that and debug the dial plan)