FreePBX How to play an announcement for misdialled calls

asteriskfreepbxvoip

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.

Best Answer

Alright, a different approach:

  • Create an announcement.
  • Add extension (virtual)
  • Give it a number, make it so its no answer destination is your announcement.
  • Go to trunks
  • Add custom
  • Destination: "Local/{ext}" (replace {ext} with extension number, ex: Local/1000)
  • Add an outbound route, see dial patterns below, first route (so it catches all calls), destination is the trunk you just made.
  • Dial Patterns:
  • 9xxxxxxxxxx
  • 91xxxxxxxxxx

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).

Related Topic