Softphone Dial Plans: How Number Rewriting Rules Work

Tom Reed
Read time: 9 minutes
Softphone Dial Plans: How Number Rewriting Rules Work

Tom Reed · Updated 5 November 2026

A softphone dial plan is a set of rules that rewrites the number a user dials before the call reaches your PBX. Rules match a pattern, then add a prefix or strip digits, so local numbers, outside-line codes and international formats all arrive in the format your PBX or SIP trunk expects.

This guide is for IT admins and MSPs rolling out mobile and desktop softphones who keep seeing calls fail because people dial the same number in different ways. It explains the three rule types, walks through UK and US examples, and finishes with a checklist for testing and rolling out a dial plan to every user.

What is a dial plan on a softphone?

A SIP dial plan is a set of rules that decides how a dialled number is formatted and where the call goes. In a business phone system, that work is split between two places. The PBX holds the routing: which calls go to an internal extension, a ring group or out through the SIP trunk. The softphone can hold its own dial plan too, and that one has a narrower job: it tidies up the number the user typed or tapped before the call is sent.

SessionTalk's business softphone apps for mobile and desktop run on Windows, Mac, iOS and Android and work with SIP-based PBXs and hosted platforms, so the same idea applies whichever system sits behind the app. Think of the softphone dial plan as a translator at the front door. It doesn't decide where a call ends up; it makes sure the number arrives in a format the PBX understands.

If you're designing the internal side, such as how long extensions are and which ranges belong to which team, that lives on the PBX. Our guide to extension numbering on the PBX covers it. This post stays on the app side.

Why would you rewrite numbers on the phone instead of the PBX?

People dial the way they're used to, and on a mobile softphone the habits vary even more than on a desk phone:

  • Contacts saved on a phone often carry a full international prefix, such as +44, even for local calls.
  • Numbers copied from an email signature or a website arrive with spaces, brackets and dashes.
  • Staff who came from an older office system still press a leading 9 or 0 to get an outside line.
  • Someone in a US office dials a local number without the area code, while a colleague in another city dials the full national number.
  • Short internal extensions sit alongside all of these in the same dial pad.

Your PBX or SIP trunk usually expects one consistent format. When the number doesn't match, the call fails or reaches the wrong place, and the user files a ticket saying "the phone doesn't work". Fixing the format in the app means the user can keep dialling the way they always have, and the PBX still gets a clean number.

To be fair to the PBX, it still has the bigger job. Routing, outside-line rules, call flows and trunk selection belong there. The softphone dial plan just normalises what users dial. The two work best together: the app turns messy input into a predictable format, and the PBX decides what happens next. If you're not sure what formats you'll meet, our overview of business phone number types is a useful primer.

What can a dial-plan rule do?

The SessionTalk iPhone and Android softphone with a flexible dial plan describes its dial plan as a number rewriting engine: match patterns, add prefixes, strip digits. Those are the building blocks, and almost every rule you'll write is a combination of them.

A hand pressing the keypad of a desk phone in an office

Match a pattern

Every rule starts with a match. The pattern describes the numbers the rule should apply to, for example "numbers that start with 07 and have eleven digits" or "numbers that are three or four digits long". A rule only changes a number when the pattern matches; everything else passes through untouched. That's how you protect internal extensions while still rewriting outside numbers.

Add a prefix

Once a number matches, the rule can put digits in front of it. Typical uses are adding a country code such as +44 or +1, or adding the office area code when someone dials a short local number.

Strip digits

A rule can also remove digits from the front of a number. Common cases are dropping the leading 9 from an old "9 for an outside line" habit, or dropping the national leading 0 before adding the country code.

Combine them, most specific first

Many useful rules strip and add in the same step: remove the leading 0 from a UK mobile number, then add +44. When you have several rules, order them from the most specific pattern to the most general, so a broad rule doesn't catch numbers that a narrower rule should have handled.

Worked examples for UK and US numbers

The table below shows common rules in plain words. It's illustrative: rule syntax differs between systems, and your PBX or SIP trunk provider decides which format it wants, national or full international (E.164, the format that starts with + and the country code). Check with them before you copy a rule.

Table: common dial-plan rules (illustrative)

