Our Asterisk-based PBX (FreePBX "Tango" distro) does not require any prefix for outgoing calls. The system is able to recognise external numbers and route them appropriately.
Some of our users who are accustomed to older PBXes habitually dial a 9 'for an outside line'. This doesn't work, the system gives them an unintelligible error message and they raise a support ticket saying 'The phones are not working'.
What I would like to happen is that the users receive a recorded announcement, informing them that they need to 'hang up and redial without the prefix'. I can record the announcement, set it up as an announcement on the system, but then I run up against a brick wall. Outbound routes only let me route to trunks. How can I route misdialled numbers to my custom announcement?
Assumptions:
- The solution must be completely realized within the FreePBX GUI, we don;t allow direct modification of any config files.
- A 'misdialled number' is defined as matching the dial pattern: 9[046-9]XXX.
- The call should be routed to the selected announcement, then hang up.
Any help would be appreciated.
Alright, a different approach:
This should provide that functionality.
Works fine on my VM PBX that I get to play with when experimenting with weird deployments like this.
You may be able to look into custom dialing the announcement directly, but I'm not sure you can do this (as far as I know, you cannot play an announcement with the dial() command).
Write a simple module that modifies the config files to replace the message played? It's all PHP so it should be fairly trivial if you have any programmers available.
You can also accomplish this with a Misc Application, custom Trunk and Outgoing Route.
Create your System Recording and Misc Application (noting the feature code) then do the following to configure your custom Trunk and Route.
out-misdialled
Local/*XXX@from-internal
replacingXXX
with your Misc Application Feature CodeYou should be setup at this point!
We use this technique to block and warn users of premium rate numbers.