The Phone System

The application runs a real phone system: extensions people dial, teams that ring together, keypad menus, hold music, recorded call history. This page covers both ends of it — the administrator's screens, and the two pages that belong to you.

Where to find it

ScreenWhere it livesWhat it is for
Phone system — /admin/pbxSettings → Communication & integrations → Phone systemevery administrator's screen, in tabs
My phone — /my-phonethe sidebaryour extension, the phone in your browser, and what a desk phone needs to register
Voicemail — /voicemailthe sidebarthe messages people left for you

Every admin tab sits behind its own permission, and a tab you could not open is not shown — you never meet a tab that answers "forbidden". A link to a tab you cannot see takes you to the first tab you can.

Your own phone

My phone

This page shows the extension assigned to you, the settings a desk phone or softphone needs, and the passwords your devices register with. A pill beside the extension number says Enabled or Disabled.

The phone in your browser. The same phone sits in the panel on the right of every page; on My phone it has more room. Enable in-browser calling makes this browser tab ring for your extension; Turn off in this tab stops it. Turning it on does not switch your microphone on — the browser asks for it the first time you are on a call. The phone has a Keypad and a Recent list of calls made from this browser.

Current call shows a call in progress. That needs the permission to control your own calls, and when you do not hold it the page says so rather than showing an empty box.

Set up a desk phone or softphone folds away the facts a phone needs: the Auth user, the Domain / realm and the Registrar / outbound proxy with its ports, each with a Copy button. In the phone or app: username and auth username = the auth user, domain = the realm, outbound proxy = the registrar host and port, transport UDP or TCP.

When the phone system offers an encrypted connection, the same panel shows a TLS port and Download CA certificate: install the certificate on the phone under its trusted certificates, set the outbound proxy port to the TLS port and transport to TLS. Where the page asks for it, also set the TLS server name (SNI) to the SIP domain shown on the page.

Devices tells you how many passwords exist and how many phones are registered right now.

Devices & passwords lists one password per phone or app, with when it was created and whether it is registered now. Add password asks for a Label (the device it is for) and then Create password. The password is shown only once — copy it into the phone before you press I have copied it. If you lose one, revoke it and add a new one. Each row can be renamed or revoked; a revoked device can no longer register.

If no extension is assigned to you, the page says what to ask for: Phone system → Extensions → Edit → Assigned user. If your extension is disabled, it says that too — phones cannot register until an administrator enables it.

Voicemail

Messages people left when you did not pick up, newest first, with a count of the New ones. Play one, Save it, or Delete it. Only you can see this list.

If you have no voicemail box, the page explains what one is and who switches it on: an administrator turns voicemail on for your extension — on the extension's own page, or with Enable a voicemail box when the extension is added.

The administrator's tabs

The tabs sit in four groups: Phones, Call handling, System and More.

Phones

Extensions — the numbers people dial inside the phone system. Each extension registers on a host as number@domain; its passwords, voicemail box and memberships live on its own detail page. A number is digits, * or #, up to 20 characters, and must be unique in the space. Each extension can name an Assigned user — that person then manages the extension's passwords on their own My phone page.

+ Add extension opens the form. With the voicemail permission it carries Enable a voicemail box, ticked already; later, the extension's page has Enable voicemail for this extension, the greeting, the dial-in PIN and the message-waiting lamp.

Note
The host field is only needed for the first extension in a space: its SIP domain is created on that host and every later extension follows it.

Ring groups — one shared number that rings several extensions. Choose the Strategy (everyone together, or the member order below), the Ring timeout — how long to try before the fallback — and the Fallback: nothing, another extension, or a voicemail box. With sequential ringing, the top-to-bottom member order is who rings first. A saved phrase can be played once before any member phone rings.

Voicemail administration — every extension's voicemail box at a glance, and the messages the hosts have delivered. It shows message details only; open an extension to change its voicemail settings.

Call handling

IVR menus — a key-by-key phone menu, written as a list of caller tasks. Set the number callers dial and the greeting they hear, then one clear task per keypad choice. Digit timeout is how long to wait for a key before running the no-input task; Retries is how many times to replay the greeting after no input or an unknown key.