What the user dialsRule typeRule (plain words)What the PBX receives
9 + 020 7946 0000 (old "9 for an outside line" habit)Strip digitsRemove a leading 9 when followed by 0020 7946 0000
07700 900123 (UK mobile, national format)Strip + add prefixStrip the leading 0, add +44+447700900123
555 0100 (US local, 7 digits)Add prefixAdd the office area code when 7 digits are diallede.g. 212 555 0100
(212) 555-0100 (US national)Add prefixAdd +1 to 10-digit numbers+12125550100
00 33 1 23 45 67 89 (UK international format)Strip + add prefixReplace leading 00 with ++33123456789
2001 (internal extension)Match onlyLeave 3–4 digit numbers untouched2001

The numbers in the table come from ranges set aside for drama and examples, so none of them is a real customer line. A few notes on reading it:

  • UK national to international. If your trunk wants E.164, the most common UK rule is "strip the leading 0, add +44". It works for landlines and mobiles alike, as long as the pattern doesn't also catch extensions.
  • The outside-line habit. Stripping a leading 9 lets long-serving staff keep their muscle memory. Make the pattern specific (a 9 followed by a 0), so internal numbers that happen to start with 9 aren't changed.
  • US local dialling. Adding the office area code to seven-digit numbers only makes sense for a team in one area. A team spread across several cities is better off dialling the full number.
  • International access codes. Users in the UK dial 00 for international calls; in E.164 that becomes a +. A rule that swaps one for the other keeps numbers copied from old documents working.
  • Extensions. The last row is the most important. A good dial plan leaves short internal numbers alone.

How do you roll out dial-plan rules to every user?

Setting rules by hand on every phone doesn't scale, and it guarantees that one device ends up different from the rest. With SessionTalk you configure dial plans centrally in the Cloud Management Portal, the same web dashboard where you set SIP settings, feature sets and user permissions, and push changes to all users instantly. The portal covers Windows, Mac, iOS and Android, so you manage one set of rules rather than one per platform.

An IT admin typing on a laptop while holding a smartphone at a desk

Pair the dial plan with QR code provisioning. Users scan a code generated from the portal and the softphone is ready to make calls, so nobody types SIP settings or dial-plan rules on their own device. When you need to change a rule later, for example after switching trunk provider, you update it in the portal and every user picks up the change without reinstalling anything.

For a wider list of what to configure before go-live, our softphone setup checklist covers accounts, audio and notifications alongside the dial plan.

How do you test a dial plan before rollout?

A dial plan is small, but a wrong rule affects every call that matches it. Test on one pilot device first, and confirm the result in your PBX call logs (call detail records, or CDRs), which show exactly what number arrived at the PBX. That tells you whether the rule worked without guessing from the user's side.

Checklist: before you push a dial plan to everyone

  • Ask the PBX or SIP trunk provider which number format it expects (national or +E.164)
  • List the formats your users actually dial (local, national, international, extensions, outside-line codes)
  • Write one rule per pattern, most specific first
  • Keep internal extensions untouched
  • Check emergency numbers (999 and 112 in the UK, 911 in the US) are never rewritten
  • Test each rule on one pilot device and confirm in the PBX call logs what number arrived
  • Push the dial plan from the Cloud Management Portal to all users
  • Re-check after any change of trunk provider

Keep a short note of each rule and why it exists. When someone reports a failed call months later, that note and the call log are usually enough to find which rule matched.

Pair it with a hosted PBX

Pair it with a hosted PBX so extensions, routing and your softphones are managed together: SessionPBX hosted PBX. SessionPBX gives your business its own SIP domain and familiar, short extensions, and you configure mobile apps with a QR code or desktop apps with a setup link. SessionPBX doesn't supply numbers or lines: it is a bring-your-own SIP trunk system, so you connect the SIP trunk you already use for outside calls.

FAQ

What is a SIP dial plan?

A SIP dial plan is a set of rules that decides how a dialled number is formatted and routed. On the softphone, the dial plan rewrites the number before the call is sent, so it reaches the PBX in the format it expects.

Can a softphone add a country code automatically?

Yes. A dial-plan rule can add a prefix such as +44 or +1 to numbers that match a pattern, for example stripping the leading 0 from a UK national number and adding +44.

Can I strip "9 for an outside line"?

Yes. A rule can strip a leading digit, so staff who still press 9 before an outside number get through, while the PBX receives the number without it.

Do I set dial plans on each phone?

No. With SessionTalk you configure dial plans in the Cloud Management Portal and push changes to all users, so every device follows the same rules.

Should the dial plan live on the softphone or the PBX?

Both have a job. The softphone dial plan normalises what users dial; the PBX decides where calls go. Keep formatting rules in the app and routing on the PBX.

Related Articles

More from the SessionTalk blog