C cenaly.com
Start free

Line code *code*number and the phone's dial plan

Why Cisco, Grandstream, Poly and gateways won't dial a line code with factory settings, what to put in the dial plan and which code to choose

24 min read Open this screen in the demo
On this page 15

Line code *code*number and the phone's dial plan

Under Telephony → Trunks you can give each provider a dial code — and then dialing *code*number from any phone of the location calls through exactly that provider: for example, *995*555972690 goes out through the trunk with code 995, and the provider receives only 555972690. General credentials and phone setup are in the overview “SIP Phone Setup”.

Most phones dial such a number with no setup at all. But some desk phones and analog gateways have a dial plan — a rule the phone uses to decide on its own that the number is complete. With factory settings some of them send *code*number too early or do not let you dial it at all. This page lists which ones and what to enter.


Why the phone "won't dial" the line code#

This is not a PBX fault or a wrong code. The phone has a dial plan (Dial Plan, Digit Map, Dial Rule — brands call it differently). Every key you press is checked against the plan, and the phone decides by itself:

  • the number is already complete — and sends it immediately without waiting for the remaining digits;
  • the number is not complete yet — and waits for the next digit (usually 3–10 seconds);
  • such a number cannot exist — and refuses to call at all (“No dial plan rules matched”, fast busy tone).

Factory plans were written for North American telephony, where a star is followed by a two-digit service code such as *69. That is why Cisco ships with the rule *xx — “a star and two digits = complete number”. Dial *995*… — after *99 the rule matches and the phone sends *99 to the PBX. The PBX has no such code and honestly answers “check the number”.

The fix is one line in the phone's dial plan: allow “star, digits, star, digits”. Ready-made lines for each brand are below.

Check first#

  1. Does the phone work at all? Dial *43 — the PBX plays your own voice back (echo test, details in the overview). If *43 fails, the dial plan is not the problem — see troubleshooting by symptom.
  2. Is the code assigned? In the admin panel: Telephony → Trunks, the Dial code column of the provider. Under the trunk list, the hint “How to choose the line when dialing” shows all codes of the location. If it warns that outbound calls are switched off or the PBX has not been updated yet, deal with that first.
  3. The same digits from another device. Dial the same *code*number from the Cenaly Phone app or a softphone on a computer. If it works there, the PBX and the provider are fine and the desk phone's dial plan is to blame. If it does not, check the call log in the admin panel and the FAQ below.
  4. How the phone behaves. If the call starts by itself in the middle of dialing (after * and two or three digits), that is “early send”, like Cisco. If the phone shows “No dial plan rules matched”, “Forbidden number” or plays a fast busy tone, the dial plan rejects the number, like Grandstream.

What phones do with *code*number#

A summary for factory settings — what happens when you dial *995*555972690 (a 3-digit code). Details and the lines to enter are in the sections below.

Brand and series With factory settings What to do
Cisco SPA3xx/5xx, IP Phone MPP 6800/7800/8800, ATA 191/192, SPA112/122 ⛔ sends the digits after * and two digits; rejects a 1-digit code add a line to the Dial Plan
Grandstream GXP, GRP, WP, GXV, HT gateways ⛔ accepts only codes of exactly 2 digits; others — “No dial plan rules matched” add a rule or bypass the plan
Grandstream DP (DECT), Wave Lite ⛔ the plan lets little or nothing with a star through bypass the plan
Poly VVX, Trio, CCX, Edge E ⚠️ off-hook it may send a single * right away; dialing on-hook + Dial works add a rule to the digit map
Poly Edge B, Obihai OBi200/300 ⛔ does not let you dial a star code; ** selects a line there add a rule to the DigitMap
Sangoma P/D provisioned by FreePBX ⛔ sends at the second star if the plan contains *xx.T3 add a rule
Mitel 6800/6900, Aastra 6700i ✅ dial on-hook, then lift the handset / Dial / # usually nothing
AudioCodes 400HD ✅ if the Digit Map is empty — after 5 s or on # check the Digit Map
Yeastar TA, Dinstar DAG, Eltex TAU (analog gateways) ⚠️ the gateway handles some codes itself: Yeastar TA treats *99 as a call to its own port change the code or the gateway's codes
Yealink, Fanvil, Snom, Panasonic, D-Link, Gigaset, Eltex VP, QTECH, Karel, Htek, Escene, Flyingvoice, Avaya J100, Unify, Alcatel-Lucent ✅ dial a code of any length nothing
Cenaly Phone, Zoiper, Linphone, MicroSIP, Bria, browser softphone ✅ en-bloc dialing, the call starts on the Call button nothing
Grandstream Wave Lite ⛔ same as Grandstream desk phones turn DialPlan off

