If your carrier doesn't allow 10 digit dialing for local numbers, you are probably pretty annoyed that you can't just hit the redial button on those missed calls. It's possible to rewrite these dialed numbers in your phone system, but I wanted to do this on my Cisco 7961 IP Phone instead.

Find the Dial Plan

My phone gets its configuration from our TFTP server. The dial plan is kept in a separate XML file. The dial plan file my phone is supposed to download is defined by the dialTemplate parameter. You should either change this parameter in the master phone configuration file or the configuration file specific to your phoen. Mine looks like this:

<dialTemplate>shh-dialplan.xml</dialTemplate>

I'm using a dial plan specific to my phone because I don't want to break anyone's dialing!

Edit the Dial Plan

In my case, I just need to add one line to my configuration. I want to match on 10 dialed digits that start with my local area code:

<TEMPLATE MATCH="512......." Timeout="1" Rewrite="%1" />

This line should be placed in between the <DIALTEMPLATE> and </DIALTEMPLATE> parameters. This line tells the phone to match any dialed 10 digits that starts with 512 (the area code for Austin, TX) and rewrite that with just the last 7 digits (those matched with the dots).

Reset Your Phone

In order to get the new configuration on your phone, you'll need to reset it. Hit the Settings button (on my phone it has a check mark on it) and then dial **#**. The phone will reset and download the updated configuration and dial plan files.

That should be all it takes.