The same tab carries hold music: what callers hear when somebody puts them on hold. It can be an uploaded file, a saved phrase, a stream, or the inherited space setting — uploaded files override the inherited setting, and clearing the file inherits it again.

Time conditions — schedules by the hour. A time condition can have its own number and sends calls to one place inside its hours, another outside them (Otherwise), and another on closed days; it can follow a linked scheduling calendar and the space's holidays.

The same tab carries the policy for calls an extension places outside its allowed hours, Outgoing calls after hours (domain default). Outside those hours can be Allow, Allow, but log it, Refuse with a message, Divert to… or Ask for a PIN. Per-extension policies, on the extension's page, override the domain default.

Override PINs let trusted contacts place restricted calls: a contact enters their private PIN to approve an after-hours call. The PIN list is its own panel, and it says the thing that matters operationally — A PIN outlives the policies — clear it here when a person leaves.

An allow list of exact numbers or prefixes bypasses the after-hours action, and emergency numbers always bypass it.

Phrases — reusable announcements built from recordings, pauses and text-to-speech, with optional background music that ducks under the voice. Items play in order, and Render preview plays the mixed result as callers hear it — of the saved phrase, so save first. Use phrases for greetings, closed messages, ring-group announcements and phone workflows.

Phone workflows — route a call into an automation: it plays phrases or spoken text, gathers keypad digits, records, transfers, and hands what it learned to the rest of the workflow. Only a workflow with phone steps can answer a call.

Streams — live audio channels. A call routed into a stream publishes it; calls routed onto it listen. A stream can also play as hold music or under a phrase. Each one has a Publish number, a Listen number, and a relay token the phone hosts use between themselves; Rotate token mints a new one.

System

PBX hosts — the machines that run the phone stack. Each host serves one SIP domain per space, and extensions, ring groups and IVR menus are rendered onto it and kept converged. A host is a Linux machine the application reaches over SSH: give it a friendly Label, its Host address, the SSH port (usually 22) and the SSH user — the Linux account used for setup and health checks.

Warning
The SSH key is stored encrypted and never shown again — only its fingerprint. Keep your own copy. You can set or replace it later on the host's page.

Pin stack version (optional) can be left empty to install the current build; a pinned host reports drift instead of upgrading.

Call records — every call the phone stack completed or abandoned, as the hosts reported it. Filter by time window (From, To), extension, direction or how the call ended, or search for any number on either side; Reset to recent calls goes back to the last few days.

More

Live trace — the phone system's debugger. Put in an extension, a dialled number, an inbound number, a call id or a browser device and press Start tracing: everything the host does about it — log lines, SIP messages, media, routing and policy decisions — appears as it happens, beside the application's own side of the same call. A trace stops itself after a while, and Stop ends it sooner.

Important
Passwords, PINs, tokens and media keys are removed before a line ever leaves the host. A trace is safe to read and safe to share; it is not a place secrets leak.
Tip
The order to build a phone system in: a host first (System → PBX hosts), then the first extension (which creates the space's SIP domain), then the rest of the extensions, then the ring groups and menus that point at them.

Who can do this

To do thisYou need
Open My phone and manage your own passwordspbx.credentials.own
Choose your own password instead of a generated onepbx.credentials.choose
See your current call and place callspbx.calls.own
Use this browser as your phonepbx.calls.browser
Open your Voicemailpbx.voicemail.own
See PBX hosts (and the Phone system entry in Settings)pbx.hosts.view
Add and change hostspbx.hosts.manage
Store a host's SSH keypbx.hosts.credentials
See extensionspbx.extensions.view
Add, change, enable and disable extensionspbx.extensions.manage
Set an extension's assigned userpbx.extensions.assign
Ring groupspbx.ring_groups.manage
IVR menus and hold musicpbx.ivr.manage
Voicemail boxespbx.voicemail.manage
Time conditionspbx.time_conditions.manage
The after-hours calling policypbx.outbound_policies.manage
See and clear override PINspbx.override_pins.manage
Phrasespbx.phrases.manage
Hear a phrase previewpbx.phrases.preview
Phone workflowspbx.phone_workflows.manage
Streamspbx.streams.manage
Call recordspbx.cdrs.view
Live tracepbx.trace.manage