United Kingdom Dial Plan XML for Cisco Phones

Posted by

Being too cheap to pay for the Cisco support contract for our Cisco 7961 series phones and thus not being able to download the dialplan.xml, we’ve constructed one based on this Wikipedia page. The UK telephone numbering planWikipedia: Telephone numbers in the United Kingdom are administered by the Office of Communications (Ofcom). For this purpose, Ofcom established a telephone numbering plan, known as the National Telephone Numbe... is seemingly moderately complex and not entirely possible to make a perfect dialplan from. For example, you can have 10 and 11 digit 0800 numbers meaning that the 10 digit ones will have to wait on the timeout of the “Anything else” rule.

The below UK dialplan.xml is tested and shown to work though tweaks and corrections are definitely welcome.

    <TEMPLATE MATCH="999" Timeout="0"/>             <!-- Emergency -->
    <TEMPLATE MATCH="112" Timeout="0"/>             <!-- Emergency -->
    <TEMPLATE MATCH="101" Timeout="0"/>             <!-- Almost an Emergency -->

    <TEMPLATE MATCH="100" Timeout="0"/>             <!-- Operator -->
    <TEMPLATE MATCH="155" Timeout="0"/>             <!-- International Operator -->
    <TEMPLATE MATCH="123" Timeout="0"/>             <!-- Speaking Clock -->

    <TEMPLATE MATCH="118..." Timeout="0"/>          <!-- Men with moustaches et al -->
    <TEMPLATE MATCH="116..." Timeout="0"/>          <!-- Pan-European Social Help -->

    <TEMPLATE MATCH="08001111" Timeout="0"/>        <!-- Childline. lol -->
    <TEMPLATE MATCH="0845464." Timeout="0"/>        <!-- NHS Direct et al -->
    <TEMPLATE MATCH="0500......" Timeout="0"/>      <!-- Apparently 0500 is always 10 digits -->

    <!-- Uncomment if you care about this one. Worst case, you'll wait 5 seconds -->
    <!-- <TEMPLATE MATCH="016977...." Timeout="0"/> --> <!-- Brampton, Carlisle. Also 10 digits -->

    <TEMPLATE MATCH="00*" Timeout="5"/>             <!-- International, 00 prefixed. No fixed length -->
    <TEMPLATE MATCH="0.........." Timeout="0"/>     <!-- UK 11 digit, 0 prefixed -->

    <TEMPLATE MATCH="\*.." Timeout="0"/>            <!-- Asterisk *.. codes -->

    <TEMPLATE MATCH="1.." Timeout="0"/>             <!-- 1 prefixed 3 digit (internal extensions) -->
    <TEMPLATE MATCH="2.." Timeout="0"/>             <!-- 2 prefixed 3 digit (internal extensions) -->
    <TEMPLATE MATCH="3.." Timeout="0"/>             <!-- 3 prefixed 3 digit (internal extensions) -->
    <TEMPLATE MATCH="4.." Timeout="0"/>             <!-- 4 prefixed 3 digit (internal extensions) -->
    <TEMPLATE MATCH="5.." Timeout="0"/>             <!-- 5 prefixed 3 digit (internal extensions) -->
    <TEMPLATE MATCH="6.." Timeout="0"/>             <!-- 6 prefixed 3 digit (internal extensions) -->
    <TEMPLATE MATCH="7.." Timeout="0"/>             <!-- 7 prefixed 3 digit (internal extensions) -->
    <TEMPLATE MATCH="8.." Timeout="0"/>             <!-- 8 prefixed 3 digit (internal extensions) -->
    <TEMPLATE MATCH="9.." Timeout="0"/>             <!-- 9 prefixed 3 digit (internal extensions) -->

    <TEMPLATE MATCH="*" Timeout="5"/>               <!-- Anything else -->


You can also get it at dialplan.xml.





  1. Hello!!

    Can this be used in Elastix / FreePBX, if so how?

    I’m new to all this and having problems understanding dial plans, so I’m kind of wondering if I can just import this and solve my problem.

    I’m using Elastix with Cisco SPA303 handsets, any ideas?

  2. This dial plan is for the Cisco phone itself. It’s loaded onto the phone by putting a dialplan.xml in the TFTP root.

    The behaviour of these phones is to wait until a dial plan rule has been met before sending the call request to the PBX (Asterisk in your case). Worst case, it’ll use the last rule and wait 5 seconds from the last key press before dialling. This dial plan just increases the efficiency of dialling by sending when a valid number is entered.

    1. Hi Phil… Ref Elastix & FreePBX

      What goes in between my stars below for calling numbers in the UK, immediate text below is for the trunk settings. I’m calling from a number that looks like this 020-xxx-xxxxx and I need to be able to call all UK land-line and mobiles?

      (*prepend*) + *prefix* | *match pattern*

      Dial Rules Wizard: (pick one)
      Outbound Dial Prefix: 9

      Also,same applies to my OUTBOUND RULE’s; what do i need to add to the OUTBOUND RULES section, again if I’m calling from a number that looks like this 020-xxx-xxxxx and I need to be able to call all UK land-line and mobiles.

      “Dial Patterns that will use this Route section”

      (*prepend*) + *prefix* |[ *match pattern* / Callerid]
      Dial Patterns Wizards: (pick one)

      Any suggestions please….??

      1. Both are very simple configs in our FreePBX. Outbound just has a single . in “Match Pattern”. “Prepend”, “Prefix” and “Called ID” are all blank.

        Inbound can be all empty except “Description” and a selection of where the calls should go to – whether it be an extension or ring group.

  3. You also need to add NHS 111 to the list of short codes.

    The first 18 versions of the Cisco dial plan contained a large number of errors. These are detailed here:

    The new version 28 is much better, but has a few new errors:

    Many systems use the UK dial plan so there’s many details posted online, such as.

    Local dialling isn’t detailed in many places, but these lists are complete:

    Hope those help anyone else battling with this stuff.

Leave a Reply

Your email address will not be published.