Extensions and desk phones
An extension is the SIP identity — a username, password, and optional short extension number — that a person or device uses to place and receive calls. A desk phone is the physical handset you attach to an extension through zero-touch provisioning (ZTP). This guide covers both ends of the onboard: create the extension, register the phone, and confirm it is live. Create and maintain extensions under Voice → Extensions; provision the phones under Voice → Desk phones. Both surfaces sit next to each other on the Voice hub.SIP credential types
One extension powers several ways to answer it:- Browser softphone — no install, no SIP details to enter. The extension opens the in-browser softphone from its detail page and connects on the owner’s signed-in dashboard session. Ideal for hot-desks and shared workstations.
- Softphone app — a desktop or mobile app such as Zoiper, Linphone, or Bria, configured by scanning a QR code or by pasting the provisioning URI. The QR carries server, TLS port, transport, realm, SRTP, and codec fields, so nothing is typed.
- Physical desk phone — a Polycom, Yealink, Cisco, or Grandstream handset that pulls its config from a provisioning URL (zero-touch provisioning, below) or a downloaded vendor config file.
- PBX — an on-site PBX such as Asterisk or FreeSWITCH registers as a SIP trunk instead of an extension. Use the trunk surface for that: Connect a SIP trunk. Extensions and trunks are separate channel types — pick the right one before wiring numbers.
Create an extension
Open Voice → Extensions and click Create extension. The dialog and the dedicated/voice/extensions/new page are the same form, so either
entry point works.
Fill in:
- Identity — a label (required, up to 32 characters). The SIP username is derived from it — you never type one. Add an optional extension number (2–8 digits) so colleagues can dial it directly from Voice → Colleagues, plus optional free-text notes.
- Outbound — outbound calling allowed or not, caller-ID pick
(inherit the workspace default, choose one of the workspace’s owned
numbers, or fix a specific number), an optional daily spend cap, an
optional concurrent-call cap, and an optional list of country codes to
block. Leave a cap blank for unlimited; enter
0to block outbound spend entirely. - Security (optional) — an expiry, allowed source-IP ranges (CIDR
such as
10.0.0.0/24), an allowed User-Agent match, and a forced codec if you do not want default auto-negotiation. - Behavior (optional) — do-not-disturb, per-leg recording flags, SIP username for forward-on-busy / forward-no-answer / forward-unavailable, and a voicemail PIN (4–8 digits, stored hashed).
Zero-touch provisioning
Voice → Desk phones registers physical handsets in three steps:- Register the phone. Click Register desk phone and enter its
MAC address from the label or the phone’s Status → Network screen
(colons, dashes, dots, or whitespace are accepted; the dialog
normalizes them). Pick the vendor, optionally pair a SIP credential,
and add a label and model (e.g.
Reception,VVX 450). - Copy the provisioning URL. The registration returns a URL the phone’s vendor redirect server needs on next boot. Paste it into Polycom ZTP, Yealink RPS, Cisco EDOS, or Grandstream GDMS — the dialog labels which one. The URL is also on the device’s row afterwards.
- Factory-reset the phone. On next boot it fetches its rendered config, authenticates to the SIP edge, and registers against the paired extension. The URL carries a signed token, so treat it like a password — anyone holding it can provision the phone as that extension.
Bulk CSV import
For fleets, skip the single dialog. In Voice → Desk phones, click Bulk import and upload a CSV with a header row. Required columns aremac and vendor; label and model are optional. Order- and
case-insensitive, and common header aliases are accepted (mac address,
make, manufacturer, name, description):
- Invalid MAC — the cell does not reduce to a 12-digit hex address.
- Unknown vendor — the value is not one of
polycom,yealink,cisco, orgrandstream.
Live status and online indicator
After registration, the Live status card on the extension’s detail page (back under Voice → Extensions → click the extension) shows whether a device is currently registered to this credential on the SIP edge — with the UTC timestamp and source IP of the last REGISTER. Statuses are Registered, Not registered (the binding expired), or Disabled (the credential is administratively off). Most softphones and phones re-REGISTER every 60–300 seconds, so brief gaps self-heal; a persistent Not registered points at a network, NAT, or stale-password issue. From the same card you can Force unregister to evict a binding, or Rotate password for a lost or compromised plaintext.Troubleshoot provisioning loops
Symptoms and checks, in the order to run them:- Phone never boots the config. Factory-reset it again and confirm the redirect server (Polycom ZTP / Yealink RPS / Cisco EDOS / Grandstream GDMS) carries the exact provisioning URL you copied. The URL token is bound to one MAC — registering the wrong MAC on the redirect server leaves the phone in a loop.
- Config fetched, registration loops. The provisioning worked; the
phone now loops REGISTER attempts. Check the extension’s Live
status card — if it flips
Registered→Not registered, the re-register timer is failing. Confirm the password hasn’t rotated, and that the phone can reach the SIP edge over TLS from its network. - NAT and SIP-ALG. Corporate firewalls with SIP Application Layer Gateway rewrite SIP headers and break the binding. Disable SIP-ALG on the network router, or route over the TLS port Orbit provisions (the generated configs already prefer TLS) and allow the SIP edge outbound. If you set an allowed-source-IP list on the extension, the phone’s egress IP must match it — an unmatched REGISTER is rejected before authentication.
- Re-provision cleanly. Rotate the extension’s password at Voice → Extensions, delete the device at Voice → Desk phones, re-register the phone against the new URL, and factory-reset it. A force unregister alone is temporary; a stale device row is not.
More
- Extensions: reference — the full field set, API, and rotate/disable/delete lifecycle.
- Colleagues: live presence and directory — who can dial the extension from the browser.
- Hot-desking: shared-device sign-in — the browser softphone path.
- SIP trunk troubleshooting — when the trunk path is the wrong one.
- Voice quickstart — numbers, routing, and test calls.