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
| Screen | Where it lives | What it is for |
|---|---|---|
Phone system — /admin/pbx | Settings → Communication & integrations → Phone system | every administrator's screen, in tabs |
My phone — /my-phone | the sidebar | your extension, the phone in your browser, and what a desk phone needs to register |
Voicemail — /voicemail | the sidebar | the 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.
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.
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.
Who can do this
| To do this | You need |
|---|---|
| Open My phone and manage your own passwords | pbx.credentials.own |
| Choose your own password instead of a generated one | pbx.credentials.choose |
| See your current call and place calls | pbx.calls.own |
| Use this browser as your phone | pbx.calls.browser |
| Open your Voicemail | pbx.voicemail.own |
| See PBX hosts (and the Phone system entry in Settings) | pbx.hosts.view |
| Add and change hosts | pbx.hosts.manage |
| Store a host's SSH key | pbx.hosts.credentials |
| See extensions | pbx.extensions.view |
| Add, change, enable and disable extensions | pbx.extensions.manage |
| Set an extension's assigned user | pbx.extensions.assign |
| Ring groups | pbx.ring_groups.manage |
| IVR menus and hold music | pbx.ivr.manage |
| Voicemail boxes | pbx.voicemail.manage |
| Time conditions | pbx.time_conditions.manage |
| The after-hours calling policy | pbx.outbound_policies.manage |
| See and clear override PINs | pbx.override_pins.manage |
| Phrases | pbx.phrases.manage |
| Hear a phrase preview | pbx.phrases.preview |
| Phone workflows | pbx.phone_workflows.manage |
| Streams | pbx.streams.manage |
| Call records | pbx.cdrs.view |
| Live trace | pbx.trace.manage |