⛔ — will not dial without setup · ⚠️ — depends on the code or the way of dialing · ✅ — works.

Which code to choose#

You choose the code length yourself — 1 to 6 digits. If the location has desk phones, the choice decides whether you will have to set them up:

  • A 2-digit code is the most compatible: Grandstream accepts it out of the box (rule *xx*x+), and phones without a restrictive plan do not care about the length. Cisco and Obihai need setup whatever the length.
  • Codes of 3 digits and longer are dialed out of the box neither by Cisco nor by Grandstream — this is why the admin panel shows a ⚠ icon next to such a code with a link to this page.
  • Do not start the code with the digits of the phones' and gateways' own service codes: 08, 16–19, 21–22, 26, 36–39, 43, 47, 50–53, 56–57, 60–79, 81–82, 86–88, 90–99. The device may handle such pairs itself instead of sending them to the PBX (see “The phone's own star codes”). Code 995, for example, starts with 99 — a Yeastar TA gateway treats it as a call to its own port.
  • Safe examples: 24, 25, 41, 42, 44, 45, 54, 55, 58, 59, 83, 84, 85.

The number after the second star is at least 4 digits; it may start with a plus (*42*+995555972690) if the provider expects international format.

Cisco SPA, IP Phone MPP, ATA and SPA112#

Models: SPA301/303, SPA501G–SPA525G, WIP310; IP Phone 6821–6871, 7811–7861, 8811–8865 (MPP/3PCC firmware); ATA 191/192, SPA112/122 gateways, Linksys PAP2T. Connecting the phone itself — Cisco SPA / MPP / ATA 19x.

Factory settings. The Dial Plan is the same on all these devices:

(*xx|[3469]11|0|00|[2-9]xxxxxx|1xxx[2-9]xxxxxxS0|xxxxxxxxxxxx.)

The rule *xx means “a star and two digits”. Therefore:

  • *12*…, *995*…, *1234*… — the phone sends *12 or *99 immediately, the rest is lost;
  • *1*… — after the second star no rule matches, the phone plays a fast busy tone and does not call;
  • the Dial key and # do not help: Cisco rejects an incomplete number as well.

What to do. Add two rules right after *xx:

  1. Open the phone's web interface: http://<phone IP>/admin/advanced (the IP is under the settings button → Network / Status).

  2. Phone: Voice → Ext 1 tab. ATA / SPA112 gateway: Voice → Line 1 (and Line 2 if both ports are used).

  3. Dial Plan section, Dial Plan field. Replace the factory line with:

    (*xx|*x.|*x.*x.|[3469]11|0|00|[2-9]xxxxxx|1xxx[2-9]xxxxxxS0|xxxxxxxxxxxx.)
    

    If your plan is no longer the factory one, do not replace it — add |*x.|*x.*x. after the first rule inside the parentheses.

  4. Click Submit All Changes. The phone reboots (about a minute).

What changes: *x.*x. is “star, digits, star, digits” — the line code and the number. *x. covers single PBX codes such as *5101 and *9101. After the last digit the phone waits 3 seconds and sends the number; # sends immediately. If three seconds between digits is not enough, use *x.*x.S5 (a 5-second pause for this rule only).

Provisioning (XML) and a plus in the number
  • Parameter: <Dial_Plan_1_> (second line — Dial_Plan_2_), on ATA 191/192 — <Dial_Plan_1>. Escape < and > inside the value.
  • Example: <Dial_Plan_1_ ua="na">(*xx|*x.|*x.*x.|[3469]11|0|00|[2-9]xxxxxx|1xxx[2-9]xxxxxxS0|xxxxxxxxxxxx.)</Dial_Plan_1_>.
  • The factory plan has no rule with +. It is safer to dial the number after the code in national format or with 00 (*42*00995555972690) if the provider accepts it.

Besides the plan, Cisco has its own star codes (call forward *72, do not disturb *78, redial *69 and others) that the phone executes itself. If some of them clash with your codes, clear the corresponding fields under Voice → Regional → Vertical Service Activation Codes (see below).

Grandstream#

Models: GRP2601–GRP2670, GXP16xx/17xx/21xx, GXV31xx/32xx, WP810–WP825; HT801/802/812/814/818 gateways; DP750/752/755 DECT bases with DP7xx handsets. Connecting — GRP26xx / GXP / WP8xx, HT80x/HT81x, DP7xx.

Factory settings. The factory plan of GXP, GRP and HT:

{ x+ | \+x+ | *x+ | *xx*x+ }

The rule *xx*x+ means “a star, exactly two digits, a star, the number”. So a 2-digit code (*42*…) passes, while codes of 1 and of 3–6 digits do not: the phone shows “No dial plan rules matched” and does not call. A number with a plus after the code (*42*+995…) and our pickup **<extension> do not pass either. Grandstream never sends early — the number goes 4 seconds after the last digit or on #/Send.

For DP75x DECT bases the documentation gives {x+} as the factory plan — with it nothing with a star passes, not even *43. The HT813 gateway also has {x+}.

What to do — option 1, add a rule for your code length. Phone web interface → Account → Account 1 → Call Settings → Dial Plan (HT — FXS PORT 1 → Dial Plan, DP — Profile 1 → Call Settings → Dial Plan). Add a rule before the closing brace where the number of x between the stars equals your code length. For code 995:

{ x+ | \+x+ | *x+ | *xx*x+ | *xxx*x+ | **x+ }

For all lengths at once (1–6 digits) and **<extension>:

{ x+ | \+x+ | *x+ | *x*x+ | *xx*x+ | *xxx*x+ | *xxxx*x+ | *xxxxx*x+ | *xxxxxx*x+ | **x+ }

If you dial numbers with a plus, add the same rule with \+: *xxx*\+x+. Click Save and Apply.

Option 2, bypass the plan — simpler, but then the plan checks nothing:

  • GRP/GXP16xx/WP: Account 1 → Call Settings → Bypass Dial Plan → tick Dialing Page;
  • DP DECT: Profile 1 → Call Settings → Bypass Dial plan = Yes.

HT gateways and DP bases also execute star codes themselves (call forward *72, do not disturb *78/*79, IP call *47 and others) — enabled out of the box. To let the codes reach the PBX: FXS PORT 1 → Call Features Settings → Enable Call Features = No (DP — Profile → Call Settings → Enable Call Features = No).

Provisioning (P-values) and pitfalls
  • Dial plan: account 1 — P290, 2 — P459, 3 — P559, 4 — P659, 5 — P1759, 6 — P1859. “No Key Entry Timeout” — P85 (4 s), “Use # as Dial Key” — P72.
  • The Dial Plan Configuration table editor on newer GRP/GXP firmware writes into the same string; it cannot be set by config files.
  • Key As Send = Star (*) turns the star into the send key — then *code*number cannot be dialed. Make sure it is Pound (#).
  • A pause longer than 4 seconds in the middle of dialing sends the number too early.

Poly and Obihai#

Poly VVX, Trio, CCX, Edge E (connecting). The factory digit map (dialplan.digitmap) has no rules with a star:

[2-9]11|0T|+011xxx.T|0[2-9]xxxxxxxxx|+1[2-9]xxxxxxxx|[2-9]xxxxxxxxx|[2-9]xxxT

What the phone does with an “impossible” number is decided by dialplan.impossibleMatchHandling, and Poly documents give different defaults for it. With value 0 an off-hook phone sends a single * right away. Dialing on-hook works reliably: enter *code*number and press Dial/Send — the whole number goes out.

To make it work off-hook too, append |*x.T|*x.*x.T to the map:

[2-9]11|0T|+011xxx.T|0[2-9]xxxxxxxxx|+1[2-9]xxxxxxxx|[2-9]xxxxxxxxx|[2-9]xxxT|*x.T|*x.*x.T

Or set dialplan.impossibleMatchHandling = 2 — the phone collects digits until Send. The parameters are set in the web interface (Settings → Dial Plan) or in the provisioning file; the phone reboots after the change.

Poly Edge B (B10/B20/B30) and Obihai OBi200/202/300/302. One platform. Out of the box the map has no rules for a single star — it will not let you dial a star code, and **1–**4, **9, *** select a line or open the voice menu, so our pickup **<extension> does not work either. What to do:

  1. Service Providers → ITSP Profile A → General → DigitMap — append |*xx.*xx.|*xx. (on Edge B, untick Default for the field and enter the value).
  2. Physical Interfaces → PHONE Port → StarCodeProfile = None, so the device does not execute its own codes (*72, *78, *10–*12 and others).
  3. Submit, reboot. The number goes 10 seconds after the last digit (DigitMapLongTimer).

Sangoma, Mitel, AudioCodes#

These devices behave differently depending on who configured them and how.

Sangoma P and D series. The documentation does not give a factory plan without provisioning. But when the phone is provisioned by FreePBX (EPM, DPMA), the plan usually contains *xx.T3, and according to Sangoma's own knowledge base the phone “will attempt to immediately dial any pattern that does not have a matching rule”. Result: a fragment is sent at the second star, like Cisco. What to do: in the EPM template (Dial Pattern) or in the phone's web interface (Account → Basic → Dial Plan) add at the beginning:

*x.T4|*x.*x.T4|

Mitel 6800/6900 and Aastra 6700i. The factory plan X+#|XX+* does not fire on digits starting with a star, and Live Dialpad is off out of the box. The reliable way: dial *code*number on-hook and lift the handset (or press Dial), or finish with #. If an integrator enabled Live Dialpad and a custom plan, add the rule *X+*XX+# under Basic Settings → Preferences → General → Local Dial Plan and finish dialing with # (the rule follows Mitel syntax; not tested on a device).

AudioCodes 400HD/C450HD. The manuals do not state the factory Digit Map. If Configuration → Voice Over IP → Dialing → Digit Map is empty, a code of any length goes out after 5 seconds or on #. If it contains a *xx rule you get early send, like Cisco: remove it or append |*x.T|*x.*x.T.

Analog gateways Yeastar TA, Dinstar, Eltex TAU#

A gateway with ordinary handsets attached (Yeastar TA and Dinstar DAG, Eltex TAU) collects the digits from the analog phone itself — and executes some star codes itself without sending them to the PBX. The phone must be tone (DTMF): a rotary phone cannot dial a star at all.

  • Yeastar TA. The factory plan is . (everything passes), sending after ~3 s or on #. But the gateway's own codes are intercepted: *99 — call a gateway port, *98 — speed dial, *97, *96 — direct IP call, *3, *03 — transfers, *70–*77 — call forwarding and do not disturb, *** — voice menu. A line code starting with these digits (for example 995) never reaches the PBX. Choose another code or reassign the gateway's codes: Gateway → Gateway Settings → Feature Codes. Keep Key As Send at # — with * any code becomes impossible.
  • Dinstar DAG1000-4S, DAG2000-16S. The factory Digit Map is any — codes pass after 4 seconds or on #. DAG1000-1S/2S has a more complex map: a 2–6-digit code goes reliably if you finish with #, while a 1-digit code is probably sent as a fragment. Fix: add *x.*x.#|*x.*x.T| at the beginning of Advanced → Digit Map. Dinstar's own codes — *47*, *72*, *87*, *90*, *92*, *150*–*171# (the latter change the gateway's network settings) — reassign them under Advanced → Feature Code if your line code clashes.
  • Eltex TAU. The factory plan accepts any digits and stars, sending after 5 seconds; # does not send and becomes part of the number — do not press it. The gateway executes services *21, *22, *26, *43, *53, *61, *08 in the form *code*number# — avoid line codes 21, 22, 26, 43, 53, 61, 08 on TAU.

Phones that need nothing#

With factory settings these devices dial *code*number with a code of any length. The number goes out on the call key (Send, OK, ✓, Dial) or by itself a few seconds after the last digit. If you pause between digits longer than that timer, the phone sends early — dial without pauses or press the call key.

Brand When the number goes out Watch out for
Yealink T/CP, W (DECT) after 4 s or on Send/OK; DECT — on OK on firmware 86 # does not send by default — press Send. If the operator enabled the digit map, add *[x*+].T or set dialplan.digitmap.no_match_action = 2
Fanvil X/V/H on #, Dial/OK or after 5–10 s do not enable Line → Dial Plan → Dial Fixed Length
Snom D, Snom M (DECT) only on ✓ or lifting the handset “automatic prefix” on a DECT base only in Enabled + fallthrough on * and # mode
Panasonic KX-HDV/TGP/UT after 5 s, on #/ENTER keep Call Even If Dial Plan Does Not Match at Yes (in the provisioning file that is DIAL_PLAN_NOT_MATCH_ENABLE_n="N")
D-Link DPH-150S/400S after 5 s or on # do not add rules to the Dial Plan Table: * there means “any digit”
Gigaset N670/N870, N510/N300 en-bloc: digits, then Talk do not enable automatic area codes; do not end the number with #1–#9 (line selection)
Eltex VP after 4 s (plan S4,L8([*#x].)) # may not send
QTECH QVP, Karel IP1xx on #/SEND or after 5 s the call key must be #, not *
Htek UC9xx/UC8xx after 4 s or on # —
Escene, Flyingvoice on # or after 5 s the send key must be #, not *
Avaya J100 after 5 s or on Send —
Unify CP/OpenStage after 6 s or on ✓ —
Alcatel-Lucent Myriad/Halo, 80x8s CE, Temporis IP after 3–10 s, on # or OK Key as Send must not be *
Fanvil, Akuvox, 2N intercoms the button's number goes out whole put the line code right into the button's number

A rule for all of them: never switch the send key to * (Key As Send, call key, Call Immediately Key) — the first star would then send an empty number.

Softphones and apps#

Softphones dial en-bloc: the whole number goes out on the Call button, so they never send early. Setting up the apps themselves — “Softphones”.

  • Cenaly Phone for Android and iPhone, the phone in the Admin and CRM apps, the browser softphone — work with a code of any length, including a plus after the code (*42*+995…). The apps strip spaces, dashes and brackets from the number themselves — for example, when you paste it from the CRM.
  • Versions before 2026-09-29 had two flaws: the iPhone app dropped the plus after the code (*42*+995… went out as *42*995…), and the phone in the Admin and CRM apps and the browser softphone did not call if the number contained spaces. Update the app (the browser softphone updates itself with the admin panel); if you cannot update yet, dial without spaces, and after the code use national format or 00.
  • Zoiper, Linphone — work, nothing to configure.
  • MicroSIP — works if the account (Menu → Edit account) has an empty Dialing Prefix; otherwise the prefix is glued to *code*number. If Dial Plan is filled in, add the rule [*]x.[*]x. separated by | (MicroSIP needs the star in square brackets).
  • Bria — the factory plan does not interfere. If an administrator added star patterns without T, Bria sends the digits by itself at the moment of the match — add *x.*x.T as the first pattern.
  • Grandstream Wave Lite — the plan is the same as on Grandstream desk phones: only a code of exactly 2 digits passes. Easiest is to turn it off: Settings → Account Settings → account → Call Settings → DialPlan = No.
  • Built-in Android SIP was removed in Android 12 — install an app. The 3CX app connects only to a 3CX PBX and does not work with ours.

The phone's own star codes#

Besides the dial plan, many devices have their own star codes that they execute themselves and never send to the PBX. If your line code (or a code of our PBX) matches them, the call never arrives.

Device Codes it executes itself Where to turn them off
Cisco SPA/MPP, ATA 19x *69, *72/*73, *78/*79 (do not disturb on the phone), *16–*19, *56/*57, *67/*68, *70/*71, *81/*82, *90–*98 and others Voice → Regional → Vertical Service Activation Codes — clear the field
Obihai, Poly Edge B *07, *10–*12, *27/*28, *56/*57, *60–*63, *67–*69, *72–*79, *81/*82, *86/*87, *96/*98; ** — line selection PHONE Port → StarCodeProfile = None
Grandstream HT, DP *02, *16–*19, *30/*31, *47, *50/*51, *67, *69, *70–*74, *77–*79, *82, *87, *90–*93, *98 Enable Call Features = No
Yeastar TA *3, *03, *70–*77, *96–*99, *** Gateway Settings → Feature Codes
Dinstar DAG *47*, *72*, *78#/*79#, *87*, *90*–*93#, *150*–*171# Advanced → Feature Code
Eltex TAU *08, *21, *22, *26, *43, *53, *61 supplementary service prefixes page

This is most noticeable with our PBX codes *78/*79 (do not disturb) and *71/*72 (queue pause): on Cisco, Obihai and gateways they switch the feature on the device itself, not on the PBX.

Frequently asked questions#

Why does the PBX say “check the number” when the code is assigned correctly?#

Because the PBX did not receive the whole number. The phone sent a fragment — for example *99 instead of *995*555972690 — and the PBX has no such code. Try the same digits from Cenaly Phone or a softphone: if it works there, set up the phone's dial plan following its brand section above.

Can I avoid setting up the phone?#

Yes, if you choose a 2-digit code that does not clash with service codes (for example 42 or 55): Grandstream and all phones without a restrictive plan dial it out of the box. Cisco SPA/MPP and Obihai still need setup — out of the box they accept a code of no length.

Why is there a ⚠ icon next to the code in the admin panel?#

It appears for codes of 3 digits and longer: with factory settings such codes are dialed by neither of the two most common families — Cisco and Grandstream. The code is saved and works from apps, softphones and most phones; the icon reminds you to set up the rest.

The phone waits a few seconds after the number — is that normal?#

Yes. The phone has no way to know the number is finished, so it waits for a pause (usually 3–5 seconds) after the last digit. To skip the wait, press the call key (Send, OK, Dial) or # if it sends on your device.

Do DECT handsets need setup?#

Usually not: Yealink, Gigaset, Snom and Panasonic handsets dial the whole number and send it on the call key. The exception is Grandstream DP bases: their dial plan check is on out of the box and must be bypassed (Bypass Dial plan = Yes).

Sources#

Was this article helpful?