Dialplan Dilemmas

Hi guys, although I’m sure this has probably been asked and answered somewhere, I’m failing to find a good answer in all of my google/aussie-voip/digum/wiki/etc…/etc… searches.

Here is my situaion:
I’m currently running an Asterisk PBX with two TDM400P cards to provide VoIP services as well as Zap/FXS signalling to a few POTS phones. I also have one TE110 T-1 card that supports integration with another phone system.

I have several Zap/VoIP extensions setup using freePBX as a GUI front-end with each of these extensions set as a 10 digit number.

Extension 1 = 5554441111
Extension 2 = 5554442222
Extension 3 = 5554443333
and so on…

My other system is linked to the Asterisk PBX via the T1 using PRI-ISDN. On the “other” side my call routing is set up so that when I dial ‘555-XXX-XXXX’ it rolls onto the T1 and ultimately rings one of the Asterisk extensions. However, this also forces me to use 10 digit dialing to call internally from one Asterisk extension to the next.

So here is my goal: I would like to keep the 10 digit extensions and set up 7 digit internal dialing (preferably using freePBX) using some sort of digit translation in Asterisk. For example, I pick up at Extension 1 and dial 444-2222. Asterisk is configured to recognize the ‘444-XXXX’ and prepend it with the 555 prefix thus completing the call to Extension 2.

This seems to be a pretty run-o-the-mill operation for any PBX. I’m just having a hard time figuring out how to set this up in Asterisk. Any help is greatly appreciated.


I’m certainly not an Asterisk expert, but if I understand what it is you’re trying to do it should be as simple as:
exten => 444XXXX,1,Dial(ZAP/1/555${EXTEN})

Prefix extension with _ for pattern matching.

Why would you want to block NPA-555-xxxx calls? The 555 Exchange is not a pay-per-call exchange per se nor a designated high volume exchange (see www.nanpa.com).