ByondVoice CloudThe complete reference for operating the ByondVoice control plane — tenants, numbers, extensions & devices, voicemail, call routing (ring groups and auto-attendants), the live call-handling engine, carrier connectors, wholesale billing, security and day-two operations. Every screen is reproduced with annotated walkthroughs and worked examples.
ByondVoice — Administrator & Operations ManualThis manual is organised into the chapters listed below. Use the chapter and section numbers (for example § 9.2) as the stable cross-reference throughout — printed page numbers depend on your browser’s print engine and zoom.
ByondVoice — Administrator & Operations ManualByondVoice is B'Yond's cloud business phone system — a hosted PBX delivered as a service. This opening chapter sets you up to read the rest of the manual fluently: what ByondVoice is, who this manual is written for, the four-level hierarchy that every later chapter assumes (platform → reseller → tenant → users), and the conventions — annotated screen mockups, numbered procedures, worked examples and four callout styles — used throughout.
Read this chapter even if you are an experienced telephony administrator. It will not teach you SIP; it will teach you how this manual presents work so you can skim straight to the part you need, and it will fix the vocabulary — operator console, tenant, extension, ring group, connector — that the rest of the book uses without re-defining.
What ByondVoice is as a product; the three surfaces it presents (operator console, user portal, softphone); who the administrator manual is for; the platform → reseller → tenant → users hierarchy; how to sign in to the console; and every convention this manual uses — mockups, steps, worked examples, the four callouts and section cross-references.
ByondVoice is a multi-tenant cloud business phone system — a hosted PBX (private branch exchange) delivered as Unified-Communications-as-a-Service (UCaaS). In plain terms: it is one platform that lets many separate businesses each run a complete phone system — extensions, voicemail, ring groups, auto-attendants and conference rooms — without owning any telephony hardware on site. You, the operator, provision and run it from a single web console at admin.byondvoice.com.
Two ideas distinguish ByondVoice from a desk-phone-and-a-line setup:
What works on day one without any carrier: internal calling, extensions, SIP device registration, voicemail, ring/hunt groups and per-user call handling. What becomes available once a carrier (SIP trunk) is connected: outbound PSTN calling, inbound DID delivery, and reaching an auto-attendant from an external number. The manual flags carrier-gated features explicitly wherever they appear.
Extensions, voicemail, ring groups, IVR auto-attendants and conferences — all configured in the cloud, no on-site hardware.
Strict per-tenant isolation. Every extension, mailbox, device and routing rule is scoped to one tenant; users see only their own line.
Resellers run ByondVoice under their own brand and domain — optionally with their own carrier (SIP trunk) credentials.
ByondVoice presents three separate web surfaces. Knowing which one a task belongs to saves you signing in to the wrong place; this manual is about the first of them.
| Surface | Address | Who uses it | What it does |
|---|---|---|---|
| Operator console | admin.byondvoice.com | Platform & reseller/tenant operators | All telephony operations: numbers, extensions, voicemail, routing, carriers, billing. This manual. |
| User self-service portal | my.byondvoice.com | End users (each person on a line) | Each user manages their own line — voicemail, devices, call handling. Covered by the User manual. |
| Softphone (PWA) | my.byondvoice.com/phone | End users | A branded softphone you install to a home screen — make & receive calls, chat, contacts, history. |
This is the Administrator & Operations Manual — it documents the operator console at admin.byondvoice.com only. When a task belongs to an end user (for example, recording a personal voicemail greeting), the manual points you to the User manual rather than repeating it.
ByondVoice — Administrator & Operations ManualThis manual is written for the people who operate ByondVoice from the console — not for the end users who simply make and receive calls. Two operator roles share the console, at different levels of the hierarchy described in § 1.3:
B'Yond staff (or whoever runs the deployment). You see and manage everything — every reseller, every tenant, the number pool, the carrier connectors and the wholesale billing meter. You set the boundaries the others work within.
A white-label partner, or a tenant's own administrator. You manage the customers and lines within your own scope — provisioning extensions, mailboxes, ring groups and auto-attendants for the tenants you are responsible for.
Throughout the manual, a procedure that is reserved for the platform operator is flagged as such; everything else applies to any operator with rights over the tenant in question. If a screen is not visible to you, it is because your scope does not include it — that is the multi-tenant model working as designed, not a fault.
You do not need to be a SIP engineer. You should, however, be comfortable with a few baseline ideas, because the manual uses them without re-explaining:
Every domain term is defined the first time the manual uses it, in bold, and then used freely thereafter. If you join the manual partway through and meet an undefined term, follow the section cross-reference (see § 1.6) back to where it is introduced.
ByondVoice — Administrator & Operations ManualByondVoice is organised as four nested levels. Almost every screen in the console is scoped to one of them, and almost every procedure in this manual begins by establishing which level you are working at. Internalise this model now and the rest of the book reads easily.
| Level | What it is | Owns / contains | Example |
|---|---|---|---|
| Platform | The whole ByondVoice deployment | The number pool, carrier connectors, every reseller and tenant, the wholesale meter | B'Yond |
| Reseller | A white-label partner | Their own brand & domain, and the tenants beneath them | Nimbus Telecom |
| Tenant | A customer organisation | Its extensions, mailboxes, ring groups, auto-attendants, conferences, assigned numbers | Acme Corp |
| User | A person on a line | Their extension(s), devices, voicemail, call-handling rules | Alice Tan, ext 1001 |
The arrows go one way: a platform contains many resellers (and may hold tenants directly); each reseller contains many tenants; each tenant contains many users; each user owns one or more extensions and the devices registered to them. Configuration and visibility flow strictly down this chain — a tenant operator can never see another tenant's data, and a user's portal is scoped to their own extension only.
Provision extensions and the SIP devices that register to them.
| Ext | Name | Devices | Status |
|---|---|---|---|
| 1001 | Alice Tan | 2 | registered |
| 1002 | Ben Ong | 1 | idle |
Because the same screens serve every tenant, the breadcrumb is your safety check. Before you create or delete an extension, mailbox or ring group, read the breadcrumb (annotation 2) and confirm it names the tenant you intend. Provisioning 1001 into the wrong tenant is an easy mistake and an awkward one to unpick.
ByondVoice — Administrator & Operations ManualBefore any of the rest of the manual is useful you must reach the console. Signing in is the simplest procedure in the book, so it is a good place to learn how procedures are presented here: a faithful screen, then numbered steps, then a worked example.
MFA (an authenticator app, or an email one-time code) is off by default and enabled per account. If yours has it on, sign-in asks for the second factor only after your password is accepted; if it is off, you are signed in straight after the password. Enabling MFA is covered in the Security chapter.
Worked examples run a procedure end-to-end with realistic values so you can see the result, not just the steps.
Sara has just joined the ByondVoice platform-operations team. Her account [email protected] was created as a platform operator with MFA switched on. It is her first morning and she wants to reach the console.
[email protected] and her password, then selects Sign in.Result: a successful, MFA-protected sign-in. Had Sara mistyped her password she would have seen "Incorrect username or password"; had her account been set inactive she would have been refused even with the right password.
ByondVoice — Administrator & Operations ManualSet off from the running text you will find four coloured callouts. Each carries a specific kind of operational judgement; learn to read them at a glance, because the most important safety guidance in this manual lives inside them.
Background, context or a clarification. Useful to know, safe to skim. Notes never describe a risky action — they explain how something behaves or why a default is set the way it is (for example, that voicemail-to-email is off until a user enables it).
A shortcut, best practice or recommendation that makes a task faster, cleaner or more reliable. Optional, but worth adopting — tips capture how experienced operators actually work (for example, reserving a block of extension numbers before you onboard a team).
Proceed with care. The action has consequences that are easy to get wrong — it may interrupt live calls, affect billing, or be awkward to undo (for example, changing a tenant's number assignment while a call is in progress).
Stop and think. This is a destructive or irreversible action — deleting an extension and its voicemail, releasing a DID back to the carrier, or anything that can cut off service for many users at once. Be certain you are in the right tenant (check the breadcrumb) before continuing.
Some values in ByondVoice — a SIP device password, a device auto-provisioning URL — are shown once and never again, because they are stored encrypted (see the Security chapter). Wherever the manual prints such a value it is wrapped in a Warning reminding you to copy it before you close the dialog. Treat those warnings literally.
ByondVoice — Administrator & Operations ManualEvery procedural chapter follows the same rhythm. Recognising it lets you skim for exactly the part you need.
Because the console evolves continuously, this manual does not paste live screenshots. Instead each screen is redrawn as a branded mockup that faithfully matches the real panel's layout, fields and labels. A mockup carries small numbered annotation markers — the pink circles — and a matching numbered legend beneath it. Marker "3" in the picture always corresponds to item 3 in the list. Each figure ends with a caption, and figures are cross-referenced by their number (for example, "Figure 1.2").
Instructions are given as a numbered list with gradient step chips, like the sign-in procedure in § 1.4.1. Follow them in order. The lead phrase of each step (in bold) is the action; the rest of the sentence is the detail. A procedure is almost always followed by a worked example with concrete values.
A worked example traces a procedure end-to-end with realistic values — extension 1001 "Alice Tan", tenant "Acme Corp", ring group pilot 6000 "Sales", DID +65 3159 0010 — so you can see the outcome. A Try it box (the dashed pink panel) poses a short hands-on task to rehearse in a safe environment and tells you what "done" looks like.
A few notations recur throughout the manual:
.pathcodeextension_number, 1001.This manual is built to print cleanly to A4 — use your browser's Print (or "Save as PDF") with background graphics enabled. On-screen running headers and footers are hidden in print; page furniture takes over.
ByondVoice — Administrator & Operations ManualThe chapters that follow walk the console in roughly the order you will use it, grouped exactly like the navigation rail you met in Figure 1.1. Use this as a map; each entry is a group of screens you can jump to.
The DID number pool: list and filter numbers, read the KPIs, and assign, reserve or release them; bulk-preload a block; and configure the source with carrier credentials.
Extensions & Devices (extension CRUD, nested SIP devices with reveal-once passwords, auto-provisioning tokens, per-extension forwarding & DND) and Voicemail (boxes, PINs, visual voicemail).
Ring Groups (members, order, simultaneous / sequential / round-robin, overflow), Auto-Attendants (the visual IVR menu builder) and Conferences (rooms with member & moderator PINs).
Carrier integration: choose a type, enter config & credentials, test and sync, search and provision numbers, and port in existing numbers. Unlocks PSTN calling and DID delivery.
The platform → reseller usage billing meter: preview the period and run the wholesale charge. A platform-operator screen.
How the pieces fit — the session border controller (ByondSBC), the hosted ByondSwitch PBX, media relay with TURN — and the security model: encrypted secrets, hashed PINs, MFA and per-user scoping.
You hold real authority over real lines. Until you are comfortable, run every Try-it exercise against a dedicated sandbox tenant — never a live customer. Confirm the environment chip and the breadcrumb before any change, and prefer disabling a record over deleting it.
A five-minute warm-up to confirm you can read every part of the frame and the hierarchy. Do this in your training environment.
Done when: you can point to all four numbered frame elements in Figure 1.1 without looking them up, state which tenant a screen is scoped to, and recite the build string from the footer.
With the hierarchy and conventions in hand, the next chapter gives you the guided tour of the console — the navigation rail, the topbar tools and the shared screen patterns — so that every screen thereafter feels familiar.
ByondVoice — Administrator & Operations ManualByondVoice is a cloud business phone system — a multi-tenant hosted PBX. Before you provision a single extension it pays to understand the shape of the product: who owns whom, the three places people use it, and the telephony fabric that actually carries the calls. This chapter gives you that mental model. By the end you will be able to place every screen in the rest of the manual, reason about where a call is when something goes wrong, and explain exactly what works on day one versus what waits on a carrier.
ByondVoice is built as a strict four-level hierarchy: platform → reseller → tenant → users. Every object you create — an extension, a number, a ring group, a voicemail box, a conference room, a call-handling rule — belongs to exactly one tenant, and every account you sign in with sits at one level of this tree. Understanding the tree is the single most useful thing in this chapter, because it explains what each console can see and change.
The top of the tree — B’Yond’s own operation of ByondVoice. Platform administrators run the shared infrastructure, onboard resellers, and meter wholesale usage. This manual is written for the operator who works at, or on behalf of, the platform.
A white-label partner — for example Nimbus Telecom — that sells ByondVoice under its own brand, domain and pricing. A reseller owns a set of tenants and can be permitted to bring its own carrier credentials.
A single customer business — for example Acme Corp. The tenant is the unit of isolation: its extensions, numbers, routing and recordings are walled off from every other tenant. Almost everything you provision is “a thing inside a tenant”.
The people who actually have a phone line: each user owns one or more extensions and the devices that register to them. Users sign in to the self-service portal, never the admin console.
A tenant can sit directly under the platform with no reseller in between — that is a “direct” customer. The reseller tier only appears when B’Yond enables a white-label partner. Throughout this manual, “the tenant” means whichever customer you are currently scoped to, whether direct or under a reseller.
ByondVoice — Administrator & Operations Manual“Multi-tenant” is easy to say and easy to get wrong, so be precise about what ByondVoice guarantees. Every record that matters carries the tenant it belongs to, and that scope is enforced in the control plane on every request — not merely hidden in the user interface. The practical consequences are worth committing to memory.
| Object | Scoped to | Who can change it |
|---|---|---|
| Extension (e.g. 1001) | One tenant | Admin; the owning user can edit a limited subset from the portal |
| Number / DID (e.g. +65 3159 0010) | One tenant once assigned | Admin only |
| Ring group (e.g. pilot 6000) | One tenant | Admin only |
| Voicemail box & messages | One extension, one tenant | The owning user (play/delete); admin (provision) |
| Call-handling rules (DND, forwards) | One extension | The owning user; admin |
| Conference room (e.g. 3000) | One tenant | Admin only |
| Carrier connector | Platform or reseller | Platform admin; a permitted reseller |
Two extension 1001s can exist happily in two different tenants — the number is unique only within a tenant. The same is true of ring-group pilots and conference rooms. This is why nearly every screen in the admin console shows the tenant it is scoped to in its breadcrumb (the // hosted PBX · tenant Acme Corp subtitle): you are always acting inside one tenant at a time.
Acme Corp has extension 1001 assigned to Alice Tan. A second tenant, Helios Care, also has a 1001, assigned to someone else entirely. Neither user can dial, see, or affect the other; their devices register against different tenant scopes; their voicemail and call history are separate stores. When Alice dials 1002 she reaches Ben Ong in Acme — never anyone in Helios. Internal dialling is always tenant-local.
The most common operator mistake is provisioning into the wrong tenant. Because extension numbers repeat across tenants, a misfiled extension looks plausible and may go unnoticed for days. Read the breadcrumb scope every time you create or edit, and treat the tenant selector with the same care you give the ENV: PROD chip.
When a reseller such as Nimbus Telecom is enabled, its tenants experience ByondVoice under the reseller’s brand and domain, and — if the platform permits it — over the reseller’s own carrier credentials. The branding is applied at the edge (see §2.4.3), so the same platform serves many brands without per-brand deployments. From an administrator’s seat the screens are identical; only the wordmark, domain and, where configured, the trunk differ.
ByondVoice — Administrator & Operations ManualPeople meet ByondVoice through three front-ends, each aimed at a different job. Knowing which surface does what — and, crucially, what each one is not allowed to do — prevents most “why can’t I see that?” support questions.
admin.byondvoice.com
The operator’s control surface. Provision numbers, extensions, devices, routing, voicemail and carriers; meter wholesale usage. This manual documents it.
my.byondvoice.com
Self-service for one user’s own line: their phone, voicemail, recent calls, call handling and devices. Strictly scoped to their own extension(s).
my.byondvoice.com/phone
A branded softphone that installs to the home screen. Make and take calls with audio, video, chat and history — no desk handset required.
The figure below is the surface this manual lives in — the admin console, showing the Extensions & Devices screen. Every later admin screen reuses this same frame, so the parts are numbered once here.
Provision extensions and the SIP devices that register to them.
| Ext | Name | Devices | Status |
|---|---|---|---|
| 1001 | ATAlice Tan | 2 | registered |
| 1002 | BOBen Ong | 1 | idle |
ByondVoice — Administrator & Operations ManualYour users never sign in to the admin console. Instead each user gets my.byondvoice.com — a portal scoped strictly to their own line. From here a user reviews their extension and numbers, plays visual voicemail, checks recent calls, sets up call handling (do-not-disturb, forwarding, follow-me), and manages their registered devices. The portal cannot see other users, other tenants, or any operator screen; its API is locked to the signed-in user’s own extension(s).
Your extension, numbers, devices and registration state.
Most day-to-day changes a user wants — turning on do-not-disturb, forwarding to a mobile, setting a voicemail PIN, naming a device — are self-service in the portal. Directing users to my.byondvoice.com for these keeps the admin console for genuine operator work and cuts your ticket load sharply.
The softphone at my.byondvoice.com/phone is a Progressive Web App — a branded softphone that runs in the browser and installs to the home screen like a native app. It registers over a secure WebSocket (see §2.4.2) and supports two-way audio and video, a mid-call video toggle with picture-in-picture, hold, blind transfer, conference, DTMF and mute, alongside team Chat, Contacts and History tabs. Incoming calls ring with a notification — including a lock-screen “ring while locked” alert that the user taps to answer.
ByondVoice — Administrator & Operations ManualUnder the three surfaces sits the part that actually carries voice. You do not operate it directly — your console settings configure it — but an administrator who can picture the fabric can reason about almost any call problem. ByondVoice separates the work into clean layers: an edge where devices register and media is relayed, a media/PBX tier where calls are switched, a control plane that holds configuration and authenticates devices, and the data beneath it all.
A handful of facts about this fabric are worth carrying with you, because they explain behaviour you will meet throughout the manual:
ByondVoice — Administrator & Operations ManualRegistration is the act of a SIP device telling the platform “extension 1001 is reachable at this device, right now”. It is the foundation of everything else: an unregistered extension cannot ring. Devices register to ByondSBC at the edge, which validates the credentials against the control plane before accepting the registration. The dialog below is where you create the device and reveal its secret once.
In tenant Acme Corp you open extension 1001 (Alice Tan) and add a device labelled “Alice — desk phone”. ByondVoice shows the SIP password xS7…reveal-once; you paste it, with username 1001-deskphone and server sbc.byondvoice.com (TLS), into the handset. You save; the handset registers; the Extensions table now shows Alice with 2 devices and a registered status. Alice can immediately dial 1002 and reach Ben — no carrier required for this internal call.
An unregistered device is almost always one of three things: a mistyped or stale secret (regenerate and re-enter — remember it is reveal-once), the wrong registrar host or transport (must be the SBC with TLS/WSS, not the PBX), or a network blocking SIP/TLS. Because the control plane authenticates dynamically, a corrected secret takes effect on the next REGISTER — no redeploy needed.
ByondVoice — Administrator & Operations ManualTo make the planes concrete, follow a single internal call — Alice (1001) dialling Ben (1002) — across the fabric. This is the path every voice interaction takes, and it is the mental model to reach for when a call “doesn’t connect” and you need to know where to look.
browser softphone and SIP both try to send voice media on the most direct path between endpoints. On many corporate and mobile networks that direct path is blocked — symmetric NAT and strict firewalls prevent the two sides from reaching each other. ByondVoice solves this with TURN (Traversal Using Relays around NAT): when a direct path cannot be established, the media is relayed through a TURN server that both endpoints can reach, so the call still connects with audio (and video) intact.
| Network situation | Media path | Result |
|---|---|---|
| Open network, public reachability | Direct peer-to-peer (RTP/SRTP) | Lowest latency; no relay used |
| One side behind NAT/firewall | Server-reflexive (STUN-assisted) | Connects without a relay where possible |
| Symmetric NAT / strict firewall | TURN relay carries the media | Call still connects; relay adds a small hop |
If a call connects and rings but one side hears nothing, the signalling worked (the SBC and PBX did their job) — it is the media path that failed. The usual cause is a network that blocks direct media and a TURN relay that the device cannot reach. Verify the softphone can reach the TURN service before blaming the extension or the route.
Alice opens the softphone from a hotel behind symmetric NAT and calls Ben at the office. Signalling reaches ByondSBC over secure WebSocket and ByondSwitch rings Ben’s desk phone normally. A direct media path can’t form, so both endpoints fall back to the TURN relay; the call connects with clean two-way audio. The only visible difference is a negligible extra hop in the media path — the call itself just works.
ByondVoice — Administrator & Operations ManualThree properties of the fabric deserve a closer look because they shape how you administer ByondVoice every day: the control plane is the single source of truth, transport is encrypted end to end, and white-labelling happens at the edge.
The control plane is the API behind all three surfaces. It stores every piece of configuration — tenants, users, extensions, numbers, ring groups, auto-attendants, voicemail boxes, call-handling rules — and it is also what authenticates SIP devices. Crucially, device authentication is dynamic: when a device registers, the SBC asks the control plane to validate the credentials in real time, rather than relying on a static file baked into the edge. Two consequences follow directly.
A hardware SIP phone registers to ByondSBC over SIP / TLS. The softphone PWA cannot use raw SIP from a browser, so it registers over a secure WebSocket (WSS) to the same SBC — the SBC speaks both. This means the softphone’s signalling is encrypted in transit just like a desk phone’s, the registration appears in the same Extensions screen, and the call path is identical from ByondSwitch’s point of view. The only difference is the transport the device dialled in on.
Registers via SIP / TLS to sbc.byondvoice.com. Media is RTP/SRTP, relayed via TURN where required.
Registers via secure WebSocket (WSS) to the same SBC. Media is browser-based (SRTP), TURN-relayed on restrictive networks.
A user’s softphone is a registered SIP device on their extension, exactly like a desk phone — it shows in the Extensions table and in the user’s My Devices. An extension can have several devices at once (a desk phone and a softphone); routing rings whichever are registered, according to the user’s call-handling configuration.
Because a reseller’s tenants register to and route through the same fabric, ByondVoice applies branding at the edge rather than by spinning up a separate platform per reseller. The reseller’s brand, domain and — where permitted — its own carrier credentials are presented at the edge, so Nimbus Telecom can sell “Nimbus Voice” to its customers over the very same hosted PBX that serves every other reseller. From your operator seat the screens are identical; only the wordmark, the domain and, if configured, the trunk differ.
ByondVoice — Administrator & Operations ManualThis is the single most important operational distinction in ByondVoice. A great deal works the moment you provision a tenant — with no carrier connected at all. A specific, predictable set of capabilities — everything that touches the public telephone network — waits until a carrier (a SIP trunk) is connected via a Connector. Setting this expectation correctly with a new customer prevents the most common “why can’t I…?” conversation on day one.
| Capability | Works today (no carrier) | Needs a carrier |
|---|---|---|
| Internal extension-to-extension calling | Yes | — |
| Ring groups / hunt groups | Yes | — |
| Voicemail & visual voicemail (incl. *98) | Yes | — |
| Call handling (DND, forward-all, follow-me, fallback ladder) | Yes | — |
| Softphone audio / video / chat / history | Yes | — |
| Conferences (internal members) | Yes | — |
| Echo test (9196) | Yes | — |
| Outbound PSTN calling | — | SIP trunk |
| Inbound DID number delivery | — | SIP trunk |
| Reaching an auto-attendant from an external DID | — | SIP trunk |
In short: everything internal works today; everything that crosses to the public network needs a trunk. The dividing line is the carrier Connector — the screen at where you integrate a carrier, test it, sync numbers, and provision DIDs. Until a connector is live and a number is delivered, external calls have no path in or out.
You provision tenant Acme Corp, create extensions 1001 (Alice) and 1002 (Ben), a ring group pilot 6000 “Sales”, and a conference room 3000. With no carrier connected, Alice and Ben can call each other, calls to 6000 ring the Sales team, unanswered calls drop to voicemail and email a copy, do-not-disturb works, and both can join room 3000. What they cannot yet do is dial a mobile number or receive a call from outside — that begins the moment you connect a carrier and assign a DID such as +65 3159 0010.
If a customer expects to dial out or receive calls on their numbers on the first day, a carrier must be connected before go-live — DID delivery and outbound trunking are not instant. Plan the carrier connector and number porting as part of onboarding, not as an afterthought, so the public-network capabilities are ready when the customer expects them.
In a test tenant, register a softphone to extension 1001, then dial the echo test 9196 — you should hear your own voice looped back, which proves registration and the media path end to end. Next, register a second device as 1002 and call between them. If both work, your internal fabric is healthy; any later trouble with external calls is then squarely a carrier matter, not a platform one.
You now have the whole picture: the multi-tenant model (§2.1), the three surfaces (§2.2), the telephony fabric and how devices register and calls flow (§2.3), the control plane and edge (§2.4), and the carrier line (§2.5). The chapters that follow drill into each operator screen in turn — numbers, extensions and devices, routing, voicemail and carrier connectors — building on exactly these foundations.
ByondVoice — Administrator & Operations ManualEverything you do as an operator happens inside one place — the ByondVoice admin console at admin.byondvoice.com. This chapter takes you through the front door and then walks the whole building. First you sign in through the secure gate, optionally clearing a second factor. Then we number every part of the persistent console frame — the grouped navigation rail, the breadcrumb and scope line, global search, the environment chip, the account menu and the health-and-build footer — so that when you open the Numbers, Extensions, Ring Groups or Wholesale Meter screens in later chapters, you already know how to read them. Learn the frame once here; reuse it everywhere.
The console is a single-page application that stays completely hidden until you authenticate. Until you sign in there is no navigation rail and no data on screen — only a centred sign-in card floating over the dark console backdrop. This is deliberate: an unauthenticated browser should never be able to glimpse tenant names, numbers or extensions. The gate is the same whether you are a platform operator, a reseller administrator or a tenant administrator; what differs is the scope you are granted once you are in, which the console works out from your account, not from a tier you pick at login.
You sign in with a username or email and a password. If your account has multi-factor authentication (MFA) switched on — an authenticator app or an emailed one-time code — the gate asks for that second factor only after your password is accepted. MFA is opt-in and managed per account; if it is off you are taken straight into the console after your password.
ByondVoice — Administrator & Operations ManualSara is the platform operator for the demo deployment. She opens her bookmark to admin.byondvoice.com, types [email protected] in the first field and her password in the second, and selects Sign in. Her account has an authenticator app enrolled, so the gate then asks for a code; she reads 408 213 from the app and submits. The console paints, the breadcrumb reads scoped to tenant Acme Corp, and the chip shows ENV: PROD. Total time: about fifteen seconds.
MFA adds a second proof of identity after your password. ByondVoice supports two second factors: a time-based code from an authenticator app (Google Authenticator, 1Password, Authy and the like), and an email one-time code sent to the address on your account. The second factor is requested only on a fresh sign-in, and only once your password has already been accepted — so an attacker who lacks your password never even sees the code prompt.
| Second factor | How it works | When to choose it |
|---|---|---|
| Authenticator app (TOTP) | A rolling 6-digit code that changes every 30 seconds, generated on your phone. Works with no signal or Wi-Fi. | The recommended default for every operator account — it does not depend on email delivery. |
| Email one-time code | A 6-digit code emailed to your account address when you sign in; valid for a few minutes. | A fallback when you cannot enrol an app, or for occasional accounts. Depends on timely email delivery. |
Operator accounts can change live telephony for many tenants, so treat MFA as mandatory in practice even though the platform leaves it opt-in. Prefer an authenticator app over email codes, and store your recovery details somewhere safe — losing both your password and your second factor means a support recovery, not a self-service reset.
ByondVoice will never email you a link that asks for your password. Phishing pages copy this sign-in card almost perfectly. Always reach the console from your own bookmark and check the address bar reads exactly admin.byondvoice.com before you type anything.
ByondVoice — Administrator & Operations ManualOnce you are in, every screen in the console shares the same chrome — a persistent frame that never changes as you move between Numbers, Extensions, Ring Groups and the rest. Only the central working area swaps out. Learning this frame once means every later chapter can simply say “open ” and trust that you know where to look. The figure below numbers all eight elements of the frame; the rest of this chapter takes each one in turn.
Provision extensions and the SIP devices that register to them.
| Ext | Name | Devices | Status |
|---|---|---|---|
| 1001 | Alice Tan | 2 | registered |
| 1002 | Ben Ong | 1 | idle |
ByondVoice — Administrator & Operations ManualThe breadcrumb sits at the top-left of the working area and answers two questions at once: which screen am I on? and what is it scoped to? The title (for example Extensions & Devices) is the screen; the mono subtitle beneath it — // hosted PBX · tenant Acme Corp — names the group and the tenant whose data you are looking at. Throughout this manual we write the same path as a chip, e.g. , so a procedure can point you precisely without a screenshot.
Scope matters because the console is multi-tenant: platform → reseller → tenant → users. The same Extensions screen shows Acme Corp’s extensions when scoped to Acme Corp, and a different set when scoped to another tenant. Before you create, edit or delete anything, read the scope in the subtitle — it is the difference between changing the right customer and the wrong one.
Deleting an extension, releasing a number or republishing an auto-attendant acts on whatever tenant the subtitle names. A glance at // hosted PBX · tenant Acme Corp before you select Delete is the cheapest safeguard in the console.
Global search is the fastest way to reach a specific object without clicking through the rail. Press ⌘K on macOS, or Ctrl+K on Windows and Linux, from anywhere in the console, then type. Search spans extensions, numbers, ring groups, conference rooms and tenants; results are grouped by type and you open one with ↵.
| 1001 | Alice Tan | registered |
| +65 3159 0010 | → ext 1001 | assigned |
You need Alice Tan’s extension. Rather than opening and scrolling, you press ⌘K, type Alice, and the extensions group surfaces 1001 · Alice Tan showing registered. One press of ↵ opens her extension. Search also returned her DID +65 3159 0010 under numbers, confirming it is assigned to her.
ByondVoice — Administrator & Operations ManualTwo controls live at the right end of the top bar and they work as a pair. The environment chip tells you which deployment you are acting on; the account avatar — your initials — opens a menu confirming who you are, the scope you hold and how to sign out. Read the chip before you act, and use the menu to verify your identity and scope whenever a screen does not look the way you expect.
When the chip reads ENV: PROD every change is real and immediate — the execution engine renders live routing from your saved configuration at call time. Switching a ring group to round-robin or enabling forward-all takes effect on the very next call. Make changes deliberately and, where you can, during a quiet window.
A tenant administrator simply will not see other tenants’ data, and a reseller administrator is confined to their own customers. The rail and search only ever return what your scope permits, so you cannot accidentally edit a tenant you are not responsible for.
ByondVoice — Administrator & Operations ManualAt the very bottom of the navigation rail sits a small but important panel. The first line is an overall health line — ALL SYSTEMS OPERATIONAL when everything is well — and the second names the running version, region and build, e.g. v1.0 · sg-south · build 2026.06. This is the first thing to check if something feels wrong and the first thing support will ask you for.
A green operational line means the platform’s services are up. If it changes, expect knock-on effects on registration or call handling and check the platform status before assuming a tenant misconfiguration.
The region (here sg-south) tells you which deployment you are on; the build (2026.06) pins the exact software. Always quote both when raising a ticket.
The working area (element 8 of the frame in §3.2) is the only part that changes between screens, and it is built from the same handful of pieces every time. Learn these six and you can read any screen in the console — Numbers, Voicemail, Ring Groups or Connectors — the first time you open it.
Group extensions so a single number rings several people.
| Pilot | Name | Strategy | Status |
|---|---|---|---|
| 6000 | Sales | round-robin | live |
| 6010 | Support | simultaneous | draft |
ByondVoice — Administrator & Operations ManualPills mean the same thing on every screen, so once you learn them you can scan any table at a glance. The table below is the full vocabulary you will meet across Numbers, Extensions, Ring Groups, Conferences and Connectors.
| Pill | Reads as | Where you see it |
|---|---|---|
| on | Healthy / active — registered device, live ring group, published attendant, assigned number. | Extensions, Ring Groups, Numbers, Auto-Attendants. |
| info | Informational / in-progress — a draft not yet published, or a reserved number. | Ring Groups, Auto-Attendants, Numbers. |
| idle | Neutral — an extension with no device online, or an unassigned number in the pool. | Extensions, Numbers. |
Bring the chapter together with a short routine to run every time you start a session. It takes under a minute and catches most surprises before they become incidents.
Sign in, then without clicking any rail item, answer four questions out loud: What environment am I in? Who am I and at what scope? Which tenant is the breadcrumb scoped to? Is platform health green, and what is the build? If you can answer all four from the frame alone, you have read the console correctly and you are ready for the screens in the chapters that follow.
You can now sign in and read any screen in the console. The chapters that follow open each rail item in turn — starting with — and every one of them reuses the frame, the search, the pills and the scope rules you have learned here.
ByondVoice — Administrator & Operations ManualEverything a login can see, change, dial or be billed for in ByondVoice flows from one decision: what tier of account is this, and which slice of the platform does it own? This chapter is the canonical reference for the three account tiers — platform administrator, reseller and tenant administrator — the containment hierarchy that nests them, and the row-level scoping that keeps one customer’s extensions, numbers and call records invisible to every other customer. It closes with two access-model principles that run through the whole product: reveal-once secrets for SIP devices, and hashed PINs for voicemail and conferences. Get this chapter right and the rest of the manual — numbers, extensions, routing, carrier and billing — falls into place.
The three tiers of account and what each is for; the platform → reseller → tenant → users hierarchy and the two ownership pointers that wire it together; exactly what each tier sees in its console (see §4.4); how the tenant scope rule narrows every list so tenants never collide (see §4.3); where reseller, tenant and user identity is managed and how to provision it (see §4.5); least-privilege guidance for day-to-day operation (see §4.6); and why SIP secrets are shown once while voicemail and conference PINs are never shown at all (see §4.7). Read this before any chapter that grants access to data.
ByondVoice is multi-tenant by construction. Every person who signs in is a single account that lives at exactly one of three tiers, and a tier never changes at runtime — an account is created as a tier and stays that tier for its life. The tier, together with two optional ownership pointers (the reseller it belongs to and the tenant it belongs to), is the only thing the platform consults when it decides what you may touch. There is no fourth tier to learn and no per-screen permission matrix: master the table below once and the access model is settled everywhere.
| Tier | Who it is | Signs in at | Owns / sees |
|---|---|---|---|
| platform admin | B’Yond operations staff (you) | admin.byondvoice.com | The entire platform — every reseller, every tenant, every number, extension and call record. |
| reseller | White-label partner operator | admin.byondvoice.com | Only the tenants under their own reseller, plus their own branding and wholesale plan. |
| tenant admin | Customer business administrator | admin.byondvoice.com | Everything belonging to their one tenant — its numbers, extensions, routing, voicemail and devices. |
| user | An ordinary person on a tenant (an extension owner) | my.byondvoice.com | Only their own line: their extension(s), devices, voicemail and call handling — never anyone else’s. |
Three of the four rows are administrative tiers that nest top-down — platform → reseller → tenant — and each lands in the same operator console (admin.byondvoice.com), scoped to its own slice. The fourth row, the ordinary user, never sees the operator console at all: an extension owner signs in to the self-service portal at my.byondvoice.com and the softphone at my.byondvoice.com/phone. This chapter is about the three administrative tiers; the user’s self-service surface is the subject of the companion User Guide.
ByondVoice — Administrator & Operations ManualThe platform is divided into nested tiers of ownership. Each tier can only ever reach down into the tier it contains — never sideways to a sibling, and never up to its parent. A reseller cannot see another reseller’s tenants; a tenant cannot see a sibling tenant under the same reseller; a user cannot see another user’s line. This single direction of travel is what makes ByondVoice safe to white-label and resell.
Two ownership pointers wire this hierarchy together, and they are the whole of the relationship:
A tenant record itself carries a reseller_id: when set, the tenant belongs to that reseller (a white-label customer); when NULL, it is a direct platform customer that you, the platform admin, manage yourself. This one column is what lets a reseller see “their” tenants and nobody else’s, and lets you tell a partner’s customer apart from a direct one at a glance.
An account’s tier and the tenant or reseller it belongs to are set when the account is created and are intentionally not editable in place. You cannot “promote” a tenant admin to a reseller, move a tenant’s users to a different tenant, or re-parent a tenant under a new reseller by flipping a field. Re-homing is a deliberate, audited re-provisioning step — which keeps every account’s blast radius stable and means a login’s reach never silently grows.
ByondVoice — Administrator & Operations ManualThe promise that makes a hosted-PBX platform safe to sell is simple to state: an account from one tenant can never read or change another tenant’s data. ByondVoice enforces this not with hope but with a single rule applied to every request that touches tenant-owned data. The platform calls it the tenant scope, and it resolves identically everywhere — the Numbers pool, the Extensions list, the Voicemail boxes, the Ring Groups, the call records. There is no per-screen access logic; there is one rule.
When any account asks for tenant-owned rows, the platform narrows the request by the caller’s identity, in this exact order:
| Caller | Recognised when… | Rows they can see |
|---|---|---|
| Platform admin | tier = platform — no reseller, no tenant |
All rows — every reseller, every tenant, plus platform-level rows that belong to no tenant. |
| Reseller | reseller_id is set |
Only rows whose tenant is one of this reseller’s tenants. |
| Tenant admin / user | tenant_id is set |
Only rows whose tenant_id equals their own tenant. |
| A user, further | tier = user on the self-service portal |
Of their tenant’s rows, only the ones tied to their own extension(s) — their devices, voicemail and call handling. |
When an account fetches a single record by id that it is not permitted to see, ByondVoice returns 404 Not Found — not 403 Forbidden. This is deliberate. A 403 would confirm the record exists; a 404 reveals nothing. So if a tenant admin pastes another tenant’s extension id into a URL, the platform behaves exactly as if that extension did not exist. Likewise a user reaching for a colleague’s voicemail box gets a clean 404. Do not file these 404s as bugs — they are the scoping model working as designed.
An ordinary user is scoped to their tenant and then again to their own extension. The portal at my.byondvoice.com never exposes another colleague’s devices, voicemail or call-handling rules, even though those rows live in the same tenant. Concretely: Alice Tan (ext 1001) opening sees only mailbox 1001; she has no path, in UI or by URL, to Ben Ong’s mailbox 1002. Tenant-wide objects such as ring groups and auto-attendants are administered in the operator console by a tenant admin, not from a user’s portal.
After a successful sign-in, ByondVoice issues an access token that encodes the few facts the scope needs, so every later request is evaluated without a second password prompt:
// decoded access-token payload { "sub": "a3f1…", // the account id "tier": "tenant", // platform | reseller | tenant | user — drives every check "tid": "7c2e…", // tenant_id (null for platform admin and resellers) "rid": null, // reseller_id (set for resellers, and on reseller-owned tenants) "ext": "1001" // the extension a user is bound to (user tier only) }
You will see the same fan-out — platform → all, reseller → own tenants, tenant → self, user → own extension — in the Numbers KPIs, the registered-devices count, the call-records list and every table in the product. Master Table 4.2 once and you understand isolation across the whole platform; there is nothing per-screen to relearn.
ByondVoice — Administrator & Operations ManualThe platform admin holds the widest console on ByondVoice. It is the only tier that can create resellers and direct tenants, manage the shared carrier Connectors and the session border controller, set platform-wide security policy, and run the Wholesale Meter that bills resellers for the traffic their tenants carry. When you sign in as a platform admin, the navigation rail shows every group — Supply, Hosted PBX, Call Routing, Carrier and Revenue — and every list spans the whole platform. The figure below shows the platform-overview landing screen, scoped to all tenants.
Live state of the whole ByondVoice cloud — every reseller, tenant, number and device.
| Tenant | Reseller | Extensions | Status |
|---|---|---|---|
| Acme Corp | Nimbus Telecom | 42 | active |
| Helios Care | Direct (platform) | 18 | active |
| Vela Logistics | Nimbus Telecom | 7 | suspended |
On the overview above, Acme Corp shows reseller Nimbus Telecom, so it is a white-label customer billed through Nimbus on the Wholesale Meter. Helios Care shows Direct (platform), so it has no reseller and you invoice it yourself. Vela Logistics shows suspended: its tenant status is not active, so no Vela user — admin or extension owner — can sign in until you re-activate it, regardless of their password (see §4.6.2).
ByondVoice — Administrator & Operations ManualEach tier’s identity is created by the tier directly above it, and only there. The platform admin creates resellers and direct tenants; a reseller creates the tenants beneath it; a tenant admin creates the users (extension owners) inside its own tenant. This top-down ownership is the practical face of the hierarchy in §4.2 — you can only ever provision downward. The table fixes who creates what and where.
| Identity | Created by | Where in the console | What is provisioned |
|---|---|---|---|
| Reseller | Platform admin | Tenancy › Resellers | A partner record, its branding, its wholesale plan, and the reseller’s owner login. |
| Tenant | Platform admin or reseller | Tenancy › Tenants | A customer record and its tenant-admin owner login, in one step. |
| User (extension owner) | Tenant admin | Hosted PBX › Extensions & Devices | An extension, the user who owns it, and the SIP device(s) that register to it. |
The dialog below is the create-tenant form. Creating the tenant also creates its first administrator — the tenant-admin owner login — from the username and owner password you supply, so a customer is born with both its record and a way in, in a single action.
A tenant’s slug-style username is unique across the platform, but a user’s name only has to be unique inside its own tenant. Two different tenants can each have a user called reception without collision — the platform keys on the (tenant, username) pair. Plan naming with this in mind; you do not need to brand usernames per customer to keep them apart.
Nimbus Telecom signs a new customer, Acme Corp. You create the tenant with display name Acme Corp, username acme, owner email [email protected], and Reseller set to Nimbus Telecom. The platform creates the acme tenant-admin owner login at the same moment. Acme’s admin signs in to admin.byondvoice.com, sees only Acme’s slice, and provisions extension 1001 “Alice Tan” and 1002 “Ben Ong”. Nimbus sees Acme in its tenant list; no other reseller does; and Acme’s usage now meters to Nimbus on the Wholesale Meter.
ByondVoice — Administrator & Operations ManualThe cards below summarise the day-to-day surface of each tier. The hierarchy already enforces the boundaries; least-privilege is about choosing the narrowest tier that still lets a person do their job, so that an account’s reach is never wider than it needs to be.
The widest console. Creates resellers and direct tenants; manages the shared carrier Connectors and the SBC; sets platform security policy; runs the Wholesale Meter. Sees every reseller, tenant, number, extension and call record. Reserve this tier for B’Yond operations only.
A scoped, white-label control plane. Creates and manages its own tenants, sets branding and wholesale pricing, and may bring its own carrier trunk. Never sees another reseller’s tenants and cannot touch platform-wide Connectors or the SBC.
The customer’s own administration, bounded to one tenant. Manages numbers, extensions and devices, ring groups, auto-attendants, conferences and voicemail boxes — everything in §4.1’s “owns/sees” column — but only within its tenant.
No operator console at all. Self-serves their own line at my.byondvoice.com — voicemail, devices, call handling — and uses the softphone at my.byondvoice.com/phone. Cannot see another colleague’s line.
When you are unsure which tier a task belongs to, this matrix is the quick reference. “Own” means within the caller’s own scope only.
| Capability | Platform | Reseller | Tenant admin | User |
|---|---|---|---|---|
| Create resellers | ✓ | — | — | — |
| Create tenants | ✓ (any) | ✓ (own) | — | — |
| Manage carrier Connectors / SBC | ✓ | own trunk | — | — |
| Create extensions & SIP devices | ✓ | — | ✓ (own tenant) | — |
| Build ring groups / auto-attendants | ✓ | — | ✓ (own tenant) | — |
| Set a voicemail / conference PIN | ✓ | — | ✓ (own tenant) | own mailbox |
| Edit own call-handling & devices | ✓ | — | ✓ (own tenant) | ✓ (own line) |
| Run the Wholesale Meter | ✓ | view own | — | — |
Two operational habits keep the access model tight. First, prefer the narrowest tier: a customer’s receptionist who only manages their own line should be an ordinary user, not a tenant admin; a partner’s onboarding staffer needs a reseller login, never a platform-admin one. Second, suspend rather than over-grant or delete: setting a tenant’s status to suspended blocks every login beneath it without destroying any configuration, and re-activating restores access instantly.
Status is inherited down the hierarchy. Suspending a reseller blocks that reseller’s operators and every tenant — and every user — beneath it. Suspending a tenant blocks its admin and all its extension owners. A suspended account cannot sign in no matter how correct its password. Use this to quarantine a partner or a customer in one move during a billing dispute or a security incident, then re-activate to restore everything exactly as it was.
In a sandbox, set Vela Logistics to suspended and try to sign in as a Vela user — confirm it is refused. Then re-activate and confirm the same user signs straight back in with no reconfiguration. Notice that nothing about Vela’s extensions, numbers or routing changed; only the gate did.
ByondVoice — Administrator & Operations ManualThe access model is not only about who may act — it is also about how ByondVoice handles the credentials those actors create. Two principles run through every screen that mints a secret, and they are deliberately different because the two kinds of secret are used differently.
A SIP device password and a device auto-provisioning URL must be transcribed into a phone or handed to a person, so the console shows each exactly once, at the moment it is created. It is encrypted at rest and never displayed again.
A voicemail PIN and a conference PIN are entered by the caller on a keypad, so the console never needs to display them. They are stored hashed — never shown, not even once — and can only be reset, never read back.
The dialog below appears the instant a tenant admin creates a SIP device under an extension. The generated password is shown once, with a copy control; close the dialog and it is gone for good.
Voicemail and conference PINs are stored as one-way hashes. No tier — not even the platform admin — can read a PIN back; the console offers only Set PIN / Reset PIN. If a user forgets their voicemail PIN, you set a new one; you can never tell them their old one, because the platform itself does not know it. This is the same principle as the reveal-once secret, taken to its limit: the credential is never displayed at all.
Alice Tan (ext 1001) can no longer retrieve voicemail by phone via *98. As tenant admin you open , find box 1001, and choose Reset PIN. You set a temporary PIN, tell Alice to change it on first use, and she retrieves messages again. At no point did anyone — including you — see the old PIN; it was unrecoverable by design, and the new one is hashed the moment you save it.
Whenever a ByondVoice screen mints a secret, ask which kind it is. If it is a SIP device password or a provisioning URL, it is reveal-once — copy it now. If it is a voicemail or conference PIN, it is never shown — your only lever is to set or reset it. These two rules cover every credential in the product and are the access model’s last line of defence (see §4.6 for the tier rules that decide who may pull these levers at all).
ByondVoice — Administrator & Operations ManualByondVoice is built to be sold under more than one brand. A reseller is a white-label partner that operates its own branded book of customers on top of the same platform you run — its own logo and colours, its own login domain, its own price book, and, when it wishes, its own carrier. This chapter explains the four-tier model (platform → reseller → tenant → users), how to create and brand a reseller, how to govern what it can do with entitlements and caps, how a reseller can bring its own carrier credentials, and exactly how the white-label flows down so that the partner's tenants and their staff never see the word “Byond”. Throughout we work a single running example — the reseller Nimbus Telecom and its customer Acme Corp — so you can follow every screen end to end.
ByondVoice has four tiers, nested like folders. At the top sits the platform — the cloud you operate, with one operator console at admin.byondvoice.com. Beneath it are resellers: independent partners who take the platform to market under their own brand. Each reseller owns a book of tenants (the end customers — businesses such as Acme Corp), and each tenant owns its users (the people with extensions, devices and voicemail). A reseller can see and manage only its own tenants; a tenant can see only its own users. The platform sees everything.
The point of a reseller is resale under another brand. Nimbus Telecom signs its own customers, prints its own invoices, answers its own support line, and presents a phone system that looks like a Nimbus product — yet every call still runs on your hosted ByondSwitch PBX behind your session border controller (see the architecture overview in Chapter 2). You wholesale capacity to Nimbus; Nimbus retails service to Acme. The Wholesale Meter (Revenue → Wholesale Meter in the admin console) is where you meter and bill that wholesale usage back to each reseller — see §5.6.
The infrastructure, the carrier(s) of last resort, the software, and the commercial relationship with each reseller. You create resellers, set their caps, and meter their wholesale usage. Reseller administration is a platform-tier function — it lives in the operator console, not in any reseller's own view.
Its brand (logo, colours, login domain), its price book to its tenants, its customer relationships and support, and — optionally — its own carrier credentials so its tenants' calls leave over a trunk Nimbus contracts directly (see §5.5). Within its caps, the reseller provisions tenants, numbers and extensions itself.
Creating a reseller, branding it, setting its entitlements and caps, attaching its carrier, and metering its wholesale usage are all platform-tier tasks performed in the operator console (admin.byondvoice.com) by a super-administrator. A reseller’s own staff do not see these controls; they work inside the scope you grant them. Throughout this chapter, screens marked platform are visible only to you.
ByondVoice — Administrator & Operations ManualEvery object in ByondVoice belongs to exactly one tier above it. Knowing which tier an action belongs to tells you who can perform it and who can see the result. The table below is the map you will return to throughout this chapter.
| Tier | Who operates it | Owns | Branded as | Sees |
|---|---|---|---|---|
| Platform | You (B’Yond / super-admin) | Resellers, infrastructure, carrier(s) | ByondVoice | Everything |
| Reseller | Partner staff (e.g. Nimbus Telecom) | Tenants, price book, optional carrier | The reseller’s own brand | Only its own tenants |
| Tenant | Customer admin (e.g. Acme Corp) | Users, extensions, numbers, routing | Inherited from reseller | Only its own users |
| User | The end user (e.g. Alice Tan) | One or more extensions & devices | Inherited from reseller | Only their own line |
White-label partners and the tenants they operate. Platform-tier only.
| Reseller | Login domain | Tenants | Carrier | Status |
|---|---|---|---|---|
| NNimbus Telecom | voice.nimbus.sg | 12 | own trunk | active |
| OOrbit Comms | phones.orbit.com | 9 | platform | active |
| PPeak Cloud | talk.peakcloud.io | 7 | own trunk | suspended |
ByondVoice — Administrator & Operations ManualCreating a reseller is the first step in onboarding a partner. You give it an identity, a primary contact, and an initial set of caps; branding (§5.3) and carrier (§5.5) follow. A reseller created here can sign in immediately at the platform login and begin adding tenants up to the caps you set.
The short code is woven into URLs, audit logs and meter records, so ByondVoice locks it once the reseller owns any tenant. Decide on a clean, brandable code (no spaces, A–Z and digits) at creation time. The display name, by contrast, can be edited freely later.
ByondVoice — Administrator & Operations ManualYou are bringing on a new partner. In you select New reseller and enter name Nimbus Telecom, short code NIMBUS, primary admin [email protected], plan Wholesale · Standard, region sg-south. You leave the login domain blank for now. On Create reseller, Nimbus appears in the list with 0 tenants and status active; [email protected] receives an invitation email. Nimbus’s administrator sets a password, signs in at the shared platform login, and sees an empty tenant book scoped to Nimbus only. You will brand the partner in §5.3 and set its caps in §5.4 before it provisions its first customer, Acme Corp.
A freshly created reseller is a real, sign-in-ready tenant container — but a bare one. Before it is ready to sell, you will normally complete three more things. The table records the state at each stage so you can hand a partner over confidently.
| Stage | Done in | State after |
|---|---|---|
| 1. Created | §5.2 | Reseller exists; primary admin invited; default caps from plan; rides platform carrier; unbranded (shared host). |
| 2. Branded | §5.3 | Logo, colours and verified login domain applied; tenants and softphone now show the partner brand. |
| 3. Entitled | §5.4 | Caps and feature entitlements set deliberately rather than left at plan defaults. |
| 4. Carrier (optional) | §5.5 | Partner’s own trunk attached so its tenants' PSTN traffic leaves over its carrier. |
Apply the partner’s brand (§5.3) before it creates its first tenant. Branding flows down automatically to tenants and their users, so a tenant created after branding is correct from birth — whereas tenants created on the shared host will simply re-skin to the new brand once the domain verifies, which can momentarily confuse early users.
Use a shared, monitored mailbox (e.g. [email protected]) rather than one person’s address for the primary admin. The invitation and all platform notices go there; if it belongs to someone who leaves the partner, recovery requires platform intervention.
ByondVoice — Administrator & Operations ManualWhite-labelling is what makes a reseller worth selling. The brand you set here replaces “ByondVoice” everywhere the reseller’s tenants and their users look: the login page, the user self-service portal at my.byondvoice.com, and the softphone PWA at my.byondvoice.com/phone — including the icon installed to a phone’s home screen. A brand has two parts: visual identity (logo, wordmark, colours) and a login domain (the verified host the partner’s users sign in on). Recall that the voice path itself is white-labelled at the edge (see Chapter 2), so SIP banners and provisioning URLs also carry the partner’s identity, not yours.
The identity the partner’s tenants and users see across portal and softphone.
ByondVoice — Administrator & Operations ManualA login domain is the partner-branded host on which its tenants’ users sign in (e.g. voice.nimbus.sg) instead of the shared my.byondvoice.com. ByondVoice serves the portal and softphone on the partner’s domain once it is verified and a certificate is issued.
On the Nimbus Branding screen you set display name Nimbus Voice, wordmark suffix Voice, primary #1E6FE0, accent #0BC5C5, and upload nimbus-logo.svg plus a 512×512 icon. You enter login domain voice.nimbus.sg; Nimbus adds the CNAME to brand.byondvoice.com; verification flips to verified. You select Save brand. Now when Acme Corp’s Alice Tan opens voice.nimbus.sg, she sees a Nimbus Voice login, a Nimbus-blue portal, and — when she installs the softphone — a Nimbus icon on her home screen. Nowhere does “Byond” appear.
Changing or removing a verified login domain immediately stops serving the portal and softphone on the old host. Any user with the old URL bookmarked — or with the softphone PWA installed from it — must move to the new domain. Coordinate a domain change with the partner and announce it to end users first.
ByondVoice — Administrator & Operations ManualWithin its brand, a reseller provisions its own tenants, numbers and extensions. Entitlements decide which features a reseller may switch on for its tenants; caps decide how much it may consume. Together they let you wholesale capacity safely: you sell Nimbus, say, 200 extensions and 10 concurrent PSTN channels, and the platform enforces those ceilings no matter how Nimbus distributes them across its tenants. Caps protect your infrastructure and your commercials; entitlements protect feature tiers (so a basic wholesale plan cannot quietly enable a premium feature).
Ceilings on consumption and the features the partner may enable for its tenants.
ByondVoice — Administrator & Operations ManualThese are the ceilings the platform enforces on every reseller. Each is counted across all of the partner’s tenants combined; a reseller may sub-allocate freely beneath the ceiling but can never exceed it.
| Cap | Counts | Enforced when | Example |
|---|---|---|---|
| Tenants | Customer organisations under the reseller | Partner creates a new tenant | 12 / 25 |
| Extensions | All extensions across all the partner’s tenants | An extension is provisioned | 148 / 200 |
| DID numbers | All numbers held, pool or BYO carrier | A number is assigned/ported in | 22 / 50 |
| Concurrent PSTN | Simultaneous external (trunk) calls | An outbound/inbound call would exceed it | 6 / 10 |
| Conference rooms | Conference bridges across tenants | A room is created | 9 / 20 |
Internal calling, extensions-to-extension, ring groups, voicemail and call handling all work without a carrier and do not consume the concurrent-PSTN cap; only calls that leave over a trunk do. This is why a small concurrent-PSTN cap is usually sufficient even for a partner with many extensions.
Setting a reseller’s status to suspended is the platform’s commercial brake — typically for non-payment. Suspension freezes provisioning and new outbound for the partner and every tenant beneath it; calls already connected are not cut. Inbound delivery and outbound PSTN are blocked until you reactivate. Use it deliberately and reverse it the moment the reason is resolved.
Nimbus is at 148 / 200 extensions and lands a new customer needing 70 seats. Its “new extension” action will stop at 200. On the Nimbus Entitlements & caps screen you raise the extension cap to 300, leave the concurrent-PSTN cap at 10 (the new customer is internal-heavy), and select Save limits. Nimbus can now provision the seats immediately; the Wholesale Meter (§5.6) will reflect the higher consumption on the next run.
You may set a cap below the partner’s current consumption (e.g. drop extensions to 100 while 148 are in use). Existing objects keep working, but the partner cannot create any more of that resource until usage falls below the new ceiling. Lower caps to stop growth, not to force a partner offline — for that, suspend (§5.4.2).
ByondVoice — Administrator & Operations ManualA reseller may already have a wholesale voice contract with a carrier, or may need numbers in a country your platform carrier does not cover. Bring-your-own (BYO) carrier lets a partner attach its own SIP trunk so that its tenants’ external calls leave over the partner’s carrier and bill to the partner’s carrier account — while everything else (PBX, routing, softphone, branding) stays on ByondVoice. The connection is configured the same way as any carrier in , but the connector is owned by the reseller rather than the platform, so it serves only that partner’s tenants.
Remember the carrier gate: outbound PSTN, inbound DID delivery, and reaching an auto-attendant from an external number are all available only when a carrier is connected. Internal calling works regardless. For a BYO-carrier partner, that carrier is the one that lights up PSTN for all of its tenants.
ByondVoice — Administrator & Operations ManualNimbus has a wholesale deal with its own carrier and wants Singapore numbers in the +65 3159 range. With BYO carrier entitled, you create a connector owned by NIMBUS, type Generic SIP trunk, host sip.nimbuscarrier.net, username nimbus_trunk_01, secret (entered once, then masked), prefix +65 3159. Test trunk returns reachable; you Save & sync. You then assign DID +65 3159 0010 to Acme Corp from the Numbers screen. When Acme’s Alice Tan (ext 1001) dials an outside line, the call leaves over Nimbus’s carrier and presents +65 3159 0010 — billed to Nimbus’s carrier account, on Nimbus’s number range.
| Platform carrier | Reseller (BYO) carrier | |
|---|---|---|
| Owned by | You (platform) | The reseller |
| Serves | Resellers without their own carrier | Only that reseller’s tenants |
| PSTN billing | Your carrier account → metered to reseller | The reseller’s own carrier account |
| Numbers | From your DID pool | The partner’s own DID range |
| Configured in | Carrier › Connectors (owner = platform) | Carrier › Connectors (owner = reseller) |
Carrier auth secrets, like SIP device secrets, are encrypted at rest and are not shown again after you save. If a partner rotates its trunk password, re-enter the new secret here and Save & sync; do not expect to read the old value back. Keep the partner’s carrier credentials in the partner’s own secret store as the system of record.
ByondVoice — Administrator & Operations ManualThe power of the reseller model is that you configure the brand and carrier once, at the reseller tier, and they cascade automatically to every tenant beneath — and to every user beneath each tenant — with no per-tenant re-skinning. This section traces exactly what each layer inherits, and where the inheritance can be overridden.
| What flows down | Set at | Tenant inherits | User sees |
|---|---|---|---|
| Logo, colours, wordmark | Reseller (§5.3) | Automatically | Branded portal & softphone |
| Login domain | Reseller (§5.3.2) | Automatically | Signs in on partner domain |
| Softphone home-screen icon | Reseller (§5.3) | Automatically | Partner icon on home screen |
| Carrier / outbound route | Reseller (§5.5) | Automatically | Calls leave on partner trunk |
| Feature availability | Reseller entitlements (§5.4) | Within entitlement | Only entitled features appear |
| Outbound caller-ID | Reseller default; tenant/user may override | Default from prefix | User can set own caller-ID |
So when Nimbus’s administrator creates the tenant Acme Corp, Acme is born Nimbus-branded: its admin and its users sign in at voice.nimbus.sg, see Nimbus colours, and place outbound calls over Nimbus’s carrier — without Nimbus touching a single branding field on the tenant. The user portal (§ user-manual) and the softphone PWA pick up the partner brand from the domain they are served on. The one thing a user still controls is their own outbound caller-ID, chosen from the numbers their tenant holds (subject to the partner’s authorised range).
An Acme employee never encounters “ByondVoice”. The login, the portal header, the softphone splash, the installed app icon, the SIP banner the device registers with, and the email that delivers a voicemail all carry Nimbus’s brand. This is by design: the partner’s customers should believe they bought a Nimbus product.
ByondVoice — Administrator & Operations ManualBranding and carrier flow down; cost flows back up. The Wholesale Meter (Revenue → Wholesale Meter) is the one revenue screen that lives in the admin console and that this chapter touches: it sums each reseller’s consumption — extensions, numbers, and metered call usage on the platform carrier — so you can preview and run the platform-to-reseller bill. A BYO-carrier partner’s PSTN minutes bill to its own carrier, so the meter for that partner reflects platform service (seats, numbers, features) rather than call minutes you carried.
Platform-to-reseller usage for the current cycle. Preview, then run.
| Reseller | Extensions | Numbers | PSTN min | Amount |
|---|---|---|---|---|
| NNimbus Telecom | 148 | 22 | own carrier | $2,310 |
| OOrbit Comms | 96 | 31 | 4,120 | $2,980 |
| PPeak Cloud | 61 | 14 | own carrier | $1,120 |
ByondVoice — Administrator & Operations ManualThe mechanics of creating, branding, capping and metering a reseller are straightforward; operating a healthy partner over time is where judgement pays. The practices below come from running multi-tenant voice at scale.
Set the concurrent-PSTN cap from real trunk capacity and the partner’s busy-hour, not from its seat count. Most extensions are internal-heavy; over-provisioning PSTN channels wastes trunk capacity you could sell elsewhere.
Finish §5.3 — including a verified domain — before the partner signs its first customer, so every tenant is born correct. Re-skinning live tenants works but unsettles early users.
Always run Test trunk and place a live outbound + inbound test on a BYO carrier before handing it over. A silent trunk misconfiguration surfaces as “no outside calls” for every tenant at once.
For non-payment, suspend (§5.4.2) — it is instantly reversible and preserves numbers, recordings and configuration. Deleting a reseller is destructive and releases its numbers; reserve it for genuine offboarding.
| # | Step | Screen | Done when |
|---|---|---|---|
| 1 | Create the reseller | Tenancy › Resellers | Status active, admin invited |
| 2 | Apply visual identity | Reseller › Branding | Logo, colours, icon saved |
| 3 | Verify login domain | Reseller › Branding | verified + TLS issued |
| 4 | Set caps & entitlements | Reseller › Entitlements | Limits deliberate, not defaults |
| 5 | Attach carrier (if BYO) | Carrier › Connectors | Test trunk reachable, synced |
| 6 | Confirm meter rates | Revenue › Wholesale Meter | Preview matches the wholesale plan |
In a non-production environment, onboard a throwaway reseller end to end: create Test Partner (short code TESTP), brand it with placeholder colours and a sandbox domain, set a tiny extension cap of 3, create one tenant and one extension, then watch the cap block a fourth. Finally suspend the partner and confirm the tenant’s outbound is frozen while an internal extension-to-extension call still connects. This single drill exercises every concept in this chapter.
With the partner onboarded, its administrator now provisions tenants, numbers and extensions inside the scope you granted. Those day-to-day tasks — Numbers, Extensions & Devices, Ring Groups, Auto-Attendants and the rest — are the subject of the following chapters; the reseller simply performs them under its own brand, within the caps set here.
ByondVoice — Administrator & Operations ManualA tenant is a single customer organisation living on ByondVoice — the container that owns that customer’s extensions, phone numbers, voicemail boxes and call routing. Everything you provision in the rest of this manual is provisioned inside a tenant, so the tenant is the unit you create first and the boundary that keeps one customer’s telephony entirely separate from the next. This chapter shows you how to create a tenant and its owner login in one step, how to set its licensed limits (extensions, devices, numbers, concurrent calls), how to drive the tenant scope selector that the whole console pivots around, and how to suspend, reactivate and — only when you must — delete a tenant. A single worked example threads through it: onboarding a new customer, Acme Corp, from an empty record to a working hosted PBX.
In the ByondVoice hierarchy — platform → reseller → tenant → users — the tenant is the level at which telephony actually happens. The platform and a reseller exist to sell and govern; the tenant is where calls ring. A tenant either sits beneath a reseller (a white-label account) or directly beneath the platform (a direct customer, with no reseller above it). Either way it is a sealed namespace: extension 1001 in Acme Corp is a completely different line from extension 1001 in any other tenant, and no user in one tenant can ever see, dial-by-management or report on another tenant’s records.
Concretely, a tenant owns the following objects. Each is created and managed inside the tenant’s scope, and each counts against that tenant’s licence (see §6.3):
The internal numbers users dial and the desk phones, softphones and ATAs that register to them. The bread and butter of the hosted PBX — covered in Chapter 07.
The external numbers a carrier delivers to the tenant. Drawn from the platform number pool and assigned per-tenant in .
One per extension by default, plus standalone boxes. PINs are hashed; messages surface as visual voicemail and as voicemail-to-email.
Ring groups, auto-attendants (IVR) and conference rooms — the logic that decides where an inbound call lands and how it hunts for an answer.
A tenant also owns its people: a primary owner login (a tenant-type user, created with the tenant itself), plus the everyday users who each manage their own line through the self-service portal at my.byondvoice.com. Creating the tenant therefore does two jobs at once — it builds the container and it bootstraps the first login that can administer it.
Extensions, ring groups, voicemail and call handling are fully functional inside a tenant the moment it exists — no carrier required. A carrier connector (§Carrier) is only needed for the carrier-gated paths: outbound PSTN calling, inbound delivery to a DID, and reaching an auto-attendant from an external number. A brand-new tenant can place internal calls (1001 → 1002), run the echo test (9196) and leave voicemail on day one.
ByondVoice — Administrator & Operations ManualEvery tenant on the platform is listed under . This is the operator’s home base for customer accounts: a searchable, filterable table with a live count, the owning reseller, the licence headline and the current status of each tenant. From here you create a new tenant, open one to configure it, or change its status. The figure below reproduces the screen with the key elements numbered.
Every customer running a hosted PBX on ByondVoice. Click a row to configure, license or suspend.
| Tenant | Reseller | Extensions | Numbers | Status | |
|---|---|---|---|---|---|
| ACAcme Corpacme | Nimbus Telecom | 2 / 25 | 1 / 5 | active | Open › |
| NBNorthwind Banknorthwind | Direct | 38 / 50 | 4 / 10 | active | Open › |
| OTOrbit Travelorbit | Nimbus Telecom | 7 / 10 | 1 / 3 | suspended | Open › |
The Extensions and Numbers columns show consumption against the licence, e.g. 2 / 25. When the first number nears the second the tenant is running out of headroom — raise the cap in the licence panel (§6.3) before the customer hits the wall, rather than after a failed provisioning attempt.
ByondVoice — Administrator & Operations ManualCreating a tenant is a single dialog that produces two records at once: the tenant container and its owner login — a tenant-type user who can administer the account and create the first extensions. You supply the customer’s identity, a unique slug, an owner email and an initial password; ByondVoice does the rest. The dialog is reached from + New tenant on the Tenants screen.
tenant-type owner login from the owner email + owner password — one action, two records.tenant user.tenant-type owner login in one step.The slug becomes the tenant’s machine identity and is woven into the owner login and internal references, so it cannot be changed after creation. The display name, by contrast, is purely cosmetic and can be edited any time. If a customer rebrands, edit the display name and leave the slug alone; only a delete-and-recreate would change a slug, and that destroys all the tenant’s telephony.
ByondVoice — Administrator & Operations ManualWorked examples run a procedure end-to-end with realistic values so you see the result, not just the steps. Here is the creation of our running customer, Acme Corp, a 20-person company being resold by the partner Nimbus Telecom.
Nimbus Telecom has sold Acme Corp a hosted-PBX plan: up to 25 extensions, 5 numbers and 8 concurrent calls. As the platform operator you provision the tenant.
Acme Corp, slug acme, owner email [email protected] and a policy-compliant password.Nimbus Telecom and leave the dial prefix blank — Nimbus’ trunk needs no prefix.tenant-type owner login [email protected] in one step. The new row appears with the status active and a licence headline of 0 / 25 extensions.Result: a live, isolated tenant ready for extensions. Had you reused an existing slug, creation would have failed with “slug already in use”; had the owner password been too weak, it would have been refused by the password policy before any record was written.
The fields you set on a tenant, what they mean, and whether they can be changed later:
| Field | Meaning | Editable later? |
|---|---|---|
| Display name | The human-readable customer name shown across the console and to the tenant’s users. | Yes |
| Slug (handle) | Globally unique, lower-case machine identity; part of the owner login and internal references. | No — fixed at creation |
| Owner email | The first login for the tenant; a tenant-type user created with the tenant. | Yes (via the owner’s profile) |
| Owner password | The owner’s initial password; must satisfy the platform password policy. | Yes (owner can change it) |
| Reseller | The owning white-label partner, or Direct for a platform-direct customer. | Operator only — change with care |
| Dial prefix | Optional leading string prepended to outbound calls when the carrier requires it. | Yes |
| Status | active or suspended; a suspended tenant cannot sign in or place calls. | Yes (§6.5) |
The login created with the tenant is its owner — it can administer the account. The ordinary people who answer phones are separate users, each tied to one or more extensions and each scoped strictly to their own line in the self-service portal. A user’s username need only be unique within its tenant: two different tenants can both have a reception user without collision.
ByondVoice — Administrator & Operations ManualA tenant’s licence is the set of caps that decide how much telephony it may consume: how many extensions and SIP devices it can provision, how many numbers it can hold, and — the one that maps directly to carrier capacity — how many concurrent calls it may run at once. Open a tenant and the licence panel slides out; this is where you set those caps and the per-tenant capability toggles. The caps are enforced live: the platform combines the stored cap with a running count, so raising a cap takes effect immediately, with no re-provisioning.
0 means unlimited (shown as ∞ elsewhere), not none.CURRENTLY: ENABLED/DISABLED.
ByondVoice — Administrator & Operations Manual| Cap | What it limits | 0 means |
|---|---|---|
| Max extensions | Internal numbers (and therefore lines) the tenant can create. | Unlimited |
| Max SIP devices | Registering endpoints across all extensions — desk phones, softphones, ATAs. | Unlimited |
| Max numbers (DIDs) | External numbers the tenant may hold from the platform pool. | Unlimited |
| Max concurrent calls | Simultaneous channels in use; the ceiling that must align with carrier capacity. | Unlimited (bounded by carrier) |
Max concurrent calls is a licence cap, not a guarantee of capacity. If you set it to 20 but the carrier connector behind the tenant only delivers, say, 8 simultaneous channels, callers will still be turned away at the carrier once those 8 are busy — the licence number simply lets the tenant attempt more. Keep the cap aligned with the real trunk capacity, and raise both together when the customer scales.
When a tenant tries to add an extension beyond Max extensions, the platform rejects it — “extension limit reached for this tenant.” The check combines the stored cap with a live count, so the moment you raise the cap here the next attempt succeeds. There is no need to re-provision anything or wait for a sync.
Acme Corp has filled all 25 extensions and asks for 10 more lines and a second number range.
25 to 35 and Max numbers from 5 to 8, and select Save licence.8 to 12 after confirming with Nimbus that the trunk can carry it.Result: headroom restored in seconds; the live-count enforcement means the new ceiling applies on the very next attempt.
ByondVoice — Administrator & Operations ManualMost ByondVoice screens — Extensions & Devices, Voicemail, Ring Groups, Auto-Attendants, Conferences — operate on one tenant at a time. The tenant scope selector is the control that decides which one. It lives in the breadcrumb of every PBX screen: the part of the subtitle that reads tenant Acme Corp. Set the scope and the whole console pivots — the tables, the counts in the navigation rail, the KPIs and the New extension action all now refer to that tenant. There is no way to provision an extension “in the wrong tenant” by accident, because every create action inherits the current scope.
You are working inside Acme Corp. Counts, tables and actions all refer to this tenant.
| Ext | Name | Devices | Status |
|---|---|---|---|
| 1001 | Alice Tan | 1 | registered |
| 1002 | Ben Ong | 1 | idle |
Because the scope is sticky, it is entirely possible to open the console intending to edit one customer and act on another. Provisioning, editing or — worst of all — deleting in the wrong tenant affects the wrong customer’s live phones. Make reading the tenant … breadcrumb a reflex before any create, edit or delete, exactly as you check the ENV: PROD chip.
ByondVoice — Administrator & Operations ManualA tenant has a lifecycle beyond creation. Day-to-day you will suspend a customer (for non-payment, abuse or at the customer’s request) and later reactivate them — both non-destructive, fully reversible status changes. Far more rarely you will delete a tenant, which permanently removes it and everything it owns. The golden rule: suspend first, delete almost never.
Setting a tenant’s status to suspended blocks every login in that tenant and stops it placing or receiving calls — but it keeps every extension, number, voicemail and routing rule intact. Reactivating restores service exactly as it was. Nothing is lost; this is the right tool for billing disputes, suspected compromise, or a customer pausing service.
Suspension is a status flag, not a teardown. It prevents sign-in and call routing for the whole tenant, but preserves all data and releases nothing. Numbers stay assigned to the tenant (and may continue to incur carrier rental); extensions and voicemail are untouched. To free up numbers for another customer you must explicitly release them in — suspension alone does not.
Deleting a tenant removes the tenant and all of its extensions, SIP devices, voicemail boxes, ring groups, auto-attendants, conferences and users. It cannot be undone. Reserve it for genuinely finished accounts, and only after you have released the tenant’s numbers and exported anything the customer is owed. The console requires you to type the tenant’s slug to confirm, precisely because the action is so final.
2 extensions, 1 number, 2 voicemail boxes, 1 ring group and 3 users will be destroyed. This cannot be undone.
There is no recycle bin. Deleting a tenant cascades to every extension, device, number assignment, voicemail box and user it owns, and cannot be reversed. If you are not certain the account is finished and its numbers and data have been handled, suspend instead. Recreating the tenant later gives you a fresh, empty record — never the old one back.
In a non-production environment: (1) create a throwaway tenant Sandbox Co with slug sandboxco and a 5-extension cap; (2) open it and raise the cap to 10, then save and confirm the headline shows 0 / 10; (3) switch the scope to it and create extension 1001 “Test User”; (4) suspend the tenant, confirm a sign-in is refused, then reactivate; (5) finally delete it — read the object count, type sandboxco to confirm, and verify it disappears from the Tenants list. You will have rehearsed every operation in this chapter end to end.
ByondVoice — Administrator & Operations ManualTwo things in ByondVoice are easy to confuse but must be kept apart: a user — a person who signs in, with a password, a mailbox of permissions, and optionally a second authentication factor — and an extension — a phone identity that rings, registers a device, and carries call-handling rules. A user is who you are; an extension is where you can be reached. This chapter explains the distinction precisely, shows how the two are linked (and why a user may hold more than one extension, or none at all), walks through per-user security — passwords, multi-factor authentication and the email one-time-code — and explains how the user record gates the self-service portal at my.byondvoice.com. It closes with a complete, end-to-end provisioning of a new user for the tenant Acme Corp, from creating the login to handing over the softphone.
Every other chapter in this manual leans on the four-level hierarchy — platform → reseller → tenant → users (see § 1.2). The user is the leaf of that tree: a real person inside a tenant who needs to log in. The extension, introduced in the previous chapter as the unit you provision under , is a telephony object — a short internal number (such as 1001) that other people dial, that one or more SIP devices register to, and that owns its own voicemail box and call-handling rules.
Keeping them separate is what lets ByondVoice model the real world. A salesperson is one user but may answer two extensions (a personal line and a shared sales line). A lobby phone is an extension with no user at all — nobody signs in to a portal for it. A manager on leave is still a user, even though their extension is forwarded elsewhere. The platform never assumes a one-to-one mapping; it stores the link explicitly, and you manage it deliberately.
| Aspect | User (the person) | Extension (the phone identity) |
|---|---|---|
| What it is | A login: a human who authenticates to the portal or softphone. | A dialable number with voicemail, devices and call-handling rules. |
| Identified by | A username (unique within the tenant) and/or an email address. | An extension_number, 3–5 digits, unique within the tenant. |
| Credential | A password (hashed), plus optional MFA / email one-time-code. | A SIP device secret (encrypted, reveal-once) per registered device. |
| Where it is managed | in the admin console. | . |
| What the owner controls | Their portal profile, password and security; their line settings (for linked extensions). | Forwarding, DND, voicemail behaviour — surfaced to the linked user’s portal. |
| Can exist alone? | Yes — an admin user may have no extension at all. | Yes — a lobby or hotline extension may have no user. |
| Cardinality | One user → zero, one or many extensions. | One extension → zero or one primary user (plus shared access). |
If the thing has a password, it is a user. If it has a SIP secret and a ring, it is an extension. Voicemail PINs and conference PINs belong to extensions and rooms respectively — not to the user’s login — which is why resetting a forgotten portal password never touches a mailbox PIN, and vice-versa.
ByondVoice — Administrator & Operations ManualThe separation is not academic — it changes how you carry out everyday tasks. Four scenarios show why you should think in terms of users and extensions rather than treating them as one thing.
A team lead answers her own line 1001 and also picks up the shared sales line 1050. She is a single user with two linked extensions; her softphone shows both identities and she can place a call as either.
A warehouse wall phone rings on 1090 but nobody logs in to a portal for it. You provision the extension and a SIP device, and never create a user — there is no person to give a password to.
A new hire needs portal access on day one to read shared voicemail and conference details, but their desk phone arrives next week. Create the user now; link an extension when the hardware lands.
An employee leaves; a replacement starts. You disable the user (revoking login) but keep the extension and its number, then link it to the new user — the desk number never changes, only who owns it.
One person (a user) can answer several phone identities (extensions); some extensions answer to no person at all.
| Ext | Owner (user) | Kind |
|---|---|---|
| 1001 | Alice Tan | personal |
| 1050 | Alice Tan + 2 | shared |
| 1090 | — none — | lobby |
When a person needs both a login and a phone, create (or identify) the extension first, then create the user and link it. The create-user dialog lets you attach an existing extension in the same step, so working in this order means one fewer round-trip. The full end-to-end flow is in § 7.6.
ByondVoice — Administrator & Operations ManualUsers for a tenant are managed under . The screen lists every person who can sign in to that tenant’s portal or softphone, the extension(s) each one is linked to, the state of their login, and whether they have a second authentication factor enabled. It is the home base for the rest of this chapter: every procedure starts here.
The people who sign in to this tenant’s portal and softphone, and the extensions they answer.
| Name | Username | Extensions | Security | Status |
|---|---|---|---|---|
| ATAlice Tan | alice.tan | 1001, 1050 | email OTP | active |
| BOBen Ong | ben.ong | 1002 | password only | active |
| CLCarmen Lim | carmen.lim | — | authenticator | active |
| DRDev Rao | dev.rao | 1004 | password only | disabled |
ByondVoice — Administrator & Operations ManualEach column on the Users screen answers a question you will ask repeatedly during support and audit. Memorise the meaning of the two badge columns — Security and Status — because together they tell you, in one glance, whether a person can sign in and how strongly they are protected.
| Column | What it tells you | Acts on |
|---|---|---|
| Name | The person’s display name, shown on the portal, the softphone and outbound caller-ID where configured. | User |
| Username | The login handle. Unique within the tenant — two tenants may both have support without collision. | User |
| Extensions | The phone identities this person answers. A dash means an unlinked user (portal access but no line yet). | Link |
| Security | The strongest second factor in force: none (password only), email one-time-code, or an authenticator app. | User |
| Status | Active = can sign in. Disabled = login revoked, record kept. Invited = created, password not yet set. | User |
A user’s username only has to be unique inside its own tenant; the platform keys on the (tenant, username) pair. Plan a consistent convention — first.last is recommended — so the roster stays legible as it grows and so you never have to disambiguate two “ben”s.
Setting a user to Disabled immediately revokes their ability to sign in and ends any live portal session, but it does not remove the record or unlink the extension — the desk number keeps working and can still be answered by a SIP device or re-assigned. Reserve hard deletion for users created in error; for departures, disable, then re-link the extension to the replacement (see § 7.5).
The With MFA versus Users ratio is your security posture in a single fraction. A non-zero Unlinked count is fine for admins and new starters but worth reviewing — an unlinked user who should have a phone is usually an unfinished provisioning job from § 7.6.
ByondVoice — Administrator & Operations ManualThe link between a user and an extension is what makes the self-service portal useful: when Alice signs in, the portal shows her line because her user record points at extension 1001. You manage links from the user’s detail drawer. A user may hold a single primary extension, several extensions (with one marked primary for outbound caller-ID and voicemail defaults), or none.
| Ext | Label | Role | |
|---|---|---|---|
| 1001 | Alice Tan | primary | Unlink |
| 1050 | Sales (shared) | secondary | Make primary |
ByondVoice — Administrator & Operations ManualThe primary link is more than a label. It decides three defaults for the user, so choose it deliberately and revisit it when roles change.
| Setting | Driven by | Notes |
|---|---|---|
| Default outbound caller-ID | Primary extension | The number shown to the called party when the user dials out (carrier-gated for PSTN). Overridable per-call on the softphone. |
| First voicemail box | Primary extension | The mailbox the portal opens by default under . |
| Self-service line settings | All linked extensions | The user can edit call-handling and devices for every extension linked to them, primary or secondary. |
| Shared answering | Secondary (shared) links | Several users may link the same shared extension; all of them can answer it and place calls as it. |
Alice Tan’s personal line is 1001; the shared Sales line is 1050. You open → Alice Tan → Extensions, link 1050 as a secondary, and keep 1001 primary. From now on Alice’s softphone offers an identity switcher: outbound calls go out as 1001 by default, but she can pick Sales 1050 per call. Two colleagues are also linked to 1050, so any of the three answers it — exactly the behaviour the sales desk wants without giving the line to one person.
A shared extension linked to several users and a ring group (see § Call Routing) solve different problems. A shared extension is one number several people can place and answer calls on; a ring group is a pilot number (e.g. 6000 “Sales”) that distributes an incoming call across members’ own extensions by a strategy. Use a shared extension for a single identity; a ring group for a hunt.
On a test tenant, create extension 1050 with label Sales, then link it as a secondary to two users. Sign in to each user’s portal and confirm both see 1050 under and can edit its call-handling. Then place a test internal call to 1050 and watch both softphones ring.
ByondVoice — Administrator & Operations ManualEach user carries their own credentials, independent of every other user and of the SIP secrets on their devices. There are two layers: the password (always present, stored hashed — never recoverable, only resettable) and an optional second factor — either an authenticator app (a time-based one-time code, TOTP) or an email one-time-code sent at sign-in. This section covers what you, the administrator, control from the console; the user manages the same settings for themselves from the portal (see § 7.5).
ByondVoice stores passwords hashed and there is no screen, anywhere, that reveals one. If a user is locked out, your only tools are Send reset link and Set temporary password. Anyone who claims they can “look up” a user’s password is either mistaken or attempting social engineering — treat it as a red flag.
ByondVoice — Administrator & Operations ManualBoth factors satisfy the same goal — proving the person holds something beyond their password — but they differ in strength, dependencies and who turns them on. Choose per the user’s role and equipment.
| Email one-time-code | Authenticator app (TOTP) | |
|---|---|---|
| How it works | A 6-digit code is emailed at sign-in; the user types it after their password. | An app (Google Authenticator, 1Password, etc.) shows a rotating 6-digit code seeded by a shared secret. |
| Strength | Good — resists stolen-password attacks. | Stronger — the code is generated offline; no message in transit to intercept. |
| Dependency | The user must be able to receive email at sign-in. | The user must have their enrolled device to hand. |
| Turned on by | Admin (this drawer) or the user from their portal. | The user, from their portal — the secret is shown reveal-once to them. |
| Best for | Fast roll-out, users without a smartphone, contractors. | Privileged users; anyone with sensitive call-handling or admin reach. |
Carmen Lim replaced her phone and can no longer produce her authenticator code. Her manager raises a verified ticket. You open → Carmen Lim → Security, clear the stale TOTP enrolment, and toggle Require second factor on so she falls back to the email one-time-code. Carmen signs in with her password plus the emailed code, then re-enrols her new phone from her own portal (§ 7.5). Her account is never left without a second factor.
For any user who can administer telephony or reach sensitive call recordings, never leave the account on password only after a reset. If you must clear a lost factor to restore access, switch them to email one-time-code in the same action — do not save the drawer with both factors off.
ByondVoice — Administrator & Operations ManualEverything a user record holds — its password, its second factor, the extensions linked to it — comes together at the self-service portal, my.byondvoice.com, and the softphone at my.byondvoice.com/phone. The portal is the user-facing mirror of the work you do in the admin console: the user signs in with the credentials on their user record and sees only the extension(s) linked to them. This is enforced strictly — a user’s portal API is scoped to their own extensions, so one person can never read or change another’s line.
Your extensions, devices and registration state — plus your profile and security.
ByondVoice — Administrator & Operations ManualThe portal and the admin console act on the same underlying records, so it helps to be clear about who owns which setting. As a rule: the user owns their personal security and their line’s day-to-day behaviour; the administrator owns the records’ existence, the links between them, and the SIP device secrets.
| Setting | User (portal) | Admin (console) |
|---|---|---|
| Change own password | yes | reset only |
| Enrol / remove authenticator | yes | view state; clear if lost |
| Email one-time-code on/off | yes | yes |
| Default outbound caller-ID | yes (among linked) | sets primary |
| Call-handling & voicemail for linked lines | yes | yes |
| Create / disable the user | no | yes |
| Link / unlink extensions | no | yes |
| Reveal SIP device secret | no | reveal-once at creation |
A user’s portal can only ever see and change extensions linked to their user record. There is no “view another colleague’s line” in the portal; that is an admin-console capability. This isolation is the same model that protects tenants from one another (see § 1.2) applied one level down, at the person.
Because users can reset their own password, enrol an authenticator and edit their own call-handling, you can keep the admin team small. Point new users at my.byondvoice.com on day one and reserve console intervention for the things only an admin can do — creating records, linking extensions and revealing device secrets.
If you create a user but link no extension, their portal signs in successfully but shows no numbers and the softphone cannot register an identity. That is expected for admin-only or pre-start accounts — but if the user expected a phone, finish the link from § 7.3 before they call support.
ByondVoice — Administrator & Operations ManualThis is the chapter’s capstone: a complete walk-through that creates a brand-new person on the tenant Acme Corp, links them to an extension, sets their security, and hands over the softphone — turning every concept above into one continuous procedure. We will onboard Priya Nair, a new account manager, on extension 1006.
first.last convention and must be unique within Acme Corp; the focus ring marks the field being edited.
ByondVoice — Administrator & Operations ManualWith the user and extension in place, the last mile is giving Priya something that rings. She can use the browser softphone immediately and, if she has a desk phone, register that to a SIP device on her extension.
You create priya.nair on Acme Corp linked to a fresh 1006, send the invitation, and arm the email one-time-code. Priya gets the email, sets her password, and opens my.byondvoice.com/phone; she signs in, enters the emailed code, and installs the softphone. You ring 1006 from 1001 — her softphone rings and you hold a two-way call. She dials 9196 and hears her own echo. Finally she enrols her authenticator from the portal. Total elapsed: under ten minutes, and at no point did you see her password or her TOTP secret.
Always disable a departing user rather than deleting them. Deletion is irreversible and can orphan history; disabling preserves the audit trail and lets you cleanly re-assign the extension. Reserve deletion for accounts created in error.
On a test tenant, run the full loop: create a user with an inline-linked new extension and the email one-time-code armed; sign in to the softphone and ring the extension from another; then off-board by disabling the user and re-linking the extension to a second user. Confirm the number survives the hand-over and the disabled user can no longer sign in.
ByondVoice — Administrator & Operations ManualA number — a DID, or Direct Inward Dialling number — is an external, publicly diallable telephone number that a carrier delivers to ByondVoice, such as +65 3159 0010. Where an extension (Chapter 07) is the internal number a colleague dials, a DID is the number the outside world dials to reach the business. This chapter covers the supply side of that equation: the Numbers screen where the platform’s pool of stock numbers lives; how a number moves through its lifecycle — available → reserved → assigned → released; how to bulk-preload a batch of carrier stock so there is always inventory to hand out; how the write-only source configuration stores the carrier credentials that back the pool; and how an assigned number is mapped onto an extension or routing target so inbound calls actually ring. A single worked example threads through it: taking +65 3159 0010 from raw stock all the way to a ringing line on Acme Corp’s reception.
In the ByondVoice hierarchy — platform → reseller → tenant → users — numbers are a platform resource that is handed down to tenants. The platform holds one shared number pool; each DID in that pool is either free stock or is assigned to exactly one tenant at a time. You manage the whole pool from in the admin console at admin.byondvoice.com. The pool is filled either by hand (one number at a time), by bulk preload (a batch of stock, see §8.5), or by sourcing numbers from a connected carrier through the source configuration (§8.6).
Every number carries three pieces of state that, together, tell you what it is for and whether it is in use:
The DID in international E.164 form, e.g. +6531590010. This is the immutable identity of the record; everything else hangs off it. The console displays it spaced for legibility (+65 3159 0010) but stores it canonically.
Either unassigned (free stock, owned only by the platform pool) or assigned to exactly one tenant — never two. Assignment is what draws the number from the shared pool into a single customer’s namespace and counts against that tenant’s number cap (§6.4).
Where the number sits in its life: available, reserved, assigned, or released. The status governs which actions are offered on the row (§8.2.1).
For an assigned number, the inbound target it rings: an extension, a ring group, an auto-attendant or a conference. Mapping the destination (§8.7) is what turns ownership into an actually-ringing line.
The distinction between ownership and routing is worth fixing early. Assigning a number to a tenant moves it into that customer’s account, but it does not yet make a phone ring — the number arrives unrouted. Until you point it at a destination, an inbound call to that DID has nowhere to land. The two steps are deliberately separate so you can stock a tenant with numbers ahead of deciding exactly where each should route.
Holding a number in ByondVoice is a piece of bookkeeping; delivering a real call to it from the public network requires a connected carrier. A DID becomes a working inbound line only once a carrier connector (§Carrier) actually routes that number to the platform. You can fully provision, assign and route a DID with no carrier attached — internal calling, voicemail and ring groups all work regardless — but external callers reach it only when the carrier is live. Treat number provisioning and carrier delivery as two halves of the same task.
ByondVoice — Administrator & Operations ManualThe pool lives under . This is the operator’s register of every DID the platform holds: a searchable, filterable table with KPI tiles across the top, a status filter, and a row per number showing its E.164 form, the owning tenant (if any), its routing destination and its lifecycle status. From here you preload stock, assign or reserve a number to a tenant, release one back to the pool, or open the source configuration. The figure below reproduces the screen with the key elements numbered.
The platform’s pool of external numbers. Preload stock, then assign, reserve or release per tenant.
| Number (DID) | Tenant | Routes to | Status | |
|---|---|---|---|---|
| +65 3159 0010 | Acme Corp | Ext 1001 · Alice Tan | assigned | Manage › |
| +65 3159 0011 | Acme Corp | RG 6000 · Sales | assigned | Manage › |
| +65 3159 0014 | Acme Corp · hold | — unrouted — | reserved | Manage › |
| +65 3159 0020 | — pool — | — | available | Manage › |
| +65 3159 0021 | — pool — | — | available | Manage › |
ByondVoice — Administrator & Operations ManualEvery DID in the pool is in exactly one status at any moment, and the status both describes the number’s situation and decides which actions the Manage menu offers. Understanding the four states — and the legal moves between them — is the key to running the pool cleanly. The normal life of a number is available → (reserved) → assigned → released → available; the parenthesised reserve step is optional.
| Status | What it means | Owned by | Actions offered |
|---|---|---|---|
| available | Free stock in the pool. Ready to be handed to any tenant. The KPI Available counts these. | Platform pool | Assign · Reserve · Remove from pool |
| reserved | Held for a named tenant but not yet live — earmarked so no one else takes it while a customer is being set up or a port is in flight. Cannot receive calls. | Earmarked to a tenant | Assign (confirm) · Release (un-reserve) |
| assigned | Owned by one tenant and live. Counts against that tenant’s number cap (§6.4) and can be routed to a destination (§8.7). | One tenant | Set routing · Re-assign · Release |
| released | Just handed back from a tenant. Returns to the pool as available after any cool-down; routing is cleared and ownership is dropped. | Platform pool (returning) | Re-assign · Remove from pool |
A reserved number is a promise, not a service. It is invisible to other tenants and cannot be re-stocked away from you, but it does not ring, does not consume the tenant’s live number cap the way an assigned number does, and carries no routing. Reservation exists so a number cannot be snatched while you arrange a port or finish onboarding; confirming the assignment is the separate act that makes it live (§8.4.2).
Assigning a number is instant only if there is free stock to assign. Sourcing or porting a new DID from a carrier can take hours or days. Keep the Available KPI comfortably above zero — a small buffer per number range — so a new tenant or a new line never has to wait on a carrier. The preload tool (§8.5) exists precisely to top this buffer up in one action.
ByondVoice — Administrator & Operations ManualThese three actions move a number through its lifecycle. Assigning draws an available number out of the pool and into a tenant; reserving earmarks one without making it live; releasing hands one back. All three are reached from Manage › on the number’s row, and all three respect the tenant’s number cap (§6.4) — you cannot assign a fourteenth number to a tenant licensed for ten.
An assigned number that you have not routed shows — unrouted — in the Routes to column, and an inbound call to it has nowhere to land. Assignment is ownership; routing is delivery. Either route in the assign dialog above, or follow §8.7 immediately afterwards — and remember that even a routed number only carries real external calls once a carrier delivers it (§8.1).
ByondVoice — Administrator & Operations ManualReservation holds a number for a named tenant while you arrange the rest — a port that has not completed, a customer who is signing but not yet onboarded, or simply a memorable number you want to protect from the next preload. A reserved number is invisible to other tenants and excluded from the available pool, but it does not ring and does not yet consume the tenant’s live cap. When you are ready, you confirm the reservation, which assigns it for real.
Releasing detaches a number from its tenant, clears its routing, and returns it to the pool. Use it when a customer gives up a number, when you suspend or delete a tenant (suspension does not auto-release — §6.6), or to un-reserve a hold. A released number frees a slot against the tenant’s cap and becomes available stock again.
Release clears the routing immediately, so the instant you release an in-use DID, inbound callers to that number stop reaching the business. If the customer still publishes that number, you have just dropped their calls. Confirm with the customer before releasing a published main line, and prefer re-assign (assign straight to the new tenant) over release-then-reassign when moving a number between customers — re-assign keeps the gap to a minimum.
Acme Corp’s new main reception line is to be the number +65 3159 0010, ringing reception extension 1001 “Alice Tan”. The DID is already free stock in the pool. As the platform operator you take it from available to a ringing line.
0010 and find +65 3159 0010 in status available.Acme Corp, set Route inbound to = Extension 1001 · Alice Tan, label it Reception main line and flip default caller-ID on.Result: one number taken from raw stock to a working, carrier-delivered reception line in a single dialog. Had Acme been at its 5 / 5 number cap, step 3 would have failed with “number limit reached for this tenant” until the cap was raised (§6.4).
ByondVoice — Administrator & Operations ManualWhen a carrier hands you a block of numbers — a contiguous range, or a list pasted from a carrier order — preload loads them into the pool as available stock in one action, instead of typing each by hand. Preload only stocks the pool; it never assigns to a tenant. You preload, then assign from stock as customers need numbers (§8.4). Reach it from + Preload numbers on the Numbers screen.
If a range or list overlaps numbers already in the pool, the existing ones are skipped, not duplicated or overwritten — the summary reports the duplicate count and only the genuinely new numbers are added. This means you can safely re-run a preload over a block you have partially loaded before; you will only ever top up the gaps. Numbers already assigned to a tenant are never disturbed by a preload.
Always set Source to the carrier that actually delivers the block. The source is more than a label: it is how ByondVoice associates each DID with the connector that will route its inbound calls, and how the wholesale meter attributes any per-number rental. A preloaded number with the wrong source can be assigned and routed in the console yet still fail to deliver real calls, because the platform expects a different carrier to present it.
ByondVoice — Administrator & Operations ManualA source is where a block of numbers comes from — a carrier or upstream DID provider, identified by a name and backed by the credentials needed to talk to it. The source configuration stores those credentials. Crucially they are held write-only: you can enter or replace a secret, but the console never shows an existing one back. This mirrors how SIP device secrets are handled across ByondVoice — a secret is something you set, never something you read. Open it from Source config on the Numbers screen.
Because the stored secret is never displayed back, the only copy is the one your carrier issued. If you lose it you cannot recover it from ByondVoice — you can only rotate it by generating a fresh key at the carrier and pasting the new value here. Treat the carrier’s key like any other reveal-once secret: capture it into your secrets manager when the carrier issues it, and rotate (don’t reuse) if you ever suspect it has leaked. A blank secret field on save means “keep what is stored”, so an accidental empty save will not wipe a working credential.
ByondVoice — Administrator & Operations ManualAssigning a number gives a tenant ownership; mapping it gives an inbound caller somewhere to land. The mapping is the heart of inbound: it answers the question “when this DID is dialled, what rings?” A number can route to any of four destination types, and you set the mapping on the assigned number’s Manage › Routing panel.
The DID rings one person’s line directly, e.g. +65 3159 0010 → ext 1001 “Alice Tan”. A direct dial-in (DDI) for an individual.
The DID hunts a team, e.g. → ring group pilot 6000 “Sales”. The group’s strategy (simultaneous / sequential / round-robin) decides who rings (Chapter 09).
The DID answers with an IVR menu (“Press 1 for Sales…”). Reaching an auto-attendant from an external DID is carrier-gated. A typical “main number” pattern.
The DID drops callers straight into a conference room, e.g. room 3000 — a permanent dial-in bridge number for recurring meetings.
Acme wants its sales DID +65 3159 0011, currently ringing ext 1001, to hunt the whole sales team instead. You open Manage › Routing on that row, change Route type from Extension to Ring group, pick target 6000 “Sales”, and save. The Routes to cell flips from Ext 1001 to RG 6000 · Sales; the next inbound call to that DID now rings the group per its strategy, with no change to the number, its ownership, or the carrier delivery behind it.
ByondVoice — Administrator & Operations ManualThe pool is shared and the actions are live, so a few habits keep it tidy and keep customers’ calls flowing. The table below collects the situations that most often trip up operators, with the right move for each.
| Situation | What happens | Recommended action |
|---|---|---|
| Tenant at its number cap | Assign is refused: “number limit reached for this tenant.” | Raise Max numbers on the tenant licence (§6.4), then re-try the assign. |
| Assigned but unrouted | Routes to shows — unrouted —; inbound calls have nowhere to land. | Map the number to a destination (§8.7); audit the pool periodically for unrouted assigned DIDs. |
| Routed but no carrier | Console looks complete, but external callers never reach the DID. | Connect / verify the carrier connector for that source (§Carrier); confirm the source is enabled (§8.6). |
| Moving a number between tenants | Release-then-reassign briefly drops calls between the two steps. | Use re-assign (assign straight to the new tenant) to minimise the gap; route immediately after. |
| Suspended tenant still holds numbers | Suspension does not release numbers; they stay assigned (and may keep incurring rental). | Release the DIDs explicitly (§8.4.4) if the customer is leaving and you need the stock back. |
| Preload overlaps existing stock | Duplicates are skipped, not duplicated; only new numbers are added. | Safe to re-run; read the pre-flight duplicates count to confirm what was skipped (§8.5). |
| Lost carrier secret | It cannot be read back from ByondVoice (write-only). | Rotate: generate a fresh key at the carrier, paste the new value, Test connection, save (§8.6). |
There is no shared or split ownership of a DID. A number is either free pool stock or the property of exactly one tenant; routing it to a destination always routes within that tenant. To make “the same” number serve two customers you would need two distinct DIDs. This one-owner rule is what guarantees that inbound calls to a customer’s number can only ever reach that customer’s extensions, groups and IVRs — never another tenant’s.
Round or memorable numbers (a clean …0000 or a repeating pattern) are the ones customers ask for by name. As soon as a block lands, reserve the few you want to keep for premium or future use (§8.4.3) — a reserved number is protected from being assigned out from under you, whereas a merely available one is fair game for the next assign.
Putting the chapter together, the full supply path for a new inbound line is: (1) ensure stock exists — preload a block from the right carrier source (§8.5–8.6); (2) assign a number from stock to the tenant, respecting its cap (§8.4.2); (3) optionally reserve first if the line is not yet ready (§8.4.3); (4) map the number to its destination (§8.7); and (5) confirm a connected carrier actually delivers it (§8.1, §Carrier). Release reverses the path, returning the number to the pool (§8.4.4).
In a non-production environment: (1) preload the range +65 3159 0020 to +65 3159 0024 against a test source and confirm five available rows appear and the Available KPI rises by five; (2) reserve +65 3159 0020 for Acme Corp with the note “awaiting port”, and confirm it shows reserved; (3) assign +65 3159 0021 to Acme Corp and route it to extension 1001; (4) confirm the row reads assigned → Ext 1001 and Acme’s count rose by one; (5) release it and confirm it returns to the pool and the count falls back. You will have exercised the entire number lifecycle end to end.
ByondVoice — Administrator & Operations ManualAn extension is a person’s line on the hosted PBX — the short internal number (1001) that colleagues dial, the identity that owns a voicemail box and call-handling rules, and the thing a desk phone or softphone becomes when it registers. A SIP device is one of those physical or software endpoints: it logs in with a secret, registers through ByondVoice’s session border controller, and from then on rings when the extension is called. This chapter is the heart of the hosted PBX. It walks the screen end to end: creating and editing extensions; the nested SIP devices that sit beneath each one; the reveal-once secrets that protect them; the three device types (softphone, desk phone, mobile); how to read live registration state; the registrar blob you paste into a phone; and how to delete a device safely. A single worked example threads through it: standing up extension 1001 “Alice Tan” with both a desk phone and the web softphone, inside tenant Acme Corp.
Before touching a screen, fix the two concepts in mind, because every field on this page hangs off them.
A numbered line that belongs to a tenant. It owns the internal number people dial, a display name, an optional direct DID, the outbound caller-ID presented on PSTN calls, a voicemail box and a set of call-handling rules. It exists whether or not anything is registered to it.
A credential that an endpoint uses to register to an extension — a desk phone, the web softphone, or a mobile app. One extension can own several devices; ringing the extension rings every device registered to it at once.
The relationship is deliberately one extension, many devices. Alice Tan’s line (1001) might have a desk phone on her desk and the softphone on her laptop; dialling 1001 rings both, and she answers on whichever she reaches first. Each device carries its own SIP username and secret, so revoking the laptop (she leaves it on a train) never disturbs the desk phone.
Everything on this screen is scoped to one tenant. The breadcrumb subtitle always names it — tenant Acme Corp — and the counts, the table and the + New extension action all refer to that tenant. Switching tenants is covered in §6.5; read the breadcrumb before you create anything here.
An extension and its devices can call other extensions, ring groups and voicemail, and run the echo test (9196), the moment they register — no carrier required. The two extension fields that depend on a carrier are the direct DID (an inbound external number) and the outbound caller-ID (the number shown on outbound PSTN calls): both only take effect when a carrier connector is connected (see the Carrier chapter). Provision the extension now; the DID lights up when the trunk does.
ByondVoice — Administrator & Operations ManualOpen and you land on the provisioning home base for the tenant in scope: a live-counting header, KPI tiles, and a table with one row per extension showing its number, owner, device count and current registration state. From here you create an extension, open one to edit it or manage its devices, and watch endpoints come online. The figure reproduces the screen with the key elements numbered.
Provision extensions and the SIP devices that register to them.
| Ext | Display name | Direct DID | Devices | Status | |
|---|---|---|---|---|---|
| 1001 | ATAlice Tanvm box · enabled | +65 3159 0010 | 2 | registered | Open › |
| 1002 | BOBen Ongvm box · enabled | — | 1 | idle | Open › |
A row reading registered tells you at least one device is online — not that all of them are. An extension with a desk phone online and a softphone signed out still shows registered. When you are diagnosing “Alice’s desk phone won’t ring”, do not trust the row; open the extension and read each device’s individual state (§9.6).
ByondVoice — Administrator & Operations ManualAn extension is created from a single dialog and edited from the same form. You supply the number, a display name, and optionally a direct DID and an outbound caller-ID; the enabled switch decides whether the line is live. Creating the extension also provisions its voicemail box automatically — it is ready to take a message the instant a call goes unanswered. The dialog is reached from + New extension, or by opening an existing row and choosing Edit.
| Field | Meaning | Notes |
|---|---|---|
| Extension number | The internal number colleagues dial to reach this line. | Unique within the tenant; 3–5 digits. Avoid feature codes (*98, 9196) and ring-group pilots (e.g. 6000). |
| Display name | The person or role the line belongs to, shown on calls and in the console. | Cosmetic; editable any time. e.g. Alice Tan. |
| Direct DID | An external number that rings this extension directly. | carrier-gated Chosen from the tenant’s assigned numbers (§Supply › Numbers). Optional. |
| Outbound caller-ID | The number presented to the called party on outbound PSTN calls. | carrier-gated Defaults to the tenant’s main number if unset. The user can also set this in their portal. |
| Enabled | Whether the line is live. | Disable to suspend a line without deleting it; its devices stop registering and calls go to voicemail or fail. |
The extension number lives in the same dialling space as feature codes, the echo test and ring-group pilot numbers. Picking 6000 for a person when 6000 is the Sales ring-group pilot creates an ambiguous, hard-to-debug clash. Reserve a clear block for people (e.g. 1001–1099), another for groups (6000+), and never reuse *98 or 9196. The number is the line’s identity, so changing it later means re-training everyone who dials it.
ByondVoice — Administrator & Operations ManualAcme Corp’s new hire Alice needs a line, with her direct number +65 3159 0010 ringing her directly. You are the operator, scoped to Acme Corp.
1001, display name Alice Tan, set the direct DID to +65 3159 0010 and leave outbound caller-ID to default.Result: a live, voicemail-backed line ready for devices. Next you give Alice a desk phone (§9.4.3) and the web softphone (§9.4.4) so 1001 actually rings. Had 1001 already existed in Acme, creation would have failed with “extension number already in use.”
Open a row and choose Edit to change the display name, DID or caller-ID at any time — these are cosmetic-to-routing and safe to change live. Two operations need more care:
An extension is the telephony object; the person who manages it through my.byondvoice.com is a separate user record, tied to one or more extensions. Creating extension 1001 here does not by itself create Alice’s portal login — that is done with the user (see the Users chapter). The two are linked, but you can hand a fully-built line to a user who is created separately.
ByondVoice — Administrator & Operations ManualOpen an extension and its devices drawer slides out: the list of SIP endpoints that may register to this line, each with its type, its SIP username, its live registration state, and the controls to reveal its secret, copy its registrar settings or remove it. This is where a line becomes a working phone. The figure shows Alice Tan’s drawer with a desk phone and the web softphone provisioned.
ByondVoice — Administrator & Operations ManualAdding a device generates a SIP credential the endpoint will use to register: a SIP username (derived from the extension, e.g. 1001-desk), a secret (a strong random password ByondVoice generates) and the device type. You give the device a friendly name so you can tell two phones apart later. The moment you save, the secret is shown once — see §9.4.2.
A device’s SIP secret is the password that lets an endpoint register as that device, so it is treated as a true secret. ByondVoice stores it encrypted at rest and shows it to you in clear text once — at the moment of creation, and again only if you explicitly choose Reveal secret and confirm. After you dismiss the reveal panel, the console can no longer display it; the stored value is never rendered back into the form. This is the same reveal-once discipline used for number-pool carrier credentials and device auto-provisioning URLs.
There is no “show secret again” that returns the old value — the point of reveal-once is that the plaintext exists only at creation. If you dismiss the panel before configuring the phone, your only remedy is to rotate the secret (which immediately invalidates the old one and de-registers any endpoint still using it) and start again. Treat the reveal panel like a one-time recovery code: copy it straight into the device, or into your secrets manager, before you click away.
ByondVoice — Administrator & Operations ManualEvery device carries a type. It is more than a label: it tells you how the endpoint connects, which settings it needs, and how to support it. All three types register to the same extension and ring together; they differ in transport and provisioning.
The branded ByondVoice softphone at my.byondvoice.com/phone — a browser/PWA endpoint. Registers over secure WebSocket (WSS) to the SBC; needs no IP-phone config. Supports 2-way audio + video, hold, transfer, conference and DTMF.
A hardware IP phone (Yealink, Polycom, Grandstream, etc.) on the office network. Registers over SIP using the username, secret and registrar (§9.7). Usually a person’s primary handset.
A SIP softphone app on a smartphone (e.g. a third-party SIP client, or the ByondVoice mobile experience). Registers over SIP like a desk phone; benefits most from TURN on restrictive mobile networks.
| Type | Endpoint | Transport | Provisioned with | Notes |
|---|---|---|---|---|
| browser softphone | Browser / PWA softphone (my.byondvoice.com/phone) | Secure WebSocket (WSS) | The user simply signs in; the softphone fetches its SIP login | Best for laptops/remote; install to home screen for ring-while-locked. |
| desk | Hardware IP phone | SIP (UDP/TCP/TLS) | Username + secret + registrar blob (§9.7), or an auto-provisioning URL | Static handset; survives reboots; ideal as a primary line. |
| mobile | SIP app on a smartphone | SIP (typically over data) | Username + secret + registrar blob (§9.7) | Mobile networks are often restrictive — TURN relays media reliably. |
Types mix freely under one extension. Alice can keep a desk phone in the office and the browser softphone softphone on her laptop; a call to 1001 rings both at once and she answers wherever she is. The softphone needs no manual SIP entry — it pulls its credentials when she signs in — whereas a desk or mobile device must be given the registrar blob. Choose the type honestly: it drives the right provisioning path and the right support advice.
If a mobile or remote browser softphone device registers fine but has one-way or no audio, the signalling reached the SBC but the media (RTP/SRTP) could not traverse the user’s NAT/firewall. ByondVoice provides a TURN relay for exactly this; ensure the endpoint is allowed to use it. This is the single most common cause of “it rings but I can’t hear anything” on cellular and locked-down corporate Wi-Fi.
ByondVoice — Administrator & Operations ManualRegistration is the act of a device telling the SBC “I am here, send my calls to this address.” A device that has registered is online and will ring; one that has not is idle and will not. ByondVoice surfaces this state live — per device in the drawer (§9.4) and rolled up per extension on the main table (§9.2) — so you can answer the everyday question “why isn’t this phone ringing?” at a glance. Registrations also expire: a device must re-register periodically, and if it goes quiet (powered off, network lost) its registration lapses and the device drops to idle.
| State | Meaning | Will it ring? | Typical cause |
|---|---|---|---|
| registered | The device is online; the SBC knows its current contact address. | Yes | Healthy phone, recently seen. |
| idle | The device exists but has never registered, or has fully lapsed. | No | Phone not yet configured, or off for a long time. |
| expired | The last registration aged out and has not been renewed. | No | Phone powered off / lost network since last seen. |
| rejected | A registration attempt was refused. | No | Wrong secret, disabled extension, or a revoked device. |
Each registered device also shows its source address (the public IP and port the SBC saw) and a last-seen time. Together these are your first diagnostic: a device registered from an unexpected IP, or one whose “last seen” is creeping toward the expiry window, tells you something before the user even calls support.
A colleague reports they can no longer reach Alice on 1001; it goes straight to voicemail even though she is at her desk.
Result: the roll-up status hid the fault; the per-device state pinpointed it. No secret rotation was needed — the device simply had to re-register.
ByondVoice — Administrator & Operations ManualA desk or mobile device needs a handful of settings to find ByondVoice and prove who it is. ByondVoice gathers them into one registrar blob — accessible from a device’s Registrar info action — so you can copy them into the phone in one go rather than hunting for each. The blob pairs with the reveal-once secret (§9.4.2): the secret is the password, the blob is everything else.
# ByondVoice SIP registrar — paste into the IP phone's account SIP username : 1001-desk SIP secret : <your reveal-once secret> # shown once on create / rotate Auth ID : 1001-desk Display name : Alice Tan SIP registrar : sbc.byondvoice.com # ByondSBC edge (ByondSBC) Outbound proxy : sbc.byondvoice.com:5061 Transport : TLS # encrypted signalling Media : SRTP # encrypted audio; TURN if behind NAT Register expiry: 3600s # device re-registers each hour
The registrar blob is only for desk and mobile devices that you configure by hand. A browser softphone softphone registers to the same SBC over secure WebSocket, but it discovers its own settings when the user signs in at my.byondvoice.com/phone — there is nothing to copy. For fleets of hardware phones, prefer the device auto-provisioning URL (a reveal-once link the phone fetches its whole config from) over hand-typing the blob on each handset.
Continuing the running example: extension 1001 exists; now you provision Alice’s Yealink as a desk device.
ByondVoice — Administrator & Operations ManualNow the second device on the same line. Because the softphone is a browser softphone endpoint, this is the easy one — no blob, no typing.
If you need someone reachable in the next five minutes — a new hire, a stand-in, a remote colleague — add a browser softphone device and have them sign in at my.byondvoice.com/phone. No hardware, no registrar blob, no secret to handle. The desk phone can follow at leisure as a second device on the same extension.
Removing a single device revokes that endpoint only: the credential is invalidated, the device de-registers immediately and can no longer place or receive calls — while the extension, its voicemail and its other devices carry on untouched. This is the right tool when a phone is lost, a laptop is decommissioned, or you simply want to cut off one endpoint. It is far narrower than deleting the extension (§9.3.4), which destroys the whole line.
| Secret | How it is stored | How it is shown |
|---|---|---|
| SIP device secret | Encrypted at rest | reveal-once at create / rotate; never re-displayed |
| Auto-provisioning URL | Encrypted at rest | reveal-once link the phone fetches config from |
| Voicemail / conference PIN | Hashed (one-way) | Never shown — only reset to a new value |
A SIP secret is a credential that can place calls — including, on a carrier-connected tenant, billable PSTN calls. If a phone or laptop is lost, or you suspect a secret has leaked, do not wait: delete (revoke) the device or rotate its secret. Rotation invalidates the old value instantly and de-registers any endpoint still using it, closing the window of misuse. Because secrets are reveal-once and encrypted at rest, an attacker cannot read them out of the console — but a leaked plaintext from setup time is live until you rotate.
In a non-production tenant: (1) create extension 1001 “Alice Tan” with direct DID +65 3159 0010; (2) add a desk device Alice — Yealink T46, copy the reveal-once secret, open Registrar info and configure a soft client or handset against sbc.byondvoice.com over TLS/SRTP; (3) add a browser softphone device and sign in at my.byondvoice.com/phone; (4) dial 1001 from another extension and confirm both ring; (5) run the echo test 9196 for two-way audio; (6) finally delete the desk device and confirm the softphone stays registered while the desk endpoint de-registers. You will have rehearsed every operation in this chapter end to end.
ByondVoice — Administrator & Operations ManualTyping a SIP username and a long random password into a desk phone by hand is slow, error-prone and a security liability — the secret is read aloud, written on a sticky note, or emailed in clear. Device auto-provisioning removes the keyboard from the loop entirely. You mint a single-use provisioning token in the console; ByondVoice hands you a reveal-once provisioning URL built from it; you put that one URL into the phone (or onto a label that ships with it); and on first boot the phone fetches its own complete configuration — account, server, codecs, line keys — over an encrypted channel. The SIP password is generated server-side and is never seen by a human at any point. This chapter covers the whole zero-touch flow: how a provisioning token works and where it lives, how to generate one and capture its reveal-once URL, what the phone does when it fetches its config, the security model and the deliberately short time-to-live, and how to revoke, rotate and read the status of a token. A single worked example threads through it — provisioning a hardware desk phone for extension 1001 “Alice Tan” in tenant Acme Corp.
Zero-touch provisioning (ZTP) means a device joins the platform with no manual SIP configuration: nobody types an account, a server address or a password into it. Instead the device is given one thing — a URL — and it pulls everything else itself. ByondVoice implements ZTP with a per-device provisioning token: a short-lived, single-use secret that the platform binds to exactly one SIP device on exactly one extension. The token is never used to register calls; it is used once, to deliver the real registration credentials to the phone.
It helps to keep three objects distinct, because the rest of the chapter turns on the difference:
The endpoint record under an extension — the desk phone, softphone or ATA that will register. It owns a permanent SIP username and an encrypted, reveal-once SIP password (see §4.7). This is what places and receives calls.
A single-use, short-TTL secret bound to that one device. It exists only to deliver the device’s config to the phone once, then it is spent. Revoking or rotating it never touches the device’s ability to keep registering.
The reveal-once link the console builds from the token — https://prov.byondvoice.com/d/…. This is the only thing you hand to the phone. Like a password, it is shown exactly once.
What the phone receives when it fetches the URL: account, registrar (the SBC), transport, codecs, line keys and the generated SIP password — a ready-to-run profile the phone applies and reboots into.
The pay-off is that a secret no human ever reads is delivered straight from the control plane into the phone’s flash memory. The provisioning URL is a one-time courier for that secret; once the phone has consumed it the token is dead, so even a leaked URL is worthless after first use (and worthless after its TTL even if never used). For the broader credential rules this rests on — reveal-once secrets and the principle that they are re-generated, never recovered — see §4.7.
You can always configure a phone by hand — copy the reveal-once SIP username and password from the device dialog (§4.7) into the phone’s SIP screen. Auto-provisioning is the better path for hardware desk phones because the human never handles the password at all: the URL carries it. Use manual entry only when a phone cannot fetch a provisioning URL (no provisioning support, or an air-gapped network); use auto-provisioning everywhere else.
ByondVoice — Administrator & Operations ManualProvisioning tokens are managed where the devices they belong to are managed: under , inside an extension, on the SIP device’s Provisioning tab. You open the extension, open the device, and the tab lists that device’s tokens with their status and TTL, alongside the action that mints a new one. Because the panel is scoped to a single device, every token you see here can only ever provision this device on this extension — there is no platform-wide token that could be redirected at another line. The figure below reproduces the screen for the SIP device under extension 1001 in tenant Acme Corp.
Single-use tokens that deliver this device’s configuration to the phone on first boot.
| Token | Created | Expires | Status | |
|---|---|---|---|---|
| d/9af3c1…e2 | 09:14 today | in 23h 41m | active | Revoke |
| d/41b7d0…7a | 3 days ago | — | used | Revoke |
| d/0c8e55…3f | 8 days ago | — | expired | Revoke |
A device only needs one active token at a time — the one it will fetch on next boot. Spent and expired tokens are kept in the list for audit, not for re-use; you cannot bring them back. If you ever see several active tokens on a single device, an earlier attempt was abandoned without being fetched — revoke the stale ones (§10.6) so the audit trail stays honest.
ByondVoice — Administrator & Operations ManualGenerating a token is a single action that produces two things at once: a token record (which appears in the list with status active) and the reveal-once provisioning URL derived from it. The URL is the only part you ever copy, and — exactly like a SIP password (§4.7) — it is shown once, in the dialog below, and never again. Close the dialog without copying and the token still exists, but its URL is gone; your only recourse is to revoke that token and generate a new one. The dialog also lets you choose the TTL and the phone model template, so the config the phone later fetches matches its hardware.
The provisioning URL is reveal-once. The instant you select Done — or close the dialog any other way — the URL can never be displayed again, even though the token is still active and ticking down its TTL. If that happens, do not hunt for a “show URL” button: there isn’t one. Revoke the orphaned token (§10.6) and generate a fresh one. This is the same reveal-once rule that governs SIP passwords (§4.7): you re-issue, you never recover.
ByondVoice — Administrator & Operations ManualThis worked example runs the whole zero-touch flow end-to-end with realistic values: a brand-new Polycom VVX 411 desk phone for Alice Tan, extension 1001, in tenant Acme Corp. The SIP device record already exists under the extension (its reveal-once password was generated when the device was created, §4.7); all that remains is to get the phone configured without anyone touching that password.
Acme Corp has received a new VVX 411 for Alice. It is on Acme’s office LAN, freshly unboxed at factory defaults. You will provision it from the console without ever reading the SIP password aloud.
Result: a fully registered desk phone, configured end-to-end, where the SIP password was generated server-side and delivered straight into the phone’s flash — no human ever saw it. Had the token expired before the reboot, the fetch would have failed cleanly and you would simply have generated a fresh one; had you copied the URL into the wrong phone, the token would have provisioned that phone as 1001 (which is why you revoke and re-issue rather than reuse — §10.6).
Every token moves through a small, strictly one-way lifecycle. Understanding it explains why the Revoke button greys out, why a used token can never be fetched again, and why the list keeps spent tokens:
A used, expired or revoked token is never deleted automatically — it remains in the Provisioning tab as an audit record of when a device was provisioned and by which token. Only active is a live, usable state; every other state is history. This is why a device that has been re-provisioned three times shows three rows, of which at most one is active.
ByondVoice — Administrator & Operations ManualEverything after you hand over the URL happens on the device, unattended. It is worth knowing the sequence, because it tells you what to check when a phone does not come up. When a provisioned phone boots, it contacts prov.byondvoice.com over HTTPS with the single-use token from its provisioning-server URL, and the control plane responds with that device’s configuration. The phone applies it and reboots into a registered state.
From that point the phone is an ordinary registered endpoint. It re-registers on its own keep-alive timer using the credentials it received; it does not contact the provisioning server again unless you re-provision it. The token has served its single purpose and is now just an audit row.
Auto-provisioning is convenient precisely because it moves a real secret over the wire automatically, so the design leans hard on three controls. Together they ensure a provisioning URL is dangerous for the shortest possible time and harmless thereafter.
A token delivers config once. The first successful fetch spends it. A leaked URL that has already been used by the real phone is inert — replaying it returns nothing.
A token self-destructs when its time-to-live elapses, fetched or not. The default 24-hour window is generous enough for a same-day install and short enough that a stray URL is dead within a day.
A token can provision only the one device it was minted for. It cannot be redirected to another extension or tenant, so a leaked URL cannot be used to stand up an impostor line elsewhere.
The fetch is over HTTPS; the SIP password it carries is generated server-side and stored encrypted at rest (§4.7); and the URL itself is shown to you only once.
Choosing a TTL. Match the window to how the phone will be reached, not to convenience. A phone being shipped to a remote site that an installer will power on tomorrow wants the full 24 hours; a phone already on a desk that you will reboot in the next few minutes wants a short window — an hour or less — so the URL is dead almost as soon as it is used. The shorter the TTL you can live with, the smaller the exposure if the URL leaks.
Between generation and first fetch, an active provisioning URL is a working key to a SIP line — anyone who fetches it first gets the config. Never paste it into clear email, a chat that logs to third parties, or a ticket body. Hand it over a secure channel, get the real phone to consume it promptly, and if there is any doubt it was seen by the wrong eyes, revoke it (§10.6) and re-issue. After it shows used it is harmless.
ByondVoice — Administrator & Operations ManualTwo operations keep provisioning safe over time. Revoking kills an active token before it is used — your kill-switch for a URL that leaked, that you generated against the wrong device, or that you simply no longer need. Rotating is revoke-and-regenerate in one motion: you invalidate the current token and immediately mint a fresh one, getting a new reveal-once URL while guaranteeing the old one is dead. Neither operation ever disturbs a phone that is already registered — they act on tokens, not on the device’s standing credentials.
After revoking, the provisioning URL can no longer fetch config. A phone that has not yet booted from it will fail to provision until you issue a new token. Already-registered phones are unaffected.
Rotate when you need a working URL and certainty the old one is gone — typically because a URL may have leaked, or an install was abandoned and you are restarting it. There is no separate “rotate” button; rotation is the two steps in sequence:
An installer pasted Alice’s provisioning URL into a shared ticket before the phone had booted. The token is still active, so the URL is live and must be assumed compromised.
Result: the compromised URL is permanently inert, the phone is provisioned from a fresh short-lived token, and the audit list shows both events — the revoked leak and the used replacement. At no point did the device’s registration drop, because rotation never touches a registered phone.
ByondVoice — Administrator & Operations ManualEvery token shows exactly one status. Only active is live; the other three are terminal, history-only states. This table is the canonical reading of each:
| Status | Meaning | Can a phone fetch it? | How it got here |
|---|---|---|---|
| active | Generated, not yet used, TTL not yet elapsed. The only usable state. | Yes — once | You generated it (§10.3). |
| used | A phone has fetched config with it. Spent; the device is provisioned. | No | First successful fetch (§10.4). |
| expired | TTL elapsed before any fetch. Self-retired. | No | Time ran out (§10.5). |
| revoked | You cancelled it by hand before it was used. | No | You revoked it (§10.6). |
For an active token the Expires column counts down (in 23h 41m) so you can see at a glance how much window is left to reach the phone. For every terminal status it reads —, because expiry is moot once a token is used, expired or revoked. If an active token’s countdown is uncomfortably low and the phone has not yet booted, rotate it (§10.6.2) for a fresh window rather than racing the clock.
Mint the token when you (or the installer) are ready to provision, not days ahead. The shorter the gap between generating and fetching, the smaller the window a live URL exists.
Default 24h for shipped phones; an hour or less for a phone in front of you. Don’t inflate the TTL to avoid re-generating — re-generating is cheap.
Hand the URL over a secure channel, or load it via the vendor redirect. Never clear email, public chat or ticket bodies. If in doubt, revoke and rotate.
If stray active tokens pile up, revoke them so the audit trail shows at most one live token per device and a clean history of past provisions.
To push changed config to a live phone — a new codec policy, a re-labelled line key, a moved extension — generate a fresh token and re-fetch; you do not revoke the device or disturb its registration first. The new fetch overwrites the profile and the phone reboots into the update. The previous token is already used and irrelevant. Re-provisioning is therefore just “generate, fetch” again — the same flow as the first install.
Never treat a token as a long-lived secret to store or reuse. It exists only to deliver config once; the phone’s actual SIP password — generated server-side, encrypted at rest, never shown — is what authenticates calls thereafter (§4.7). If you find yourself wanting to “keep” a provisioning URL for later, you want the wrong thing: discard it, and generate a new short-lived token at the moment you next need to provision.
In a non-production tenant: (1) open a SIP device under extension 1001 and, on its Provisioning tab, Generate token with a 1-hour TTL — copy the reveal-once URL; (2) confirm the token shows active with a live countdown; (3) without fetching it, Revoke it and watch it flip to revoked with — in the Expires column; (4) generate a second token, fetch the URL from a test phone (or the vendor simulator), and confirm it turns used while the device registers online; (5) finally generate a third with the default 24h TTL and leave it un-fetched to observe it expire later. You will have exercised all four token states and both the revoke and rotate paths.
ByondVoice — Administrator & Operations ManualVoicemail is the safety net beneath every extension: when a call is not answered, ByondVoice records the caller’s message and makes it reachable three ways at once — as visual voicemail the user plays in the portal, as an email with the recording attached (voicemail-to-email), and over the phone by dialling *98. This chapter is the operator’s guide to the mailboxes behind that net. You will learn to create, list and delete voicemail boxes from ; to set and clear a mailbox PIN (stored hashed, never shown); to read the messages list and the visual-voicemail view; to follow exactly how a missed call becomes a delivered message; and to tune per-box settings — greeting, voicemail-to-email, transcription, retention and PIN policy. A single worked example threads through the chapter: standing up and tuning the mailbox for extension 1001 “Alice Tan” in tenant Acme Corp, ending with voicemail-to-email switched on and verified end to end (§11.7).
A voicemail box (or mailbox) is the per-extension store that holds recorded messages, the box’s greeting, its access PIN and its delivery preferences. In the ByondVoice hierarchy — platform → reseller → tenant → users — mailboxes live inside a tenant and are scoped to it: box 1001 in Acme Corp is a wholly separate store from box 1001 in any other tenant, and no user can ever reach another tenant’s messages. By default ByondVoice provisions one mailbox per extension, identified by the extension number, so creating extension 1001 in Chapter 7 already gave Alice a mailbox. Standalone boxes — not tied to a live extension, useful as a shared drop-box for a department — can also be created here.
A mailbox sits at the end of the call-handling ladder. The execution engine (ByondSwitch, see Chapter 2) renders each user’s routing at call time: it rings the device, then each forward target in order, and only when nothing answers does it hand the caller to voicemail to record. Three pieces therefore work together, and this chapter covers the third:
The line that rings first. Provisioned in (Chapter 7). Each extension owns one mailbox by default.
DND, forward-all and the busy / no-answer / unreachable ladder (Chapter 10). These decide when a caller is sent to voicemail rather than rung further.
This chapter. Records the message, stores it, plays the greeting, and delivers the result to the portal, to email and to *98.
The mirror of this screen at my.byondvoice.com → Voicemail, where the user plays, reads and deletes their own messages and sets their own preferences.
Voicemail is one of the features that is fully functional the moment a tenant exists — no carrier connector required. An internal caller (1002 → 1001) who gets no answer records straight to Alice’s box, and she retrieves it in the portal or by dialling *98. Only the external paths — a PSTN caller reaching the box over a DID, or an outbound voicemail-to-email actually leaving the platform — depend on the carrier and the mail relay being configured (§11.6).
ByondVoice — Administrator & Operations ManualEvery mailbox in the tenant in scope is listed under . This is the operator’s register of mailboxes: a table with one row per box showing the owning extension, the box name, how many messages it holds (and how many are new), whether a PIN and voicemail-to-email are set, and the controls to open, configure or delete it. Like every PBX screen it is governed by the tenant scope selector (see §6.5) — the breadcrumb subtitle tells you which customer you are operating inside. The figure below reproduces the screen scoped to Acme Corp, with the key elements numbered.
Every mailbox in Acme Corp. Open a box for its messages and settings, or create a standalone box.
| Ext / Box | Owner | Messages | PIN | VM→email | |
|---|---|---|---|---|---|
| AT1001mailbox 1001 | Alice Tan | 2 new · 9 total | set | off | Open › |
| BO1002mailbox 1002 | Ben Ong | 1 new · 3 total | none | on | Open › |
The four state pills tell you a box’s health without opening it: messages ( N new means unheard), PIN ( set / none), and voicemail-to-email ( on / off). A row showing new messages but off for email and none for PIN is a box a user may not even know is filling up — a good candidate for a nudge.
ByondVoice — Administrator & Operations ManualMost mailboxes you never create by hand: ByondVoice provisions one automatically with each extension, named for the extension number. You use this screen to list every box, to create a standalone box (one not bound to a live extension — a shared department drop-box, or a box held in reserve), and to delete a box you no longer need. The list itself is the table in §11.2; below are the create and delete operations.
The Acme sales team wants a single place for callers to leave messages out of hours. You create a standalone mailbox 2050 “Sales drop-box”, set a 4-digit team PIN, enable VM-to-email to [email protected], and save. You then point the Sales ring group’s overflow target (Chapter 9) at mailbox 2050, so when no one answers the team line the caller records into the shared box and the whole team gets the email. Result: one mailbox, one inbox, no missed leads.
Deleting a box removes it and every message it holds, and cannot be undone. A per-extension box is normally removed automatically when its extension is deleted; you delete a box by hand mainly for standalone boxes that are no longer needed. The console asks you to confirm because the messages go with it.
There is no recycle bin for voicemail. Deleting a mailbox removes every recording in it permanently, and a per-extension box is removed automatically if you delete its extension — so a routine “tidy-up” of an old extension can silently take a backlog of unheard messages with it. Download anything the customer is owed first, and prefer clearing individual messages (§11.5) over deleting the whole box when you only need to free space.
ByondVoice — Administrator & Operations ManualThe mailbox PIN is the numeric passcode that protects phone access to a box. It is required to retrieve messages by dialling *98 (§11.6.3): the system asks for the PIN before it plays anything. Like every secret in ByondVoice the PIN is hashed at rest — the platform stores a one-way hash, not the digits, so the PIN can be set or cleared but never displayed. There is no “show PIN”; if a user forgets it, you set a new one. The portal does not need the PIN — a user who is already signed in plays their visual voicemail without it — so the PIN exists specifically to guard the telephone retrieval path, where the only proof of identity is the digits dialled.
Alice Tan calls in: she can no longer get into her mailbox by phone. You open box 1001 in Acme Corp, choose Set PIN, type a temporary PIN 8307 twice, turn on Require PIN change on next login, and save. You read Alice the temporary PIN. At her next *98 call the system accepts 8307 once, then immediately prompts her to choose a new private PIN, which is hashed and stored. Result: Alice is back in, and even you never knew her final PIN — exactly as the hashing guarantees.
Because the PIN is stored as a one-way hash, neither a user nor an operator can ever read the current value — not from the console, not from the database, not from support. “What is my PIN?” has no answer; the only remedy is to set a new one. Treat any request to “look up” a PIN as a reset, and always pair an operator-set PIN with Require PIN change on next login so the temporary value never becomes the user’s permanent one.
ByondVoice — Administrator & Operations ManualOpen a mailbox and its messages list appears: every recorded message as a row, newest first, with the caller’s number, when it arrived, its length, a new / heard flag, and inline controls to play, read the transcript, download or delete. This is visual voicemail — the user does not dial in and listen serially; they see the whole box at once and pick what to play. The operator sees the same view here in the console; the user sees the identical list in their portal at my.byondvoice.com → Voicemail. Playing a message streams the recording in the browser — no download, no separate app — and turns the message from new to heard.
Visual voicemail for extension 1001. Play in-browser, read the transcript, download or delete.
| From | Received | Length | State | Listen / transcript | |
|---|---|---|---|---|---|
| +65 9123 4567 | Today 09:14 | 0:42 | new | ▶ Play “Hi Alice, it’s…” | … |
| 1002 | Today 08:50 | 0:18 | new | ▶ Play “Ben here, can you…” | … |
| +65 3159 0010 | Yest 16:31 | 1:07 | heard | ▶ Play “Calling about the…” | … |
Heard and deleted are different states: marking a message heard keeps it but stops it counting as new; deleting removes it. The message-waiting indicator on a desk phone — the lamp or stutter dial-tone — tracks the new count, so it clears the moment the last new message is played or marked heard (in the portal, by phone, or here), and lights again on the next recording.
ByondVoice — Administrator & Operations ManualUnderstanding the pipeline — from an unanswered call to a message in three places — is what lets you diagnose “I never got the voicemail” tickets. The flow is the same whether the caller is internal or external, and is driven end-to-end by the execution engine and the mailbox settings.
Voicemail-to-email emails each new message to a chosen address so it reaches the user wherever they read mail. Per box you set the notify email and choose what the message contains — recording as attachment, transcript in the body, or both — and (optionally) whether to delete after emailing so the box does not also fill up. Delivery depends on the platform mail relay being configured and on voicemail-to-email being permitted at the tenant level (the tenant licence capability, §6.4); if either is off, the message still records and still shows as visual voicemail — only the email is withheld.
If a box is set to delete after emailing, the only surviving copy is the email. Should the mail bounce, be filtered as spam, or hit a full inbox, the message can be lost — there is nothing left in the portal to fall back on. Reserve delete after emailing for boxes where the email pipeline is proven reliable; otherwise leave it off so visual voicemail remains the system of record.
From any extension a user dials *98 to reach voicemail by phone. The system identifies the box from the calling extension (or asks which box, then for the PIN), authenticates with the mailbox PIN (§11.4), and offers an audio menu to listen to and manage messages — the classic eyes-free path for a desk phone or while driving. Calling *98 from another extension lets a user check a different box by entering its number and PIN.
Visual voicemail, voicemail-to-email and *98 are three views of one store, not three copies. Listen by phone and the portal shows the message heard; delete it in the portal and *98 no longer offers it. The only asymmetry is email: an emailed copy lives in the mailbox of whoever received it and is not pulled back if the original is later deleted — which is precisely why delete after emailing deserves the caution above.
ByondVoice — Administrator & Operations ManualEach mailbox carries its own settings: the greeting, the PIN, the delivery preferences (voicemail-to-email and what it contains), transcription, and how long messages are kept. Open a box and choose Settings to reach the panel below. These are the same controls the user sees in their portal under Voicemail → Settings — as operator you set them on the user’s behalf, or correct them in a support call.
SET (hashed) or NONE; the value is never displayed. Set PIN opens the PIN dialog (§11.4).
ByondVoice — Administrator & Operations ManualEvery setting on a mailbox, what it does, and its sensible default:
| Setting | What it controls | Default |
|---|---|---|
| Greeting | The message a caller hears before the beep — the user’s personal recording, or the system greeting naming the extension. | System greeting |
| Mailbox PIN | Hashed numeric passcode for *98 phone access. Set / cleared, never shown (§11.4). | None (set on first use) |
| Voicemail-to-email | Whether each new message is emailed; the master switch for the email path. | Off (per box) |
| Notify email | Destination address for voicemail-to-email. | User’s email, if known |
| Email content | What the email carries — recording attached, transcript in the body, or both. | Recording + transcript |
| Transcription | Speech-to-text: the snippet in the list and the full transcript in email. | On |
| Delete after emailing | Removes the message from the box once the email is sent. One-way — use with care. | Off |
| Retention | How long messages are kept before automatic clean-up. | 30 days |
Changing a setting affects messages recorded after the change, not the ones already in the box. Turn on voicemail-to-email today and you will be emailed tomorrow’s messages, not the backlog; shorten retention and existing messages age out under the new rule but are not retroactively re-processed. To act on what is already there, work the messages list directly (§11.5).
ByondVoice — Administrator & Operations ManualThis is the chapter’s capstone: switching on voicemail-to-email for Alice Tan’s mailbox and proving it end to end. It exercises the tenant scope, the per-box settings, the tenant capability and the full delivery pipeline in one pass.
Alice Tan (extension 1001, tenant Acme Corp) is often away from her desk and wants every voicemail emailed to [email protected] with the recording attached and a transcript she can skim on her phone.
CURRENTLY: ENABLED (§6.4). If it were off, you would enable it first — the per-box switch cannot override a disabled tenant capability.Result: one recording reaches Alice three ways. Had the tenant capability been off, the message would still have recorded and shown as visual voicemail but no email would have been sent — the first place to look for a “no email” ticket.
| Symptom | Likely cause | Fix |
|---|---|---|
| Message records, shows in portal, no email | Per-box voicemail-to-email off, or wrong notify address | Open the box → Settings; turn it on, correct the email (§11.7). |
| VM-to-email on per box, still no email | Tenant capability voicemail-to-email disabled at licence level | Enable it on the tenant licence (§6.4), then re-test. |
| Email arrives, no recording attached | Email content set to transcript-only | Set email content to recording + transcript. |
| No message at all, caller said it rang once | DND or forward-all sent the caller elsewhere | Review the user’s call handling (Chapter 10). |
| *98 rejects the PIN | PIN not set, or reset pending | Set a PIN with require change on next login (§11.4). |
| Message vanished from portal | Box set to delete after emailing | Retrieve from the email; turn the option off (§11.6.2). |
In a non-production tenant: (1) open mailbox 1002 “Ben Ong” and set a temporary PIN with Require PIN change on next login on; (2) enable voicemail-to-email to [email protected] with recording + transcript, leaving delete after emailing off; (3) confirm the tenant capability is enabled (§6.4); (4) from 1001 call 1002, ring out, and leave a test message; (5) verify all three doors — the message in Ben’s portal list as new, the email with the attachment and transcript, and *98 from 1002 (which forces Ben to pick a new PIN, then plays the message); (6) finally play it in the portal and watch it flip to heard and the waiting indicator clear. You will have rehearsed every operation in this chapter.
For most boxes: enable transcription (cheap triage), enable voicemail-to-email with recording + transcript but leave delete after emailing off so the portal stays the system of record, require a real PIN (never 1234 or the extension number) with change on next login whenever you set it, and set retention to match the customer’s data-handling policy. Encourage users to record a personal greeting — it markedly increases the chance a caller actually leaves a message rather than hanging up on the default.
ByondVoice — Administrator & Operations ManualEvery extension on ByondVoice carries a small set of Call-Handling rules — Do-Not-Disturb, forward-all (find-me), and a busy / no-answer / unreachable ladder with sequential follow-me — that decide what happens to an inbound call before it ever reaches a device. This chapter is the one that explains not just how to set those rules but how they execute. ByondVoice does not pre-compile a dial plan: the hosted ByondSwitch PBX reads each extension’s saved configuration at call time and renders the routing live, so a rule you save now governs the very next call. You will learn the order in which the platform evaluates rules, what each ring timer does, how the fallback ladder hands a call from one target to the next, and — through a single worked example threaded across the chapter — exactly how a call to Alice Tan (extension 1001) rings for 25 seconds, forwards to Ben Ong (extension 1002), and finally lands in voicemail.
Call-Handling rules belong to a single extension. You reach them from : open an extension and select its Call Handling tab. The same rules are editable by the line’s own user from the self-service portal at my.byondvoice.com under — the admin console and the portal write to the same configuration, so whoever saves last wins. As the operator you set these rules on a customer’s behalf during onboarding or support; the user adjusts them day to day.
A rule set is small and deliberately so. There are exactly three behaviours, evaluated in a fixed precedence (§12.2):
A single switch. When on, the extension is treated as if it will never answer: callers go straight to voicemail, with no ring at any device. The highest-priority rule — it short-circuits everything below it.
An unconditional redirect. When on, every call to this extension is sent immediately to one other destination — another extension, a ring group, or (with a carrier) an external number. The device itself is bypassed.
The conditional rules: separate targets for busy, no-answer and unreachable, plus a follow-me list that rings several places in sequence. This is what runs on a normal call.
The no-answer timeout (how many seconds a stage rings before moving on) and the terminal action — almost always voicemail — that catches a call nothing else answered.
ByondVoice does not bake your rules into a static dial plan at save time. The PBX renders routing from the stored configuration at the moment a call arrives. The practical consequence runs through this whole chapter: there is no “publish” step and no propagation delay for Call-Handling. Save a rule and it governs the next call that comes in — which also means a mistake takes effect just as immediately. Always test after you change a rule (§12.7).
ByondVoice — Administrator & Operations ManualThe figure below reproduces the Call Handling tab for extension 1001 “Alice Tan” in the tenant Acme Corp. Read it top to bottom: the order of the controls on screen is also the order in which the engine evaluates them. DND sits at the top because it wins outright; forward-all is next; the conditional ladder fills the rest of the panel; the ring timer and final action sit at the foot.
How inbound calls to this extension are routed before they ring a device.
ByondVoice — Administrator & Operations ManualTo set Call-Handling rules well you need a clear mental model of what the platform does with them when a call actually arrives. ByondVoice keeps configuration and execution in separate planes. The control plane — the API behind admin.byondvoice.com — stores your rules. The media/execution plane — the hosted ByondSwitch PBX, fronted by the session border controller (ByondSBC) — places the calls. The two meet at the instant a call hits the PBX: ByondSwitch asks the control plane for the destination extension’s current configuration and renders the routing from it on the spot.
Because the configuration is read fresh per call, the engine evaluates your rules in a strict, predictable sequence. The order never changes; only the data does. For any inbound call to an extension:
For a given ring attempt the engine resolves to exactly one of busy, no-answer or unreachable and applies only that target. A device that is registered but ignored rings until the timeout and is no-answer; a device on another call is busy; an extension with no registered device at all is unreachable. Knowing which condition your scenario produces tells you which target the call will follow.
When a call forwards from 1001 to 1002, it is then subject to 1002’s Call-Handling. If Ben Ong has his own no-answer forward, the call can chain onward. ByondVoice guards against an endless loop (e.g. 1001 → 1002 → 1001) by capping the forward depth and dropping the call to the original extension’s voicemail when the cap is reached. Design chains to terminate deliberately rather than relying on that backstop — see the loop warning in §12.5.
ByondVoice — Administrator & Operations ManualDo-Not-Disturb is the simplest and the highest-priority rule. It is a single switch with no target to configure, because its behaviour is fixed: while DND is on, the extension is treated as permanently unavailable and every inbound call is sent straight to voicemail without ringing any device. DND is the right tool for a focused work block, a meeting, or a desk that is temporarily unattended but should still capture messages rather than ring out.
DND sits above everything. When it is on, forward-all is ignored, the busy / no-answer / unreachable ladder is ignored, and the follow-me sequence is ignored — the call goes to the extension’s own voicemail box and nowhere else. This is deliberate: DND means “do not make my phones ring,” and a forward would defeat that. The one thing DND does not change is the mailbox: callers still hear the extension’s normal greeting and can leave a message that surfaces as visual voicemail and voicemail-to-email exactly as usual.
Alice Tan has an hour of focused work and does not want her desk phone or softphone ringing, but she still wants to catch messages. You open 1001 → Call Handling, turn Do-Not-Disturb on, and save. A colleague dials 1001 thirty seconds later: no device rings, the caller hears Alice’s greeting, and leaves a message. It appears immediately in Alice’s visual voicemail at my.byondvoice.com and is emailed to her. An hour on, Alice turns DND off from the portal herself; the next call rings her devices as normal. Result: zero interruptions, zero missed messages.
DND is a property of the extension, so it silences all of that extension’s registered devices at once — desk phone, softphone and any ATA together. It does not affect any other extension the same user may own. If a user wants one device quiet but another live, that is two extensions, not DND on one. Note too that DND set in the softphone app and DND set here are the same flag; toggling either changes the same stored rule.
If an extension is a member of a ring group and you turn DND on for it, that member will not ring as part of the group either. A whole team can appear “dead” if several members left DND on. When a Sales ring group (pilot 6000) stops alerting some agents, check the members’ individual DND flags before suspecting the group itself.
ByondVoice — Administrator & Operations ManualForward-all — also called find-me because it “finds” the user wherever they have asked to be reached — is an unconditional redirect. When it is on, every call to the extension is sent immediately to a single destination, and the extension’s own devices are bypassed entirely. There is no ring at the desk first: the call goes where you point it the moment it arrives. Forward-all sits just below DND in precedence; if DND is on, forward-all does not run.
The single Forward to field accepts any of the destinations below. Internal targets work on any tenant with no carrier; an external number is the one option that requires a connected carrier (§12.8).
| Target type | Example | Behaviour | Needs carrier? |
|---|---|---|---|
| Another extension | 1002 (Ben Ong) | Rings that extension and then follows its Call-Handling rules. | No |
| Ring group | pilot 6000 (Sales) | Hands the call to the group’s hunt strategy (simultaneous / sequential / round-robin). | No |
| Voicemail | this extension’s box | Sends straight to voicemail — a softer alternative to DND that you can target elsewhere later. | No |
| External number | +65 9xxx xxxx (a mobile) | Bridges out over the carrier trunk to a PSTN/mobile number. | Yes |
Alice is on leave for the day and Ben is covering her line. You open 1001 → Call Handling, switch Forward all on, set Forward to = 1002, and save. Every caller who dials 1001 now reaches Ben at 1002 immediately. Because the forwarded call then obeys Ben’s rules, if Ben is already on a call it follows his busy target, and if he does not answer in his own timeout it lands in his voicemail — a clean hand-off. When Alice returns you switch forward-all off; her phones ring directly again. Result: Alice’s callers are covered without anyone learning a second number.
Use forward-all when the user is definitely away and should never ring at their own desk — the redirect is instant. Use the no-answer rule in the ladder (§12.6) when the user is around and should get first chance to answer, with a colleague as a safety net only after the timeout. The two solve different problems: “I’m out” versus “catch what I miss.”
Because a forwarded call follows the target’s rules, two extensions that forward to each other (1001 → 1002 while 1002 → 1001) form a loop. ByondVoice caps forward depth and drops such a call to the original extension’s voicemail rather than ringing forever, but a looping forward still wastes a ring cycle and confuses callers. Before saving a forward, check the target’s own forward rule does not point back. The same caution applies to forwarding to a ring group that includes the forwarding extension.
ByondVoice — Administrator & Operations ManualThe fallback ladder is what governs an ordinary call — DND off, forward-all off. It gives the extension three independent conditional targets, one for each way a ring attempt can fail, plus an optional follow-me sequence that rings several places in turn. This is the heart of everyday call handling: the user’s own phones ring first, and only if they do not pick up does the call move on, exactly as you have specified.
Every registered device for the extension is already on a call (or has signalled busy). The engine applies the If busy target without waiting out the timer.
A device rang but nobody picked up within the no-answer timeout. When the timer elapses the engine applies the If no answer target.
No device is registered or reachable for the extension (phone off, network down, never provisioned). The engine applies the If unreachable target straight away.
An ordered list that overlays the conditions: ring stage 1, then stage 2, then stage 3…, advancing on no-answer using the timeout, until something answers or the list ends at the final action.
Follow-me turns the no-answer path into a chain. Instead of a single “if no answer” target, you list several destinations in order; the engine rings each in turn, moving to the next when a stage does not answer within the timeout, and finishing at voicemail. It is the per-user equivalent of a sequential ring group, but tied to one person’s line: ring my desk, then my deputy, then the team, then take a message.
ByondVoice — Administrator & Operations ManualThe no-answer timeout is the single most important number on the screen, because it sets the pace of the whole ladder. It is the number of seconds a ringing stage waits before the engine gives up on it and moves on. Set it too short and callers are whisked away before the user can reach the phone; set it too long and they wait through a dead ring. A practical desk value is 20–30 seconds (roughly four to six rings); 25 seconds is the sensible default and the value used in this chapter’s worked example.
Two consequences follow from how timers stack:
| Field | Priority | What it does | Typical value |
|---|---|---|---|
| Do-Not-Disturb | 1 (highest) | On → straight to voicemail; overrides everything below. | Off |
| Forward all (find-me) | 2 | On → redirect every call to one target; bypasses the device. | Off |
| If busy → | 3 | Target when all devices are on a call (skips the timer). | Voicemail or deputy |
| If no answer → | 3 | Target after the no-answer timeout elapses. | 1002 / voicemail |
| If unreachable → | 3 | Target when no device is registered (skips the timer). | Voicemail |
| No-answer timeout | — | Seconds a stage rings before the engine advances. | 25 s |
| Follow-me sequence | 3 | Ordered list rung stage by stage on no-answer, ending at voicemail. | 0–3 stages |
| Final action | last | What catches an unanswered call — almost always voicemail. | Voicemail |
An extension whose device de-registers — laptop closed, office Wi-Fi down — is unreachable, not no-answer. If you leave the unreachable target blank the call has nowhere to go; pointing it at voicemail guarantees the caller can always leave a message even when the user’s phone has vanished from the network. Make voicemail the unreachable target on every extension as a matter of policy.
ByondVoice — Administrator & Operations ManualThis is the example the whole chapter has been building towards: a complete, conventional setup for Alice Tan’s line and a step-by-step trace of one real call through it. The goal is the everyday pattern — ring me first, give my deputy the call if I miss it, take a message if neither of us answers.
On extension 1001 “Alice Tan”, in Call Handling: DND off; forward-all off; no-answer timeout = 25; If no answer → 1002 “Ben Ong”; If busy → 1002; If unreachable → Voicemail; final action = Voicemail. Ben’s own line (1002) has a 20-second no-answer timeout and a no-answer target of his own voicemail.
Even though the last phone to ring was Ben’s, the voicemail belongs to Alice’s extension because she was the originally dialled party. This is the behaviour callers expect: they rang Alice, so they leave Alice a message. Had Ben’s rules instead answered with his own voicemail explicitly (rather than falling through), the message would sit in Ben’s box — a reason to prefer falling through over an explicit voicemail hop in a deputy’s rules.
This call took 45 seconds to reach voicemail (25 at Alice + 20 at Ben). That is comfortable; add a third 25-second hop and you are past 70 seconds, where many callers abandon. When you chain forwards, keep an eye on the running total and trim the per-stage timers as the chain lengthens.
Alice answers at 0–25s: the call connects to Alice; the ladder never engages. Alice is on another call: 1001 is busy, so the engine skips the 25-second wait and rings 1002 at once. Alice’s phone is off the network: 1001 is unreachable; with her unreachable target set to voicemail, the caller goes straight to Alice’s mailbox without any ring. One configuration, three sensible behaviours — chosen automatically by which condition the engine detects.
ByondVoice — Administrator & Operations ManualEverything so far — DND, forwarding between extensions, ring groups, follow-me and voicemail — works on any tenant with no carrier connected, because it all stays inside the hosted PBX. The one Call-Handling feature that reaches outside the platform is forwarding to an external number: a mobile or a PSTN line. That call has to leave ByondVoice over a carrier trunk, so it is carrier-gated — available only when a carrier connector is configured for the tenant (Chapter on Connectors).
Forwarding to a mobile bridges a call out over the carrier and is charged at the tenant’s outbound rate for the duration of the forwarded leg — for the whole call, not a moment. A line left forwarding to an international mobile can run up real cost, and it holds a concurrent channel the entire time. Warn customers before enabling external forward-all, and prefer internal targets or voicemail where they meet the need.
If you set an external forward on a tenant that has no carrier (or no outbound capability), the rule saves but the bridge cannot be placed when a call arrives. The engine then falls through to the next applicable rule — typically voicemail — so the caller is not lost, but the intended forward never happens and it is easy to miss. Always confirm the carrier before relying on an external forward, and test with a live call.
ByondVoice — Administrator & Operations ManualCall-Handling rules are small but they decide whether a customer’s calls are answered or lost, so a little discipline pays off. The guidance below distils the patterns that work and the failure modes that recur in support.
| Symptom | Likely cause | Fix |
|---|---|---|
| Caller goes straight to voicemail, no ring | DND is on (or forward-all points at voicemail) | Turn DND off; check the forward-all target. DND wins over everything. |
| Call never rings the user’s own phone | Forward-all is on | Switch forward-all off so the call probes the device first. |
| Missed call doesn’t reach the deputy | No-answer target blank, or timeout too long and caller hangs up first | Set the If no answer target; shorten the timeout to 20–25 s. |
| External forward saves but never connects | No carrier / outbound capability, or number not in international format | Confirm the connector and licence; re-enter the number with + country code (§12.8). |
| Call rings forever or loops | Two extensions forward to each other | Break the loop; one side should end at voicemail, not forward back. |
| A ring-group member never alerts | That member has DND on | Turn off the member’s DND; DND silences group paths too. |
| Unanswered call drops with no message | Unreachable target left blank | Set If unreachable → Voicemail on every extension. |
In a sandbox tenant with two extensions: (1) on 1001, set DND and forward-all off, no-answer timeout 25, If no answer → 1002, If busy → 1002, If unreachable → Voicemail; (2) on 1002, set a 20-second timeout and no-answer → its own voicemail; (3) call 1001 and let it ring out — confirm it rolls to 1002 at 25 s and to Alice’s voicemail at ~45 s; (4) call again while Alice is on a call — confirm it jumps to 1002 immediately (busy skips the timer); (5) de-register 1001’s device and call once more — confirm it goes straight to voicemail (unreachable). You will have exercised every branch of the execution engine.
Call-Handling governs one extension’s inbound treatment. For team-wide hunting across many extensions see Ring Groups; for menu-driven routing from a DID see Auto-Attendants; for what happens once a call lands in a mailbox see the Voicemail chapter. All three are rendered by the same live ByondSwitch engine described in §12.3.
ByondVoice — Administrator & Operations ManualMost teams do not want callers to memorise who is on shift. They want one number — Sales, Support, the front desk — that finds whoever is free. A ring group (also called a hunt group) is exactly that: a single pilot number that, when dialled, distributes the call across a list of members according to a strategy — ringing them all at once, one after another, or sharing the load in turn — and, if nobody answers within the time you allow, sends the caller to an overflow target such as voicemail. This chapter shows the Ring Groups screen at admin.byondvoice.com, walks through creating a group and choosing its pilot number, explains every distribution strategy and when to use it, covers members and their priority order, ring timing and the overflow ladder, and explains exactly how a live call is routed by the ByondSwitch engine at call time. It closes with a complete worked build: pilot 6000 “Sales” ringing 1001 and 1002 simultaneously, then overflowing to voicemail.
A ring group sits in the Call Routing family of the console, alongside auto-attendants and conferences. Where an extension (Chapter 7) is one phone identity owned by a person or a device, and an auto-attendant plays a menu and waits for a digit, a ring group does something different: it takes a call aimed at one number and rings several destinations on the caller’s behalf, so the first available person answers. The caller dials a friendly number and never has to know the roster behind it.
Four parts define every group, and the rest of this chapter is organised around them:
The number that, when dialled, triggers the group. Internally a short pilot extension such as 6000; externally reachable when a DID is pointed at it (carrier-gated). See § 13.2.
How the call is spread across members: simultaneous (all at once), sequential (in order), or round-robin (share the load). See § 13.3.
The destinations that ring — internal extensions or external numbers — in a priority order you control by drag-to-reorder. See § 13.4.
How long the group rings (ring seconds) before it gives up, and where an unanswered call lands — voicemail, an extension, or an external number. See § 13.5.
These three are easy to confuse. A shared extension (§ 7.3.2) is one identity several people can place and answer calls as. A ring group is a pilot that distributes a call across members’ own extensions by a strategy — nobody loses their own number. An auto-attendant (Chapter 14) plays a greeting and routes on a digit the caller presses; it often hands off to a ring group. Reach for a ring group whenever “dial one number, ring the team, first free person wins” describes what you need.
Internal ring groups route entirely on the hosted PBX: any extension can dial the pilot and the group rings live. A carrier/SIP trunk is only needed to reach the pilot from an outside caller via a DID, or to ring an external member or overflow target on the PSTN. Everything else in this chapter is exercisable on a test tenant with no trunk connected.
ByondVoice — Administrator & Operations ManualRing groups for a tenant are managed under . The screen lists every group in the tenant with its pilot number, the strategy in force, how many members it has, the ring window, and where unanswered calls overflow. It is the home base for the rest of this chapter: every procedure starts here.
Pilot numbers that distribute an incoming call across a list of members by a strategy.
| Pilot | Name | Strategy | Members | Ring | Overflow | Status |
|---|---|---|---|---|---|---|
| 6000 | SASales | simultaneous | 2 | 20s | voicemail | live |
| 6001 | SUSupport | round-robin | 4 | 25s | ext 1004 | live |
| 6002 | FDFront Desk | sequential | 3 | 18s | external | live |
ByondVoice — Administrator & Operations ManualA group needs a name, a pilot number and a strategy before it can do anything useful; members and overflow follow. The pilot is the heart of it — the number callers dial — so choose it with the same care you give an extension. A pilot number is just a reserved short number in the tenant’s numbering plan that maps to the group rather than to a single device.
Dialling the pilot internally works the moment the group exists. To let an external caller reach it, point a DID at the pilot under (or route a digit to it from an auto-attendant). Inbound DID delivery is carrier-gated — available when a SIP trunk is connected (see Chapter 15).
ByondVoice — Administrator & Operations ManualThe strategy decides how the group spreads one call across its members. ByondVoice offers three, and the right choice depends on how the team works — speed of answer, fairness of load, or seniority of routing. The figure below contrasts all three on the same three-member group so you can see the difference at a glance.
How a single inbound call to pilot 6000 is spread across members 1001, 1002 and 1003.
| Strategy | How it rings | Order matters? | Best for |
|---|---|---|---|
| Simultaneous | Every member rings at once for the full ring window; the first to answer takes the call and the rest stop ringing. | No | Small teams that must answer fast — sales, a help line — where any free person should grab it. |
| Sequential | Members ring one at a time, top to bottom, each for the per-stage window, until one answers or the list is exhausted. | Yes — top of list rings first. | Escalation or seniority: try the duty agent, then the senior, then the manager. |
| Round-robin | Like sequential, but the starting member rotates on each new call, so load is shared rather than always landing on member 1. | Yes — sets the rotation cycle. | Larger queues where fairness matters — support pods, dispatch desks. |
With simultaneous the caller waits the ring window once (e.g. 20s) and then overflows. With sequential or round-robin the caller waits the per-stage window for each member tried — four members at 15s each is up to a minute of ringing before overflow. Keep per-stage windows short (10–15s) on long lists so callers are not left hanging, and set ring seconds with the whole ladder in mind (§ 13.5).
ByondVoice — Administrator & Operations ManualA member is a destination that rings when the group is called. Members come in two kinds: an internal extension in the same tenant (e.g. 1001), or an external number on the PSTN (e.g. a mobile — carrier-gated). You manage members from the group editor, where each member has a priority — its place in the list — that you set by dragging the handle. Priority is decisive for sequential and round-robin and ignored for simultaneous.
| # | Member | Type | Ring | ||
|---|---|---|---|---|---|
| ⋮⋮ | 1 | ATAlice Tan 1001 | extension | 20s | Remove |
| ⋮⋮ | 2 | BOBen Ong 1002 | extension | 20s | Remove |
| ⋮⋮ | 3 | Sales mobile +65 9123 4567 | external | 25s | Remove |
ByondVoice — Administrator & Operations ManualReal members are not always ready to ring. Three states change what the group does, and understanding them prevents the two classic complaints — “it never rang me” and “the caller waited forever.” The behaviour also depends on the Skip members on DND / unregistered switch you saw in the create dialog (§ 13.2.1).
| Member state | Simultaneous | Sequential / round-robin |
|---|---|---|
| Free & registered | Rings for the window; can answer. | Rings at its turn for the per-stage window. |
| On Do-Not-Disturb | With skip on, not rung; with it off, rings but the member’s DND sends it nowhere — wasted ring time. | With skip on, that stage is skipped and the hunt moves to the next member at once. |
| Device offline / unregistered | With skip on, passed over; with it off, rings into nothing for the window. | With skip on, skipped immediately; otherwise burns the whole per-stage window before moving on. |
| Already on a call (busy) | Not offered the call (returns busy); others keep ringing. | That stage returns busy and the hunt advances to the next member without waiting. |
| All members unavailable | The group cannot place the call anywhere — it falls straight through to the overflow target (§ 13.5). | |
On a sequential or round-robin group, Skip members on DND / unregistered is almost always what you want: it stops the hunt wasting a full stage ringing a phone that is off or in DND, so the caller reaches a live person sooner. Turn it off only if you deliberately want a member’s phone to ring even while they are away (rare).
When the group rings an extension as a member, it rings that extension’s registered devices for the group’s window — it does not follow the member’s personal forward-all or no-answer ladder (Chapter 9). That is deliberate: the group, not the individual, owns where an unanswered call goes (the overflow). DND is still honoured because it means “do not ring me at all”.
Acme’s Support group 6001 is sequential: 1004 → 1005 → 1006, 12s per stage, skip on. Dev (1004) has switched on DND for a focus hour. A call arrives: the group skips 1004 instantly, rings 1005 for 12s (no answer), then 1006, who picks up at 7s. Total caller wait: about 19s instead of the 31s it would have been had 1004 rung out first. Toggle skip off and the same call would have wasted 12s on Dev’s silent phone before even starting.
ByondVoice — Administrator & Operations ManualTwo settings decide what happens to a call nobody answers: ring seconds — how long the group is allowed to ring — and the overflow target — where the caller goes when that time is up. Together they are the group’s safety net: a well-set group never drops a caller into silence.
The meaning of ring seconds depends on the strategy. For simultaneous it is the single window all members ring before overflow. For sequential and round-robin it is the per-stage window each member gets in turn — so the total time before overflow is roughly the per-stage window multiplied by the number of members tried. A per-member override (§ 13.4) lets one slow leg ring longer than the rest.
| Strategy | “Ring seconds” means | Worst-case wait before overflow |
|---|---|---|
| Simultaneous | The one window all members ring together. | = ring seconds (e.g. 20s). |
| Sequential | The per-stage window for each member in turn. | ≈ ring seconds × number of members (plus any overrides). |
| Round-robin | The per-stage window for each member, from the rotating start point. | ≈ ring seconds × number of members. |
Callers abandon at roughly 25–35 seconds of unanswered ringing. For a simultaneous group, 18–22s is a good window. For a five-member sequential group, 10–12s per stage keeps the worst case near a minute — long, but it reaches more people; trim the list or shorten the per-stage window if abandonment climbs. Never set per-stage windows so long that the ladder cannot complete before the caller gives up.
When the ring window (or the whole sequential ladder) elapses with no answer — or when every member is unavailable — the call overflows. You choose where to:
| Overflow target | What happens | When to use it |
|---|---|---|
| Voicemail | The caller hears the group’s greeting and leaves a message in the group mailbox; it surfaces as visual voicemail and as voicemail-to-email. | The safe default for almost every group — a missed call becomes a recorded, emailed message rather than a lost lead. |
| Extension | The call is sent to another extension — a supervisor, a duty desk, the operator (e.g. 1004). | When a human backstop is preferred to a mailbox — escalate an unanswered support call to the team lead. |
| External number | The call is forwarded to an off-net number — an answering service or a mobile (carrier-gated). | After-hours cover by a third party, or a manager’s mobile for an urgent line. |
| Another ring group | The call cascades into a second group (e.g. Sales → Support) as a wider net. | Tiered overflow: try the primary team, then a broader pool, then voicemail at the end. |
A group with no overflow can simply drop a caller when nobody answers — the worst outcome for a published business number. Set an overflow on every group; the group mailbox is the safe default. The With overflow KPI on the inventory (§ 13.2) should always equal the total group count. If you cascade groups, make sure the last group in the chain ends at voicemail or a human, never at another group that loops back — a cascade that returns to its start can ring indefinitely.
ByondVoice — Administrator & Operations ManualRing groups are not a paper plan — they route real calls. ByondVoice’s execution engine renders the group from its saved configuration at call time: when a call hits the pilot, the hosted ByondSwitch PBX reads the strategy, the member list and their states, the ring window and the overflow, and rings the destinations live. SIP devices ring through the session border controller (ByondSBC); the softphone rings over its secure WebSocket and can ring even while a phone is locked. Nothing is pre-baked — edit a member or reorder the list and the very next call follows the new plan.
How the engine resolves a simultaneous group from saved configuration, end to end.
Configuration is read when the call enters the group, so changes you save take effect on the next call — a call already ringing keeps the plan it started with. This is why reordering members or changing the strategy is safe to do during the day: you will not disturb a call in progress, and the new behaviour begins immediately afterwards.
ByondVoice — Administrator & Operations ManualThis is the chapter’s capstone: a complete build of the most common ring group there is. We will create pilot 6000 “Sales” on the tenant Acme Corp, ring 1001 (Alice Tan) and 1002 (Ben Ong) simultaneously for 20 seconds, and overflow an unanswered call to the group voicemail box — turning every concept above into one continuous procedure.
09:14 A prospect dials +65 3159 0010; the DID routes to pilot 6000. ByondSwitch resolves members 1001 and 1002, both registered and free, and rings both at once. Alice (1001) picks up at 6s; Ben’s phone (1002) stops ringing instantly; the prospect is bridged to Alice. 11:02 A second call arrives while Alice is at lunch (DND on) and Ben is already on a call (busy). The group has no eligible member, so it overflows immediately to mailbox 6000: the caller hears the Sales greeting, leaves a message, and Acme receives it as visual voicemail and a voicemail-to-email within seconds — no lead lost.
On a test tenant, build Sales exactly as above, then experiment: switch the strategy to sequential and reorder so 1002 rings before 1001 — call 6000 and confirm Ben rings first, then Alice. Switch the overflow from voicemail to extension 1004 and confirm an unanswered call now rings the supervisor instead of recording. Put 1001 on DND and confirm a simultaneous call rings only 1002. Each change should take effect on the very next call.
Always verify a group by dialling the pilot internally first, before you point a public DID at it. Internal testing needs no carrier and proves the strategy, members and overflow are correct; pointing the DID is then the only carrier-dependent step. Publishing a number that rings a mis-ordered or empty group is a visible outage on your busiest line.
ByondVoice — Administrator & Operations ManualAn auto-attendant — the classic “press 1 for Sales, press 2 for Support” menu, also called an IVR (interactive voice response) — is the automated receptionist that answers a call, plays a greeting, and routes the caller to the right place from the digit they press. In ByondVoice it is a first-class call-routing object: a named greeting followed by a digit→action menu where each key (0–9, plus * and #) maps to one action — ring an extension, ring a ring-group pilot, or send to a voicemail mailbox. You build it on a visual menu builder, with a raw-JSON escape hatch for power users; you save successive versions; and you move it from draft to published to take it live. This chapter walks the screen end to end: the list, the builder, the action catalogue, the timeout/invalid fall-throughs, the JSON view, versions and the publish lifecycle, and how a live attendant is reached. One worked example threads through it — the Acme Main Menu: 1 = Sales pilot 6000, 2 = Support ext 1002, 9 = leave a message — inside tenant Acme Corp.
Before opening a screen, fix the shape of the object, because every control on the builder hangs off it. An auto-attendant is three things stacked together: an identity, a greeting, and a menu of digit-to-action mappings, with a couple of fall-through behaviours for when the caller does nothing or presses the wrong key.
A name (“Acme Main Menu”), the tenant it belongs to, and a greeting — the audio the caller hears first (“Thank you for calling Acme. For sales, press one…”). The greeting is text-to-speech or an uploaded prompt (§14.4).
The heart of the IVR: a table of keys (0–9, *, #), each mapped to exactly one action — ring an extension, ring a group pilot, or go to voicemail (§14.5). Unmapped keys do nothing.
Two more behaviours complete the model, and you set them on the builder alongside the menu. The timeout governs what happens when the caller presses nothing within the menu’s wait window; the invalid behaviour governs what happens when they press a key that is not mapped. Both are deliberate fall-throughs — never dead air — and are covered in §14.6.
Everything on this screen is scoped to one tenant. The breadcrumb subtitle always names it — tenant Acme Corp — and every extension, ring-group pilot and mailbox you can target from a menu key must already exist in that same tenant. An auto-attendant cannot route a caller out to another customer’s extension; the targets are drawn from the tenant in scope.
You can build, version, publish and internally test an auto-attendant with no carrier connected — dialling its internal access number from any extension reaches it, and every menu action (ring an extension, ring a group, voicemail) works today. The one thing that is carrier-gated is letting an outside caller reach the attendant: that requires a DID delivered by a connected carrier and pointed at the attendant (§14.10). Build the menu now; the external door opens when the trunk does.
ByondVoice — Administrator & Operations ManualOpen and you land on the list for the tenant in scope: a live-counting header, KPI tiles, and a table with one row per attendant showing its name, its internal access number, its published-or-draft state, the live version, and the actions to open, edit or delete it. From here you create a new attendant, open one into the visual menu builder (§14.3), and see at a glance which menus are live. The figure reproduces the screen with the key elements numbered.
Automated menus that answer a call, greet, and route on the digit pressed.
| Name | Access no. | Keys | State | Version | |
|---|---|---|---|---|---|
| MMAcme Main Menugreeting · 3 keys mapped | 7001 | 3 | published | v4 | Open › |
| AHAfter-Hoursgreeting · 1 key mapped | 7002 | 1 | draft | v2 | Open › |
The State column is the single most important field on this list. A row marked draft is not answering calls — editing it is completely safe. A row marked published is live, so any change you publish takes effect on the next caller. When you are about to edit a busy main menu, glance at this column first and prefer the draft-then-publish discipline in §14.8 over editing in place.
ByondVoice — Administrator & Operations ManualOpening an attendant drops you into the visual menu builder: the screen where you assemble the greeting, the digit→action menu and the fall-through behaviours without writing a line of configuration. It is the surface you will live in. The left of the canvas holds the greeting; the centre holds the menu as a list of key→action rows you add to and reorder; the right rail holds version & publish controls and the toggle to the raw-JSON view (§14.7). The figure shows the builder mid-edit on the Acme Main Menu.
Greeting, then a key for each route. Draft v5 · live v4.
| Key | Action | Target | |
|---|---|---|---|
| 1 | ring group | 6000 · Sales | Edit |
| 2 | extension | 1002 · Ben Ong | Edit |
| 9 | voicemail | box 1002 · Support | Edit |
ByondVoice — Administrator & Operations ManualAn attendant is created from a short dialog — you give it a name, an internal access number, and the first greeting — and it opens straight into the builder as a draft. The greeting is the audio the caller hears before the menu, and you have two ways to provide it: text-to-speech (type the words, pick a voice and locale, and ByondVoice synthesises the prompt) or an uploaded recording (a professionally-voiced WAV/MP3). Text-to-speech is the fastest way to a working menu; a recording is the polished, on-brand option.
The internal access number shares the tenant’s dialling space with people, ring-group pilots, conference rooms and feature codes, so choose it deliberately. Reserve a clear block for menus — 7000–7099 works well — and never reuse a person’s extension, a group pilot (e.g. 6000), a conference room (3000) or a feature code (*98, 9196). The greeting itself should name each option in the order the keys appear and keep it short; callers abandon long menus.
Keep the greeting’s wording and the menu’s mappings in lock-step: if the prompt says “press 2 for support”, key 2 must route to support. Lead with the options people want most (Sales, Support), and put the catch-all “leave a message” key last (9 or 0). Re-record or re-synthesise the greeting whenever you change the menu — a stale greeting that names an option you have removed is the most common IVR complaint.
ByondVoice — Administrator & Operations ManualThe menu is a table of keys mapped to actions. A caller presses one digit; ByondVoice looks it up in the menu and performs the mapped action. Each key maps to exactly one action, and a key with no mapping simply does nothing (the caller falls to the invalid behaviour, §14.6). The available actions are deliberately the three routing destinations a receptionist needs: ring an extension, ring a ring-group pilot, or send to a voicemail mailbox.
| Action | What it does | Target | Typical use |
|---|---|---|---|
| extension Ring an extension | Rings one person’s line and all its devices; unanswered, it follows that extension’s own call-handling (to voicemail, etc.). | An extension number in this tenant, e.g. 1002 (Ben Ong). | A named person owns an option (“press 2 for Ben in Support”). |
| ring group Ring a group pilot | Rings a whole team by its pilot number using the group’s strategy (simultaneous / sequential / round-robin) and overflow. | A ring-group pilot in this tenant, e.g. 6000 (Sales). | A department, not one person (“press 1 for Sales”). Most common for option 1. |
| voicemail Send to a mailbox | Drops the caller straight into a mailbox to leave a message; no phone rings. | A voicemail box in this tenant, e.g. box 1002 (Support). | The catch-all “leave a message” option, and after-hours routing. |
The target list for each action is drawn live from the tenant: the ring group picker lists this tenant’s pilots, the extension picker lists its extensions, the voicemail picker lists its mailboxes. You cannot point a key at an object that does not yet exist — so create the Sales ring group (§Ring Groups) and the extensions before you wire the menu to them.
Acme’s callers should reach the whole Sales team on key 1, not one salesperson. The Sales ring group already exists with pilot 6000.
1.6000 · Sales.Result: a caller who presses 1 rings the entire Sales group on its configured strategy and overflow — one key, a whole team. Because the target is the pilot, adding or removing salespeople later changes who rings without touching the attendant at all.
ByondVoice — Administrator & Operations ManualA menu is only as good as its behaviour when the caller does not press a valid key — and that happens constantly: people hesitate, fat-finger a digit, or call from a rotary handset that sends no tones. ByondVoice gives every attendant two explicit fall-throughs, set right under the menu in the builder (§14.3). Configure both on every attendant; an unset fall-through is the difference between a graceful menu and one that hangs up on a confused caller.
After the greeting, the menu waits a short window (the timeout, e.g. 8 seconds). If the caller presses nothing, ByondVoice performs the timeout action — typically replay the greeting once or twice, then fall to a voicemail box or a ring group. Never leave it as silent hang-up.
If the caller presses a key with no mapping, ByondVoice performs the invalid action — usually a brief “sorry, that’s not a valid option” and a replay of the greeting, up to a retry cap. After the cap, fall to a sensible default (a mailbox or the operator).
| Field | Meaning | Sensible default |
|---|---|---|
| Timeout (seconds) | How long the menu waits for a key after the greeting finishes. | 6–10s — long enough to choose, short enough not to feel dead. |
| On timeout → action | What happens when the window lapses with no key. | Replay the greeting once, then send to a voicemail box (or the operator/Sales group). |
| On invalid → action | What happens when an unmapped key is pressed. | Play “not a valid option” and replay the greeting. |
| Max retries | How many times the menu re-prompts before giving up. | 2–3, then fall to a mailbox — do not loop forever. |
Two failure modes hurt callers. The first is a fall-through that does nothing — the caller waits, hears silence, assumes the line is dead, and hangs up. The second is the opposite: an invalid action that replays the greeting with no retry cap, trapping a caller on a rotary phone in an endless loop. Always terminate both fall-throughs at a real destination after a small number of retries — a voicemail box, the Sales/Support group, or a human operator — so every caller lands somewhere.
ByondVoice — Administrator & Operations ManualEverything the visual builder produces is, underneath, a single JSON document describing the greeting, the key map and the fall-throughs. The builder is the recommended way to edit it, but ByondVoice exposes the document directly through the JSON view toggle in the builder topbar (§14.3). This is the escape hatch: paste a menu built elsewhere, copy one attendant’s structure to another, review changes as a diff, or set a property the visual builder does not surface. The two views are the same object — edits in JSON appear in the visual builder and vice-versa.
{
"name": "Acme Main Menu",
"access_number": "7001",
"greeting": {
"type": "tts", // or "audio" + "url"
"locale": "en-SG",
"voice": "aria",
"text": "Thank you for calling Acme Corp. For sales, press 1. For support, press 2. To leave a message, press 9."
},
"menu": {
"1": { "action": "ring_group", "target": 6000 }, // Sales pilot
"2": { "action": "extension", "target": 1002 }, // Ben Ong
"9": { "action": "voicemail", "target": 1002 } // Support mailbox
},
"timeout": { "seconds": 8, "action": "voicemail", "target": 1002 },
"invalid": { "action": "replay", "max_retries": 3 }
}
type is tts (with locale, voice, text) or audio (with a url to the uploaded prompt). This mirrors the greeting panel in the builder.action (ring_group / extension / voicemail) and a numeric target in this tenant. Keys absent here are unmapped.timeout (a wait plus an action) and invalid (an action with a max_retries cap). These are the same two behaviours as §14.6, expressed as objects.The JSON view is powerful precisely because it bypasses the form’s prompts — which means a typo in a target, an action name the platform does not know, or a duplicated key is yours to introduce. ByondVoice validates the document and will refuse to save a malformed one, but it cannot read your intent: a valid "target": 1003 that points at the wrong extension saves cleanly and misroutes callers. Use JSON for bulk and copy-paste work, then switch back to the visual builder to eyeball the result before you publish.
To stand up an “After-Hours” menu that mirrors your main menu, open the main menu’s JSON, copy it, create the new attendant, paste, then change the name, access_number and the one or two keys that differ. It is far quicker than rebuilding every key by hand — just remember to re-point the targets and re-write the greeting text.
ByondVoice — Administrator & Operations ManualAuto-attendants are versioned, and they have two states: draft and published. This is the safety mechanism that lets you edit a busy main menu without callers ever hearing a half-finished change. Every save in the builder updates the draft; callers continue to hear the last published version. When you are happy, you publish — the draft becomes the new live version, with a fresh version label — and only then does the change reach a caller. Earlier published versions are retained, so you can roll back.
Your working copy. Every change in the builder or JSON view lands here. A draft is never answering calls, so you can rewire keys, re-record the greeting and experiment freely. The builder marks the gap with an unpublished changes chip.
The version callers actually hear. Publishing promotes the current draft to live and stamps a new version (v4 → v5). The change is effectively immediate for the next caller; in-progress calls finish on the version they started.
Because every published version is retained, recovering from a bad change is a roll-back, not a frantic rebuild. Open the version history, pick the last-known-good version (e.g. v4), and re-publish it; it becomes live again and callers immediately hear the known-good menu. Then fix the broken draft at leisure. This is why the change summary matters — it tells you which version to roll back to.
This bears repeating because it is the chapter’s most useful safety net: saving the draft does nothing to callers. You can leave a half-built menu in draft for days, hand it to a colleague to finish, and no caller is ever affected — the live version keeps answering. Nothing you do in the builder reaches the phone until you click Publish. Edit fearlessly; publish deliberately.
ByondVoice — Administrator & Operations ManualThis is the chapter assembled into one job. Acme Corp wants a front-door menu: press 1 for Sales (the whole team), press 2 for Support (Ben Ong), and press 9 to leave a message. You are the operator, scoped to Acme Corp. The Sales ring group (pilot 6000), extension 1002 “Ben Ong” and the Support mailbox (box 1002) all already exist.
Acme Main Menu, set the access number 7001, choose text-to-speech, and type the greeting: “Thank you for calling Acme Corp. For sales, press 1. For support, press 2. To leave a message, press 9.” Select Create & open builder.1, action ring group, target 6000 · Sales.2, action extension, target 1002 · Ben Ong.9, action voicemail, target box 1002 · Support.8s → voicemail box 1002; invalid → replay greeting, max 3 retries (§14.6).| Key | Action | Target | Caller experience |
|---|---|---|---|
| 1 | ring group | 6000 · Sales | Whole Sales team rings. |
| 2 | extension | 1002 · Ben Ong | Ben’s line rings; then his voicemail. |
| 9 | voicemail | box 1002 · Support | Straight to the Support mailbox. |
| timeout | voicemail | box 1002 (after 8s) | No key → replay once → mailbox. |
| invalid | replay | max 3 retries | Wrong key → “not valid” → replay. |
Result: a live front-door menu on 7001, fully internal-testable today. The moment a carrier DID is pointed at 7001 (§14.10), outside callers reach exactly this menu.
ByondVoice — Administrator & Operations ManualSo far the menu answers when an internal caller dials its access number (7001). For the menu to be the company’s real front door, an outside caller must reach it — and that needs two things a carrier provides: a DID (an external phone number, e.g. +65 3159 0010) delivered by a connected carrier, and an inbound route that points that DID at the attendant. Internal calling, the menu itself and every action work with no carrier; this last hop — the door to the outside world — is carrier-gated.
When a carrier is connected and a DID is assigned to the tenant (§Supply › Numbers), you point that DID’s inbound route at the auto-attendant exactly as you would point it at an extension or a ring group. From then on, an external caller dialling the DID is answered by the menu, hears the greeting, and routes on the digit they press — the same menu your internal testers walked in §14.9.
# with a carrier connected and +65 3159 0010 assigned to Acme Corp: External caller dials +65 3159 0010 # the DID → carrier delivers to ByondVoice → inbound route: DID +65 3159 0010 → auto-attendant "Acme Main Menu" (7001) → caller hears the greeting, presses 1 → ring_group 6000 (Sales) rings on its strategy # exactly as internal test
Do not wait for a carrier to design and test your IVR. Build it, publish it, and walk every key from an internal extension today (§14.9). When the trunk is live, the only new step is pointing a DID at the attendant’s access number — the greeting, the keys and the fall-throughs are already proven. This is the same carrier-gated boundary as a direct DID on an extension (§9) or an inbound number on a ring group.
Open an attendant and edit it in the builder at any time; remember nothing reaches callers until you publish (§14.8). Two operations need more thought:
An auto-attendant is rarely an island: a carrier DID may route to it, and other menus may fall through to it. Pulling it without checking those references leaves outside callers hitting a dead number and nested menus dead-ending. Trace every inbound route and every fall-through that names this attendant’s access number, re-point them, and only then unpublish or delete. Treat it like decommissioning a ring group people still dial.
In a non-production tenant with a Sales ring group (6000), extension 1002 and a Support mailbox: (1) create attendant Acme Main Menu on access number 7001 with a text-to-speech greeting; (2) map 1→ring group 6000, 2→extension 1002, 9→voicemail box 1002; (3) set timeout 8s → voicemail and invalid → replay, max 3; (4) open the JSON view and confirm the document matches §14.7; (5) Publish with a change summary; (6) from extension 1001 dial 7001 and walk every key, the timeout and an invalid key; (7) edit the greeting, leave it in draft, re-dial and confirm callers still hear the published version; (8) publish, then roll back to the prior version and confirm the change reverts. You will have rehearsed the entire chapter end to end.
ByondVoice — Administrator & Operations ManualA conference room is a persistent meeting bridge that lives on the hosted PBX: a fixed room number that anyone with the PIN can dial into to join one shared audio call. Unlike an ad-hoc three-way call started from a softphone, a room is a configured object — it has a stable number people can put in a calendar invite, two separate PINs that distinguish ordinary members from privileged moderators, a cap on how many can join at once, and an on/off switch. This chapter walks the screen end to end: reading the rooms list and its live occupancy; creating a room with a number, member and moderator PINs and a member cap; the write-only, hashed way PINs are stored and rotated; how a user dials in and authenticates; the controls a moderator wields once inside; and the day-to-day operations of enabling, disabling and capacity-planning rooms. One worked example threads throughout: standing up room 3000 as Acme Corp’s standing all-hands bridge.
Before opening a screen, fix the four ideas that every field on this page hangs off. A room is deliberately small in surface area — that is what makes it dependable enough to print on a meeting invite and reuse for months.
A short, stable number people dial to reach the bridge — here 3000. It lives in the tenant’s internal dialling plan exactly like an extension, so it must be unique within the tenant and must not collide with an extension, a ring-group pilot (e.g. 6000) or a feature code (*98, 9196).
A member PIN lets a caller join as an ordinary participant; a moderator PIN joins them with control of the room. The two are independent secrets. Knowing the member PIN never grants moderator powers, and a room may have a member PIN, a moderator PIN, both, or (for an open internal bridge) neither.
The maximum number of legs allowed in the room at once. The next caller beyond the cap is refused with a “conference is full” treatment rather than being silently dropped into a degraded call. It protects both the meeting and the platform’s media capacity.
Whether the room is live. A disabled room keeps its number, PINs and settings on record but rejects new callers — the clean way to retire a seasonal bridge for a quarter without losing its configuration or having to re-issue PINs later.
Everything on this screen is scoped to one tenant. The breadcrumb subtitle always names it — tenant Acme Corp — and the rooms list, the occupancy counts and the + New room action all refer to that tenant. A room number is unique within its tenant, so two different customers can each own a room 3000 without conflict. Read the breadcrumb before you create anything here.
A conference room is part of the hosted PBX, so any registered extension can dial its room number and join the moment the room is enabled — no carrier required. What is carrier-gated is letting people join from outside the tenant: pointing an inbound DID at the room, or reaching it through an auto-attendant menu, only works once a carrier connector is connected (see the Carrier chapter). Provision the room now; the external dial-in path lights up when the trunk does.
ByondVoice — Administrator & Operations ManualOpen and you land on the room registry for the tenant in scope: a live-counting header, KPI tiles summarising rooms and current occupancy, and a table with one row per room showing its number, name, the PINs it has set (as state, never as value), its member cap with live occupancy, and whether it is enabled. From here you create a room, open one to edit it, and watch who is in a meeting right now. The figure reproduces the screen with the key elements numbered.
Persistent meeting rooms with member & moderator PINs and a capacity cap.
| Room | Name | PINs | Occupancy | Status | |
|---|---|---|---|---|---|
| 3000 | AHAcme All-Handsmax 25 | member moderator | 4 / 25 | enabled | Open › |
| 3010 | SSSales Standupmax 10 | member | 0 / 10 | enabled | Open › |
| 3099 | QBQ4 Board (seasonal)max 8 | member moderator | — | disabled | Open › |
ByondVoice — Administrator & Operations ManualSelecting + New room opens the create dialog. It collects the four core attributes from §15.1 — the room number, the two PINs, the member cap — plus a friendly name and the initial enabled state. The same dialog re-opens (titled Edit room) when you open an existing room, with one important difference covered in §15.4: the PIN fields never show the current value, only an action to set or replace it.
| Field | Meaning | Notes |
|---|---|---|
| Room number | The internal number callers dial to join the bridge. | Unique within the tenant; 3–5 digits. Avoid extension ranges, ring-group pilots (e.g. 6000) and feature codes (*98, 9196). A dedicated block such as 3000–3099 keeps rooms tidy. |
| Room name | The meeting or team the room belongs to. | Cosmetic; editable any time. e.g. Acme All-Hands. |
| Member PIN | Secret a caller enters to join as an ordinary participant. | write-only · hashed Set or replace only; never displayed. Optional — leave unset for an open internal bridge (§15.4.4). |
| Moderator PIN | Secret that joins a caller as a moderator with room control. | write-only · hashed Independent of the member PIN. Set or replace only; never displayed. Optional. |
| Max members | Maximum simultaneous legs in the room. | The next caller beyond the cap is refused with a “full” treatment. Size for peak attendance plus a little headroom. |
| Enabled | Whether the room accepts callers. | Disable to retire a room without losing its number, PINs or settings; callers are refused while it is off. |
The room number lives in the same dialling space as extensions, ring-group pilots, the echo test and feature codes. Picking 1001 for a room when 1001 is already Alice Tan’s extension creates an ambiguous, hard-to-debug clash. Reserve a clear block for conferences (e.g. 3000–3099), and never reuse a number already serving an extension or a ring group. The number is the room’s identity — changing it later means re-issuing every calendar invite that carries it.
ByondVoice — Administrator & Operations ManualAcme Corp wants a standing all-hands bridge their ~20 staff can dial into every Friday, with a couple of facilitators who can mute the room and lock it once everyone is in. You are the operator, scoped to Acme Corp.
3000 and name Acme All-Hands.4731 and the moderator PIN to 9082 — two distinct values — and note both in the team password vault.25 (twenty staff plus headroom for guests and double-joins), leave Enabled on, and select Create room.4731, and hear the bridge join tone — the room is live.Result: a reusable Friday bridge. Acme circulates “Dial 3000, PIN 4731” in the recurring invite; the two facilitators use 9082 to join as moderators. The member and moderator PINs are now stored only as hashes — not even you can read 4731 back out of the console (§15.4).
A meeting PIN is typed under mild time pressure, often on a phone keypad while someone reads it aloud. Favour 4–6 distinct digits over a long string; avoid trivially guessable values (0000, 1234, the room number itself) and avoid making the moderator PIN a near-twin of the member PIN (4731 / 4732) where a fat-fingered participant could stumble into moderator powers. For a sensitive room, rotate the PINs after the meeting (§15.4.3).
ByondVoice — Administrator & Operations ManualThe two PINs are the room’s entire access-control surface, so ByondVoice treats them the way it treats account passwords, not the way it treats reveal-once device secrets. A PIN is hashed on save and never stored or rendered in clear text. The dialog will let you set a PIN or replace it with a new one, but it will never show you the current value — there is no “reveal PIN” action, because the plaintext does not exist anywhere to reveal. This is what the write-only label on the field means.
Selecting Set (on a new room) or Replace (on an existing one) opens a small panel that takes the new value and a confirmation, and tells you plainly that it cannot be read back afterwards.
When a caller reaches the room and is prompted, ByondVoice hashes what they keyed and compares it against the stored hashes. If it matches the moderator hash, the caller joins with control; if it matches the member hash, they join as a participant; if it matches neither, they are re-prompted and, after a few failed attempts, disconnected. The moderator check is made first, so if — against the advice in §15.3 — both PINs were set to the same value, the caller would always land as a moderator.
Because PINs are hashed, there is no way — for you, for B’Yond support, or for anyone — to retrieve a forgotten PIN. The only remedy is to set a new one, which takes effect immediately and invalidates the old value. If your team has lost the moderator PIN for a live, recurring room, do not delete the room (you would lose its number and have to re-issue every invite): open it, Replace the moderator PIN, and circulate the new value to the moderators only.
Both PINs are optional, which gives you three useful patterns. A room with both PINs is the norm for any meeting where some attendees need control. A room with only a member PIN is a flat, peer meeting where no one needs moderator powers (a daily team standup). A room with no PIN at all is an open internal drop-in line — reasonable for a casual “coffee room” reachable only from inside the tenant, but never advisable once a carrier connects external callers to it.
| Pattern | Member PIN | Moderator PIN | Use it for |
|---|---|---|---|
| Managed meeting | set | set | All-hands, board calls, client bridges — some attendees need control. |
| Flat meeting | set | unset | Peer standups where everyone is equal and no moderation is needed. |
| Open internal line | unset | unset | Casual internal drop-in only. not for external dial-in |
| Moderator-only (uncommon) | unset | set | Anyone may join as a member with no PIN; only PIN-holders get control. |
ByondVoice — Administrator & Operations ManualOnce a room is enabled, joining it is the same simple flow for everyone, whatever device they are on. The caller reaches the room number, ByondVoice prompts for a PIN, the PIN decides their role, and they are placed into the shared bridge. There are two ways to reach the number — from inside the tenant (always available) and from outside it (carrier-gated).
# Internal — works today, no carrier needed Dial : 3000 # the room number, from any registered extension Member PIN : 4731# # joins as a participant Moderator PIN: 9082# # joins with room control (§15.6) # External — available only when a carrier/SIP trunk is connected Dial DID : +65 3159 0030 # a number pointed at the room (carrier-gated) or via IVR : +65 3159 0000 → option 3 # auto-attendant menu → "Conference" then PIN : 4731#
To let people who are not on the tenant’s PBX join — an external client, a colleague calling from their mobile over the PSTN — the room number has to be reachable from outside. There are two routes, both of which require a connected carrier (see the Carrier chapter):
Whether a caller arrives internally or over the carrier, the PIN gate is identical — the room does not care how the call reached it, only that the right PIN is entered. That is why a PIN matters even for an internal-only room the moment you later expose it through a DID or IVR: the access control is the PIN, not the network path. Always set a member PIN before pointing an external DID at a room.
Acme has connected a carrier and pointed DID +65 3159 0030 at room 3000. A client dials that number from their mobile, hears “Welcome to Acme All-Hands — please enter your PIN”, keys 4731#, and is placed into the bridge as a member alongside Acme’s staff who dialled 3000 internally. The facilitator, who dialled 3000 and entered 9082#, is in the same room as a moderator. Three different network paths, one shared meeting, two roles — all decided by the PIN.
ByondVoice — Administrator & Operations ManualA caller who joined with the moderator PIN holds the controls that keep a meeting orderly. ByondVoice exposes them two ways: as in-call keypad commands (DTMF codes anyone can press from any phone, the lowest common denominator that works on a basic handset) and, on the softphone, as on-screen buttons in the in-call conference panel. The actions are the same; only the surface differs.
| Participant | State | |
|---|---|---|
| ATAlice Tan you | talking | Mute |
| BOBen Ong | muted | Unmute |
| CLCarmen Lim | listening | Remove |
| +1Client (+65…0030) | listening | Remove |
From any phone in the room, a moderator presses these in-call DTMF codes. (Codes are configurable per platform; the defaults below are the common set — confirm yours on a test room.)
| Keys | Action | Who | Effect |
|---|---|---|---|
| *1 | Mute / unmute self | Anyone | Toggles your own microphone. Members may always mute themselves. |
| *2 | Mute / unmute all members | mod | Silences every member; moderators stay live. Press again to release. |
| *3 | Lock / unlock the room | mod | While locked, no new caller is admitted even with a correct PIN. |
| *4 | Start / stop recording | mod | Records the meeting audio (where recording is enabled for the tenant). |
| *5 | Announce participant count | Anyone | Plays the current number of people in the room to you only. |
| *8 | End conference for all | mod | Closes the bridge and disconnects every leg. Irreversible for that session. |
The difference between Leave and End for all (*8) catches people out. Leave drops only your leg and the meeting carries on without you; End for all tears down the whole bridge and disconnects every participant at once. If you are the only moderator and you simply want to step away, use Leave — the room stays open for the rest. Record the meeting (*4) and announce that you are doing so, where your tenant’s policy and local law require consent.
ByondVoice — Administrator & Operations ManualBeyond creating a room, three operational levers matter in practice: turning a room on and off, sizing its capacity, and handling the edge cases that come up when meetings collide with limits.
The Enabled switch is the safe way to retire a room temporarily. A disabled room keeps its number, both PINs and its cap, but refuses every caller — ideal for a seasonal bridge such as 3099 “Q4 Board” that you want dormant for three quarters and live for one. Re-enabling restores it instantly with the same number and PINs, so nobody has to be re-briefed.
Deleting a room frees its number and discards its PINs and settings — appropriate only when a meeting is gone for good. For anything that recurs, disable it instead: you keep the number (so old invites still resolve when you re-enable) and you avoid having to re-issue PINs. Reserve deletion for genuine clean-up, and never delete a room while it is in session (§15.7.3).
The max members cap is a hard limit on simultaneous legs. Set it from the expected peak, then add a little headroom for guests, double-joins (someone on both a desk phone and the softphone) and the moderators themselves. Too low and legitimate attendees are turned away mid-meeting; too high and a runaway or abused room can consume more media capacity than you intend. A team of twenty is well served by a cap of 25; a two-person check-in needs only 4.
| Meeting | Expected peak | Suggested cap | Why |
|---|---|---|---|
| Pair / 1:1 check-in | 2 | 4 | Headroom for a double-join or a guest. |
| Team standup | 8–10 | 12 | Covers the team plus an occasional visitor. |
| Department all-hands | ~20 | 25 | The Acme 3000 case — staff plus guests and moderators. |
| Town hall / webinar | 50+ | 60+ | Confirm platform media capacity first; consider mute-all on entry. |
| Situation | What the caller / operator experiences |
|---|---|
| Room at capacity | The next caller hears a “the conference is full” treatment and is not admitted, rather than joining a degraded call. Raise the cap (§15.7.2) if this is recurring and legitimate. |
| Room disabled | Callers are refused; the list shows disabled. Re-enable to restore (§15.7.1). |
| Wrong PIN | The caller is re-prompted; after a few failed attempts the call is disconnected. There is no lockout of the room itself — other callers are unaffected. |
| No PIN set, internal call | The caller joins directly as a member (no prompt). Acceptable only for an open internal line (§15.4.4). |
| Number clash | The create dialog refuses a room number already used by an extension, ring group or another room in the tenant before saving. |
| External dial-in, no carrier | A DID or IVR option pointed at the room does not deliver until a carrier connector is connected; internal dial-in keeps working throughout. |
| Editing a room in session | Changing the name or cap is safe and applies going forward; rotating a PIN affects only new joins; disabling or deleting a room with people in it should be avoided — do it between meetings. |
Keep conferences in a dedicated block (3000–3099) clear of extensions and ring-group pilots. A predictable scheme makes invites, IVR options and troubleshooting far easier.
Always set a member PIN before exposing a room externally, and keep the moderator PIN to a small group and clearly different from the member PIN. Rotate after sensitive meetings.
Size max members from peak plus headroom. Revisit it if attendees start hitting a “full” treatment, or trim it if a room is over-provisioned.
Park recurring rooms with the Enabled switch to preserve their number and PINs. Reserve deletion for rooms that are genuinely finished.
On a non-production tenant: (1) create room 3000 “Acme All-Hands” with member PIN 4731, moderator PIN 9082 and max members 25, left enabled; (2) from extension 1001 dial 3000, enter 4731# and confirm you join as a member; (3) from extension 1002 dial in with 9082# and confirm you join as a moderator with the in-call controls; (4) as the moderator press *2 to mute all members and *3 to lock the room, then verify a third caller with the right PIN is refused while locked; (5) press *3 again to unlock and admit them; (6) Replace the member PIN, confirm the old one no longer admits anyone while those already in stay connected; (7) finally toggle the room disabled and confirm new callers are refused, then re-enable it. You will have exercised every operation in this chapter — creation, the write-only PINs, dial-in, the full moderator toolkit, capacity and the lifecycle switch — without touching a live meeting.
ByondVoice — Administrator & Operations ManualEverything you provision in the admin console — an extension, a SIP device, a voicemail box, a call-handling rule — surfaces for the end user in exactly two places: the self-service portal at my.byondvoice.com and the branded softphone PWA at my.byondvoice.com/phone. This chapter looks at both through the administrator’s eyes: what you set, where the user sees it, what they can change for themselves, and what stays yours. Knowing the user-facing side cold is what lets you provision confidently and answer the inevitable “where do I find…?” questions on the first try. For step-by-step guidance written for the user, point them at the companion ByondVoice User Manual; this chapter is the operator’s map of the same territory.
ByondVoice presents three web surfaces, each scoped to a different audience. You spend your day in the first; your users live in the other two.
admin.byondvoice.com — the operator surface. You provision numbers, extensions, devices, voicemail, routing and carriers across the whole tenant. This is the source of truth.
my.byondvoice.com — one user’s self-service web app. It mirrors only that person’s line: their extensions, devices, voicemail, history and call-handling.
my.byondvoice.com/phone — the branded softphone. The user signs in, it registers over secure WebSocket, and it rings — on the desktop and, installed, on a locked phone.
The relationship between them is the single most useful idea in this chapter: the portal and the softphone are read/write windows onto the very records you administer. There is no separate “user database.” When you create extension 1001 for Alice Tan on tenant Acme Corp, link her user record to it, and add a browser softphone device, you have simultaneously decided what Alice sees under and what her softphone will register as. Change the record and the user’s view changes; nothing is duplicated, so nothing can drift.
The split of authority is deliberate and consistent everywhere in the product. As a rule: the user owns their personal security and the day-to-day behaviour of their own line; the administrator owns the existence of records, the links between them, and the secrets that protect devices. The table is the quick reference you will return to.
| Capability | User (portal / softphone) | Admin (console) | See |
|---|---|---|---|
| Create / disable a line | no | yes | § 16.2 |
| Link / unlink extensions to a person | no | yes | § 16.2 |
| Reveal a SIP device secret | no | reveal-once at creation | § 16.6 |
| Change own password | yes | reset only | § 16.2 |
| Set default outbound caller-ID | yes (among linked) | sets primary | § 16.2 |
| Voicemail PIN, voicemail-to-email, transcription | yes | yes | § 16.3 |
| DND / forward-all / fallback rules | yes | yes | § 16.5 |
| Register / sign out a softphone | yes | view state only | § 16.7 |
A user’s portal API is scoped to their own linked extensions and nothing else. There is no “view a colleague’s line” in the portal — that is a console capability. This is the same isolation that keeps tenants apart, applied one level down at the person. It is why you can safely invite every user to self-serve without exposing the rest of the tenant.
The fastest tenants are the ones where the admin does only the admin-only things — create the line, link the extension, add the device — and the user does everything else from my.byondvoice.com. Read this chapter as the list of what to hand off.
ByondVoice — Administrator & Operations ManualThe first screen a user meets after signing in to my.byondvoice.com is My Phone. It is the user-facing mirror of the user record you created in the console: their linked extensions, their devices and live registration state, and a Profile & security panel for the few things they own outright. Nothing here is editable that you have not first made possible by linking a record.
The portal nav is intentionally narrow. It has just two groups — My line (My Phone, Voicemail, Recent Calls) and Control (Call Handling, My Devices, Conferences) — because a user can act only on themselves. Compare it with the admin console’s five-group rail (Supply, Hosted PBX, Call Routing, Carrier, Revenue) and the division of labour is visible at a glance.
Your extensions, devices and registration state — plus your profile and security.
ByondVoice — Administrator & Operations ManualEverything on My Phone traces back to a console action. Provision in this order and the user’s home screen is fully populated when they first sign in — no “empty line” support call.
On Acme Corp you create extension 1001 “Alice Tan,” link Alice’s user to it as primary, then link the shared Sales line 1050 as a secondary. You add two devices under 1001 — a Yealink desk phone and the web softphone — and map DID +65 3159 0010 to the line. When Alice signs in to my.byondvoice.com, My Phone shows 2 extensions (1001 · 1050), 2 devices, 1 registered, Direct number +65 3159 0010, and a caller-ID selector defaulting to 1001 — Alice Tan. She changes her own password and enrols her authenticator from the same panel — you never see either secret.
Create a user but link no extension and their portal signs in successfully yet shows no numbers — and the softphone has no identity to register. That is correct for admin-only or pre-start accounts, but if the person expected a phone, finish the link (§ 7.3) before they call support.
On a test tenant, create a user with one primary extension and the web softphone, but no DID. Sign in to the portal and confirm Direct number reads “internal only.” Then map a DID in the console, refresh the portal, and watch the tile fill in — demonstrating that the portal is a live read of the record, not a snapshot.
ByondVoice — Administrator & Operations ManualWhen a call goes unanswered, ByondVoice records a message into the extension’s voicemail box. The box is created automatically with the extension, so a brand-new line can take a message the instant it exists. The user reads those messages two ways: as visual voicemail in the portal (play in the browser, read a transcript, mark read, delete) and as an emailed copy (voicemail-to-email). The classic phone path still works — dialling *98 retrieves messages by handset. Your console screen administers the same boxes (§ 11); the portal is the user’s window onto theirs.
Play, read the transcript, mark read or delete — and set how new messages reach you.
| From | Received | Transcript | |
|---|---|---|---|
| NEW +65 9123 4567 | 09:42 today | “Hi Alice, it’s Maria — can you call me back about the Q3 order…” | ▶ Play |
| Ben Ong · 1002 | Yesterday 16:10 | “Ping me when you’re free, no rush.” | ▶ Play |
| +65 6555 0102 | Mon 11:05 | “This is the dentist confirming…” | ▶ Play |
ByondVoice — Administrator & Operations ManualThe voicemail settings the user sees — voicemail-to-email, transcription, and the mailbox PIN — map one-to-one onto the box you administer in . The PIN deserves a word: it is hashed at rest and never displayed, anywhere, to anyone. From the console you can set a new PIN for a user who is locked out; you cannot read the existing one. The user can set their own PIN in portal settings without involving you at all.
| Setting | What it does | User (portal) | Admin (console) |
|---|---|---|---|
| Voicemail-to-email | Emails each new message (with the audio attached) to the user’s address. | set address & toggle | set & toggle |
| Transcription | Generates the text transcript shown in visual voicemail and the email. | on / off | on / off |
| Mailbox PIN | Protects retrieval by phone (*98). Hashed; never shown. | set own PIN | set (reset); cannot read |
| Messages | Play / transcript / mark read / delete. | yes | view & manage box |
Alice can read voicemail fine in the portal but can no longer retrieve messages from her desk phone by *98 — she has forgotten the PIN. You open box 1001 in the console and choose Set PIN · 4729, then message it to her securely. She dials *98, enters 4729, and is in. Later she opens portal Voicemail · Settings and changes it to a value of her own — which you, by design, can never see.
Turning on both settings lets a user triage voicemail from their inbox without ever opening the portal — the transcript tells them whether it is urgent, the attachment lets them listen. It is the single highest-value default for busy users.
ByondVoice — Administrator & Operations ManualRecent Calls is the user’s own call log: their inbound, outbound and missed calls, with time, direction and duration. It is strictly personal — scoped to the signed-in user’s linked extensions, never the tenant. As an administrator you will rarely touch it, but it is worth knowing it exists, because it is the first place a user looks to answer “who called me?” before they raise a ticket. The tenant-wide call detail records (CDRs) you work with live in the console, not here.
Recent Calls shows only the user’s own calls and exists for self-service recall. It is not a reporting tool, cannot see other users, and is not where you go for billing or compliance evidence — that is the console’s call detail records.
Call Handling is where a user decides what happens when their line rings: do not disturb (DND), forward-all (send every call somewhere else), and the fallback ladder of busy / no-answer / unreachable rules, optionally chained into a sequential follow-me. These are not cosmetic preferences — they are live routing instructions. The same screen exists in the console per extension, so either of you can set them; whoever saves last wins.
ByondVoice’s execution engine renders routing from the saved configuration at call time: ByondSwitch reads the rules the instant a call arrives. DND sends callers straight to voicemail; forward-all rings another destination; the fallback ladder rings the device, then each forward target in order, then voicemail. A rule a user toggles in the portal changes how their next call is routed — there is no “apply” or overnight sync.
Decide what happens when 1001 rings — applied live to your next call.
ByondVoice — Administrator & Operations ManualThere are four routing decisions a user (or you) can set on a line. They are evaluated as a ladder: the call rings the device first, and only an unsatisfied condition advances to the next rung. The table is the reference; the order is the contract.
| Rule | Condition that triggers it | What the engine does | Carrier-gated? |
|---|---|---|---|
| Do not disturb | User has DND on. | No device rings; caller goes straight to voicemail. | No |
| Forward-all / find-me | Forward-all is on. | Rings the chosen destination instead of the user’s devices. | External target needs a trunk |
| Busy | The line is already on a call. | Rings the busy target, else voicemail. | External target needs a trunk |
| No answer | Devices ring past the timer. | Advances to the next follow-me target, then voicemail. | External target needs a trunk |
| Unreachable | No device is registered at all. | Rings the unreachable target, else voicemail. | External target needs a trunk |
Forwarding or following-me to another extension (e.g. 1050) works without a carrier. Forwarding or following-me to an external number (a mobile, a PSTN line) is delivered over a SIP trunk, so document it as available when a carrier is connected (§ Carrier). Internal calling, ring groups, voicemail and the DND rule all work with no carrier at all.
Alice will be travelling. In her portal she leaves DND off, sets the no-answer timer to 20 s, and builds a follow-me: ring my devices → then my mobile +65 9876 1234 → then 1050 (the Sales line) → finally voicemail (box 1001). A customer calls 1001: her softphone rings for twenty seconds, then her mobile rings, and because she is in a meeting it rolls to 1050 where a colleague picks up — the customer never hits a dead end. The external mobile leg works because Acme has a carrier connected; on a carrier-less tenant the same ladder would skip the mobile and ring 1050, then voicemail.
Because the portal and the console edit the same rules, an admin edit silently replaces what the user set, and vice versa. If you change a user’s call handling on their behalf (say, to stop a runaway forward loop), let them know — otherwise they will “fix” it back and you will chase your tail.
ByondVoice — Administrator & Operations ManualThe last two Control screens are My Devices — the SIP devices registered to the user’s line, with their live state — and Conferences — the rooms they can join and how to dial in. Both are read-mostly mirrors: the user can see and, for the softphone, sign in or out; but the provisioning (adding a device, revealing its secret, creating a conference room) stays in the console.
The phones registered to your line, and their live state.
Device secrets are encrypted at rest and shown reveal-once only in the admin console at creation. The portal shows that a device exists and whether it is registered — never its password. A user who needs a desk phone re-credentialled must come to you.
You create conference rooms in — each with a room number (e.g. 3000), an optional member PIN and a moderator PIN, and a maximum size. The user’s Conferences screen lists the rooms available to them and the dial-in details so they can join from any device. The moderator PIN is privileged (it controls mute-all, lock and the like) and, like all PINs, is hashed — you set it, the user uses it, neither of you can read the stored value.
You create room 3000 “Acme Standup,” max 20, with member PIN 0000 and a separate moderator PIN you keep for the team lead. The room appears on every Acme user’s Conferences screen with “Dial 3000, then PIN.” Alice joins from her softphone by dialling 3000; the team lead enters the moderator PIN and can mute the room. Reaching 3000 from an external caller needs a DID routed to it and a connected carrier; internally, it just works.
ByondVoice — Administrator & Operations ManualThe softphone at my.byondvoice.com/phone is the branded softphone — a Progressive Web App the user can install to their home screen. It needs no manual SIP configuration: when the user signs in, the softphone discovers its credentials from the control plane and registers to the session border controller (ByondSBC) over secure WebSocket. From the admin side, your only job is to give the user’s extension a browser softphone device (§ 9.4); everything else is the user signing in. The figure shows the idle phone with its dialpad and the tab bar.
ByondVoice — Administrator & Operations ManualOnce a call connects, the softphone gives the user the full set of in-call controls. These are standard telephony actions; what matters for you is that they all work from the browser with nothing installed and no PBX-side toggles to enable. The figure shows an active call with the control row and the mid-call video / PiP toggle.
| Control | What it does | Needs a carrier? |
|---|---|---|
| Mute | Silences the user’s microphone; the call stays up. | No |
| Hold | Parks the far end on hold treatment; resume to return. | No |
| Keypad (DTMF) | Sends touch-tones, e.g. into an external IVR menu. | No (DTMF itself) |
| Blind transfer | Sends the call to another extension or, with a trunk, an external number. | External target only |
| Conference (Add) | Bridges a third party into the call. | External party only |
| Video / PiP | Two-way video mid-call with picture-in-picture; toggle on/off. | No (works internally) |
An incoming call rings the softphone in the browser; when the PWA is installed and notifications are granted, it can also ring while the phone is locked — a lock-screen notification the user taps to answer. This is the single biggest reason to ask users to install the app to their home screen. The chat tab carries team messaging, contacts and file sharing alongside the dialer; the history tab is the same personal log as portal Recent Calls (§ 16.4).
Browsers grant notification permission only after a user gesture, and lock-screen ringing needs the PWA installed. If a user reports “my softphone never rings when my screen is off,” the fix is almost always: install to home screen, then grant notifications — not a server-side change.
If a user gets a connected call but silence (one-way or no audio), they are usually behind a strict NAT or firewall. ByondVoice relays media through TURN for exactly this case; advise the user to retry, and if it persists, check that TURN reachability is not being blocked by their local network rather than re-provisioning the device.
Alice installed my.byondvoice.com/phone to her home screen and granted notifications. Her screen is off when Ben dials 1001. A ByondVoice lock-screen notification appears; she taps it, the PWA opens straight into the incoming-call screen, and she answers — a normal two-way call, no unlock-first dance. Mid-call she taps Video to show Ben a whiteboard, then toggles back to audio. Because both legs are internal, none of this needed a carrier.
On a test device, install the softphone, grant notifications, lock the screen, and ring the extension from another. Confirm the lock-screen notification rings and tapping it answers. Then place an internal call, exercise Hold, Transfer to a second extension, and the Video toggle — the full in-call set, with no carrier required.
ByondVoice — Administrator & Operations ManualThis closing section is the chapter in one table: every choice you make in the console, and exactly where the user encounters its result. Keep it beside you when provisioning — it turns “I set X; will the user see it?” into a lookup. Where a behaviour depends on a carrier, that is called out, because the most common “bug” report is really a carrier-gated feature on a tenant with no trunk.
| Admin choice (console) | Where the user sees it | User can change? |
|---|---|---|
| Create extension 1001 | My Phone · My extensions tile; softphone identity | No |
| Link a second extension 1050 | My Phone tile; caller-ID selector; its own call-handling | Picks default caller-ID only |
| Add a browser softphone device | My Devices; the softphone can register | Sign in / out |
| Add a desk device | My Devices (read-only, shows state) | No (secret is admin-only) |
| Map a direct DID | My Phone · Direct number; inbound reachability* | No |
| Set the primary link | Default outbound caller-ID | Switches among linked |
| Set voicemail-to-email / transcription | Voicemail messages & emailed copies | Yes |
| Reset the voicemail / conference PIN | Retrieval by *98; conference join | Sets own (never reads) |
| Set call-handling rules on the line | Call Handling screen; live routing of the next call | Yes (last save wins) |
| Create a conference room 3000 | Conferences screen + dial-in | No (joins it) |
| Arm MFA / email one-time-code | Portal & softphone sign-in challenge | Enrols own authenticator |
* Inbound delivery to a DID, outbound PSTN calling, and reaching an auto-attendant from an external number are carrier-gated — available when a carrier / SIP trunk is connected. Internal calling, extensions, ring groups, voicemail and call handling all work without one.
This chapter is the administrator’s view of the user surfaces. The companion ByondVoice User Manual documents the same portal and softphone for the user — step-by-step sign-in, installing the PWA, reading visual voicemail, building call-handling rules and placing calls. When a user asks “how do I…?”, point them there; when you ask “what will they see when I do X?”, the map above is your answer. The records are the same; only the lens differs.
When troubleshooting, ask the user what their portal and softphone show — registration state, caller-ID, the rule that is on. Because both are live reads of the records you administer, their screen and your console agree by construction; a disagreement is itself the clue (usually a missing link, an expired device, or a carrier-gated action on a carrier-less tenant).
ByondVoice — Administrator & Operations ManualEverything in ByondVoice that touches the public telephone network passes through a carrier connector. A connector is the link between your hosted PBX and a carrier — a SIP trunk that carries calls out to mobiles and landlines, and delivers inbound calls on your DID numbers. Until a connector is configured, tested and enabled, ByondVoice does everything internal — extensions, ring groups, voicemail, call handling — but stays sealed off from the outside world. This chapter is the operator’s guide to that boundary: the Connectors screen, the type catalogue, configuring a connector with write-only credentials, testing and syncing it, searching for and provisioning numbers, porting in existing numbers, the bring-your-own-trunk model, how a connector feeds the number pool, and exactly what stays inert until a real carrier is wired in.
A carrier (also called an upstream or an ITSP) is the wholesale supplier that connects ByondVoice to the rest of the world’s telephones. A SIP trunk is the signalling-and-media link to that carrier. A connector is the ByondVoice object that holds one carrier integration: its type, its endpoint, its credentials, its capabilities, and its health. You create connectors in ; everything PSTN-related in the platform reads from them.
The single most important operational fact in this chapter is the carrier gate. A specific, predictable set of capabilities — everything that crosses to the public network — is unavailable until a connector is live. Everything else works the moment a tenant exists. Setting this expectation with a customer before go-live prevents the most common “why can’t I…?” conversation on day one (see also §2.5).
| Capability | Works with no connector | Needs a live connector |
|---|---|---|
| Extension-to-extension calling | yes | — |
| SIP / softphone registration | yes | — |
| Ring & hunt groups | yes | — |
| Voicemail (record, play, *98) | yes | — |
| Call handling (DND, forward, follow-me) | yes | — |
| Conferences (internal join) | yes | — |
| Outbound PSTN calling | — | SIP trunk |
| Inbound DID number delivery | — | SIP trunk |
| Reaching an auto-attendant from an external number | — | SIP trunk |
| Forwarding a call to a mobile / external number | — | SIP trunk |
A connector is not per-feature and not per-extension. Configuring and enabling one connector simultaneously unlocks outbound PSTN, inbound DID delivery, external forwarding and external IVR access for every tenant the connector is scoped to. Conversely, if PSTN suddenly stops everywhere, suspect the connector, not the individual extensions — they almost never all break at once.
It helps to place the connector in the call path you met in Chapter 2. SIP devices register at the edge through the session border controller (ByondSBC); calls are handled by the hosted ByondSwitch PBX; the control plane (the API) holds configuration. The connector is the PBX’s door to the carrier — the route over which an outbound call leaves the PBX, and the trunk on which inbound calls arrive before the PBX matches the dialled DID to a tenant’s routing.
Read the chapter with this picture in mind: the connector screen configures the third layer, the type catalogue (§17.2) chooses how that layer talks to the upstream, and the numbers you search, provision or port in (§17.5–§17.6) are the DIDs the carrier delivers to that layer for the PBX to route.
ByondVoice — Administrator & Operations ManualOpen from the navigation rail. This is the only screen in the console where carrier integrations live. On a fresh platform with no carrier wired in, it shows a single placeholder row or an empty state; as you add connectors, each becomes a row with its type, owner, capabilities and live health. The figure below is the screen for a platform with one configured, healthy connector.
Wire ByondVoice to a carrier (SIP trunk) to unlock outbound PSTN and inbound DID delivery.
| Connector | Type | Owner | Capabilities | Health | |
|---|---|---|---|---|---|
| SGSG-Primarysip.sg.carrier.net | Generic SIP trunk | Platform | PSTN out DID in | healthy | Open › |
| NBNimbus-BYOnot configured | — | Reseller · NIMBUS | inert | unconfigured | Open › |
When a customer reports an outbound or inbound problem, glance at the Health column before anything else. A connector showing degraded explains a platform-wide PSTN fault in one look and saves you chasing individual extensions. Re-run the test (§17.5) to refresh it.
ByondVoice — Administrator & Operations ManualA connector type determines how ByondVoice talks to a carrier and which automated capabilities are available. Selecting a type is the first decision when creating a connector, because it fixes the fields you will fill in and whether the connector can search for and port in numbers itself, or whether numbers must be added by hand. Open the catalogue from Type catalogue on the Connectors screen; it is read-only — a reference, not somewhere you create anything.
The universal type. Works with virtually any carrier that offers a standard SIP trunk: you supply the SIP host, an auth method (register or IP) and credentials. Carries outbound PSTN and inbound DID delivery. Numbers are managed manually — you add and label DIDs yourself, because a generic trunk exposes no number API. Use this unless a tighter integration exists.
A named, carrier-specific type that speaks the carrier’s provisioning API in addition to carrying calls. Adds automated number search, provision, release and often port-in directly from the console (§17.5–§17.6). Requires an API key/secret alongside the SIP credentials. Choose this when your carrier is in the catalogue and you want self-service numbers.
Whatever the type, a connector always does the two essential carrier jobs — outbound PSTN egress and inbound DID delivery. The difference is purely in number management: an API type lets you search and provision numbers from inside ByondVoice; a generic trunk needs the numbers added by hand (bulk-preload on the Numbers screen, §Supply › Numbers) once your carrier has assigned them to you out of band.
| Type | Carries calls | Number search / provision | Port-in automation | Credentials needed | Best for |
|---|---|---|---|---|---|
| Generic SIP trunk | yes | Manual (preload) | Manual / carrier-side | SIP host, auth user + secret (or IP auth) | Any carrier; BYO trunks |
| Carrier API integration | yes | in-console | in-console | SIP creds + API key/secret | Supported carriers wanting self-service numbers |
| Inbound-only trunk | Inbound DID only | Manual | n/a | SIP host, ACL/IP allow-list | DID delivery from a number-only supplier |
| Outbound-only trunk | Outbound PSTN only | n/a | n/a | SIP host, auth user + secret | Least-cost outbound on a second carrier |
You can run an inbound-only connector from the carrier that holds your DIDs and a separate outbound-only connector for least-cost outbound. ByondVoice will accept inbound on the first and egress outbound on the second. This is an advanced pattern — keep to a single generic or API connector unless you have a clear commercial reason to split, since two trunks double the health surface you must monitor.
Choose the type carefully. You can edit a connector’s endpoint and credentials freely, but once DIDs are synced or provisioned against it, switching type would orphan those numbers’ routing. If you must change type, release or migrate the numbers first, then re-create the connector. Plan the type at design time, not after go-live.
ByondVoice — Administrator & Operations ManualCreating a connector means choosing a type, naming it, pointing it at the carrier’s SIP endpoint, and entering the credentials the carrier issued you. Credentials in ByondVoice are write-only: you type the auth secret (and any API secret) once, the platform encrypts it at rest, and it is never displayed again. The same reveal-once discipline you met for SIP device secrets (§9) and number-pool source credentials applies here. The figure shows the create-connector dialog for the platform’s primary Singapore trunk.
ByondVoice — Administrator & Operations ManualYour carrier has provisioned a SIP trunk and emailed you the details. In you select New connector, name it SG-Primary, type Generic SIP trunk, owner Platform. You enter host sip.sg.carrier.net, transport TLS · 5061, auth method Register, username sgtrunk_byond01, and paste the secret (which immediately masks to dots). You set the caller-ID prefix to +65 3159 and the concurrent-PSTN cap to 30. Test returns reachable, so you Save & sync. The row now reads type Generic SIP trunk, owner Platform, capabilities PSTN out DID in, health healthy. The carrier gate is now open platform-wide.
Because secrets are write-only, you do not read a secret to rotate it — you replace it. When the carrier rotates your trunk password (or your API secret), open the connector, type the new value into the auth-secret field, Test to confirm it authenticates, then Save & sync. Keep the canonical copy of every carrier credential in your own secrets manager; ByondVoice is the consumer, not the system of record.
The auth secret and any API secret are encrypted at rest and never re-displayed. If you lose the value, you cannot recover it from ByondVoice — obtain a fresh one from the carrier (or your own secrets store) and re-enter it. Editing the rest of a connector never requires re-typing a secret you have not changed; leave the masked field untouched to keep the stored value.
If you have carrier test credentials, create a connector named LAB-Trunk with owner Platform in a non-production environment. Enter the endpoint and credentials, run Test, and watch the health flip to healthy. Then place a single outbound call from a test extension to the echo or a known number to prove media end-to-end before you ever touch PROD.
ByondVoice — Administrator & Operations ManualTwo actions keep a connector trustworthy. Test asks ByondVoice to reach the carrier’s SIP endpoint, authenticate with the stored credentials (and, for an API type, call the carrier’s API), and report what it found. Sync pulls the current set of DIDs the carrier has assigned to you into the ByondVoice number pool, and pushes any routing the carrier needs. Save & sync on the dialog does both in one step; you can also re-run either at any time from an open connector.
| Test result | Likely cause | Fix |
|---|---|---|
| SIP reachability failed | Wrong host, DNS, or carrier ACL not allow-listing the SBC | Verify the host; ask the carrier to allow-list the SBC’s signalling IP; check transport/port |
| Authentication 403 | Bad auth username or secret | Re-enter the credentials (write-only — type the secret fresh); confirm the carrier hasn’t rotated them |
| TLS certificate invalid | Expired/mismatched cert on the carrier’s proxy, or wrong SNI host | Confirm the host matches the certificate; raise with the carrier; temporarily fall back only if policy allows |
| High options latency | Network path or an overloaded carrier edge | Re-test from the same region; if persistent, raise a carrier ticket and watch for call quality |
| API key rejected | Wrong/expired API secret on an API-type connector | Re-enter the API secret; confirm the key has number-management scope |
Right after saving SG-Primary you open it and run Test. SIP reachability is reachable, authentication is 200 OK, the options ping is 38 ms, the certificate is valid, and the carrier shows 14 DIDs available. You select Sync numbers; within seconds lists 14 new available Singapore DIDs in the +65 3159 00xx range. You can now assign +65 3159 0010 to tenant Acme Corp as its main number.
ByondVoice — Administrator & Operations ManualOn an API-type connector, ByondVoice can search the carrier’s available-number inventory and provision DIDs directly from the console — no email, no portal round-trip. Provisioning a number reserves it with the carrier and adds it to your ByondVoice pool as available; releasing it gives the number back to the carrier and removes it from the pool. (On a generic trunk these actions are unavailable; you bulk-preload numbers the carrier assigned you out of band — see §17.8.)
| Number | Monthly | Setup | |
|---|---|---|---|
| +65 3159 0010 | $1.20 | $0.50 | |
| +65 3159 0011 | $1.20 | $0.50 | |
| +65 3159 0042 | $1.20 | $0.50 |
Releasing returns a DID to the carrier and removes it from your pool. It is irreversible — once released, the number may be reassigned to someone else and you may not get it back. ByondVoice therefore refuses to release a number that is still assigned: you must first un-assign it from its tenant/extension/route, then release. Releasing also stops the carrier’s monthly charge for that DID from the next billing cycle.
A released DID goes back into the carrier’s pool and may be allocated to another customer within days. If it was a customer’s published business number, releasing it is a service-affecting, often unrecoverable mistake. Never release a number you are not certain is dead. Prefer to un-assign and hold (keep it in your pool, unassigned) for a quarantine period before you release it for good.
Acme Corp wants a tidy main line. On the SG-Primary API connector you search Singapore Local numbers containing 3159 00, quantity 10. The carrier returns several; you select +65 3159 0010 and +65 3159 0011 (monthly $1.20, setup $0.50 each) and select Provision selected. Both arrive in the pool as available. You assign +65 3159 0010 as Acme’s main number routed to auto-attendant, and reserve +65 3159 0011 for Alice Tan’s direct DID on extension 1001. Acme can now be reached from the outside world.
ByondVoice — Administrator & Operations ManualA port-in moves a customer’s existing published number from their current provider onto your carrier, so they keep the number their customers already know. It is a regulated, carrier-coordinated process — ByondVoice gives you a request form and tracks the order through the carrier, but the timeline and the cut-over are governed by the losing and gaining carriers and the local regulator. Plan port-ins as part of onboarding, never as a last-minute step.
ByondVoice — Administrator & Operations Manual| Port-in status | Meaning | Your action |
|---|---|---|
| submitted | Request lodged with the gaining carrier | Wait; nothing to do yet |
| validated | Details matched the losing carrier’s records | Confirm the proposed cut-over date with the customer |
| rejected | A mismatch or missing document | Read the reason, correct it (often the holder name/address), resubmit |
| scheduled | Cut-over window confirmed | Pre-stage routing; brief the customer on the brief expected interruption |
| completed | Number now lives on your trunk | Assign it, test inbound, and only now have the customer cancel the old service |
If the customer disconnects their old line before the port finishes, the number is released back to the regulator’s pool and the port fails — often unrecoverably. The losing service must stay active until status reads completed. Make this the headline of your customer briefing.
Acme is moving to ByondVoice but must keep its published landline +65 6555 0100. You collect Acme’s latest bill from Acme Telco Pte Ltd, account ACME-99231, holder Acme Corp Pte Ltd at 1 Raffles Place, and a signed LOA. On SG-Primary you submit a port-in for that number with a cut-over of 2026-07-02 02:00. Two days later status reads validated; you confirm the date with Acme. On the night, status flips to completed; the DID appears in the pool, you assign it to Acme’s auto-attendant, and a test call from a mobile rings the IVR. Only now do you tell Acme to cancel the old line.
ByondVoice — Administrator & Operations ManualA connector’s owner decides who it serves. A platform-owned connector is the carrier of last resort for every reseller that does not bring its own. A reseller-owned connector is the bring-your-own-trunk (BYOT) model: a partner such as Nimbus Telecom attaches its own SIP trunk so that its tenants’ external calls leave over Nimbus’s carrier and bill to Nimbus’s carrier account — while the PBX, routing, softphone and branding stay on ByondVoice. The connector is configured identically (§17.4); only the owner differs, and a reseller must have the bring-your-own carrier entitlement enabled first (§5.5).
| Platform connector | Reseller (BYOT) connector | |
|---|---|---|
| Owner | Platform | The reseller (e.g. NIMBUS) |
| Serves | Resellers without their own carrier | Only that reseller’s tenants |
| PSTN billing | Your carrier account → metered to reseller | The reseller’s own carrier account |
| Numbers feed | Your DID pool / platform carrier | The partner’s own DID range |
| Prerequisite | None beyond admin access | Bring-your-own carrier entitlement on (§5.5) |
The connector is where DIDs enter ByondVoice; the Numbers screen (§Supply › Numbers) is where they are managed and assigned. The two are linked but distinct, and the path differs by connector type:
So an API connector keeps the pool in step with the carrier automatically — provision a number and it appears; release it and it leaves. A generic trunk needs you to keep the pool aligned by hand: when your carrier assigns you a new block out of band, bulk-preload it on the Numbers screen and tag it to the connector so the PBX knows which trunk delivers it. In both cases, a DID does nothing until it is assigned — sitting in the pool, it is inbound-capable but routed nowhere.
On an API connector, a periodic Sync numbers catches DIDs the carrier added or removed. On a generic trunk there is no inventory to pull, so make adding the block to the pool part of the same change in which you order it from the carrier — otherwise a delivered DID will ring the trunk with no tenant to receive it.
Nimbus has a wholesale deal with its own carrier and wants Singapore numbers in the +65 3159 range. With BYO carrier entitled (§5.5), you create a connector owned by NIMBUS, type Generic SIP trunk, host sip.nimbuscarrier.net, username nimbus_trunk_01, secret entered once. Test is healthy; you Save & sync, then bulk-preload Nimbus’s assigned +65 3159 00xx block tagged to that connector. You assign +65 3159 0010 to Nimbus’s tenant Acme Corp. When Acme’s Alice (ext 1001) dials out, the call leaves over Nimbus’s carrier and presents +65 3159 0010 — billed to Nimbus’s carrier account, on Nimbus’s range.
ByondVoice — Administrator & Operations ManualIt is worth being precise about the state of a platform with no live connector, because customers and even operators routinely misread an empty-handed PSTN for a broken PBX. With no connector configured, ByondVoice is fully functional internally and completely sealed off externally. Nothing is broken — the outside-world features simply have no path, by design, until the gate is opened.
Extension-to-extension calls, SIP & softphone registration, ring/hunt groups, voicemail (record, play, transcript, *98), the full call-handling ladder (DND, forward, busy/no-answer/unreachable, follow-me), conferences joined internally, the echo test 9196. All resolved inside the PBX.
Outbound PSTN to any mobile/landline, inbound calls on a DID, an external caller reaching an auto-attendant or ring group over a DID, forwarding a call to an external number, and outbound voicemail-to-email actually leaving the platform (which also needs the mail relay). All wait on the trunk.
The give-away symptom of a missing or unhealthy connector is that everything internal works and everything external fails the same way. A single broken extension is an extension problem; a tenant where no one can dial out and no DID rings is almost always the connector. Check health before you touch a single extension.
| Symptom | Connector cause | Where to look |
|---|---|---|
| No one in any tenant can dial out | No connector, or connector degraded / disabled | Connectors health (§17.5); re-test |
| Inbound calls to a DID fail or ring nowhere | DID not synced into the pool, or not assigned to a route | Sync (§17.5); then Supply › Numbers assignment |
| One reseller’s tenants can’t dial out, others can | That reseller’s BYOT connector down, or entitlement off | The reseller-owned connector (§17.8); entitlement (§5.5) |
| Outbound works, inbound doesn’t (or vice-versa) | A split inbound/outbound pair with one side unhealthy | Both connectors’ health and capabilities (§17.3) |
| Calls connect but drop after the cap | Concurrent-PSTN ceiling reached | KPI strip; raise the cap (§17.4) if the plan allows |
| Outbound auth fails after a carrier change | Carrier rotated the trunk secret | Re-enter the write-only secret and re-test (§17.4.2) |
On a tenant with a freshly wired connector, register a softphone to 1001 and dial an external mobile — you have proven outbound. Then, from that same mobile, call the tenant’s assigned DID and confirm it reaches the auto-attendant or rings 1001 — you have proven inbound. Two calls, and the carrier gate is verified end-to-end.
The connector is the boundary the whole manual circles: extensions and devices (§9), ring groups and auto-attendants, voicemail (§11) and call handling (§12) all run without it, and all gain their external reach the moment it is live. The Numbers screen (§Supply › Numbers) is its other half — the connector brings DIDs in; Numbers puts them to work. With a healthy connector and assigned numbers, ByondVoice is a complete, outside-world-connected phone system.
ByondVoice — Administrator & Operations ManualEverything in the manual so far — extensions, ring groups, auto-attendants, voicemail, call handling — works inside the hosted PBX with no carrier at all. This chapter is about the moment the platform meets the outside world: how calls leave ByondVoice for the PSTN (the public switched telephone network) over a carrier trunk, and how calls arrive from it on a DID (a Direct Inward Dialling number) and land on the right destination. We call the join between the hosted PBX and the carrier the routing seam. Chapter 17 covered the connector — the object that holds a carrier’s credentials, its trunk and its number stock. This chapter covers what the connector enables once it is live: outbound egress (with least-cost selection, caller-ID and dial-plan normalisation) and inbound DID delivery to an extension, a ring group, an auto-attendant or a voicemail box. Because both directions cross the seam, both are carrier-gated: you can build and save every part of the routing today, but a real external call only flows once a carrier/SIP trunk is connected and enabled. The chapter ends with exactly what to expect at carrier cutover — the short window when the trunk goes live and the saved routing starts carrying real traffic.
It helps to hold one picture in your head for the whole chapter. Internal calls (extension to extension, into a ring group, to voicemail) never leave the platform: the SBC and the hosted ByondSwitch PBX handle them entirely (Chapter 02). A call only touches a carrier when it has an external party — either the call is placed to a public number (outbound) or it is received from one on a DID (inbound). The carrier connector is the single door in the wall between the two worlds, and the routing seam is the set of rules that decide how a call passes through that door in each direction.
Two consequences follow from this picture, and they shape the whole chapter. First, the seam is symmetric in dependency but not in mechanism: outbound needs a dial-plan (how to recognise an external number and which trunk to send it over) while inbound needs a map (which DID rings which destination). Second, both halves are inert until the connector is enabled — so you can, and should, build the routing in advance and let it light up at cutover rather than scrambling on the day.
Outbound PSTN egress and inbound DID delivery both cross the carrier seam, so both are carrier-gated: they become real calls only when a carrier connector is configured, tested and enabled for the tenant (Chapter 17), and the tenant’s licence permits the capability (§6.4). You may configure every routing rule in this chapter with no carrier attached — it will save and validate — but an external call only flows once the trunk is live. Throughout, assume “works” means “works once a carrier is connected.”
ByondVoice — Administrator & Operations ManualOutbound is the direction a user notices first: someone picks up a desk phone or the softphone, dials a public number, and expects it to ring on the far end. For that to happen the platform must recognise the dialled digits as external, decide which trunk to send the call over, stamp the correct outbound caller-ID, and bridge the leg out through the carrier connector. Those decisions live in the connector’s Outbound routing view, reached from by opening a connector and selecting its routing tab. The figure below reproduces that view with the key elements numbered.
How external calls leave ByondVoice: trunk selection, least-cost order and outbound caller-ID.
| # | Match pattern | Trunk (egress) | Caller-ID | Status |
|---|---|---|---|---|
| 1 | +65 8… / +65 9… | SwiftConnect SG | +65 3159 0010 | active |
| 2 | +65 6… | SwiftConnect SG | +65 3159 0010 | active |
| 3 | +… (intl) | SwiftConnect SG | +65 3159 0010 | needs approval |
| 4 | 1xx / emergency | carrier default | per-site | reserved |
ByondVoice — Administrator & Operations ManualThree things happen, in order, the instant an outbound call is placed. Understanding the order is the difference between a dial-plan that “just works” and one that drops calls or bills wrongly.
Whatever the user typed — 9123 4567, 0 9123 4567, or already-full +65 9123 4567 — the platform converts it to canonical E.164 using the tenant’s dial prefix and home country (§6.4). Rules match the normalised form, never the raw keystrokes, so a user can dial naturally.
The normalised number is tested against the egress rules top-down; the first match wins. Order matters: put specific patterns (mobile, local) above broad ones (intl +…) so a cheap, approved route is chosen before a costly fallback.
The winning rule names an egress trunk. With more than one trunk able to carry the destination, least-cost routing tries them in the configured order — cheapest first — failing over to the next if a trunk is unreachable or rejects the call. With a single trunk, LCR is trivially that trunk.
The rule’s outbound caller-ID (or the extension’s own, §9) is presented to the far end, and the leg is bridged out through the connector. From here the carrier carries the call; the platform meters it for billing.
| Setting | What it controls | Typical / example |
|---|---|---|
| Match pattern | Normalised digits the rule recognises as external. First match wins, top-down. | +65 9… · +65 6… · +… |
| Egress trunk | The carrier trunk the call is bridged over. | SwiftConnect SG |
| LCR order | With multiple trunks, the cheapest-first sequence to try, failing over on reject/unreachable. | Trunk A → Trunk B |
| Outbound caller-ID | The number presented to the far end; must be carrier-authorised for the tenant. | +65 3159 0010 |
| Dial prefix | Any digit the carrier requires before the number, and the tenant prefix used in normalisation. | per carrier (§6.4) |
| Approval gate | Marks costly classes (international, premium) as needs approval for fraud control. | intl gated by default |
Alice (ext 1001) calls a courier on her softphone and types 9123 4567. The platform normalises it to +65 9123 4567 using Acme’s SG home setting. Rule 1 (+65 9…) matches first, so the call egresses over SwiftConnect SG, presenting caller-ID +65 3159 0010 (Acme’s main DID) rather than Alice’s extension. The courier’s phone rings showing Acme’s number; the call is metered against Acme’s outbound rate and holds one of the trunk’s 30 channels until either party hangs up. Had Alice dialled an international number, it would have fallen to rule 3 (+…), which is needs approval — so unless intl is enabled for Acme, the call is rejected with a carrier-class disconnect rather than silently bridged.
ByondVoice — Administrator & Operations ManualOutbound looks simple until production traffic finds its corners. Four of them recur often enough to plan for deliberately.
More than one place can specify the number shown to the far end. They resolve in a fixed order, most-specific first:
| Precedence | Source of caller-ID | Use when |
|---|---|---|
| 1 (highest) | Per-extension outbound caller-ID (§9) — a DID set on the extension itself. | A user or department must present its own published number. |
| 2 | Per-rule caller-ID on the egress rule. | A whole class of calls (e.g. local) should share one presented number. |
| 3 (lowest) | Tenant default DID — the tenant’s main number. | Nothing more specific is set; the safe fallback. |
Always present a DID that the tenant owns and routes inbound. If you stamp a number the tenant does not have inbound on, return calls go nowhere — a common and confusing support ticket. The cleanest default is the tenant’s main DID, which should already route to a reception attendant or ring group (§18.4).
The single largest financial risk in any phone system is toll fraud: a compromised device or weak SIP password used to dial expensive international or premium-rate destinations, fast, around the clock. Keep international and premium patterns behind the needs approval gate, enable them only for tenants that truly need them, and rely on the trunk channel cap and per-tenant concurrency limits to bound the damage. Reveal-once device secrets (§9) and strong SIP credentials are your first line of defence; the egress gate is the second.
Emergency numbers (such as 995/999 in Singapore, 112, 911) are not something ByondVoice can guarantee on its own. Correct emergency routing — reaching the right emergency answering point with an accurate registered location — depends entirely on the connected carrier’s emergency-calling service and the address registered for each site. Before any tenant relies on the platform for emergencies, confirm in writing with the carrier exactly which emergency numbers are supported and how location is provisioned, and tell the customer plainly where the limits are. Treat the emergency pattern (rule 4 in the figure) as carrier-handled and verify it with the carrier, not by guesswork.
The trunk has a concurrent-channel cap (here 30), and each tenant has a max concurrent calls limit in its licence (§6.4). An outbound call holds one channel for its entire duration. When either ceiling is reached, the next outbound attempt is rejected at the seam — the caller hears a fast-busy or carrier disconnect, not a platform error. Size the trunk and the per-tenant cap to the customer’s real busy-hour, and watch Live now against the cap during launches and campaigns.
ByondVoice — Administrator & Operations ManualInbound is the mirror image of outbound, and arguably the more important half: it is how customers reach the business. When the carrier delivers a call to one of the tenant’s DIDs, the SBC receives it and the platform consults the inbound map — the per-number routes-to destination you set when you assigned the DID (§8.7). The map resolves the dialled DID to exactly one of four destination types, and from that point the call is routed by the same PBX machinery that handles internal calls. You manage the map from the Routes to column of the screen; the figure below shows it focused on inbound delivery.
Each DID resolves to one destination: an extension, ring group, auto-attendant or voicemail.
| Number (DID) | Destination type | Routes to | Status |
|---|---|---|---|
| +65 3159 0010 | auto-attendant | Main menu → AA “Acme Reception” | live |
| +65 3159 0011 | ring group | RG 6000 · Sales | live |
| +65 3159 0012 | extension | Ext 1001 · Alice Tan | live |
| +65 3159 0013 | voicemail | VM box 1002 · Ben Ong | live |
| +65 3159 0014 | — none — | — unrouted — | no destination |
ByondVoice — Administrator & Operations ManualA DID can point at exactly one of four targets. Each is built elsewhere in the console; the inbound map simply selects it. Knowing what each does — and what happens after the call lands — lets you design the right front door for a number.
The DID rings one person’s line directly (e.g. +65 3159 0012 → ext 1001 Alice Tan). The extension’s own call-handling rules (§12) then apply — DND, no-answer forward, voicemail. Best for a personal direct line.
The DID rings a team via a pilot number (e.g. +65 3159 0011 → RG 6000 “Sales”). The group’s strategy — simultaneous, sequential or round-robin — and its overflow target (§13) take over. Best for a department line.
The DID plays a greeting and a digit menu (e.g. +65 3159 0010 → AA “Acme Reception”: 1=Sales, 2=Support, 9=leave a message, §14). Best for a main number that should triage callers.
The DID drops straight to a mailbox (e.g. +65 3159 0013 → VM box 1002). The message is recorded, appears as visual voicemail and is emailed (§11). Best for an after-hours or message-only line.
| Destination | What the caller experiences | Built in | What governs the call after landing |
|---|---|---|---|
| extension | The chosen line rings. | §9 | That extension’s call-handling ladder (§12). |
| ring group | A team rings per the group strategy. | §13 | Group strategy, ring seconds and overflow target. |
| auto-attendant | A greeting plus a digit menu. | §14 | The published menu’s digit→action map. |
| voicemail | Straight to a mailbox greeting. | §11 | The mailbox’s settings (transcription, email). |
Acme’s main number is +65 3159 0010. You assign it to Acme (§8.4), then open Set routing, choose auto-attendant, and pick the published attendant “Acme Reception”. A caller now hears: “Welcome to Acme Corp — press 1 for Sales, 2 for Support, or 9 to leave a message.” Pressing 1 rings ring group 6000 “Sales” (1001 and 1002 together); if no one answers within the group’s ring seconds it overflows to the Sales voicemail (§13). Pressing 9 drops to a mailbox that emails the message to reception (§11). The DID, the attendant, the ring group and the mailbox are four separate objects — the inbound map is the single line that wires the public number to the front of that chain.
ByondVoice — Administrator & Operations ManualWith both halves built, it is worth tracing a real call each way through the whole fabric, because the seam is exactly where most production issues sit — and where it pays to know which component owns each step. The stack below follows the architecture of Chapter 02: device → SBC → PBX → carrier.
The lesson of the trace: the carrier only touches the external leg. Once an inbound call is past the SBC, or before an outbound call reaches it, you are in ordinary PBX territory and every tool in Chapters 9–15 applies unchanged. That is why internal calling is rock-solid without a carrier, and why carrier problems present specifically as “external calls fail, internal calls are fine.”
Until a carrier connector is configured, tested and enabled (Chapter 17), the seam is a door with nothing on the far side. The table below is the definitive list of what works regardless of any carrier versus what is carrier-gated — configurable now, live at cutover.
| Capability | Without a carrier | With a carrier connected |
|---|---|---|
| Extension-to-extension calling | works | works |
| Ring groups, auto-attendants, conferences, voicemail | works | works |
| Call handling & internal forwarding (§12) | works | works |
| Building egress rules & the inbound map | configure & save | carries calls |
| Outbound calls to the PSTN | inert | live |
| Inbound DID delivery to any destination | inert | live |
| Forwarding a line to an external mobile (§12.8) | inert | live |
| Reaching an attendant/IVR from an outside DID | inert | live |
A saved egress rule or inbound route on a carrier-less tenant is not an error; it is staged. This is by design: you can fully build a tenant’s external routing during onboarding and it simply starts carrying calls the moment the connector is enabled. The one trap is forgetting that it is staged and assuming external calls already work — always confirm the connector state before telling a customer they are live.
ByondVoice — Administrator & Operations ManualCutover is the short window when the carrier trunk is enabled and the staged routing starts carrying real traffic. Because everything was built in advance, a good cutover is uneventful — but it rewards a checklist and an order of operations.
If the DIDs are being ported in from another provider (§21), the moment the number actually starts delivering to ByondVoice is set by the losing and gaining carriers’ port schedule — often a fixed window on a fixed date that you cannot move. Have the routing staged and the connector ready well before that window, and expect a brief period where calls may arrive on either the old or the new platform as the port completes. Never release a number on the old system until inbound is confirmed working on ByondVoice.
| Symptom | Likely cause | First check |
|---|---|---|
| Internal calls fine; all external calls fail | Connector disabled or trunk unreachable. | Connector Status = enabled/reachable (§17); Numbers Delivery = live. |
| Inbound to one DID goes nowhere | DID unrouted or attendant still in draft. | The DID’s Routes to (§18.4); publish the attendant (§14). |
| Outbound local calls hit an intl gate | Egress rules misordered (broad above specific). | Rule order — specific patterns above +… (§18.2.1). |
| Far end sees the wrong / unknown number | Caller-ID precedence resolving to an unintended source. | Per-extension vs per-rule vs tenant default (§18.2.5). |
| New calls rejected at busy times | Trunk channel cap or tenant concurrency reached. | Live now vs Channels; tenant cap (§6.4). |
| External forward to a mobile never connects | No carrier / outbound not licensed for the tenant. | Connector enabled and outbound PSTN in licence (§12.8). |
On a test tenant, assign +65 3159 0010 to Acme and route it to a published attendant; add an egress rule +65 9… → your trunk with caller-ID +65 3159 0010. With no carrier yet, confirm both save and that the status reads inert — proving the routing is staged. Now walk the pre-cutover checklist in §18.6.1 against it: is every DID routed, are rules ordered specific-above-broad, is a reachable caller-ID set? When a carrier is later enabled, the same routing should light up with nothing more to build — that is a healthy seam.
ByondVoice — Administrator & Operations ManualEvery other chapter in this manual has been about making the phones work. This one is about getting paid for them. ByondVoice is sold through a chain — platform → reseller → tenant → users — and money flows back up the same chain. The Wholesale Meter is the platform-operator tool that measures what each reseller consumed in a billing period and turns that consumption into a single wholesale charge from B’Yond to that reseller. It deliberately does not bill the reseller’s end customers — that is the reseller’s own business, priced on top of the wholesale cost. This chapter explains what the meter measures and what it does not; the period and idempotency model that makes a run safe to repeat; the all-important difference between a preview (a dry run that changes nothing) and a run (a committed charge); how a wholesale rate works and how a reseller prices retail on top of it to earn a margin; how to read a completed meter run line by line; and a full worked example that previews a complete month for the reseller Nimbus Telecom and then commits it. By the end you will be able to close a billing period for a reseller confidently, defend every figure on the invoice, and never double-charge.
The Wholesale Meter lives under in the admin console, and it is a platform-operator screen — it sits at the very top of the hierarchy and is normally visible only to B’Yond staff who operate the deployment. Where the rest of the console provisions telephony for one tenant at a time, the meter looks across a reseller at everything its tenants consumed and produces one number: the amount that reseller owes the platform for the period.
It is essential to be precise about the two layers of money in a white-label business, because confusing them is the single most common billing mistake:
What the platform (B’Yond) charges a reseller for the capacity and usage that reseller’s tenants consumed — numbers in service, extensions provisioned, minutes carried, and any per-feature fees. Priced at the wholesale rate. This is what the meter computes.
What a reseller charges its own tenants — the customer-facing price under the reseller’s brand. The reseller sets this on top of the wholesale cost to earn a margin. ByondVoice does not bill end customers; the reseller invoices them with its own billing system. See § 19.5.
Think of the platform as a wholesaler and the reseller as a shop. The meter is the wholesaler’s goods-out ledger: it records what left the warehouse for that shop this month and at what wholesale price. What the shop then charges customers on the shelf is the shop’s affair — and the difference between the two is the shop’s margin. The meter never sees the shelf price.
| Concept | Who charges whom | Set by | Where in ByondVoice |
|---|---|---|---|
| Wholesale charge | Platform → reseller | Platform (B’Yond) | This meter — preview & run |
| Wholesale rate | — (the unit prices used above) | Platform, per reseller agreement | The reseller’s rate card (§ 19.5) |
| Retail price | Reseller → tenant | Reseller | The reseller’s own billing — outside ByondVoice |
| Tenant settlement | Tenant → reseller | Reseller | Outside ByondVoice |
A frequent first-day question is “where do I send the customer’s invoice?” — you don’t, from here. The Wholesale Meter produces one charge per reseller per period, for the platform to invoice that reseller. Each reseller then bills its own tenants under its own brand and pricing, using its own billing system. For a direct tenant (one sitting under the platform with no reseller in between — see Chapter 2), the platform is the reseller for metering purposes, and the meter charges that direct relationship in exactly the same way.
The meter only makes sense on top of the four-level hierarchy in Chapter 2. “A reseller’s usage” means the rolled-up usage of every tenant beneath that reseller, and every tenant beneath those is isolated from every other reseller. If you are unsure which tenants roll up to which reseller, confirm the tree first — the meter charges strictly along it.
ByondVoice — Administrator & Operations ManualThe meter opens on a per-reseller dashboard: you pick a reseller and a period, and the screen shows what that reseller has consumed so far and the state of any meter runs for that period. It is the home base for everything in this chapter — preview, run, and reading a result all start here. The figure below shows the meter scoped to Nimbus Telecom for the current month, with no committed run yet.
Meter what a reseller’s tenants consumed in a period, then preview and commit the wholesale charge.
| Period | Status | Wholesale total | Run by | Run at |
|---|---|---|---|---|
| 2026-05 | open | — | — | — |
| 2026-04 | run | S$ 6,184.50 | S. Admin | 2026-05-02 09:14 |
| 2026-03 | run | S$ 5,902.10 | S. Admin | 2026-04-02 09:06 |
ByondVoice — Administrator & Operations ManualBefore you preview or run anything, understand the two ideas that make the meter trustworthy: the period (the window of time a charge covers) and idempotency (the guarantee that running the same period twice does not charge it twice). Billing is unforgiving — a double charge erodes a partner’s trust faster than almost anything — so the meter is built so that a run is safe to repeat.
A period is a calendar month, identified as YYYY-MM — 2026-05 is May 2026. A period passes through exactly three states:
How a billing month moves from accruing usage to a committed, immutable charge.
You can run a period that is still open, but the total then reflects only usage up to that instant — calls placed later in the month are not in it. Unless you have a specific reason (e.g. an early final invoice for a departing reseller), wait until the calendar month has ended before you run. A good cadence is to run the previous month on the first or second working day of the new one, exactly as the April and March runs in § 19.2 were committed on the 2nd.
Idempotency means that doing the same operation more than once has the same effect as doing it once. The meter is idempotent per (reseller, period): the first Run meter on a period creates and freezes the meter run; any later Run meter on the same reseller and same period simply returns that existing run, unchanged. It does not recompute, it does not re-charge, and it does not create a duplicate.
| Term | Meaning in the meter |
|---|---|
| Period | The calendar month a charge covers, written YYYY-MM. The unit you preview and run. |
| Open | The period is still accruing usage and has no committed run. Previews are allowed; the figure is provisional. |
| Run (committed) | A frozen snapshot of the charge for one (reseller, period): the total, the rates applied and every line item, plus who ran it and when. |
| Idempotency key | The pair (reseller, period). It is what guarantees a second run returns the first run rather than charging again. |
| Preview | A dry-run computation that produces the same numbers a run would, but commits nothing and creates no run record. Repeatable with no side effects. See § 19.4. |
| Adjustment | A separate credit or corrective re-bill that references a committed run, used instead of editing it. Preserves the audit trail. See § 19.8. |
The idempotency key exists so that an interrupted or repeated Run meter — a flaky connection, an impatient double-click, a retried request — cannot produce two charges for one month. What it does not do is undo a run you committed on purpose: if you run the wrong period or the wrong reseller, the fix is an adjustment (§ 19.8), not a re-run. So idempotency makes the mechanism safe; the preview step (§ 19.4) is what keeps you safe.
ByondVoice — Administrator & Operations ManualThis is the most important distinction in the chapter. A preview is a dry run: it computes the wholesale charge exactly as a real run would, shows you every line, and then changes nothing — no charge, no record, nothing the reseller is ever billed for. A run takes that same computation and commits it: it creates the frozen meter run that the platform invoices against. You can preview a hundred times; you run once.
| Preview | Run | |
|---|---|---|
| Computes the charge? | Yes — identical maths | Yes — identical maths |
| Commits anything? | No — nothing is saved | Yes — freezes a meter run |
| Creates a billable record? | No | Yes — the reseller is invoiced against it |
| Repeatable? | Yes, freely, no side effects | Yes, but idempotent — returns the same run, never a second charge |
| When to use | Any time — mid-month checks, verifying before close | Once, after the period is closed and verified |
The figure below shows the preview result for Nimbus Telecom, May 2026. Notice the unmistakable PREVIEW banner and that the only commit control is greyed until you choose to run — the dialog is designed so you cannot mistake a dry run for a committed one.
| Line item | Qty | Wholesale rate | Amount |
|---|---|---|---|
| Numbers in service | 38 | S$ 1.50 / no. | S$ 57.00 |
| Extensions (seats) | 214 | S$ 8.00 / seat | S$ 1,712.00 |
| Outbound minutes | 31,480 | S$ 0.011 / min | S$ 346.28 |
| Inbound DID minutes | 17,440 | S$ 0.004 / min | S$ 69.76 |
| Platform / feature fee | 9 | S$ 25.00 / tenant | S$ 225.00 |
ByondVoice — Administrator & Operations ManualWhen the period is closed and the preview is verified, you commit. Running the meter freezes the computation into a permanent meter run, stamps it with your operator name and the time, and moves the period to run. From that moment the figures are immutable and the reseller can be invoiced against them. The confirmation step below exists precisely because this is the one irreversible action on the screen.
Once you commit, the run is frozen for audit; there is no “edit” or “delete”. If you discover an error after the fact — you ran the wrong month, a rate was stale, a tenant was mis-attributed — do not attempt to recreate or overwrite it. Issue a separate adjustment (a credit or corrective re-bill) that references the original run, so the trail shows what happened and why (§ 19.8). The preview step exists so you almost never need this; treat reaching for an adjustment as the exception, not the routine.
On 2 June an operator commits the May run for Nimbus at S$ 2,361.84; the connection stalls and, unsure whether it went through, the operator clicks Commit run again. Because the meter is idempotent on (Nimbus Telecom, 2026-05), the second click returns the same run created moments earlier — same total, same timestamp, same run reference — not a second charge. The history shows exactly one May run. Had the operator instead selected the wrong period, say 2026-04 (already committed in § 19.2), the meter would have returned April’s existing run untouched — again, no harm. Idempotency turned an anxious moment into a non-event.
ByondVoice — Administrator & Operations ManualA wholesale rate is the unit price the platform charges a reseller for one unit of a metered quantity — one number in service, one extension seat, one minute of outbound, and so on. Rates are set per reseller in that reseller’s agreement (a larger partner may negotiate keener rates), and they are what the meter multiplies usage by to produce each line amount. The reseller then sets a retail price — what it charges its own tenants — on top of the wholesale rate, and the difference is the reseller’s margin.
The unit prices the meter applies to this reseller’s usage. Effective from the date shown.
| Metered item | Unit | Wholesale rate | Effective | Status |
|---|---|---|---|---|
| Number in service | per number / month | S$ 1.50 | 2026-01-01 | active |
| Extension (seat) | per seat / month | S$ 8.00 | 2026-01-01 | active |
| Outbound minute | per minute | S$ 0.011 | 2026-01-01 | active |
| Inbound DID minute | per minute | S$ 0.004 | 2026-01-01 | active |
| Platform fee | per tenant / month | S$ 25.00 | 2026-01-01 | active |
| Volume credit | on subtotal | − 2% | 2026-04-01 | tiered |
The reseller takes each wholesale rate, adds its margin, and publishes a retail price to its tenants under its own brand. ByondVoice does not compute or store retail prices — they live in the reseller’s billing — but understanding the relationship lets you sanity-check a reseller’s economics and answer the inevitable “are we making money?” question. The table shows a typical build-up for Nimbus.
| Item | Wholesale (platform → Nimbus) | Retail (Nimbus → tenant) | Nimbus margin / unit |
|---|---|---|---|
| Number / month | S$ 1.50 | S$ 4.00 | S$ 2.50 |
| Seat / month | S$ 8.00 | S$ 15.00 | S$ 7.00 |
| Outbound minute | S$ 0.011 | S$ 0.020 | S$ 0.009 |
| Platform fee / tenant | S$ 25.00 | S$ 49.00 | S$ 24.00 |
In May, Nimbus had 214 seats. At the wholesale rate of S$ 8.00 the platform charges Nimbus 214 × 8.00 = S$ 1,712.00 for seats (the very line you saw in the preview, § 19.4). At Nimbus’s retail price of S$ 15.00, Nimbus bills its tenants 214 × 15.00 = S$ 3,210.00. Nimbus’s gross margin on seats alone is 3,210.00 − 1,712.00 = S$ 1,498.00 — a 47% margin. The meter only ever shows Nimbus the S$ 1,712.00 wholesale side; the retail side is Nimbus’s own ledger.
When you edit a rate, set its effective date forward. A committed run is bound to the rates that were active for its period, so editing a rate must never silently change a month that has already been run. If a partner’s agreement changes mid-quarter, give the new rate an effective date at the next period boundary so each month is metered at the rate that genuinely applied — and so the rate History can always reconstruct any past run.
ByondVoice — Administrator & Operations ManualA committed run is the document you defend on a call with a partner’s finance team, so being able to read it line by line matters. Opening a run from the history (§ 19.2) shows the same lines a preview did, now frozen, plus the provenance: the rate version used, who ran it, and when. The figure below is the committed April run for Nimbus — the S$ 6,184.50 row from the history, opened.
Frozen 2026-05-02 09:14 by S. Admin · run ref WMR-2026-04-NIMBUS · rate card v2026-01.
| Line item | Qty | Rate | Amount |
|---|---|---|---|
| Numbers in service | 40 | S$ 1.50 | S$ 60.00 |
| Extensions (seats) | 218 | S$ 8.00 | S$ 1,744.00 |
| Outbound minutes | 84,260 | S$ 0.011 | S$ 926.86 |
| Inbound DID minutes | 42,140 | S$ 0.004 | S$ 168.56 |
| Platform / feature fee | 9 | S$ 25.00 | S$ 225.00 |
| One-off — number port-in (3) | 3 | S$ 1,000.00 | S$ 3,000.00 |
| Wholesale total (excl. GST) | S$ 6,124.42 |
| Field on a run | What it tells you | Use it to… |
|---|---|---|
| Run reference | The unique id of this committed run (e.g. WMR-2026-04-NIMBUS). | Quote on invoices and in any dispute so both sides reference the same artefact. |
| Rate card version | Which version of the reseller’s rates was applied. | Reconstruct the maths from the rate History if a line is queried (§ 19.5). |
| Quantity | The metered count for each item, frozen at run time. | Reconcile against the source data — Numbers, Extensions, call detail. |
| Amount | Quantity × rate for the line. | Verify each line independently; the total is just their sum (less credits). |
| Run by / Run at | The operator and timestamp of the commit. | Audit who closed the period and when. |
To trust a run quickly: (1) confirm the numbers and seats quantities against and for the reseller; (2) confirm the minutes against the period’s call detail; (3) confirm each rate against the rate card version named on the run. If all three tie out, the total follows arithmetically.
ByondVoice — Administrator & Operations ManualThis is the chapter’s capstone: a complete, end-to-end close of May 2026 for the reseller Nimbus Telecom, from scoping the meter through previewing, verifying every line by hand, committing the run, and reconciling. It ties together the period model (§ 19.3), preview-versus-run (§ 19.4), the rate card (§ 19.5) and reading a run (§ 19.6) into one continuous procedure with real numbers.
It is the morning of 1 June 2026. May has closed. Nimbus has 9 tenants beneath it, collectively holding 38 numbers in service and 214 extension seats, and in May they carried 31,480 outbound minutes and 17,440 inbound DID minutes. Nimbus’s rate card (§ 19.5) is the standard one, and as of 1 April it carries a −2% volume credit on the subtotal. There are no one-off charges this month. Your task: produce and commit May’s wholesale charge.
You did not have to wait until 1 June to look. Through May you could have previewed weekly to watch the charge build — useful for spotting a runaway international-calling tenant early, or for giving Nimbus a mid-month estimate. Every one of those previews changed nothing; only the 1 June run created the billable record.
ByondVoice — Administrator & Operations ManualEvery figure in the preview is just quantity × wholesale rate, summed, then the volume credit applied. Working it by hand once is the best way to trust the meter forever — and to answer Nimbus’s finance team without hesitation.
| Line item | Quantity | Wholesale rate | Calculation | Amount |
|---|---|---|---|---|
| Numbers in service | 38 | S$ 1.50 / no. | 38 × 1.50 | S$ 57.00 |
| Extensions (seats) | 214 | S$ 8.00 / seat | 214 × 8.00 | S$ 1,712.00 |
| Outbound minutes | 31,480 | S$ 0.011 / min | 31,480 × 0.011 | S$ 346.28 |
| Inbound DID minutes | 17,440 | S$ 0.004 / min | 17,440 × 0.004 | S$ 69.76 |
| Platform fee | 9 | S$ 25.00 / tenant | 9 × 25.00 | S$ 225.00 |
| Subtotal | sum of lines | S$ 2,410.04 | ||
| Volume credit | − 2% | 2,410.04 × 0.02 | − S$ 48.20 | |
| Wholesale total (excl. GST) | 2,410.04 − 48.20 | S$ 2,361.84 |
The subtotal is 57.00 + 1,712.00 + 346.28 + 69.76 + 225.00 = S$ 2,410.04. The volume credit is 2% × 2,410.04 = S$ 48.20 (rounded to the cent). The wholesale total is therefore 2,410.04 − 48.20 = S$ 2,361.84 — exactly the figure the preview showed in § 19.4 and the amount you commit. GST, if applicable, is added by the invoice, not by the meter.
1 June, 09:05. You scope the meter to Nimbus Telecom · 2026-05; status open. KPIs read 9 / 38 / 214 / 48,920 — all in line with April, so nothing to chase. 09:07. You preview: five lines, subtotal S$ 2,410.04, credit −S$ 48.20, total S$ 2,361.84. You work the table above and every line ties out. 09:10. You export the CSV, attach it to the approval ticket, and close the preview — nothing charged. 09:30. Approval comes back. You re-open, select Run this period →, type 2026-05, flip verified on, and Commit run. The period turns run; the history now shows a May row at S$ 2,361.84, run by you at 09:30, ref WMR-2026-05-NIMBUS. Finance invoices Nimbus against that run; Nimbus, in turn, bills its 9 tenants at its own retail prices (§ 19.5). May is closed.
Per-minute lines can carry long decimals before rounding (31,480 × 0.011 = 346.28 exactly here, but other quantities won’t be so tidy). The meter rounds each line to the cent and then sums, which can differ by a cent from rounding the grand total — this is normal and expected. When you reconcile by hand, round each line first, exactly as the meter does, so your figures match it to the cent.
ByondVoice — Administrator & Operations ManualThe mechanics are simple; doing it well month after month is a discipline. This closing section collects the operational habits, the edge cases that catch people out, and what to do when a committed run turns out to be wrong.
| Situation | What the meter does | What you should do |
|---|---|---|
| Tenant moved between resellers mid-month | Usage is attributed along the hierarchy as it stood when each unit was consumed. | Preview both resellers and confirm the split looks right before running either. |
| Number released part-way through the month | Counted as in service for the period it was held, per the rate card’s convention. | If a partner queries it, point to the Numbers history (Chapter 8) for the in-service dates. |
| Rate changed mid-quarter | The run uses the rate that was effective for that period (§ 19.5). | Set new rates with a forward effective date at a period boundary; never edit retroactively. |
| Direct tenant (no reseller) | The platform is treated as the reseller; metered identically. | Select the direct relationship in the reseller selector and proceed as normal. |
| Run committed in error | The run is frozen; it cannot be edited or deleted. | Issue an adjustment that references it (§ 19.8.3) — never re-run. |
| Zero-usage period | Produces a valid run (recurring fees may still apply; usage lines are zero). | Run it anyway so every period has a record; a missing run is harder to audit than a small one. |
Because a run is immutable, a correction is always a separate record that references the original. There are two shapes:
The committed run over-charged. Issue a credit referencing the run reference (e.g. against WMR-2026-05-NIMBUS) for the difference. The original run stays intact; the credit explains the reduction.
The committed run under-charged. Issue a corrective charge referencing the original for the shortfall. Again the original is untouched; the trail reads run → correction.
It can be tempting to “fix” a wrong run by deleting a number and re-running, or by adjusting usage records so a fresh run comes out right. Do not. Idempotency means a re-run returns the original run anyway, and editing source data to chase a number destroys the very audit trail that lets you defend the bill. The only correct fix for a committed-but-wrong run is a referencing credit or re-bill (§ 19.8.3), which leaves both the original and the correction visible.
On a test reseller, rehearse the full cycle. (1) Preview an open period twice and confirm both previews are identical and that the period stays open — previews never commit. (2) Commit the run, then press Run meter again and confirm you get the same run back, not a second charge — idempotency in action. (3) Open the committed run and reconcile its seats and numbers against the Extensions and Numbers screens for that reseller. (4) Finally, draft (don’t send) a credit referencing the run, to see how a correction preserves the original. You will have exercised every concept in this chapter without billing anyone real.
The Wholesale Meter is the revenue capstone of the platform tier: it turns everything the rest of this manual provisions — numbers (Chapter 8), extensions (Chapter 7), routing and carriers — into a defensible monthly charge to each reseller. Master preview-versus-run and the period/idempotency model and you can close a billing month for any reseller in minutes, explain every cent, and never double-charge. That is the whole job of this screen.
ByondVoice — Administrator & Operations ManualA phone system is a high-value target: it holds the credentials that let a device place calls, the recordings of those calls, and a directory of who can be reached and how. Earlier chapters introduced ByondVoice’s safeguards where you first met them — reveal-once SIP secrets when you added a device (§ 9.4.2), hashed PINs when you set a mailbox (§ 11.x), tenant scoping when you signed in (§ 4.3). This chapter gathers them into a single, coherent security model and shows how each layer is operated day to day. We follow a request from a person’s fingertip to the call that results, and at every hop name the control that protects it: how login is hardened with a second factor and a password policy; how a user’s API is scoped so tightly that another person’s line is invisible (IDOR-safe); how device secrets are encrypted at rest and shown only once; how PINs are hashed beyond recovery; and how the hosted PBX trusts the control plane through a shared directory secret rather than a static password file. It closes with the operational disciplines — least privilege, rotation, monitoring — and a short, practical guide to handling a suspected incident. The worked examples use the same cast as the rest of the manual: tenant Acme Corp, users Alice Tan (ext 1001) and Ben Ong (ext 1002), reseller Nimbus Telecom.
ByondVoice’s security is not a single feature but a chain of independent controls, each guarding one boundary. The value of thinking in a chain is that you can reason about a weakness precisely: a stolen portal password does not yield a SIP secret; a compromised device cannot read another extension’s voicemail; a leaked access token expires and was scoped to one tenant anyway. No one control is asked to do everything, so no single failure is catastrophic. The diagram below traces one inbound request — a user opening their voicemail — and labels the control enforced at each plane. Recognise these planes from the architecture chapter (§ 2.x); here we read them as a sequence of trust boundaries.
tier, tenant_id and bound extension (§ 4.3.2). Every later request presents it; no second password prompt, but also no implicit trust beyond what the token says.Read the chain top to bottom and you have ByondVoice’s threat model in one breath: authenticate the person (password + MFA), bound what their session may touch (scoped token), check that bound on every request (tenant + extension scope), never expose stored secrets (reveal-once and hashing), let only the API vouch for devices (the directory secret), and keep the data as isolated as the API (per-tenant rows). The rest of this chapter is how you operate each link.
ByondVoice — Administrator & Operations ManualByondVoice handles four kinds of secret, and the single most useful thing an administrator can internalise is that each kind is stored and surfaced differently, on purpose. Confusing them is the root of most avoidable mistakes — emailing a SIP secret in clear, expecting to “look up” a forgotten PIN, or hunting for a password you could only ever reset. The table is the canonical reference for the whole chapter; everything that follows is an elaboration of one row.
| Credential | Used by | How it is stored | How you see it | If lost |
|---|---|---|---|---|
| Portal / console password | A person, to sign in | One-way hash (salted) | Never — not even once | Reset (send a self-service link); never read back |
| SIP device secret | A phone, to register | Encrypted at rest | Reveal-once at creation (§ 9.4.2) | Rotate — issue a fresh secret, old one dies |
| Provisioning token / URL | A phone, to fetch config | Encrypted at rest, short TTL | Reveal-once URL (§ 10.3) | Re-generate — old URL is revoked |
| Voicemail / conference PIN | A caller, on a keypad | One-way hash | Never — never displayed at all | Reset (set a new PIN); old one is unknowable |
| Directory shared secret | The SBC, to trust the API | Encrypted at rest, server-side only | Reveal-once at issue; rotated on a schedule | Rotate — overlapping window, then revoke (§ 20.7) |
Two storage disciplines underlie the table, and the difference is the whole point:
Used when a human or a device must transcribe the secret later — a SIP password into a phone, a provisioning URL into a browser. ByondVoice can decrypt it internally to authenticate a registration, so it must keep a recoverable form; the protection is that the console shows the plaintext to you only at the instant of creation, then never again.
Used when the system only ever needs to verify what a person types — a login password, a keypad PIN. ByondVoice stores a one-way hash and compares the hash of each attempt, so it does not keep a readable form at all. There is nothing to reveal, which is why the only operation is reset.
When any ByondVoice screen mints a secret, ask: does the system need to give this value back to a device later, or only to check what someone types? If it must be given back (SIP secret, provisioning URL), it is reveal-once — copy it now. If it is only ever checked (password, PIN), it is hashed — your only lever is reset. This single question correctly classifies every credential in the product.
ByondVoice — Administrator & Operations ManualA SIP device secret is the password a phone uses to register through ByondSBC as a particular device. Because it must be typed into the phone (or pushed by an auto-provisioning URL), the platform keeps it in a form it can decrypt internally — it is encrypted at rest — but it never renders that stored value back into any screen. You see the plaintext exactly once, in the dialog that appears the moment you add the device. This is the same reveal-once discipline you met in § 9.4.2; here we view it from the security side and add the operational rules: rotation, revocation, and the per-device blast radius that makes rotation safe.
Rotation issues a fresh secret and immediately invalidates the old one. You rotate when a secret may have leaked, when a device is decommissioned and re-issued, or simply on a periodic schedule for high-value lines.
Alice Tan (ext 1001) leaves her laptop on the MRT; the web softphone 1001-web was signed in. You do not need to disturb her desk phone. You open ext 1001’s devices drawer, select the device 1001-web, and choose Rotate secret. The old secret dies instantly — whoever holds the laptop can no longer register that device — while 1001-desk keeps ringing untouched, because each device carries its own credential. You copy the new secret into Alice’s replacement laptop, watch it re-register, and the incident is contained to a single endpoint. (If you suspect the portal session was also exposed, reset her password too — see § 20.5.)
A SIP secret pasted into an email or chat is a secret you must treat as already leaked. Copy it straight from the dialog into the device, or into the user’s password manager over a channel you trust. If a secret has ever traversed an untrusted channel, rotate it — the cost of rotation is one re-registration; the cost of a registered impostor is fraudulent calls billed to the tenant.
ByondVoice — Administrator & Operations ManualA voicemail PIN and a conference PIN are entered by a caller on a phone keypad, so ByondVoice never needs to display them. It therefore stores only a one-way hash: it can confirm that the digits a caller keys match, but it cannot reproduce the digits. There is no “show PIN” anywhere — not for a tenant admin, not for the platform admin. The only operations are Set PIN and Reset PIN. This is the reveal-once principle taken to its limit: the credential is never shown even once.
If a user asks you to “remind” them of their voicemail or conference PIN, the honest and only possible answer is that nobody can — the platform stores a hash, not the digits. You can set a new PIN; you can never recover the old. Treat any process, ticket template or escalation that assumes a PIN can be looked up as a defect to fix: the answer is always “reset”.
Acme’s facilitator forgets the moderator PIN for conference room 3000 minutes before an all-hands. You open , room 3000, and Reset the moderator PIN to a temporary 9082, with require change on. You read it to the facilitator on a call; they join, are placed in as moderator, and immediately set a private PIN from the room controls. The member PIN was untouched, so attendees already dialling in were unaffected — you changed only the credential that was lost.
ByondVoice — Administrator & Operations ManualEverything downstream depends on knowing who signed in, so login is the most important boundary to harden. ByondVoice protects it with three levers: a hashed password subject to a password policy; an optional second factor — either an authenticator app (TOTP) or an email one-time-code; and platform-level controls such as lockout after repeated failures. You met the per-user toggles in § 7.4; this section covers the platform-wide policy that sets the floor for every tenant.
Platform-wide minimums for passwords, second factors and lockout. Tenants may be stricter, never weaker.
ByondVoice — Administrator & Operations ManualByondVoice supports two kinds of second factor. Both add a step beyond the password; they differ in strength, in what the user needs to hand, and in how you recover them. The email one-time-code is the fastest to switch on for an individual; the authenticator (TOTP) is stronger and is enrolled by the user from their own portal.
| Email one-time-code | Authenticator app (TOTP) | |
|---|---|---|
| How the code arrives | Emailed to the address on the user record at each sign-in | Generated offline by the user’s app, refreshing every 30 s |
| Strength | Good — depends on the user’s mailbox security | Stronger — no shared channel to intercept |
| Enrolled by | The admin (a toggle) or the user | The user, from their portal — the secret is shown once, to them |
| Works offline? | No — needs email delivery | Yes — the code is computed on-device |
| Admin can enable instantly? | yes | user must enrol |
| Recovery if lost | Reset the email address, re-send | Admin clears enrolment; user re-enrols (see procedure below) |
The most common MFA support call is a user who changed phones and lost their authenticator. The goal is to restore access without ever leaving the account on password-only.
Ben Ong (ext 1002), a tenant admin for Acme, gets a new phone and can no longer produce his TOTP code. His manager raises a verified ticket. You open Users → Ben Ong → Security, clear the old authenticator enrolment, and toggle Require second factor on in the same action. Because Ben is an admin, the platform policy (§ 20.5) would in any case refuse to let him run on a password alone. Ben signs in with his password and the emailed code, then enrols his new phone’s authenticator from my.byondvoice.com. At no instant was his admin account protected by only one factor.
If you reset a privileged user’s password because it may be compromised, assume the attacker may also be sitting on the session — expire active sessions in the same action where the console offers it, and confirm the second factor is on. A password reset that leaves an attacker’s live session intact, or drops the account to password-only, has solved half the problem and created another.
The policy panel (§ 20.5) sets the minimum every account must meet: a length floor, rejection of common and breached passwords, a no-reuse history, and mandatory second factors for admin tiers. ByondVoice favours length and uniqueness over forced rotation — long passphrases that are not reused beat short passwords churned every month. Use the reset-by-link flow so you never type or see a user’s password; the user sets their own from a one-time, time-limited link.
For both new users and recoveries, prefer Send invitation email / Send reset link over setting a password yourself. The user chooses a secret from a one-time link, so no administrator ever knows it, nothing is transcribed over chat, and the audit trail records a self-service set rather than an admin-known credential.
ByondVoice — Administrator & Operations ManualOnce a user is authenticated, the next question is what their session may touch. ByondVoice answers it with the scoping rule from § 4.3, applied to every request: a platform admin sees all rows, a reseller sees its tenants’ rows, a tenant admin sees its tenant’s rows, and an ordinary user is scoped again to their own extension(s). The security property this gives you a name for is IDOR safety — an insecure direct object reference is the classic web flaw where changing an id in a URL exposes someone else’s data. ByondVoice is hardened against it because the scope is checked server-side on the object every time, not inferred from the UI.
The token issued at sign-in carries exactly the facts the scope needs — the tier, the tenant, and (for a user) the bound extension — so each request is evaluated without a second password prompt and without trusting anything the client sends beyond the signed token:
// decoded access-token payload — a user bound to extension 1001 { "sub": "a3f1…", // the account id "tier": "user", // platform | reseller | tenant | user — drives every check "tid": "7c2e…", // tenant_id — the request is narrowed to this tenant first "rid": null, // reseller_id — null for a plain user "ext": "1001", // the bound extension — then narrowed again to this line "exp": "…short TTL…" // the token expires; a stale token is rejected }
Concretely, when Alice Tan’s portal asks the API for “mailbox by id”, the API resolves the request against her tenant and her extension before it ever looks the row up. If she — or anyone holding her token — substitutes Ben Ong’s mailbox id (1002), the platform answers as though it does not exist.
When a session fetches a record by id that its scope does not permit, ByondVoice returns 404 Not Found — not 403 Forbidden. This is deliberate: a 403 would confirm the record exists; a 404 reveals nothing about what lies outside your scope. So if a user pastes another extension’s id into a URL, the platform behaves exactly as if that object did not exist. Do not file these 404s as bugs — they are the IDOR defence working as designed (the same rule is explained for the admin console in § 4.3).
Alice (bound to 1001) asks for her own mailbox, then for a colleague’s. The scope decides each one.
Ring groups, auto-attendants and conference administration are tenant-wide and are managed in the operator console by a tenant admin — they are not reachable from a user’s portal at all. The portal exposes only the user’s own line: their devices, voicemail and call-handling. If a user “cannot find” a ring group in their portal, that is correct — the scope simply does not include it.
ByondVoice — Administrator & Operations ManualSo far every control has protected a person. One more protects the machines. Recall from the architecture (§ 2.x) that ByondSBC does not keep a static file of device passwords; instead it asks the control plane to validate each registration dynamically. That design is only safe if the edge can be sure it is really talking to the control plane — and that the control plane will answer only the edge, not anyone who can reach the endpoint. The directory shared secret is the credential that establishes this machine-to-machine trust: a high-entropy secret known only to ByondSBC (and the ByondSwitch PBX) and the control-plane API, presented on every directory or auth lookup between them.
Think of it as the password between the front door and the source of truth. When a phone presents its SIP credential at the SBC, the SBC turns to the API and asks “is this device’s secret valid, and where does this extension route?” — and that question is itself authenticated by the shared secret. Without it, anyone who could reach the directory endpoint could enumerate extensions or assert a device is valid. With it, the API answers only a caller that proves it is the edge.
Two properties make this safe to operate, and both matter when you rotate it:
This is a platform-administrator task carried out during a low-traffic window. The principle is the same as any zero-downtime credential rotation: introduce the new value, accept both, cut over, then retire the old.
Skipping the overlap window — revoking the old secret before ByondSBC presents the new one — breaks every directory lookup at once: no device can be validated, so no new registration or call succeeds platform-wide until the edge is corrected. Always confirm a live registration on the new secret before you revoke the old. If you must roll back, the overlap window is also your safety net: re-activate the old secret and the edge recovers.
As platform admin you rotate the directory shared secret on a quarterly schedule. At 02:00 local you generate a new secret, copy it reveal-once into the vault, and mark it active-with-overlap. You deploy it to ByondSBC and the PBX, then register a test softphone for ext 1001 and place an echo-test call to 9196 — both succeed, confirming the edge now presents the new secret. You revoke the old secret and watch the directory-auth metrics: zero failures, because every component was cut over inside the window. Reseller Nimbus Telecom’s tenants never noticed; not one registration dropped.
ByondVoice — Administrator & Operations ManualThe controls in this chapter are only as strong as the habits around them. The disciplines below cost little and prevent the failures most often seen in hosted-PBX deployments: over-broad admin accounts, secrets that linger past their usefulness, and lookalike fraud on a freshly connected carrier.
Give each person the narrowest tier that does their job. A reseller account should not be a platform admin; a site supervisor who manages extensions should be a tenant admin, not share the platform login. A tier is fixed at creation (§ 4.x), which keeps every login’s blast radius stable — so choose it deliberately.
Require a second factor for every admin tier in policy (§ 20.5), then drive ordinary-user MFA coverage up from the KPI tile. Privileged accounts on password-only are the single largest risk; the policy switch removes the possibility rather than relying on goodwill.
Rotate a SIP secret the moment a device is lost or a secret may have leaked (§ 20.3); re-generate a provisioning URL rather than reuse it (§ 10.x); disable a leaver’s user immediately while keeping the extension for their replacement (§ 7.x). Stale credentials are debt.
The moment a carrier/SIP trunk is connected, outbound PSTN calling becomes possible — and so does toll fraud. Watch for unusual destinations and call spikes, cap concurrency where the connector allows, and rotate the offending device’s secret first if you suspect a compromised endpoint is dialling out.
Every security-relevant action — a password reset, a secret rotation, an MFA enrolment cleared, a tier-level setting changed — is recorded in the platform Audit Log under . The log answers the three questions every incident review asks: who did it, what changed, and when. Review it routinely, not only after an alarm.
| When | Actor | Action | Target | Scope |
|---|---|---|---|---|
| 02:14:07 | platform-admin (SA) | Rotated directory shared secret | edge · sg-south | platform |
| 09:31:55 | tenant-admin · Acme | Reset voicemail PIN | box 1001 · Alice Tan | tenant Acme |
| 09:33:12 | tenant-admin · Acme | Rotated SIP secret | device 1001-web | tenant Acme |
| 11:02:48 | tenant-admin · Acme | Cleared TOTP enrolment | user Ben Ong | tenant Acme |
| 11:02:49 | tenant-admin · Acme | Enabled email OTP | user Ben Ong | tenant Acme |
The audit log records that a secret was rotated or a PIN reset — never the value. This is consistent with the whole model: secrets are reveal-once or hashed, so there is no plaintext for the log to leak. When you read the log, you are reading a history of decisions, which is exactly what an investigation needs.
Open and filter to the last 24 hours of password and secret actions for one tenant. For each entry, name which credential class from Table 20.1 it touched and whether the action was a reset, a rotate, or a re-generate. If any entry is one you cannot explain, you have found exactly the kind of thing the log exists to surface.
ByondVoice — Administrator & Operations ManualHowever well a system is built, you must be ready for the day something looks wrong — a device registering from an impossible location, a burst of expensive international calls, a user reporting they cannot sign in when they never tried. A good incident response is calm and sequenced: contain the immediate risk, preserve the evidence, eradicate the cause, then recover and review. The controls in this chapter are the levers you pull at each stage; here is the order to pull them in.
| Symptom | Likely cause | First action (contain) | Then |
|---|---|---|---|
| Spike of costly international calls | Compromised device or trunk — toll fraud | Rotate the offending device’s SIP secret; pause the connector if needed | Review CDR; cap concurrency; eradicate the leaked secret |
| Device registers from an unexpected place | Leaked SIP secret in use elsewhere | Rotate that device’s secret (§ 20.3) | Re-issue to the legitimate phone; check for other shared secrets |
| User reports a sign-in they did not make | Password compromise / phishing | Reset password, expire sessions, confirm 2FA on (§ 20.5) | Check audit log for what the session touched |
| Repeated failed logins on one account | Credential-stuffing / brute force | Lockout engages automatically; verify policy thresholds | Enforce MFA on the account; consider a password reset |
| Directory-auth failures after a change | Shared-secret rotation cut over wrong (§ 20.7) | Re-activate the old secret (overlap window) to recover | Re-sequence the rotation; verify a live registration before revoke |
The instinct to fully understand an incident before acting is the wrong order when money or access is actively leaking. Rotating one device secret or expiring one set of sessions is cheap and reversible; an hour of fraudulent international calls, or an attacker reading recordings, is neither. Contain first with the narrowest lever that stops the harm, then investigate at leisure from the audit log.
An hour after Acme’s carrier connector goes live, the Wholesale Meter shows a spike of calls to a high-cost international range, all originating from device 1001-web. You contain: rotate 1001-web’s SIP secret — the impostor is de-registered instantly — and the call spike stops. You preserve: note the timestamps and copy the relevant CDR and audit-log rows. You eradicate: you discover the secret had been emailed in clear weeks earlier, so you rotate every device secret that shared that thread and remind the tenant admin never to send secrets by email (§ 20.3). You recover: re-issue 1001-web to Alice’s real laptop, confirm registration and an echo test on 9196. You review: enable a concurrency cap on the connector and turn on MFA for the tenant admin. The blast radius was one device and one hour, because each lever was pulled in order.
In a real incident you will not have time to re-read nine pages. Bookmark three things: Table 20.1 (which credential is which), Table 20.4 (symptom → first lever), and the response sequence in § 20.9.1. Together they turn a stressful event into a checklist — contain, preserve, eradicate, recover, review — backed by the exact console action for each step.
ByondVoice — Administrator & Operations ManualChapter 08 introduced the Numbers pool and the everyday actions that move a DID through it — assign, reserve, release, route. This chapter is the operational discipline around those actions: the full lifecycle of a number from raw stock to retirement, treated as a state machine you manage rather than a set of one-off clicks. It covers how a number travels stock → reserved → assigned → released and what each transition obliges you to do; how to port a number in from a losing carrier and why that single task depends utterly on the gaining carrier’s connector; how to reassign a DID between extensions within a tenant without dropping the customer’s calls; how to decommission a number cleanly at end-of-life; and the record-keeping — the per-number history and audit trail — that makes all of it auditable. The worked thread is a real one: bringing Acme Corp’s long-held main line +65 6555 0100 across from a previous provider, living with it, moving it, and eventually retiring it.
Every DID ByondVoice holds is, at any instant, in exactly one lifecycle state, and it can only move between states along defined edges. Thinking of the number this way — as a token that walks a graph — is what keeps a busy pool honest: it tells you what is legal, what a given action will cost (a tenant’s number cap, a carrier port, a customer’s calls), and what you must record on the way through. The console enforces the edges; this chapter explains the obligations behind them.
The canonical life of a number is short and circular: it enters the pool as free stock, is optionally reserved for a customer while you arrange the rest, becomes assigned and live, and is eventually released back to the pool — whence it returns to stock or, at true end-of-life, is removed entirely (decommissioned). A port-in (§21.3) is simply how a number enters the machine when it already belongs to your customer on another carrier.
| State | Meaning | Can move to | What the transition obliges you to do |
|---|---|---|---|
| stock (available) | Free inventory in the platform pool, owned by no tenant. The Available KPI counts these. | reserved · assigned | Confirm the right carrier source is set (§8.6) so the DID can actually be delivered once handed out. |
| reserved | Earmarked for a named tenant but not live — protected from the next preload and from other tenants. | assigned · released | Record why (e.g. “awaiting port FOC”) and set a review date so a hold is never forgotten. |
| assigned | Owned by exactly one tenant and live. Counts against that tenant’s number cap (§6.4); routable (§8.7). | released · (re-route / re-assign in place) | Map a destination so it rings; confirm carrier delivery; capture the assignment in the record (§21.6). |
| released | Just handed back from a tenant. Routing cleared, ownership dropped; returns to stock after any cool-down. | stock (available) · removed | Decide its fate: re-stock for reuse, or decommission (§21.5). Observe the quarantine before reuse. |
| porting | An inbound port is in flight for this number with the gaining carrier (§21.3). Not yet live on ByondVoice. | reserved · assigned (on completion) · stock (on rejection) | Track the carrier order and the FOC date; keep the number reserved for the destination tenant meanwhile. |
| removed | Decommissioned — permanently taken out of the pool (terminal). The record is retained for audit (§21.6). | — (terminal) | Be certain: a removed number cannot be re-stocked. Confirm the customer has truly relinquished it. |
The Numbers screen labels free inventory available; operations people often call the same thing stock. They are one state. This chapter uses stock when emphasising inventory management and available when quoting what the console shows — they refer to the identical condition: in the pool, owned by no tenant, ready to hand out.
Most pool mistakes are not wrong states but skipped transitions: a number assigned but never routed, a hold that outlived its reason, a released number reused too soon, a port marked done before the carrier cut over. Each transition in the table above carries an obligation in its last column. If you treat those obligations as part of the click — not an afterthought — the pool stays clean and every number can be accounted for.
ByondVoice — Administrator & Operations ManualBehind every row in the Numbers table is a number record — the single source of truth for one DID. Opening Manage › on a row and choosing Details reveals not only the number’s current state but its whole lifecycle history: a time-ordered log of every transition it has been through, who made each one, and why. This screen is where you answer the questions an audit, a customer dispute, or a regulator will eventually ask — when did we take this number, who assigned it, when did it move, and where is it now?
Acme Corp · assigned · routes to AA 7000 “Acme reception”.
| When | Event | By | Detail |
|---|---|---|---|
| 06-09 14:22 | routed | S. Admin | → AA 7000 reception |
| 06-09 14:20 | assigned | S. Admin | port completed → Acme Corp |
| 06-09 09:00 | port FOC | carrier | cutover confirmed |
| 05-28 11:05 | porting | S. Admin | order NB-PORT-5582 |
| 05-02 16:40 | reserved | S. Admin | hold for Acme · “awaiting port” |
The history is append-only: events are added as they happen and are never edited or deleted, so the record can be trusted as evidence. A human action (assign, release, route) is attributed to the operator who made it; a carrier-driven event (a port FOC, a sync) is attributed to carrier. Read top-to-bottom newest-first, the log reconstructs the number’s entire journey at a glance.
The Origin field records how a number first entered the pool — Preloaded (bulk stock, §8.5), Ported in (brought across from another carrier, §21.3) or Sourced (drawn live from a connected carrier). It matters at end-of-life: a ported-in number you decommission may need to be ported away or formally relinquished at the carrier (§21.5), whereas a preloaded number you simply remove from the pool. Always check Origin before retiring a DID.
ByondVoice — Administrator & Operations ManualA port-in brings a number the customer already owns — published on letterheads, vans and websites for years — across from their previous provider (the losing carrier) onto ByondVoice’s gaining carrier, so the same DID now delivers to your platform. It is the single most carrier-dependent task in the product: ByondVoice cannot port a number by itself. The port is a regulated transaction between two carriers; ByondVoice submits and tracks it through a Connector, but the gaining carrier executes it and the losing carrier must release it.
Before any port can begin, the gaining carrier’s integration must be in place under . A port-in inherits the connector’s capabilities entirely; if porting is not enabled on the connector, the action is simply not offered.
Submit a port-in request to the gaining carrier and track it to completion.
ByondVoice — Administrator & Operations ManualA port request is its own small lifecycle, separate from the number’s. The order walks the states below; the number itself sits in porting until the order resolves, then becomes assigned (on success) or returns to stock (on rejection).
| Order state | Meaning | Your action |
|---|---|---|
| draft | Saved but not yet submitted to the carrier. | Complete details, attach LOA, submit. |
| submitted | Lodged with the gaining carrier; validation in progress. | Wait; watch for a rejection requesting corrections. |
| rejected | The losing carrier or regulator declined — usually a detail mismatch or an outstanding balance. | Read the reason, fix the field (or have the customer clear the balance) and resubmit. |
| FOC confirmed | Accepted; a firm cutover date is agreed. | Tell the customer the date/time; prepare routing so it is ready at cutover. |
| completed | The number now delivers to ByondVoice; ownership has transferred. | Confirm it became assigned; route it; test an inbound call. |
| cancelled | Withdrawn before completion (by you or the customer). | Release the reservation if the number is no longer wanted. |
A port completes only when the losing carrier releases the number on the agreed FOC date. Until completed shows, the number is still live on the old carrier — so the customer must keep paying the losing carrier and must not cancel that line. Cancelling the old service before the port lands can cause the number to be reclaimed and the port to fail outright, sometimes losing the number permanently. Advise the customer to cancel only after cutover is confirmed.
Acme Corp is migrating to ByondVoice and wants to keep its long-published main number +65 6555 0100, currently with Telco One. (1) You confirm the Nimbus SG connector is connected with port-in enabled. (2) In Numbers you reserve +65 6555 0100 for Acme, note “awaiting port”. (3) You open Port a number in, enter the number, destination tenant Acme Corp, losing carrier Telco One (SG), account TO-88241-AC, request FOC 2026-06-09, and attach Acme’s signed LOA and last bill. (4) You submit; the order goes submitted, the number shows porting. (5) Two days later the order returns FOC confirmed for 09:00 on the 9th; you tell Acme to keep Telco One live until then, and you pre-build the routing to auto-attendant 7000 “Acme reception”. (6) At cutover the order goes completed, the number flips to assigned to Acme; you apply the prepared routing and dial the number from a mobile — reception answers. The lifecycle history (§21.2) now shows the full reserved → porting → FOC → assigned → routed chain.
The riskiest minutes of a port are the ones right after cutover, when the number is suddenly live with nowhere to go. Build the destination (extension, ring group or auto-attendant) during the porting window and have it ready, so that the instant the number becomes assigned you only have to point it — not design it. A number that lands — unrouted — drops the customer’s first ported calls.
ByondVoice — Administrator & Operations ManualPeople change desks, roles and teams, but the published number should not. Reassigning a DID between extensions repoints an already-assigned number from one destination to another within the same tenant — the ownership and the number never change, only what it rings. This is by far the most common day-to-day lifecycle action once a tenant is live, and it is deliberately lightweight: it is a routing change (§8.7), not an ownership change. Crucially, it is different from re-assigning a number between tenants, which transfers ownership and is covered in §8.4.
Repoint the DID from ext 1001 to ext 1002 (or to a ring group / IVR). Same owner, same number, same carrier. A routing edit — instant and low-risk.
Move ownership from one customer to another. Changes the number cap on both, clears routing, and should use re-assign over release-then-reassign to minimise the call gap.
Acme’s direct sales DID +65 3159 0011 rings Alice Tan (ext 1001), but Alice is moving to management and Ben Ong (ext 1002) is taking the desk. You open Manage › Routing, confirm the banner reads “currently → Ext 1001 · Alice Tan”, set New target to 1002 · Ben Ong, leave the carry-options toggle on, and save. The Routes to cell flips to Ext 1002 · Ben Ong; the published number, its owner (Acme), and the carrier delivery behind it are all unchanged, and the next inbound call rings Ben. Total customer impact: none — no number changed, no calls dropped.
Repointing a DID changes only the inbound mapping; it does not touch either extension’s devices, voicemail or call-handling rules. Alice keeps her extension, registrations and voicemail box intact — she simply no longer receives that one DID. If you instead need to move the person (their extension and identity), that is an Extensions task (Chapter 09), not a number task.
ByondVoice — Administrator & Operations ManualDecommissioning is the deliberate end-of-life of a number: it leaves the pool for good. It is distinct from release, which merely hands a number back to stock for reuse. You decommission when a number will never be used again — a customer has genuinely relinquished it, a range is being handed back to the carrier, or a test/temporary DID has served its purpose. The path is always the same two steps: release first (detach it from any tenant and clear routing, §8.4.4), then remove it from the pool.
Once a number is removed and handed back to the carrier, you cannot get it back on demand; the carrier may quarantine then re-issue it to someone else entirely. Never decommission a number the customer still publishes. For a customer who is leaving but keeping their number, the correct action is a port-out to their new provider — not a release-and-remove, which can permanently lose them the number. When in doubt, release and reserve (park it) rather than remove, until the customer’s intent is certain.
Numbers are regulated assets and customer property, so good record-keeping is not optional. ByondVoice keeps the per-number lifecycle history (§21.2) automatically — an append-only, attributed log of every transition — but a clean operation adds a little discipline on top: a reason on every hold, an order reference on every port, and a periodic reconciliation of the pool against the carrier’s records.
# ByondVoice — append-only lifecycle history (newest last) 2026-05-02 16:40 reserved by S.Admin tenant=Acme Corp note="awaiting port" 2026-05-28 11:05 porting by S.Admin order=NB-PORT-5582 losing=Telco One (SG) 2026-06-09 09:00 port_foc by carrier cutover=confirmed 2026-06-09 14:20 assigned by S.Admin tenant=Acme Corp origin=ported_in 2026-06-09 14:22 routed by S.Admin target=AA 7000 · Acme reception # every row is immutable; who + when + why are never editable
| Keep a record of… | Why it matters | Where it lives |
|---|---|---|
| Every state change (assign / reserve / release / route) | Reconstructs who did what and when — the basis of any dispute or audit. | Lifecycle history, automatic (§21.2) |
| Port orders & LOAs | Proof the customer authorised the port; the carrier’s order reference for follow-up. | Connector port order + your document store |
| Reservation reasons & review dates | Stops holds becoming forgotten dead stock that no one dares touch. | Reserve note on the number |
| Origin & carrier source | Decides how to retire a number (port-away vs remove) and who delivers it. | Number record (§21.2) |
| Quarantine / aging status | Prevents a previous owner’s calls reaching the next customer. | Released state + cool-down |
Once a month, compare the ByondVoice pool with the carrier’s list of numbers they deliver to you and bill you for. Two leaks show up here: numbers you still pay the carrier for but have decommissioned in the console (stop the charge), and numbers the carrier delivers that are missing from your pool (preload them so they can be assigned). The wholesale meter (Revenue › Wholesale Meter) and the pool together make this a quick, high-value check.
| Situation | Right action | See |
|---|---|---|
| Customer keeps their existing number when joining | Port-in via a port-capable Connector; reserve first, route before FOC | §21.3 |
| Person changes desk; number must follow the role | Reassign the DID’s destination within the tenant (routing edit) | §21.4 |
| Customer leaving but keeping their number | Port-out to their new provider — never release-and-remove | §21.5 |
| Number genuinely finished, never reused | Release, handle carrier side per origin, then remove from pool | §21.5 |
| Number freed but may be reused later | Release; observe quarantine/aging before re-assigning | §21.5, §8.4.4 |
| Proving who changed a number and when | Read the append-only lifecycle history; export for audit | §21.2, §21.6 |
In a non-production environment: (1) reserve +65 6555 0100 for Acme Corp with note “awaiting port” and confirm it shows reserved; (2) on a test connector raise a port-in for it, attach a dummy LOA, and watch the number move to porting; (3) mark the test order completed and confirm the number flips to assigned; (4) route it to ext 1001, then reassign the destination to ext 1002 and verify the Routes to cell changes; (5) release it, observe it return as available, then remove it from the pool; (6) open the lifecycle history and confirm every one of those transitions is logged with who and when. You will have exercised the full state machine end to end, and seen the audit trail it leaves behind.
ByondVoice — Administrator & Operations ManualProvisioning a tenant is day one; keeping it healthy is every day after. This chapter is the operator’s guide to day-two visibility — the small set of signals ByondVoice surfaces that tell you, at a glance, whether phones can ring and calls can flow. You will learn to read device registration state (is each phone actually reachable?), the system health indicators in the console (are the edge, the PBX and the control plane up?), where call records (CDRs) surface today and where tenant-wide reporting is heading, and how to read the build & version footer you will quote on every support ticket. Each signal comes with a worked reading, sensible thresholds, and the one or two edge cases that catch people out. Master these and you will spot trouble before a user does — which is the whole point of monitoring.
ByondVoice deliberately keeps day-two monitoring to a short, legible set of signals rather than a wall of graphs. Three of them answer almost every operational question, and a fourth — the build footer — is the context you attach when you escalate. Learn what each means, where it lives, and what a healthy reading looks like, and the console becomes a status board you can scan in seconds.
Per device: is a phone currently registered to the edge and therefore reachable? The single most important live signal — an unregistered device cannot ring (§ 22.2–22.3).
Platform-wide: the edge (ByondSBC), the hosted PBX, media relay and the control plane. Summarised in the sidebar footer and read in detail on the health view (§ 22.4).
What actually happened on a line. Today these surface per user as Recent Calls; tenant-wide CDR reporting is on the roadmap (§ 22.5).
The fourth signal — the build & version footer (§ 22.6) — is not something you act on daily, but it is the first thing support will ask for, so it belongs in your monitoring habit. Section 22.7 gathers all four into a single watch-list with thresholds and a daily/weekly routine.
Everything in this chapter is visible from the admin console at admin.byondvoice.com — you do not need shell access to read any of it. The table maps each signal to the screen where you read it, and to the user-facing echo (if any) you can ask a user to check during a support call.
| Signal | Console location | User-facing echo | See |
|---|---|---|---|
| Device registration | — per-row pill & Registered KPI | Portal | § 22.2 |
| System health | Sidebar footer banner + the health detail view | — (operator only) | § 22.4 |
| Call records (CDR) | Per-user, via the user’s line; tenant-wide reporting on roadmap | Portal | § 22.5 |
| Build & version | Sidebar footer v… · region · build + topbar ENV | — | § 22.6 |
Every signal in this chapter is a live read of the platform at the moment you load the screen, not a periodic report. A registration pill flips the instant a phone’s registration lapses or renews; the health banner reflects the edge and PBX as they are right now. Refresh the screen to re-read; there is no overnight batch to wait for.
When a user reports trouble, read the signals in order of blast radius: first the health banner (is the whole platform up?), then registration for that user’s devices (is their phone reachable?), then their Recent Calls (what happened to the call?). Ninety per cent of tickets resolve at one of those three reads.
ByondVoice — Administrator & Operations ManualA SIP device — a desk phone, a softphone, an ATA — is only reachable when it has registered: told the edge (ByondSBC) “I am extension 1001 and here is where to reach me,” and had that accepted. Registration is not permanent; it carries an expiry and the device must re-register before it lapses (the lifecycle is in § 22.3). Registration state is therefore the truest answer to the most common question in telephony support: “why isn’t this phone ringing?” If a device is not registered, no call can be delivered to it, however perfect the routing.
You read registration in two places on the screen: the Registered KPI tile (a tenant-wide count of devices online) and the per-row status pill on each extension. The figure reproduces that screen for tenant Acme Corp.
Live registration state for every device on the tenant.
| Ext | Name | Devices | Last registration | Status |
|---|---|---|---|---|
| 1001 | Alice Tan | 2 | 12s ago | registered |
| 1002 | Ben Ong | 1 | idle | idle |
| 1015 | Reception | 1 | 41 min ago | expired |
| 1031 | Warehouse | 1 | never | unreachable |
ByondVoice — Administrator & Operations ManualFour states cover every device. The distinction between them is operational, not cosmetic: each implies a different cause and a different fix. Memorise this table — it is the legend for the whole screen.
| State | Meaning | Can it ring? | Typical cause |
|---|---|---|---|
| registered | Device is registered and its registration is current. | Yes | Healthy. The normal state. |
| idle | Provisioned and known, but not currently holding a live registration (e.g. a softphone whose tab is closed). | No, until it re-registers | Softphone signed out / browser closed; phone asleep. |
| expired | Was registered, but the registration lapsed and has not yet renewed. | No | Phone lost power/network past the expiry; failed re-register. |
| unreachable | The extension has no device online at all (never registered, or all devices down). | No | Never provisioned a device; wrong credentials; hardware off. |
A web softphone that is simply closed reads idle — that is expected and harmless; it re-registers the moment the user opens it. Expired and unreachable are different: they mean a device that should be online is not, so calls to that line are silently rolling to voicemail (or the fallback ladder, § 16.5). Those two are the ones to chase.
A user reports that the Reception line (1015) on Acme Corp rings out to voicemail every time. You open Extensions & Devices: the KPIs read 46/51 registered — the platform is fine — but row 1015 shows expired with Last registration 41 min ago. That pattern (was registered, then lapsed) points at the handset, not the config. You ask reception to check the desk phone; its network cable had been knocked loose during a tidy-up. Reseated, the phone re-registers within seconds, the pill flips to registered, Last registration resets to 3s ago, and a test call rings the desk. Total fix: under a minute, no re-provisioning — because the state told you exactly where to look.
Before chasing one expired phone, glance at the Registered ratio and the health banner (§ 22.4). One device expired is a device problem; dozens flipping to expired at once is an edge or network problem — a different ticket entirely (§ 22.4.2).
ByondVoice — Administrator & Operations ManualTo read registration state with confidence, you need a mental model of what the pill is reporting. A SIP device registers to the session border controller (ByondSBC, the edge), which authenticates it against the control plane (the API) and records a time-limited binding: this identity is reachable at this location until this expiry. Before the expiry, the device re-registers to refresh the binding. The console pill is simply a reading of whether a current, unexpired binding exists. The diagram shows one cycle.
Two consequences follow, and both explain readings you will see:
softphones and hardware desk phones produce subtly different patterns, and knowing which you are looking at saves false alarms.
Registers over secure WebSocket when the user signs in; reads idle the moment the tab or PWA is closed. Frequent idle↔registered transitions across a day are normal — people close laptops. Self-service: the user just reopens it.
Registers continuously while powered and networked, so it should sit at registered for long stretches. An expired desk phone almost always means power, cabling or network — and re-credentialling it is admin-only (§ 16.6).
A device behind a strict NAT or firewall may register fine yet struggle to keep the binding refreshed, or register but fail to carry media (one-way or no audio on connect). ByondVoice keeps the binding alive at the edge and relays media through TURN for exactly these networks. If a phone flaps between registered and expired on one site only, suspect the site network (UDP timeouts, aggressive firewall) before the device or the platform.
You notice Alice’s extension 1001 shows idle several times across the morning and wonder if something is wrong. It is not: Alice has two devices — a desk phone (steady registered) and the web softphone, which she closes between calls. The extension overall is reachable the whole time via the desk phone, so callers always get through; the softphone’s idle readings are just her closing the tab. The lesson: read the extension’s reachability (any device registered?), not one device in isolation — an extension with two devices is reachable if either is up.
ByondVoice — Administrator & Operations ManualRegistration tells you about phones; system health tells you about the platform they depend on. ByondVoice surfaces health at two levels of detail. The always-visible summary is the sidebar footer banner — the green ALL SYSTEMS OPERATIONAL line present on every screen. When you need the breakdown, the health detail view shows each component of the telephony stack: the edge (ByondSBC), the hosted PBX (ByondSwitch), media relay (RTP/TURN) and the control plane (the API). Reading these in order is how you decide whether a problem is yours to fix or one to escalate.
Live state of the components every call depends on.
ByondVoice — Administrator & Operations ManualHealth is most useful when you can predict the symptom a given component failure produces. That mapping turns a vague “calls are broken” report into a precise diagnosis. The control plane holds configuration and authenticates devices; the edge registers them; the PBX bridges calls; media relay carries the audio; the carrier connects you to the PSTN.
| Component | Role | If it is unhealthy you see… | Internal calls? |
|---|---|---|---|
| ByondSBC (edge) | Registers devices; first hop for signalling. | Devices drop to expired en masse; new phones cannot register. | Affected |
| Hosted PBX | Bridges and routes calls; runs the engine. | Registered phones, but calls fail to connect or drop. | Affected |
| Media relay (RTP/TURN) | Carries the audio/video; relays on strict NAT. | Calls connect but one-way or no audio, worst on restrictive networks. | Affected (audio) |
| Control plane (API) | Auth + configuration source of truth. | Console/portal sluggish or erroring; new registrations & saves fail. | In-progress OK |
| Carrier trunk | Connects to the PSTN (carrier-gated). | Outbound PSTN / inbound DID fail; internal stays fine. | Unaffected |
The single most common false alarm is treating a carrier problem as a platform outage. Remember the product’s shape: internal calling, extensions, ring groups, voicemail and call handling all work with no carrier at all; only outbound PSTN calling, inbound DID delivery and reaching an auto-attendant from an external number are carrier-gated. So a degraded carrier trunk while the edge and PBX are up means external calling is impaired but the office can still call internally and leave voicemail — a very different severity.
“No one can make calls” means different things depending on which row is unhealthy. Edge or PBX down → total telephony outage, escalate hard. Carrier degraded → PSTN only, internal works, escalate to the carrier path. The health view lets you set the right severity in seconds rather than over-escalating.
Acme reports nobody can dial external numbers. The banner is green, so you open Service health: Edge & PBX is all up, but under Control plane & carrier the Carrier trunk reads degraded · last sync 6m. You confirm against Extensions & Devices that phones are still registered and you place a test internal call 1001 → 1002 — it connects with clean audio. Diagnosis: this is a carrier problem, not an outage; internal calling and voicemail are unaffected. You reframe the ticket as “outbound PSTN degraded,” set medium severity, escalate down the connector path (§ Carrier), and tell Acme internal calls and voicemail still work — turning a panicked “everything’s down” into an accurate, calm update.
ByondVoice — Administrator & Operations ManualA call detail record (CDR) is the per-call fact: who called whom, when, in which direction, and for how long. In ByondVoice today, call records surface per user, as the Recent Calls log on each line — the user’s own inbound, outbound and missed calls. There is, at present, no tenant-wide CDR reporting screen in the console; aggregated, exportable reporting across a whole tenant is on the roadmap. Knowing exactly where records do and do not surface today prevents the most common reporting misunderstanding. The figure shows the per-user log as the user (and, for a user you are assisting, you) sees it.
Your inbound, outbound and missed calls — this line only.
| Direction | Party | When | Duration |
|---|---|---|---|
| in | Ben Ong · 1002 | 09:58 today | 04:12 |
| missed | +65 9123 4567 | 09:42 today | — |
| out | 1050 · Sales | Yesterday 17:20 | 01:05 |
| in | +65 6555 0102 | Yesterday 11:05 | 02:38 |
ByondVoice — Administrator & Operations ManualBe precise with stakeholders about what reporting exists now, so nobody plans a billing or compliance process on a capability that is not yet shipped. The table draws the line clearly between the per-user record available today and the tenant-wide reporting that is planned.
| Capability | Status | Where |
|---|---|---|
| Per-user call log (in / out / missed, time, duration) | available today | Portal ; softphone History tab |
| User reads their own missed calls / recalls a number | available today | Per line, self-service |
| Tenant-wide CDR list across all users | roadmap | Console reporting screen (planned) |
| Filter / search / export CDRs (CSV) | roadmap | Console reporting screen (planned) |
| Aggregated metrics (volumes, busy hour, ASR/ACD) | roadmap | Console reporting screen (planned) |
| Wholesale usage (platform → reseller billing preview/run) | available today |
The per-user log exists so a person can answer “who called me?” It is scoped to one line, is not searchable across the tenant, and is not a billing or compliance evidence store. Do not point an auditor or a billing dispute at a user’s Recent Calls; that is the job of the tenant-wide CDR reporting on the roadmap. For platform→reseller usage billing today, use the Wholesale Meter (§ Revenue).
If a customer asks for a downloadable call report across their whole tenant, set expectations: it is on the roadmap, not shipped. Offer what exists today — users can read their own Recent Calls — and log the requirement. Promising an unshipped export is how a deployment loses trust on day two.
Internal calls (extension to extension, into ring groups, into voicemail) generate records today with no carrier. External legs — an inbound DID call or an outbound PSTN call — only exist to be recorded once a carrier is connected (§ Carrier). So a brand-new, carrier-less tenant will show internal calls in Recent Calls but, naturally, no external ones until a trunk is live. This is expected, not a gap in logging.
Alice insists she returned a customer’s call yesterday; the customer disputes it. You sit with Alice and open her Recent Calls: there is an out entry to the customer’s number at 17:20 lasting 01:05 — enough to confirm to the customer that the call happened and was answered. That settles a recall question perfectly. Had this been a formal billing dispute or a regulator request spanning many users, the per-user log would not suffice — you would note the requirement for the tenant-wide CDR reporting still on the roadmap, and meanwhile escalate for whatever record retrieval the platform team can provide.
ByondVoice — Administrator & Operations ManualAt the foot of the navigation rail, beneath the health banner, sits a line of monospaced text like v1.0 · sg-south · build 2026.06. It is easy to overlook, but it is the single most valuable string you can quote when something goes wrong: it pins down exactly which software, in which region, you are looking at. Paired with the ENV: PROD chip in the topbar, it answers “what am I actually on?” before you change or escalate anything.
Persistent build, region and environment context.
| Token | Example | What it tells you |
|---|---|---|
| Version | v1.0 | The console release line — which feature set you have; quote when a feature behaves unexpectedly. |
| Region | sg-south | The deployment/region serving this tenant — matters for latency questions and for routing an incident to the right stack. |
| Build | build 2026.06 | The exact dated build — the most precise identifier; pins a bug to a specific cut of the software. |
| Environment | PROD | Live vs. non-production. Confirms whether your changes affect real users right now. |
Open any support request with the footer line and the environment chip: “On v1.0 · sg-south · build 2026.06, ENV PROD, tenant Acme Corp…”. It removes a whole round-trip of “which version / which region?” and lets the platform team reproduce against the right cut immediately.
The most avoidable incident is making a change believing you are in a test environment when the chip says PROD. The chip is right at eye level for a reason — read it before you create, edit or delete anything that affects live calls.
ByondVoice — Administrator & Operations ManualMonitoring is only useful if you know what a normal reading looks like and what value should prompt action. This closing section turns the chapter into a watch-list: each signal, a sensible threshold, and the action to take when it is crossed. Thresholds are starting points — tune them to your tenants’ size and hours — but they keep you from both complacency and false alarms.
| Signal | Healthy | Watch / act when… | Action |
|---|---|---|---|
| Registered ratio | ≈ expected for the hour (e.g. 90%+ in business hours) | A sudden drop, or unreachable count rising | Check health banner; if platform is up, chase the expired/unreachable rows (§ 22.2.2) |
| Unreachable extensions | 0 for lines that should be live | Any line that should be staffed shows unreachable | Confirm a device exists & is powered; re-provision if “never” (§ 22.2.2) |
| Last registration | Seconds (desk) / on sign-in (softphone) | Climbing past the registration interval and not renewing | Suspect device power/network or site NAT (§ 22.3) |
| Health banner | ALL SYSTEMS OPERATIONAL | Not green; any component degraded/down | Open detail; classify internal vs. carrier; escalate with build (§ 22.4.3) |
| Carrier trunk | up, recent sync | Degraded / stale sync | External calling only; reframe severity; escalate connector (§ 22.4.2) |
| Build / ENV | Known build; ENV as intended | Unexpected build, or ENV not what you assumed | Confirm before acting; quote on every ticket (§ 22.6) |
You do not need a NOC to stay ahead of trouble — a short, regular glance is enough. Adopt this cadence and most issues are caught before a user calls.
Confirm the health banner is green. Open Extensions & Devices and read the Registered and Unreachable KPIs. Note any line that should be staffed but reads unreachable and follow up.
Scan for devices that flap idle↔expired (a site-network smell), confirm the carrier trunk’s last sync is recent, and re-check the build line after any maintenance window so you know exactly what you are running.
You start the day on admin.byondvoice.com. The footer reads green ALL SYSTEMS OPERATIONAL · v1.0 · sg-south · build 2026.06 · ENV PROD — platform fine, known build. Extensions & Devices shows 46/51 registered (90%) and Unreachable 1. The one unreachable line is the Warehouse extension 1031 — but you know the warehouse opens at 10:00 and its phone is powered on then, so it is expected, not a fault. You note it, move on, and at 10:05 it has flipped to registered. Total time: under a minute, and you began the day certain the tenant can ring.
The value of these signals comes from reading them regularly, so the abnormal stands out against a baseline you already know. A daily glance at the banner and the registration KPIs, plus the discipline of quoting the build on every ticket, is most of day-two operations for a hosted PBX — the rest is acting on what those few signals tell you.
For the user-facing echoes of these signals — My Devices registration state and Recent Calls as the user sees them — see Chapter 16. For the carrier connector whose health you read here, see the Carrier chapter; for the engine that routes calls once a phone is registered, see the call-handling and ring-group chapters.
ByondVoice — Administrator & Operations ManualMost of this manual teaches you how to build things that work. This chapter is for the day one of them does not. A voice fault is rarely mysterious once you know where to look — the platform has only a handful of moving parts (the SBC that devices register to, the ByondSwitch PBX that switches calls, the media path with its TURN relay, and the control plane that holds the configuration), and each common fault lives in exactly one of them. The trick is to stop guessing and follow a runbook: a fixed sequence of symptom → checks → fix that walks the call along its path until the broken link reveals itself. This chapter gives you that runbook for each of the six faults you will actually meet in production — a device that will not register; one-way or no audio; calls that drop; voicemail that will not record or deliver; an auto-attendant or ring group that will not route; and forwarding that will not take effect — each with the screen to open, the order to check things in, a worked example with real values, and the fix. Read §23.1’s method once; every later runbook follows the same shape.
Before the individual runbooks, fix the method, because it is the same one every time. A call is a chain: a device registers to the SBC; a call is placed and the PBX routes it from the saved configuration; media (the actual audio) flows between the endpoints, relayed through TURN where the network is hostile; and the call clears normally at the end. A fault is always a broken link in that chain, so you diagnose by walking the chain in order and asking, at each link, “did the call get this far?” The first link that answers “no” is your fault domain, and that is the runbook to open.
Two habits make every runbook faster. First, isolate the variables: reproduce the fault internally before you blame the carrier — an extension-to-extension call and the echo test 9196 use no carrier at all, so if they work, the PSTN trunk is not your problem (and if internal calls fail too, the carrier is exonerated). Second, read the live state, do not assume it: the console shows each device’s real registration status, and the call detail record (CDR) shows how each call actually ended. The runbooks lean on both.
| What the user reports | Most likely link | Runbook |
|---|---|---|
| “My phone says it is offline / I can’t make or take any calls” | Registration | §23.2 |
| “I can hear them but they can’t hear me” (or total silence after answer) | Media (NAT/TURN) | §23.3 |
| “Calls cut off after a set time / at random” | Session & transport | §23.4 |
| “Voicemail never recorded / the email never arrived” | Post-call | §23.5 |
| “The menu / hunt group doesn’t ring the right people” | Routing config | §23.6 |
| “My forwarding / DND isn’t doing anything” | Call-handling rules | §23.7 |
Before raising any ticket, note the version and region from the navigation rail footer (here v1.0 · sg-south · build 2026.06). It is the single most useful line of context for support, and it tells you instantly whether two tenants are even on the same release.
ByondVoice — Administrator & Operations ManualRegistration is the foundation: a SIP device (a desk phone, an ATA, or the softphone) must register — authenticate to the session border controller (ByondSBC) and hold a live binding — before it can place or receive a single call. If it is not registered, the symptom is total: the user cannot dial out, and calls to their extension go straight past the device to whatever the fallback is (typically voicemail). Your authoritative source of truth is the console: the Status column on shows each device’s real registration state, and opening the device reveals why. The figure shows an extension whose desk phone has fallen offline.
SIP devices bound to this extension and their live registration state.
| Device | Type | Transport | Contact / UA | Status |
|---|---|---|---|---|
| Ben — softphone | browser softphone | WSS | browser · 100.x | registered |
| Ben — desk phone | sip | TLS | 198.51.100.7 · Yealink | offline |
ByondVoice — Administrator & Operations Manual| Console clue | Likely cause | Fix |
|---|---|---|
| offline, recent Last seen, one device | Wrong/expired device secret | Re-issue the reveal-once password; re-enter on the device |
| Never registered, new device | Wrong transport, port or SBC address | Set TLS (desk) / WSS 443 (softphone) to the correct SBC host |
| Was online, then offline after a change | Firewall / NAT keep-alive or DHCP change | Restore the outbound rule; shorten NAT keep-alive; reboot |
| Offline + repeated auth attempts | Auto-block after bad credentials | Clear the block, fix the secret, re-register |
| Every device on the site offline | Site Internet / firewall / egress | Restore egress; verify the SBC is reachable from the LAN |
| Extension greyed out | Extension administratively disabled | Re-enable the extension (§7), then re-register |
Ben Ong (1002) reports his desk phone is dead, but his softphone works. You open 1002 and see exactly the figure above: the browser softphone device registered, the Yealink offline, last seen 3h ago from 198.51.100.7. Three hours ago Acme’s IT swapped the office router. The new router is blocking outbound TLS to the SBC, so the phone can no longer register. You ask IT to permit outbound TLS to the SBC host; the moment they do, you reboot the Yealink and watch the console flip it to registered. Ben dials 9196, hears his echo, and the line is back. Note that you never needed the carrier — this was purely a device-to-SBC registration fault.
You cannot read a device’s existing password back — secrets are encrypted at rest and shown only at the moment of creation. If a phone’s credentials are wrong, re-issue a new password and re-enter it; never expect to recover the old one. Re-issuing invalidates the previous secret, so re-enter it on every device that shared it.
ByondVoice — Administrator & Operations ManualThis is the classic voice fault, and the most misdiagnosed, because the call connects: it rings, it is answered, the timer counts up — everything signalling works. What fails is the media: the RTP/SRTP audio stream that must flow both ways between the endpoints. Signalling and media take different paths, so a perfect call setup can still deliver silence. The tell-tale is the asymmetry: one-way audio (one party hears, the other does not) almost always means media is getting through in one direction but is blocked in the other — the signature of NAT (Network Address Translation) and a firewall that lets outbound RTP out but will not let the return stream back in. The cure is the TURN relay: when a direct media path is impossible, both endpoints send their audio to a relay that forwards it, so the call connects from behind even symmetric NAT. The figure shows the softphone’s in-call media panel reporting a relayed path.
| Direction | Path | State |
|---|---|---|
| Send (mic) | srflx → host | flowing |
| Receive (spk) | no inbound RTP | silent |
| ICE candidate | host / srflx only | no relay |
| TURN relay | turn.byondvoice.com | unreachable |
ByondVoice — Administrator & Operations Manual| Symptom | Media reading | Root cause | Fix |
|---|---|---|---|
| One-way (you hear them, they don’t hear you) | Send flowing, no inbound RTP at far end | Far end’s firewall drops your return RTP | Force relay; open far-end UDP / use TURN |
| One-way (they hear you, you hear nothing) | Receive silent on your device | Your firewall drops inbound RTP | Force relay; permit UDP to media/TURN |
| Silence both ways after answer | No RTP either direction | Symmetric NAT, no relay candidate | Make TURN reachable; re-negotiate |
| Audio fine internally, broken externally only | Relay used internally, blocked outside | Site UDP egress blocked | Permit UDP egress, or TURN-over-TLS 443 |
| Audio starts then drops to one-way after seconds | NAT mapping expires mid-call | Short NAT timeout, no keep-alive | Shorten keep-alive; prefer the relay |
Alice Tan (1001) calls Ben (1002) from a hotel. The call connects and Ben hears Alice perfectly, but Alice hears silence. You open the media panel and see the figure in §23.3: Send flowing, Receive silent, only host/srflx candidates, and turn.byondvoice.com unreachable. The hotel firewall lets Alice’s outbound RTP out (so Ben hears her) but blocks the return stream and also blocks the TURN port, so there was no relay to save the call. You have Alice re-negotiate with Force relay; because the hotel permits TLS on 443, TURN-over-TLS now carries both directions and Alice hears Ben at once. The durable fix for any user who travels is to ensure the device always gathers a relay candidate so a hostile network never leaves a call half-deaf.
SIP signalling traverses the SBC, which is built to punch through NAT; media (RTP) tries to flow as directly as the network allows for quality, and that direct path is exactly what NAT and firewalls break. TURN exists for this gap. When in doubt on a hostile network, prefer the relay — a slightly longer media path is far better than a silent call.
ByondVoice — Administrator & Operations ManualA call that drops is one that set up, connected with good audio, and then tore down before either party hung up. The decisive question is timing, because the pattern points straight at the cause. A drop at a consistent interval — almost always right around the session-timer boundary (commonly near 15 or 30 minutes) — is a session-refresh failure: the periodic keep-alive that proves the call is still alive is not getting through, so the PBX assumes the call is dead and clears it. A random drop, by contrast, is a transport problem: the device lost its network for long enough that signalling or media starved. Your evidence is the call detail record (CDR): every call logs how it ended and by whom. The figure shows a call-history detail with a session-timeout disposition.
How this call set up, connected and ended — the record that diagnoses a drop.
| t | Event | Note |
|---|---|---|
| 00:00 | Answered | two-way audio, relay path |
| 15:00 | Session refresh | ok |
| 30:00 | Session refresh | no response |
| 30:01 | Cleared | BYE sent by PBX |
ByondVoice — Administrator & Operations Manual| Pattern | CDR signature | Cause | Fix |
|---|---|---|---|
| Drops at a fixed interval (~15/30 min) | Ended by system, disposition session timeout | Session refresh blocked by NAT/firewall/ALG | Permit the refresh; warm the NAT mapping; disable a mangling ALG |
| Drops at random times | RTP stops, then teardown | Transport loss — Wi-Fi roam, packet loss, sleep | Stabilise network; stop the device sleeping; prefer relay |
| One party drops, other stuck | One leg BYE, one leg orphaned | Half-open NAT on one side | Force relay on the affected leg; shorten keep-alive |
| Only long calls drop | Always near the same minute mark | Session-timer expiry, refresh not arriving | Fix the keep-alive path as above |
| External calls drop, internal fine | Carrier leg clears | Trunk-side timer or carrier issue | Check the connector; raise with the carrier (§17, §18) |
Acme’s sales team reports that long customer calls “always die at half an hour.” You open a sample call in history and see the figure in §23.4: duration 30:01, Ended by system, disposition session timeout, media healthy on the relay throughout, and a timeline where the 15:00 refresh succeeded but the 30:00 refresh got no response. A consistent 30-minute cut-off with a failed refresh is unambiguous: the periodic session refresh is being dropped by the office firewall, so the PBX assumes the call is dead and clears it one second after the missed refresh. You have Acme’s IT stop the firewall from dropping the in-dialog refresh and shorten the NAT keep-alive so the mapping never goes stale. A deliberate 40-minute test call now sails past 30:00 without a blink. Because the media was healthy the whole time, you correctly never touched the audio path — this was a signalling-timer fault end to end.
Resist the urge to guess. Ended by and Disposition in the call detail answer the two questions that matter — who cleared the call and why — before you change a single setting. A drop “ended by system / session timeout” and a drop “ended by caller” have completely different fixes.
ByondVoice — Administrator & Operations ManualVoicemail has two halves that fail independently, and the first step is always to decide which half. The recording half: an unanswered call should reach the mailbox, play the greeting, and capture a message that then appears in the portal as visual voicemail (with in-browser playback). The delivery half: that message should also be emailed to the user (voicemail-to-email) and be retrievable by phone with *98. “Voicemail isn’t working” can mean the call never reached the mailbox at all (a routing problem), the message recorded but the email never came (a delivery problem), or the user simply cannot get in (a PIN problem). The Voicemail screen at tells you which. The figure shows a mailbox whose messages are recording but whose email delivery is failing.
Messages, mailbox settings and the voicemail-to-email delivery state.
| Item | Value | State |
|---|---|---|
| Greeting | custom · 0:08 | plays |
| Deliver to email | [email protected] | bounced |
| Mailbox PIN | •••• (hashed) | set |
| Latest message | 14:02 · 0:21 · transcribed | recorded |
ByondVoice — Administrator & Operations Manual| Symptom | Half | Cause | Fix |
|---|---|---|---|
| No message recorded at all | Recording | Call never reached the mailbox | Fix the no-answer/DND routing to voicemail (§23.7) |
| Caller hears nothing, no greeting | Recording | Mailbox not reached / not provisioned | Confirm the box exists and routing lands on it |
| “Mailbox full”, no new messages | Recording | Storage at capacity | Clear or archive old messages |
| Message in portal, no email | Delivery | Bounced / wrong email address | Correct the address; send a test email |
| No email, user expected one | Delivery | Voicemail-to-email switched off by user | Re-enable in the user portal settings |
| Can’t retrieve with *98 | Delivery | Forgotten / wrong mailbox PIN | Set a fresh PIN; user changes it on first use |
Alice Tan (1001) says she stopped getting voicemail emails, though colleagues say their messages “definitely went through.” You open her mailbox and see the figure in §23.5: Recording on, five messages with the latest recorded and transcribed, greeting playing, PIN set — but To-email failing and the delivery target [email protected] marked bounced. So recording is perfectly healthy; only delivery is broken. Alice’s mailbox at the corporate mail server had filled and was rejecting inbound mail, so every voicemail email bounced. You correct nothing on the recording side; you simply confirm the address and press Send test email once her IT clears her inbox — it arrives, the bounce clears, and delivery resumes. Her older messages are still safe as visual voicemail in the portal and retrievable on *98 the whole time, because recording never stopped.
Visual voicemail in the portal is the system of record; the email is a convenience copy. A delivery failure never loses a message — it is still in the portal and on *98. So when a user reports “lost” voicemail, reassure them first: check the portal, then fix delivery.
ByondVoice — Administrator & Operations ManualWhen an inbound call reaches the platform but rings the wrong people — or nobody — the fault is in the routing configuration, not the network. The PBX renders routing live from the saved config at call time, so the call does exactly what the config says; the job is to find where the config and the intent diverge. The two usual offenders are ring groups (a hunt of extensions — simultaneous, sequential or round-robin — with a ring time and an overflow target) and auto-attendants (an IVR whose greeting offers a digit→action menu). A ring group rings nobody when its members are all unregistered or its overflow swallows the call early; an attendant misroutes when a menu digit points at the wrong destination or the published version is stale. The figure shows a ring group whose members are mostly offline.
Members, hunt strategy, ring time and the overflow target.
| # | Member | Ext | Status |
|---|---|---|---|
| 1 | Alice Tan | 1001 | registered |
| 2 | Ben Ong | 1002 | offline |
| 3 | Cara Lee | 1003 | offline |
ByondVoice — Administrator & Operations Manual| Symptom | Where | Cause | Fix |
|---|---|---|---|
| Pilot rings nobody | Ring group | All members offline | Re-register the members (§23.2) |
| Only the first person ever rings | Ring group | Sequential strategy, wrong order | Switch to simultaneous, or reorder members |
| Callers dumped to voicemail too fast | Ring group | Ring time too short | Lengthen ring seconds before overflow |
| Overflow goes to the wrong place | Ring group | Wrong overflow target | Repoint overflow to the intended destination |
| A menu key goes nowhere | Attendant | Digit maps to a stale/deleted target | Repoint the action; add invalid/no-input fallback |
| Edits have no effect | Attendant | Changes saved but not published | Publish the new version |
| External callers can’t reach the attendant | Inbound DID | DID not mapped to the attendant (carrier-gated) | Map the DID to the attendant (§8, §18) |
Reception reports that calls to the Sales line (ring group pilot 6000) ring briefly then drop to voicemail with nobody answering. You open 6000 and see the figure in §23.6: strategy simultaneous, ring time 8s, overflow to VM 6000, and members 1001 Alice registered but 1002 Ben and 1003 Cara both offline. The group is not misrouting at all — it is faithfully ringing the one member who is online, and if Alice is away the 8-second timer overflows the caller to voicemail. The real fault is registration: Ben and Cara’s phones are offline. You fix that with §23.2 (their phones had lost the SBC after a switch reboot), and you also lengthen the ring time to 20 seconds so a single available agent has time to pick up. A Test ring now lights all three phones together. The lesson: a “routing” complaint very often resolves to a registration fault in disguise — always read the member status before touching the strategy.
Auto-attendant changes only carry live calls once published. The most baffling “my change did nothing” reports are simply an edited-but-unpublished draft. After any menu change, publish, then dial in and walk every digit to confirm the live version is the one you just built.
ByondVoice — Administrator & Operations ManualCall handling — DND, forward-all/find-me, and the busy / no-answer / unreachable forwarding ladder with sequential follow-me — is rendered live by ByondSwitch from each user’s saved rules at call time. So if forwarding “isn’t working,” the engine is doing precisely what the saved rules say; the gap is between the rules as saved and the behaviour the user expects. The key to this runbook is the order of evaluation: forward-all and DND override everything (forward-all rings the destination immediately; DND sends the caller straight to voicemail), and only if neither is active does the fallback ladder run — ring the device, then each forward target in order, then voicemail. Most “forwarding doesn’t work” faults are really a higher-priority rule silently winning. The figure shows a user’s Call Handling with DND on while a no-answer forward is configured.
DND, forward-all and the busy / no-answer / unreachable ladder, in priority order.
| Priority | Rule | Target | State |
|---|---|---|---|
| 1 | Do Not Disturb | → voicemail | on |
| 2 | Forward all | 1002 | off |
| 3 | On no answer (20s) | 1002 | set |
| 4 | On busy | → voicemail | set |
| 5 | On unreachable | → voicemail | set |
ByondVoice — Administrator & Operations Manual| Symptom | Cause | Fix |
|---|---|---|
| All calls go to voicemail, forward ignored | DND is on (overrides the ladder) | Turn DND off; re-test the ladder |
| Calls all ring one place, ladder skipped | Forward-all is on | Turn Forward-all off (or accept it is intended) |
| No-answer forward never fires | Ring time longer than the test caller waits | Shorten ring time; let it ring past the timer |
| Forward to an extension fails | Target extension is itself offline | Re-register the target (§23.2) or repoint |
| Forward to a mobile/landline fails | External target is carrier-gated | Connect a carrier; confirm outbound is enabled (§18) |
| Change appears to do nothing | Rules not saved, or wrong extension edited | Save rules; edit the extension that receives the call |
Alice Tan (1001) set a no-answer forward to Ben (1002) so that unanswered calls roll to him, but reports they all go to her voicemail instead. You open her Call Handling and see the figure in §23.7: priority 1 Do Not Disturb is on, while her no-answer forward to 1002 sits at priority 3, set but never reached. DND wins first, so every caller goes straight to voicemail and the forward never runs — the engine is behaving exactly as configured. Alice had toggled DND days earlier and forgotten. You turn DND off, press Save rules, and test: you call 1001, let it ring past the 20-second timer with Alice not answering, and the call correctly rolls to Ben’s 1002. One override, one fix — and a reminder that the rules are evaluated strictly in priority order.
Most faults in this chapter resolve at the tenant level with the steps above. Escalate to platform support only after you have walked the relevant runbook and the fault is genuinely below your tier — the SBC, the PBX, the media relay, or the carrier trunk. When you do, capturing the right context first turns a multi-day ticket into a one-touch fix.
| Symptom | Runbook | Primary screen |
|---|---|---|
| Device offline / can’t call at all | §23.2 | Extensions & Devices |
| One-way / no audio after answer | §23.3 | Softphone media panel |
| Calls drop mid-conversation | §23.4 | Call detail (CDR) |
| Voicemail won’t record / deliver | §23.5 | Voicemail (mailbox) |
| Ring group / attendant misroutes | §23.6 | Ring Groups / Auto-Attendants |
| Forwarding / DND not taking effect | §23.7 | Call Handling (forwarding rules) |
Before anything else, ask: “Does an internal call to 9196 work?” (isolates the carrier) and “Is it one device or everyone?” (isolates the network/SBC). The answers route you to the right runbook faster than any log.
ByondVoice — Administrator & Operations ManualEvery earlier chapter taught you to configure ByondVoice through the console. This chapter steps back to the question those chapters assume away: how does the running system actually deliver any of it? You will learn the operator’s view of the production fabric — the session border controller, the hosted PBX, the control plane and the TURN relay — not as a server runbook, but as four operational components you can reason about. Then you will learn the two ideas that govern day-to-day operations: how a change you save in the console takes effect on the live fabric, and how one platform serves many brands at once. The white-label half — brand-serving at the edge, DNS as an operational concern, certificate lifecycle, and per-tenant identity — is where most production incidents on a multi-brand platform actually live, so it gets the most attention.
This is a conceptual operator’s chapter, not a server build guide. It describes the components you operate through the console and the behaviour you can rely on — not how to install ByondSBC or ByondSwitch. The architecture was introduced in §2.3; reseller branding setup in §5.3; carrier wiring in chapters 17–18. Here we join those threads into one operational picture and add the production detail they left out: propagation, DNS, certificates and per-brand identity.
ByondVoice runs as a single shared fabric — one platform that serves every reseller, tenant and brand at once (see §2.4.3). As an operator you never log in to a voice server; you act on the control plane through the console, and the fabric reads from it. But to triage anything — a device that will not register, a brand whose portal will not load, a call with no audio — you need to know which of four components is involved and what it is responsible for. The figure below is the map to carry with you.
The single most useful operational habit is to map a symptom to a component before you start changing settings. The table in §24.1.1 is that map.
ByondVoice — Administrator & Operations ManualRead this table the way an electrician reads a fuse box: a symptom points at exactly one component to inspect first. It saves you from changing an extension when the real problem is a certificate, or blaming the network when the route is wrong.
| Symptom | Component to check first | Why |
|---|---|---|
| A device shows not registered | ByondSBC (edge) + control-plane credential | Registration is the SBC validating a secret against the control plane; a wrong registrar host or stale secret stops it. |
| Call connects but rings the wrong place / drops to voicemail unexpectedly | Hosted PBX (the saved rule) | ByondSwitch renders the route from saved config at call time — the rule is doing exactly what it says. |
| A change you saved “didn’t take” | Control plane (was it actually saved, and to which tenant?) | The control plane is the source of truth; if it is saved there, the fabric will use it on the next call/registration. |
| Call rings and connects but one side hears nothing | TURN relay reachability | Signalling worked; only the media path failed. The device cannot reach the relay it needs. |
| A brand’s portal / softphone will not load | Edge brand-serving: DNS → certificate | The brand host must resolve to the edge and present a valid certificate — see §24.4 and §24.5. |
| One brand affected; others fine | Brand-specific config (domain, cert, SIP host) | Shared fabric means a single-brand fault is almost always that brand’s identity, not the platform. |
The console surfaces the fabric’s overall state in two always-present places: the sidebar footer’s ALL SYSTEMS OPERATIONAL health line with the running build and region, and the topbar ENV: PROD chip. The figure below highlights them on a platform-scope screen.
Live state of the shared fabric serving every brand and tenant.
Because the fabric is regional (here sg-south), latency and reachability are best when devices and TURN are close to it. When you open a support ticket, the first two facts to record are the build (v1.0 · build 2026.06) and the region — they scope every other question.
ByondVoice — Administrator & Operations ManualThis is the most important operational concept in the manual, and the one operators most often get wrong. ByondVoice does not compile or deploy your configuration. There is no “apply” build, no nightly push, no edge reload to wait for. Everything you save goes to the control plane, and the fabric reads from it on demand — the PBX when a call happens, the SBC when a device registers. The practical rule is short and reliable: a saved change is live on the next call or the next registration.
Two consequences flow from this, and both are operationally valuable:
Not every change is read at the same moment. Knowing which event a change waits for tells you exactly when to test it and what to tell a user.
| Change | Read at | Effective when |
|---|---|---|
| Call-handling rule (DND, forward, follow-me) | Call time | The next inbound call to that extension |
| Ring/hunt group members, order, strategy | Call time | The next call to the group pilot |
| Auto-attendant menu / greeting (after publish) | Call time | The next call that enters the IVR |
| New / changed SIP device secret | Registration | The next REGISTER — existing session persists until then |
| Extension reassignment / new device | Registration + call time | Device must (re-)register; routing applies on next call |
| Carrier connector route (outbound/inbound) | Call time | The next external call once the connector is live |
| Brand domain / certificate / SIP host | Connection time + DNS/cert lifecycle | See §24.4–§24.6 — not instant; involves DNS and TLS |
Alice Tan (ext 1001, tenant Acme Corp) is on a call when she enables DND in her portal. The call she is on is unaffected — it follows the rules in force when it began. The moment she saves, the control plane holds the new rule. The next caller to 1001 is sent straight to voicemail, because ByondSwitch reads her rule at that call’s time. No restart, no wait, nothing to deploy — and her in-progress call was never disturbed.
The propagation rule (“next call/registration”) holds for telephony config. It does not hold for the white-label edge: a brand’s domain, certificate and registrar host depend on DNS and TLS, which have their own timing — propagation delays, TTLs and certificate issuance (§24.4–§24.6). Treat brand-edge changes as a scheduled operation, never an instant one.
ByondVoice — Administrator & Operations ManualYou configured a reseller’s identity in §5.3 — the wordmark, colours, login domain and (optionally) its own carrier. This section explains what the running system does with that identity. The principle from §2.4.3 bears repeating because everything operational follows from it: branding is applied at the edge, not by deploying a separate platform per brand. One shared control plane, one PBX, one TURN; the brand is decided by which host the request arrived on.
So a brand is really three runtime facts working together, all hung off the partner’s host:
The web host users sign in on — voice.nimbus.sg instead of my.byondvoice.com. A CNAME points it at the platform’s brand target; the edge serves the partner’s wordmark and colours there.
A valid TLS certificate for that host, issued automatically once the CNAME verifies, and renewed automatically on a lifecycle. Without it, the brand host will not load over HTTPS.
The host devices register to. The brand can present its own registrar (e.g. sip.nimbus.sg) that resolves to ByondSBC, so even SIP identity is partner-branded (§24.6).
How the running edge serves this brand: hosts, certificate and SIP identity.
| Host | Role | State |
|---|---|---|
| voice.nimbus.sg | Portal & softphone | serving · HTTPS |
| sip.nimbus.sg | SIP registrar (→ ByondSBC) | resolving |
ByondVoice — Administrator & Operations ManualFor a white-label brand, DNS is part of the running system — not a one-off setup step. A brand host only reaches the fabric because a DNS record points it there, and that record lives in the partner’s zone, outside your control. Most brand-loading incidents are, at root, DNS: a record removed, a TTL too long during a cutover, or a host accidentally proxied. Treat the partner’s DNS with the same operational respect you give the carrier trunk.
A fully branded partner publishes two kinds of record: a CNAME for the web host (portal and softphone) and a record for the SIP registrar host. Both point into ByondVoice; neither should be proxied through a CDN.
| Record | Host (partner zone) | Points at | Note |
|---|---|---|---|
| CNAME (web) | voice.nimbus.sg | brand.byondvoice.com | Portal & softphone. Must be DNS-only, never CDN-proxied. |
| CNAME (SIP) | sip.nimbus.sg | ByondSBC edge host | SIP registrar. DNS-only; proxying breaks SIP/TLS. |
| CNAME (TURN, optional) | turn.nimbus.sg | TURN relay host | Only if the partner brands the relay host; DNS-only. |
A CDN/proxy (the “orange cloud” in many DNS panels) terminates HTTP — it cannot carry SIP, secure-WebSocket registration or media. If a partner proxies sip.nimbus.sg or turn.nimbus.sg, devices fail to register and calls lose audio while the web portal looks perfectly fine. These hosts must be DNS-only. The web host may be proxied only if the proxy is configured to pass through correctly; when in doubt, keep it DNS-only too.
Nimbus launched on nimbus.byondvoice.com while its own domain was in flight. To move to voice.nimbus.sg: you add the new CNAME to brand.byondvoice.com; ByondVoice verifies it and issues the certificate; Brand Serving shows the new host serving · HTTPS. Nimbus emails its customers the new URL. In a Sunday-evening window you make voice.nimbus.sg the live host; within minutes Alice at Acme reaches the Nimbus-branded portal there, and her re-registered softphone places a clean test call. The old temporary host is retired only after a week of quiet.
The softphone is a PWA installed from a specific host. If that host goes away, the installed app stops working — users must reinstall from the new host. This is why §5.3 warns never to change a verified domain casually, and why step 3 above is mandatory: a silent domain change strands every installed phone on the old URL.
ByondVoice — Administrator & Operations ManualEvery brand host — web and SIP alike — is served over TLS, which means every brand host needs a valid certificate. ByondVoice issues and renews these automatically: when a CNAME verifies, a certificate is requested; well before it expires, it is renewed without operator action. Your job is not to manage certificates by hand — it is to watch them, because the two ways a certificate fails are entirely preventable, and both surface as a brand that suddenly will not load.
TLS certificate state for every brand host. Issued and renewed automatically.
| Host | Brand | Expires | State |
|---|---|---|---|
| voice.nimbus.sg | Nimbus Voice | 61 days | valid |
| sip.nimbus.sg | Nimbus Voice | 24 days | renewing |
| portal.helios.example | Helios Care | — | CNAME removed |
Helios Care’s host portal.helios.example shows CNAME removed. Investigating, you find Helios’s IT team rebuilt their DNS zone and dropped the ByondVoice CNAME. Because renewal validates through that record, the certificate cannot renew and, left alone, the portal would stop loading at expiry. You send Helios the exact target from Brand Serving (brand.byondvoice.com), they re-add the CNAME, you Re-check, and within the hour the row returns to valid — well before any user noticed.
An expired certificate is the most visible white-label failure there is — every user of that brand hits a browser security warning at once. Because renewal is automatic, the only failure mode is a broken DNS record, which the Certificates view shows days in advance. Make scanning this view for At risk hosts a standing part of your operational routine (§24.7).
ByondVoice — Administrator & Operations ManualWhite-labelling does not stop at the browser. A partner that has rebranded its portal usually wants its SIP identity branded too, so that even the registrar host a device points at carries the partner’s name. ByondVoice supports this at the edge: a brand can present its own registrar host — sip.nimbus.sg — which resolves to ByondSBC. The device’s credentials are unchanged; only the host it dials in on differs, and the SBC still validates every registration against the control plane (§2.4.1). Tenancy isolation is unchanged too: a partner-branded registrar does not give one tenant any sight of another.
The default. Devices register to sbc.byondvoice.com over SIP/TLS, the softphone over secure WebSocket to the same SBC.
The partner presents sip.nimbus.sg (a CNAME to ByondSBC). Devices show a Nimbus host; the SBC and control plane behind it are the same shared fabric.
When you create a SIP device (§2.3.1), its secret is generated and stored encrypted in the control plane, shown reveal-once. The edge does not hold a static copy: because device authentication is dynamic, ByondSBC asks the control plane to validate the credential at registration time. This is why a per-brand registrar host needs no per-brand secret store, and why a regenerated secret is live on the device’s next REGISTER with nothing to push to the edge.
Acme Corp is a Nimbus tenant. You provision Alice’s desk phone on ext 1001; the secret is shown once and you enter it on the handset with registrar sip.nimbus.sg (which CNAMEs to ByondSBC). The handset registers; the SBC validates the secret against the control plane; the Extensions table shows Alice registered. To Alice and to Nimbus, the phone is “a Nimbus phone” — yet it runs on the identical fabric every other brand uses, with the same isolation guarantees.
The branded SIP host (sip.nimbus.sg) is subject to the same two rules as any brand host: it must be DNS-only (§24.4.1) and it relies on a valid certificate for SIP/TLS and secure-WebSocket registration (§24.5). A proxied or expired SIP host fails registration while the portal still loads — the classic “web is fine, phones are dead” incident.
Pulling the chapter together, a short operational discipline keeps a multi-brand fabric healthy. None of it is heavy; it is mostly knowing what to watch and when to schedule.
Pick a live brand — say Nimbus Voice. Open Brand Serving and confirm the portal host is serving · HTTPS and the SIP host resolving. Open Certificates and confirm both Nimbus hosts are valid (or harmlessly renewing), with no At risk rows. Finally, register a softphone on a Nimbus tenant and dial 9196: if you hear the echo, that brand is healthy end to end — web, SIP and media all proven.
You now hold the operator’s deployment picture: the four components of the running fabric (§24.1), how a saved change propagates (§24.2), and the white-label operational chain — brand-serving at the edge (§24.3), DNS (§24.4), certificates (§24.5) and per-brand identity (§24.6). Combined with the architecture of chapter 2 and the reseller setup of chapter 5, you can stand up a brand, keep it serving, and triage it with confidence — without ever touching a voice server by hand.
ByondVoice — Administrator & Operations ManualEverything you have done so far in this manual you have done by hand, in the console: created a tenant, provisioned an extension, built an auto-attendant, read a meter run. Behind every one of those screens is an API — a programmable interface that does exactly the same work without a human clicking. This chapter is a map, not a reference manual. Its purpose is to show you the integration surfaces ByondVoice exposes and how they fit together: the admin and tenant API that the console itself calls; the internal hooks the hosted PBX uses to read the directory, write call-detail records (CDRs) and drop voicemail; and how a reseller can automate provisioning so that signing up a new customer in their own portal silently creates the matching tenant, numbers and extensions in ByondVoice. You will learn how requests are authenticated and how every credential is scoped so that a tenant can never see another tenant’s data, the difference between an interactive session token and a long-lived machine key, and the operational disciplines — idempotency, rate limits, versioning, webhooks — that keep an automation safe in production. What you will not find here is an exhaustive endpoint catalogue with every field; that lives in the live API reference, and we point you to it. Think of this chapter as the architecture briefing you read before you open that reference.
Field names, exact paths and response shapes shown here are illustrative and chosen to match the product facts elsewhere in this manual. They will read naturally and they reflect how the system is organised, but treat the live API reference (§ 25.6) as the single source of truth for the precise contract. Never hard-code a path from a manual into production automation without confirming it against the versioned reference for your deployment.
ByondVoice is not one program but a small set of cooperating services, and the API is the seam that joins them. It helps to picture three distinct surfaces, each with a different audience, a different trust level and a different stability promise. Confusing them is the root of most integration trouble, so we name them once, clearly, and the rest of the chapter returns to each in turn.
The HTTPS interface that every console screen calls. It holds configuration — tenants, users, extensions, numbers, ring groups, auto-attendants, voicemail boxes — and enforces the access model from Chapter 4. Two audiences share it: admin/operator callers (platform & reseller scope) and tenant/user callers (a single tenant or a single line). This is the surface you integrate against (§ 25.3).
A private, east–west interface the hosted ByondSwitch PBX uses at call time to read the directory and routing, and to write back call-detail records and voicemail. You do not call these; they are how the telephony engine and the control plane stay in step. You read them indirectly — as CDRs, as visual voicemail, as live registration state (§ 25.4).
The control-plane API scoped to a reseller, driven by a long-lived machine credential rather than an interactive login, plus webhooks that notify the reseller’s systems of events. This is how a reseller wires its own sign-up flow, CRM or billing into ByondVoice so provisioning happens without anyone touching the console (§ 25.5).
Not an integration surface you program, but worth placing on the map: SIP devices and softphones register through the ByondSBC edge, which authenticates them dynamically against the control plane. You configure devices through surface 1; the SBC consumes that configuration. See Chapter 2 for the full architecture.
The two that matter for an integrator are the control-plane API (surface 1) and the reseller automation surface (surface 3) — and surface 3 is really surface 1 viewed through a reseller-scoped key. The internal hooks (surface 2) are infrastructure: you observe their outputs, you do not call their inputs. Keep that distinction and the rest of this chapter falls into place.
| Surface | Audience | Driven by | You call it? | Stability promise |
|---|---|---|---|---|
| Control-plane API | Admin / reseller / tenant / user | The console, and your integrations | yes | Versioned & public (§ 25.6) |
| Internal PBX hooks | ByondSwitch ↔ control plane | The platform itself | no | Private; may change between builds |
| Reseller automation | A reseller’s own systems | A reseller-scoped machine key + webhooks | yes | Same contract as the control-plane API |
| SBC edge | SIP / browser devices | Device registration; auth against control plane | no | SIP standard at the edge |
There is no separate “admin API” and “tenant API” living at different addresses. Both speak to the same control plane under admin.byondvoice.com; what differs is the token you present and therefore what you are allowed to see and do. The whole of § 25.2 is about that token. Master scoping and you have mastered the security of every integration in this chapter.
ByondVoice — Administrator & Operations ManualEvery call to the control-plane API carries a bearer token in an Authorization header, and that token answers three questions at once: who are you, at what tier, and over which slice of the tree. ByondVoice issues two kinds of token, for two different jobs, and choosing the right one is the first decision of any integration.
Issued when a human signs in to the console, optionally after an MFA email one-time-code. Short-lived and refreshed silently as you click around. This is what the browser uses. You would only mint one programmatically to emulate a user — rare. It carries the signed-in person’s tier and scope.
A long-lived API credential minted in the console for an integration, not a person. It has no password and no MFA; it is a secret string, shown reveal-once, that you store in your own service. Almost every integration in this chapter — especially reseller automation (§ 25.5) — uses one of these.
Whichever you hold, the server resolves it to a scope drawn straight from the four-level hierarchy in Chapter 4 — platform → reseller → tenant → user. The scope is not advisory; it is enforced on the server for every request, so a token can never reach data outside its slice, no matter what path it asks for. The figure below shows the moment a session token is issued at the console sign-in, then the decoded claims that travel inside it.
Authorization: Bearer <token> on every subsequent request. Its claims (next figure) fix the caller’s scope.A ByondVoice token is a signed object whose claims the server reads on every request. The tier claim selects the access model; the rid, tid and ext claims pin the slice of the tree. A decoded example for a tenant-scoped caller:
// decoded token claims — tenant-scoped integration key { "sub": "key_3f1a…", // the key (or account) id "tier": "tenant", // platform | reseller | tenant | user — drives every check "rid": "nimbus", // reseller_id — the owning partner "tid": "acme-corp", // tenant_id — this caller cannot leave this tenant "ext": null, // extension — set for user-tier tokens only "scopes": ["pbx:read", "pbx:write"], // coarse capability grants "exp": 1781740800 // expiry (machine keys are long-lived; sessions are short) }
The rule is simple and absolute: the token narrows, the path cannot widen it. A token with tier = tenant and tid = acme-corp may ask for /v1/tenants/acme-corp/extensions and succeed; the same token asking for /v1/tenants/globex/extensions is refused with 403 Forbidden even though the path is well-formed. A user-tier token narrows further still — it is bound to a single extension (ext) and may only touch that line’s own voicemail, devices and call-handling, which is precisely how the self-service portal stays safe.
| Tier | Sees | Typical use | Can reach another tenant? |
|---|---|---|---|
| platform | Every reseller and tenant | B’Yond operations, the Wholesale Meter | yes (all) |
| reseller | Only tenants beneath that reseller | Reseller automation & white-label provisioning | own tree only |
| tenant | One tenant’s full PBX config | A customer’s own integration / CRM | no |
| user | One extension’s own settings | The self-service portal & softphone | no |
Acme Corp want their CRM to create extensions when a new employee is hired, and nothing more. Do not hand them a reseller key — that would let them reach every Nimbus tenant. Mint a tenant-scoped key for Acme Corp with the pbx:write scope only. The resulting token carries tier:"tenant", tid:"acme-corp"; their CRM can POST a new extension 1043 into Acme and read Acme’s extension list, but any request that names another tenant returns 403. The blast radius of a leaked key is then exactly one tenant — the smallest it can be for the job.
If an integration hits a 403, the correct fix is almost always to re-check that it is asking within its own tree — not to issue it a higher-tier key. A reseller key in a tenant’s integration, or a platform key anywhere outside B’Yond operations, turns a one-tenant leak into a whole-platform breach. Scope down until the integration only just works, and no further.
ByondVoice — Administrator & Operations ManualEvery screen you have used is a thin client over the control-plane API. The Numbers screen lists numbers by calling the numbers endpoint; the New-extension dialog (Chapter 9) is a single create call; saving a call-handling rule (Chapter 12) writes a forwarding object that ByondSwitch later renders at call time. Because the console and your integration speak to the same API under the same access model, anything you can do by hand you can do by program — subject only to your token’s scope. The figure shows where you manage and observe that API from inside the console.
The single HTTPS surface the console and your integrations call. Manage keys, browse endpoints, wire webhooks.
| Family | Path prefix | Mirrors console screen |
|---|---|---|
| Tenancy | /v1/tenants | Tenants · Resellers |
| Numbers | /v1/numbers | Supply › Numbers |
| Extensions | /v1/…/extensions | Hosted PBX › Extensions |
| Routing | /v1/…/ring-groups | Call Routing |
# list Acme Corp's extensions with a tenant-scoped key curl https://admin.byondvoice.com/v1/tenants/acme-corp/extensions \ -H "Authorization: Bearer key_3f1a…" # 200 OK { "data": [ { "extension": "1001", "name": "Alice Tan", "devices": 2, "registered": true }, { "extension": "1002", "name": "Ben Ong", "devices": 1, "registered": false } ], "page": { "next": null, "total": 42 } }
The New-extension dialog from Chapter 9 is one POST. To add 1043 “Priya Nair” to Acme Corp, send POST /v1/tenants/acme-corp/extensions with body {"extension":"1043","name":"Priya Nair","enabled":true} and your tenant key. The response is 201 Created with the new object — and, exactly as in the console, the extension’s voicemail box is provisioned automatically. Refresh and Priya is there. The SIP device secret, if you add a device, is still returned reveal-once — capture it from the response immediately or rotate it later.
List endpoints page their results — follow page.next until it is null rather than assuming one response holds everything; a busy reseller can have hundreds of extensions. Create and update endpoints return the full object they wrote, so you rarely need a follow-up read. Deletes return 204 No Content.
ByondVoice — Administrator & Operations ManualThe hooks are the quiet machinery that keeps the telephony engine and the control plane in agreement. You never call them, but understanding them explains why a config change takes effect on the very next call, where call history comes from, and how a missed call becomes a voicemail in the portal. There are three, and the figure maps how they flow around a single inbound call.
At call time ByondSwitch asks the control plane “who is 1001, what devices, what call-handling?” and renders routing from the live config. This is why a saved rule applies on the next call — nothing is cached stale.
When the call ends, the PBX writes a call-detail record back to the control plane — who, whom, when, how long, the disposition. This is the source of Recent Calls and of the minutes the Wholesale Meter counts.
Two consequences are worth stating plainly because integrators rely on them. First, configuration is authoritative and live: there is no separate “apply” or “reload” step for routing — write the config through surface 1 and the directory hook will read it on the next call. Second, you observe the write-side hooks, you do not drive them: CDRs and voicemail appear through the public API and the portal, so the right way to react to a finished call or a new message is the public CDR/voicemail resources or a webhook (§ 25.6), never an attempt to call the internal hook itself.
| Hook | Direction | Fires when | You consume it as |
|---|---|---|---|
| Directory | PBX reads control plane | Every call, at setup | (Indirect) — correct routing on the next call |
| CDR | PBX writes control plane | Each call leg ends | Recent Calls · metered minutes · CDR API · call.completed webhook |
| Voicemail | PBX writes control plane | No-answer / DND / unreachable | Visual voicemail · voicemail-to-email · voicemail.received webhook |
// a CDR as it surfaces through the public CDR resource (read-only) { "id": "cdr_91c…", "tenant": "acme-corp", "from": "1001", // Alice Tan "to": "6000", // ring group "Sales" "direction": "internal", "start": "2026-06-09T09:14:07Z", "seconds": 142, "disposition": "answered" // answered | no_answer | busy | voicemail }
The directory/CDR/voicemail hooks are a private contract between ByondSwitch and the control plane and may change between builds without notice. Any automation that reaches for them directly will break on an upgrade and can corrupt call accounting. Always go through the public, versioned API or webhooks — they exist precisely so you never have to.
ByondVoice — Administrator & Operations ManualThe pay-off of everything so far is this: a reseller can wire its own sign-up flow into ByondVoice so that closing a sale in the reseller’s CRM silently creates the tenant, assigns numbers and provisions starter extensions — under the reseller’s brand, with no one touching the admin console. It works because the reseller holds a reseller-scoped machine key (§ 25.2): broad enough to create tenants and everything beneath them, but unable to reach any other reseller’s tree. The figure shows minting that key.
tenancy:write to create tenants, pbx:write to provision extensions, numbers:assign to attach numbers. Omit anything the integration does not need.tenancy:write, pbx:write, numbers:assign; store the reveal-once secret in your vault.POST /v1/resellers/nimbus/tenants with the customer’s name — e.g. {"name":"Globex Pte Ltd"}. The response carries the new tenant_id.POST /v1/tenants/<id>/numbers to attach a DID from the reseller’s pool, e.g. +65 3159 0042 (carrier-gated — see Chapter 18).POST /v1/tenants/<id>/extensions for each seat; capture any reveal-once device secrets from each response.Idempotency-Key header on every create so a retried request never double-provisions (§ 25.6).# Nimbus CRM provisions "Globex Pte Ltd" — three calls, one transaction in spirit POST /v1/resellers/nimbus/tenants Authorization: Bearer sk_live_nimbus_9f2c… Idempotency-Key: signup-globex-2026-06-21 { "name": "Globex Pte Ltd" } → 201 { "tenant_id": "globex", "reseller": "nimbus" } POST /v1/tenants/globex/numbers { "e164": "+6531590042" } → 201 { "e164": "+6531590042", "status": "assigned" } # carrier-gated POST /v1/tenants/globex/extensions { "extension": "1001", "name": "Front Desk" } → 201 { "extension": "1001", "voicemail": "provisioned" } # mailbox auto-created
A new customer completes Nimbus Telecom’s own branded sign-up form. On submit, Nimbus’s backend runs the three calls above with the idempotency key signup-globex-2026-06-21. ByondVoice creates tenant Globex under Nimbus, assigns +65 3159 0042, and provisions extension 1001 “Front Desk” with a voicemail box. Nimbus then emails the customer a softphone link to my.byondvoice.com/phone — white-labelled to Nimbus at the edge (Chapter 2). Total operator effort in ByondVoice: zero. If the customer double-clicks submit, the repeated idempotency key makes the second attempt a no-op, so they get exactly one tenant.
Creating the tenant and its extensions works the moment the key exists — internal calling, voicemail and call-handling are live with no carrier. But assigning a DID, and any later outbound PSTN or inbound delivery, require a carrier/SIP trunk connected for that reseller (Chapters 17–18). Build your automation to provision the tenant first and attach numbers as a separate, carrier-aware step so a sign-up never fails wholesale just because a number is not yet ready.
ByondVoice — Administrator & Operations ManualAn integration that works in a demo and an integration that survives in production differ in a handful of disciplines. None are exotic, all are non-negotiable, and the API gives you a tool for each. Treat this section as the checklist you keep beside the live reference.
Networks fail mid-request, so any robust client retries — and a blind retry of a create risks provisioning twice. The cure is an idempotency key: a unique value you put in the Idempotency-Key header on every non-read request. The server remembers the first result for that key and returns it again on a replay, so a retried tenant-creation yields one tenant, not two. Pair this with the rate limit (here 600 requests per minute per key): when you receive 429 Too Many Requests, do not hammer — back off, ideally with exponential delay, and respect any Retry-After hint.
| Status | Meaning | What to do |
|---|---|---|
| 200 / 201 / 204 | Read OK · created · deleted | Proceed; a 201/200 returns the object, 204 is empty. |
| 401 Unauthorized | Missing or invalid token | Check the Authorization header and that the key is not revoked/expired. |
| 403 Forbidden | Token scope does not cover the path | Stay inside your tree; do not escalate the key (§ 25.2). |
| 404 Not Found | No such resource in your scope | Confirm the id; a cross-tenant id reads as 404, not 403, by design. |
| 409 Conflict | Duplicate (e.g. extension exists) | Treat as already-done if your intent was create-if-absent. |
| 429 Too Many Requests | Rate budget exceeded | Back off; honour Retry-After; spread load. |
The API is versioned in its path (/v1). Pin to a version explicitly so a future /v2 never moves under your feet; migrate deliberately, on your schedule, after reading the changelog. For event-driven needs — reacting to a finished call or a new voicemail without polling — subscribe a webhook: ByondVoice POSTs a signed event to your URL when it happens. Always verify the signature on every webhook before trusting it, and respond 2xx quickly (do the heavy work asynchronously) so deliveries are not retried needlessly.
| Event | Fires when | Typical integration |
|---|---|---|
tenant.created | A tenant is provisioned | Open a billing account in the reseller’s system. |
call.completed | A call leg ends (CDR written) | Push the CDR to analytics / CRM activity. |
voicemail.received | A message is left | Notify a helpdesk; attach the transcript. |
device.registered | A SIP/browser device comes online | Update a live presence board. |
number.ported | A port-in completes (Chapter 21) | Trigger cut-over comms to the customer. |
// an inbound webhook your endpoint receives — verify the signature, then 2xx fast POST https://nimbus.example/hooks/byondvoice X-ByondVoice-Signature: t=1781740800,v1=8d4e… # HMAC — verify before trusting { "event": "voicemail.received", "tenant": "acme-corp", "ext": "1001", "from": "+6531590010", "transcript": "Hi Alice, please call me back about the Q3 order." } → respond 200 immediately; process the message off the request thread
This chapter has mapped the territory; the live, exhaustive contract lives elsewhere and stays current with your build. Use these, in this order, when you start to build:
Open it from → Open reference. It lists every path, field and status for your version — the single source of truth over anything in this manual.
Because the resource families mirror the nav one-for-one (§ 25.3), the fastest way to learn a shape is to do the action once in the console, then find the matching family in the reference.
Every integration question is ultimately a scoping question. Re-read Chapter 4 alongside § 25.2 before you mint a production key.
For why the hooks behave as they do — SBC edge, ByondSwitch, the live control plane — Chapter 2 is the briefing behind § 25.4.
In a sandbox tenant, mint a tenant-scoped key with pbx:read only. Call GET /v1/tenants/<your-tenant>/extensions with it and confirm a 200 whose rows match . Now call the same path but name a different tenant — confirm you get 403. In two requests you have proved both that the API mirrors the console and that scoping is enforced. That is the whole mental model of this chapter, demonstrated.
Three habits keep an integration safe for its whole life: rotate machine keys on a schedule and immediately if one may have leaked (the reveal-once secret cannot be recovered, so rotation is recovery); audit using the label you gave each key, since every action it takes is logged against that name; and scope down until the key only just does its job. A leaked key’s damage is bounded entirely by its tier — which is the one thing you control at mint time.
ByondVoice — Administrator & Operations ManualEarlier chapters taught you how to build a ByondVoice estate — numbers, extensions, ring groups, auto-attendants, voicemail, carriers. This chapter is about how to run it well, indefinitely. “Day one” is the launch; day two is every day after — the unglamorous, compounding discipline that decides whether a tenant’s phone system stays clean and trustworthy a year from now or rots into a tangle no one dares touch. It consolidates the operational judgement scattered across the manual into one place: naming conventions (§26.2) that make the console self-documenting; an extension numbering plan (§26.3) you design once and never regret; voicemail and PIN hygiene (§26.4) that keeps mailboxes private; change management in PROD (§26.5) so edits to a live system never drop a customer’s calls; repeatable onboarding and offboarding checklists (§26.6); and a recommended weekly and monthly operations cadence (§26.7) that turns firefighting into routine. The worked thread throughout is the tenant you already know — Acme Corp, extensions 1001 “Alice Tan” and 1002 “Ben Ong”, Sales ring group pilot 6000, DID +65 3159 0010 — managed under reseller Nimbus Telecom.
The first time you provision a tenant, every choice feels local and reversible. It is not. A name you type once is read a thousand times; an extension you hand out is dialled, printed and memorised; a PIN you leave at default is a door left unlocked. Day-two operations is the recognition that a phone system is a living asset with many hands on it over its life, and that the cheapest moment to get something right is the moment you create it. Three principles run through everything in this chapter.
The console should explain itself. A stranger opening Acme’s estate at 2 a.m. should understand it from the names and numbers alone — no tribal knowledge, no spreadsheet on someone’s laptop. Conventions (§26.2–26.3) are how you encode meaning into the data.
Every screen in admin.byondvoice.com is a live phone system. A careless edit does not throw an error — it silently sends a customer’s calls nowhere. Change management (§26.5) is the seat-belt: plan, stage, test, keep a way back.
A weekly ten-minute review prevents the Friday-night outage. The cadence in §26.7 turns the things that would become emergencies — expiring ports, dead registrations, forgotten holds — into small, scheduled, boring checks.
Numbers are regulated assets and mailboxes are private. Who changed what, when, and why must be answerable later. Lean on the built-in lifecycle history (Chapter 21) and add a reason to every non-obvious action.
Keep one architectural fact in mind as you set policy. The bulk of ByondVoice — internal calling, extensions, ring groups, voicemail and per-user call handling — works today, with no carrier attached, because calls are handled entirely inside the hosted PBX. Only the carrier-gated functions (outbound PSTN dialling, inbound DID delivery, reaching an auto-attendant from an external number) depend on a connected SIP trunk. Day-two discipline therefore has two halves: the internal estate, which is fully in your control and where your conventions and hygiene rules apply absolutely; and the carrier edge, where you must also watch an external party (ports, number delivery, trunk health). Most of this chapter governs the first; §26.7 folds the second into the cadence.
Every rule in this chapter costs almost nothing on the day you create an object and a great deal to apply afterwards. Renaming forty extensions, renumbering a live tenant, or resetting every PIN at once are painful, customer-visible projects. Decide your conventions before you onboard your second tenant, write them down, and apply them from object one. The discipline compounds: a clean estate is easy to keep clean, and a messy one only gets messier.
ByondVoice — Administrator & Operations ManualAlmost every object in ByondVoice carries a human-readable name or label alongside its machine identifier — an extension has a display name, a ring group a label, an auto-attendant a title, a SIP device a description, a connector a friendly name. Those labels are the single biggest lever you have on operability, because they are what every operator reads on every screen. A good naming convention makes the console self-documenting: the name alone tells you what an object is, who it belongs to, and what it does, without opening it. A bad one — or none — turns the same screens into a guessing game.
The goal is consistency, not cleverness. Pick a pattern per object type, make it scannable and sortable, and never deviate. The table below is the recommended ByondVoice house style; adapt the tokens to your house, but apply whatever you choose uniformly.
| Object | Recommended pattern | Example | Why |
|---|---|---|---|
| Extension (person) | Full Name — real, as payroll knows them | Alice Tan | Calling-name display, directory search and voicemail greetings all read this. Use the legal/known name, not a nickname. |
| Extension (role/shared) | [Role] Function in brackets | [Reception] Front Desk | Brackets sort shared/role lines together and signal “not a person” at a glance. |
| SIP device | Owner · type · location | Alice Tan · desk · HQ-L3 | An extension can have several devices; the description disambiguates which is the desk phone, the softphone, the DECT. |
| Ring group | Team — strategy | Sales — round-robin | Names the business team and hints at behaviour, so a reader knows what the pilot number does. |
| Auto-attendant | Tenant context — purpose | Acme — main reception | Distinguishes daytime / after-hours / holiday menus when a tenant has several. |
| Conference room | Purpose (owner) | Sales standup (Alice Tan) | Rooms outlive their reason; an owner makes orphans easy to retire. |
| Connector | Carrier — region — role | Nimbus SG — primary trunk | Estates grow to several trunks; the name carries the carrier, region and whether it is primary or failover. |
A consistently named estate reads top-to-bottom like documentation.
| Ext | Name | Device | Status |
|---|---|---|---|
| 1001 | Alice Tan | Alice Tan · desk · HQ-L3 | registered |
| 1002 | Ben Ong | Ben Ong · softphone · mobile | registered |
| 1100 | [Reception] Front Desk | Front Desk · desk · Lobby | idle |
| 1900 | [Lab] Echo test 9196 | — | test |
Acme hires a salesperson, Priya Nair, who needs a desk phone and a softphone. You create extension 1003 and set the name to Priya Nair (real name — person band 10xx). Under it you add two SIP devices described Priya Nair · desk · HQ-L3 and Priya Nair · softphone · mobile. You add her to the Sales ring group, whose label you keep as Sales — round-robin. Six months later a colleague covering for you opens the estate cold: from the names alone they can see Priya is a person in sales with a desk phone on level 3 and a mobile softphone — without opening a single record. That is the entire payoff of the convention.
The console’s ⌘K search matches on names. Front-load the most distinctive token: Sales — round-robin finds instantly on “sales”, whereas Round-robin group for the sales team buries it. Put the word a tired operator will actually type first.
ByondVoice — Administrator & Operations ManualAn extension number is the short internal number a user dials to reach a colleague or a service — 1001 for Alice, 6000 for Sales, *98 for voicemail. A numbering plan (or dial plan) is the deliberate carving-up of the available number space into bands, each reserved for a purpose. You design it once, before you hand out the first extension, because numbers are the hardest thing in the whole system to change later: they are dialled from muscle memory, printed on cards, and stored in customers’ phones. A good plan leaves room to grow, never collides with service codes, and tells you what a number is from its first digit.
The plan below is a sound default for a single-site tenant of up to a few hundred users. Choose a uniform extension length first (3–5 digits; four is the comfortable middle for most tenants), then reserve bands by leading digit. Leave generous gaps — an estate always grows in places you did not predict.
| Band | Purpose | Example | Notes |
|---|---|---|---|
| 1000–1899 | People (personal extensions) | 1001 Alice Tan · 1002 Ben Ong | The bulk of the plan. Allocate sparsely (e.g. by team in sub-bands) so a team can grow without renumbering. |
| 1900–1999 | Lab / test / training lines | 1900 test desk | Clearly fenced off so test objects are never confused with real users at offboarding. |
| 6000–6499 | Ring groups (hunt groups) | 6000 Sales · 6001 Support | Pilot numbers people dial to reach a team. Keep distinct from personal lines. |
| 7000–7499 | Auto-attendants (IVR menus) | 7000 Acme reception | The menus DIDs land on. One per context (day / after-hours / holiday). |
| 3000–3499 | Conference rooms | 3000 board room | Dial-in rooms; pair with member/moderator PINs (§26.4). |
| * and 9-codes | Service / feature codes (reserved) | *98 voicemail · 9196 echo test | Do not allocate user extensions that collide with these. Treat them as immovable. |
Feature codes such as voicemail access *98 and the echo test 9196 are reserved, and any local emergency-services number must always reach the carrier’s emergency route unimpeded. Do not hand out an extension or a ring-group pilot that begins with, or is identical to, a service or emergency code — doing so can shadow the code so the user reaches the wrong thing, or worse, cannot reach emergency services. Fence these off in the plan before you allocate anything, and re-check the fence whenever you change extension length.
Acme starts with twelve staff but expects to triple within two years across Sales, Support and Operations. You choose four-digit extensions and sub-band the People range by team: Sales 1000–1099 (Alice 1001, Ben 1002, Priya 1003), Support 1100–1199, Operations 1200–1299 — each team with ~100 slots to grow into. Teams are reached at 6000 Sales, 6001 Support; the main IVR is 7000; the board-room conference is 3000; 19xx is reserved for the test desk. Two years and thirty hires later, not one number has had to move — every new starter simply takes the next free slot in their team’s sub-band, and the first digit of any number still tells you exactly what it is.
ByondVoice — Administrator & Operations ManualVoicemail boxes hold private messages and conference rooms can host confidential calls, so the PINs that protect them are real security boundaries, not formalities. ByondVoice already does the hard part: voicemail and conference PINs are hashed and never shown back, and SIP device secrets are encrypted at rest and revealed only once. Your day-two job is the human discipline around those mechanisms — setting a strong PIN at creation, never leaving a default, rotating after a handover, and revoking access cleanly when someone leaves. This is the smallest, highest-leverage hygiene in the whole estate: a forgotten default PIN is the single most common way a mailbox is breached.
| Secret | Protects | How ByondVoice stores it | Your rule |
|---|---|---|---|
| Voicemail / mailbox PIN | A user’s private messages (and *98 phone retrieval) | Hashed — never displayed; only re-set | Set a unique PIN at creation; rotate on handover; never reuse the extension number. |
| Conference PINs (member & moderator) | Entry to, and control of, a conference room | Hashed — never displayed; only re-set | Keep member and moderator PINs different; rotate after any external/large meeting. |
| SIP device secret | A device’s right to register and place calls | Encrypted at rest; shown reveal-once at creation | Capture it at creation into the device, then rely on rotation/re-provision — it cannot be shown again. |
Default and guessable PINs (0000, 1234, the extension number itself) are the number-one cause of voicemail compromise — an attacker who dials *98 and guesses the PIN can hear private messages and, on some configurations, abuse outbound features. Treat “every mailbox has a non-default PIN” as a hard launch gate: a tenant is not live until this is true for every box. Audit it monthly (§26.7).
Acme’s shared Sales voicemail box is retrieved by whoever is on duty, and Ben Ong — who knew its PIN — is leaving. Before his last day you open Voicemail › Sales, choose Set PIN, and enter a fresh 6-digit value, leaving Force change on first phone login on. The instant you save, Ben’s knowledge of the old PIN is worthless — the hash has changed — and the next on-duty rep is prompted to set their own. You record the rotation in the offboarding checklist (§26.6) so it is provably done. No message that arrives after Ben’s departure was ever reachable with the PIN he knew.
ByondVoice — Administrator & Operations ManualEvery screen in the admin console operates on a live phone system. The execution engine renders routing from your saved configuration at call time — so a change you save is in force on the very next call, with no deploy step and no undo button. That immediacy is a feature for legitimate edits and a hazard for careless ones. Change management is the lightweight process that lets you edit PROD confidently: know what you are changing and why, change at the right time, test immediately, and always keep a way back. The ENV: PROD badge in the top bar is your constant reminder of the stakes.
| Change class | Examples | Blast radius | Discipline |
|---|---|---|---|
| Cosmetic | Rename an extension; edit a device description | None — metadata only; routing untouched | Just keep to the naming scheme. Safe any time. |
| Additive | New extension; new ring-group member; new conference room | Low — adds capability without removing any | Test the new object; existing routing is unaffected. |
| Routing | Repoint a DID; change ring strategy; edit an IVR menu | Medium — alters where live calls go | Note before-state; change in a low-traffic window; test an inbound call immediately. |
| Destructive | Delete an extension; release a number; publish an IVR over a working one | High — can drop calls or strand a number | Confirm intent in writing; have a rollback; do it in a maintenance window; verify after. |
| Carrier-edge | Submit/cancel a port; change a connector’s credentials | High — involves an external party and may be slow to reverse | Follow the carrier process (Chapter 21); never cancel the losing service early. |
Changes take effect on the next call. Note the before-state first.
| Setting | Before | After |
|---|---|---|
| Strategy | round-robin | simultaneous |
| Ring seconds | 20 | 25 |
| Members | 1001, 1002 | 1001, 1002, 1003 |
| Overflow | VM 6000 | VM 6000 |
Because ByondSwitch renders routing from your saved configuration at call time, a save is the deployment — the next caller is routed by the new rules. There is no staging buffer and no global undo. Two habits cover for this: always have a tested sandbox tenant for rehearsing unfamiliar changes (§26.5.3), and always write the rollback before you save the change, not after something goes wrong. “I’ll just try it on the live one” is how a customer’s calls vanish at 4 p.m.
For any change you have not made before — a new IVR shape, an unfamiliar ring strategy, a connector reconfiguration — rehearse it on a non-production sandbox tenant first. Build the same objects with the same conventions, make the change, and confirm the behaviour, so that when you repeat it in PROD you are executing a known-good recipe rather than experimenting on customers. The cost of a sandbox is trivial against one avoided live outage.
Acme wants the Sales line (6000) to ring everyone at once instead of round-robin, and to add Priya (1003). You classify this as a routing change. You record the before-state (round-robin, 20s, members 1001 & 1002, overflow VM 6000) and write the rollback. You rehearse on the sandbox tenant and confirm simultaneous ring behaves. At 18:30 SGT — after Acme’s sales hours — you change strategy to simultaneous, ring time to 25s, and add 1003; you save the single change. You immediately dial 6000: all three phones ring together, and an unanswered call still lands in VM 6000. You verify, then log the change. Had any phone failed to ring, restoring round-robin / 20s / two members would have taken seconds, because you had captured exactly that.
ByondVoice — Administrator & Operations ManualThe two moments most prone to half-finished work are when a user arrives and when they leave. An onboarding done in a hurry leaves a user who cannot register, has no voicemail PIN, or is missing from the team group. An offboarding done in a hurry leaves a security hole: a live device, a known PIN, a DID still ringing a vanished person. Turn both into checklists you run identically every time — the same steps, in the same order, recorded as done — so nothing is ever skipped and an audit can prove it.
Run the same steps in the same order, every time.
| Onboarding step | Detail | State |
|---|---|---|
| Extension created (band-correct) | 1003 · People band | done |
| SIP device(s) provisioned | desk · softphone · reveal-once secret captured | done |
| Voicemail enabled + PIN set | force change on first login | done |
| Added to team ring group(s) | 6000 Sales | done |
| Registration verified | device shows registered | pending |
| Test call + voicemail leave/retrieve | internal + *98 | to do |
| # | Step | Where | Done when |
|---|---|---|---|
| 1 | Create extension with a band-correct number and real name | Extensions & Devices (§26.3) | Number in the People band, name to scheme |
| 2 | Provision SIP device(s); capture the reveal-once secret into each device | Extension › Devices | Secret entered; device configured |
| 3 | Enable voicemail and set a strong PIN (force first-login change) | Voicemail (§26.4) | Non-default PIN saved (hashed) |
| 4 | Add to the right ring group(s) and any conference rooms | Ring Groups / Conferences | Appears in the team’s membership |
| 5 | Set call-handling defaults & outbound caller-ID | Extension › Call forwarding / portal | DND off, sensible no-answer → VM |
| 6 | Verify registration, then place a test call and leave/retrieve voicemail | Softphone / desk phone + *98 | Registered; call connects; VM works |
| # | Step | Where | Done when |
|---|---|---|---|
| 1 | Repoint the person’s DID/role calls to their successor or team | Numbers / Ring Groups (§26.5) | Calls no longer ring the leaver |
| 2 | Remove from all ring groups, conferences and shared mailboxes | Ring Groups / Conferences | Not in any membership list |
| 3 | Rotate any shared PINs the leaver knew (mailbox, conference) | Voicemail / Conferences (§26.4) | Old PIN hash invalidated |
| 4 | De-register / delete the leaver’s SIP devices | Extension › Devices | No device can register as them |
| 5 | Handle the mailbox: export needed messages, then disable | Voicemail | Messages preserved per policy; box closed |
| 6 | Disable or delete the extension once calls are re-homed | Extensions & Devices | Extension inactive; change logged |
Order matters in offboarding. Delete an extension while its DID still points at it and you drop inbound calls; the DID should be repointed (§26.5) before the extension goes. Equally, revoke access — devices and shared PINs — at departure, not “when you get around to it”: a live device or a known PIN after someone has left is an open door. Run the steps in the listed order and record each as done.
Ben Ong (ext 1002) is leaving Acme. Following §26.6.2 in order: (1) his direct DID +65 3159 0011 is repointed to his successor (a routing change, §26.5) so no inbound call is lost; (2) he is removed from the Sales group 6000; (3) the shared Sales mailbox PIN he knew is rotated (§26.4); (4) his desk phone and softphone are de-registered and deleted, so nothing can register as 1002; (5) two voicemails his manager needs are exported, then his box is disabled; (6) with all calls re-homed, extension 1002 is disabled and the change logged. At no point did a caller hit a dead number, and the moment Ben walked out no device or PIN of his still worked.
ByondVoice — Administrator & Operations ManualThe surest way to avoid emergencies is to look for them on a schedule, while they are still small. A cadence is a fixed rhythm of short, repeatable checks — daily glances, a weekly review, a monthly deep-clean, a quarterly audit — each catching a different class of drift before it becomes an outage. None takes long; their value is in being regular. The console gives you the signals (registration counts, the “all systems operational” banner, lifecycle histories, the wholesale meter); the cadence is the habit of reading them.
Read the signals; act on the exceptions.
| Check | Signal | Action |
|---|---|---|
| Device registrations | 5 offline | Confirm expected (leavers/spare) vs broken |
| Stale reservations | 2 over 30d | Re-confirm reason or release |
| Port orders | 1 FOC soon | Pre-build routing before cutover |
| System banner | operational | No action |
| Rhythm | Do this | Catches |
|---|---|---|
| Daily (1 min) | Glance at the ALL SYSTEMS OPERATIONAL banner and the registration count. | A platform-level problem or a sudden drop in registrations. |
| Weekly (10 min) | Review offline devices, stale reservations, in-flight ports, and that names conform to scheme. | A broken registration, a forgotten hold, an approaching port cutover, naming drift. |
| Monthly (30 min) | Audit: every mailbox has a non-default PIN; reconcile the number pool against the carrier; review the wholesale meter; confirm onboarding/offboarding tickets were completed. | A default PIN that slipped through, a number you pay for but decommissioned, an unfinished offboarding. |
| Quarterly (1 hr) | Test the disaster path (carrier failover / after-hours IVR); rehearse a restore; re-validate the numbering plan still has head-room; review who has admin access. | A failover that does not work, a plan running out of room, stale admin accounts. |
| Practice | One-line rule | See |
|---|---|---|
| Naming | One pattern per object type, applied from object one, audited weekly. | §26.2 |
| Numbering | Design bands once; leave gaps; never collide with service/emergency codes. | §26.3 |
| PIN hygiene | No default PINs, ever; rotate on handover; PINs are hashed — reset, not recover. | §26.4 |
| Change in PROD | Saved is live; capture the before-state and write the rollback before you save. | §26.5 |
| Onboarding | Same steps, same order; not done until registered and test-called. | §26.6.1 |
| Offboarding | Re-home calls before deleting; revoke devices and shared PINs at departure. | §26.6.2 |
| Cadence | Daily glance, weekly review, monthly audit, quarterly DR test. | §26.7.1 |
The single highest-value monthly check is comparing the ByondVoice number pool with the carrier’s list of numbers they deliver and bill you for (Revenue › Wholesale Meter plus the pool). It catches two leaks at once: numbers you still pay for but decommissioned (stop the charge), and numbers the carrier delivers that are missing from your pool (preload them). Five minutes a month routinely pays for itself.
On a sandbox tenant: (1) open the overview and confirm the ALL SYSTEMS OPERATIONAL banner; (2) read the registration ratio and identify which offline devices are expected versus broken; (3) filter Numbers for reservations older than 30 days and re-confirm or release each; (4) check any in-flight port’s FOC date and confirm its destination routing is pre-built; (5) spot-check five extension and ring-group names against your scheme; (6) verify the mailboxes-without-PIN count reads 0. Time yourself — a clean estate takes under ten minutes, and you will have rehearsed exactly the habit that prevents the emergencies the rest of this manual exists to recover from.
ByondVoice — Administrator & Operations ManualEvery discipline has its vocabulary, and telephony has more than most — a thicket of acronyms (DID, SBC, IVR, CDR) inherited from a century of switching. This closing chapter is the reference you keep open beside the others: a precise, cross-referenced glossary of every term the manual uses (§ 27.1–27.4); a status-pill reference that decodes every coloured badge in the console at a glance (§ 27.5); a keyboard & quick-reference appendix for the shortcuts, feature codes and default values you reach for daily (§ 27.6–27.7); and an end-of-manual note on conventions, versioning and where to go next (§ 27.8). Nothing here is new behaviour — it is the rest of the manual, distilled into the form you scan rather than read. Every entry points back to the chapter that covers it in full, so the glossary doubles as an index.
Read the manual’s chapters to learn a capability; use this chapter to look something up. The glossary is alphabetical and each headword carries a cross-reference to the chapter where the concept is explained in depth, so you can jump from a one-line definition straight to the procedure. The appendices that follow gather the small, high-frequency facts — pill meanings, shortcuts, feature codes, defaults — that are scattered through the manual into a single place you can pin to a monitor.
Alphabetical definitions of every term, abbreviation and acronym, each with a § cross-reference to the chapter that covers it (§ 27.2–27.4).
The colour code for every badge in the console and portal — what green, amber and red mean on registrations, health, calls and carriers (§ 27.5).
Shortcuts, feature codes (*98, 9196), default values and a “where do I find…” map (§ 27.6–27.7).
Each glossary entry follows the same shape, so you can scan it quickly. The headword is in bold; an abbreviation or alternative form, where one exists, follows in the brand colour; the definition is one or two sentences in plain language; and a closing see reference points to the chapter for the full treatment. Where one term is best understood through another, the entry says “cf.” (compare) and names it.
Where a term has a broad industry meaning and a specific role in ByondVoice, the entry gives the meaning as it applies to this product. For example, “registrar” is defined as the function ByondSBC performs at the edge, not as the general SIP concept in the abstract — because that is what you will be operating.
Because every entry ends in a chapter cross-reference, you can use the glossary as a back-of-book index: find the term, follow the § to the chapter. Looking for “round-robin”? The ring group entry sends you to Chapter 13, where the strategies are explained in full.
ByondVoice — Administrator & Operations ManualThe fastest place to resolve an unfamiliar word is the console itself: the global search (the ⌘K command bar at the top of every screen) matches feature names as well as data, so typing a term often jumps you to the screen that embodies it. The figure shows that search resolving the term ring group; the definitions follow.
Type a term to learn it, an extension or number to find it, or a tenant to scope to it.
ByondVoice — Administrator & Operations ManualThis run of the glossary covers the routing, carrier and platform-hierarchy terms — the words that come up when you reason about how a call reaches a person and who owns what on the platform. Several entries here are the heart of the product’s shape, so their cross-references point to whole chapters.
The two names describe one feature: a pilot number that distributes a call across members. “Hunt” emphasises the sequential search for a free member; “ring” emphasises that members ring. ByondVoice supports both behaviours as strategies of a single ring-group object (§ 13).
ByondVoice — Administrator & Operations ManualThe final run covers the edge, security, media and tenancy terms — the words that describe how devices connect securely and how the platform is partitioned. The architecture chapter (§ 2) is the home for most of these; the entries below give the working definition you need at the console.
If you remember one structural fact, make it this: platform → reseller → tenant → users. The platform bills resellers (Wholesale Meter, § 19); a reseller white-labels and owns tenants (§ 5); a tenant is one customer org with its own users (§ 6–7). Almost every scope and permission question answers itself once you place the actor on this ladder.
ByondVoice — Administrator & Operations ManualThe console and portal speak largely in status pills — small coloured badges that report state at a glance. They use a consistent colour grammar across every screen, so once you read the grammar you read every pill: green means healthy / present / done, amber means attention / degraded / transitional, red means failed / unreachable / absent, grey means neutral / idle / not-applicable, and brand marks an informational tag. The figure shows the grammar in situ; the table that follows is the exhaustive reference.
Colour carries meaning; the same grammar applies on every screen.
| Where | Healthy | Attention | Failed / neutral |
|---|---|---|---|
| Registration | registered | expired | unreachable · idle |
| Service health | up | degraded | down |
| Call direction | in | out | missed |
| Number / object | assigned | reserved | released |
| Environment | ENV: PROD | ENV: STAGING | n/a |
ByondVoice — Administrator & Operations ManualThis is the exhaustive reference. Find the pill you are looking at in the State column; the row tells you what it means, whether it needs action, and the chapter that covers the screen it appears on. The colour follows the grammar above, so you can predict severity before you even read the label.
| Pill | Appears on | Meaning | Action? | See |
|---|---|---|---|---|
| registered | Extensions & Devices; My Devices | Device holds a current binding — reachable, can ring. | None — healthy. | § 22 |
| idle | Extensions & Devices | Known but not currently registered (e.g. a closed softphone). | Usually none — normal. | § 22.2.1 |
| expired | Extensions & Devices | Was registered; the binding lapsed and has not renewed. | Check device power / network. | § 22.2.1 |
| unreachable | Extensions & Devices | No device online for the extension at all. | Confirm a device exists & is powered. | § 22.2.1 |
| up | Service health | Component is operational. | None. | § 22.4 |
| degraded | Service health | Component impaired but not fully down. | Open detail; classify blast radius. | § 22.4.1 |
| down | Service health | Component is not operational. | Escalate with build & region. | § 22.4.3 |
| in | Recent Calls; History | Inbound call. | None — informational. | § 16 |
| out | Recent Calls; History | Outbound call. | None — informational. | § 16 |
| missed | Recent Calls; History | Inbound call not answered. | User callback if needed. | § 16 |
| assigned | Numbers | DID is allocated to a destination. | None. | § 8 |
| reserved | Numbers | DID held but not yet in service. | Assign or release when decided. | § 8 |
| released | Numbers | DID returned to the pool / carrier. | None. | § 8, 21 |
| published | Auto-Attendants | IVR menu is live and reachable. | None — expected when live. | § 14 |
| draft | Auto-Attendants | IVR edited but not yet published. | Publish to activate. | § 14 |
| ENV: PROD | Topbar (every screen) | Live environment — changes are real. | Confirm before any change. | § 22.6 |
Read the pill in context. A grey idle softphone is normal; a grey idle on a line that should be staffed during business hours is a problem. Likewise a green registered device behind a strict NAT can still fail to carry audio (§ 22.3). The colour is a strong hint, not a verdict — pair it with the surrounding signal.
On Acme Corp’s Extensions & Devices you see four rows: 1001 registered, 1002 idle, 1015 expired and 1031 unreachable. Reading colour first: one healthy, one neutral, one to look at, one to fix. The sidebar banner is green, so the platform is fine — these are device states, not an outage. Triage: leave 1001; ignore 1002 (a closed softphone); chase 1015 (a lapsed desk phone — power/network); and re-provision 1031 if it shows last registration: never. Four pills, read in five seconds, gave a complete work-list (§ 22.2.2).
ByondVoice — Administrator & Operations ManualThe console is built to be driven from the keyboard. The keystone is the command bar — ⌘K on macOS, Ctrl+K on Windows/Linux — which opens a search-and-jump palette from any screen: type a feature, a tenant, an extension or a number and press Enter to go straight there, no clicking through the nav. The figure shows the palette open; the tables that follow list the shortcuts worth committing to muscle memory.
ByondVoice — Administrator & Operations ManualThese work across the admin console. The command bar is the one to learn first; the rest reward a little practice when you are working at speed across many tenants.
| Shortcut | Action | Where |
|---|---|---|
| ⌘K / Ctrl+K | Open the command bar — jump to a record, screen or tenant. | Any screen |
| ↑ ↓ | Move the selection through results / table rows. | Command bar; lists |
| ↵ Enter | Open the highlighted result, or submit the focused form. | Command bar; dialogs |
| Esc | Close the palette, dialog or drawer without saving. | Modals; command bar |
| / | Focus the in-page search / filter box on a list screen. | List screens |
| Tab / Shift+Tab | Move forward / back through fields in a form. | Create & edit dialogs |
| ⌘+↵ / Ctrl+↵ | Save / confirm the current dialog. | Create & edit dialogs |
The softphone (§ 16) is mouse- or touch-first, but a few keys speed up call handling once a call is up. They apply while the softphone window has focus.
| Key | Action | Note |
|---|---|---|
| 0–9 * # | Send DTMF tones during a call. | For IVRs & conference PINs |
| m | Toggle mute. | In-call |
| h | Hold / resume. | In-call |
| v | Toggle video on / off (mid-call). | Audio→video escalation |
| Esc | Decline an incoming call / dismiss the ringer. | On ring |
| ↵ | Answer the incoming call. | On ring |
If you adopt one habit from this appendix, make it ⌘K. An operator who jumps by typing — “⌘K → acme → 1001 → ↵” — reaches Alice Tan’s extension on Acme Corp in under two seconds, versus a dozen clicks through tenants and lists. Every other shortcut is a bonus on top of that one.
You manage forty tenants and need Ben Ong’s line on Acme Corp to check a forwarding rule. Rather than open the tenant list, find Acme, open Users and scroll, you press ⌘K, type ben, see Ben Ong · 1002 · Acme Corp at the top, press ↵, and you are on his extension — scope, tenant and record resolved in one keystroke sequence. From there / focuses the device filter if you need to narrow further. The command bar turns “navigate” into “name what you want.”
ByondVoice — Administrator & Operations ManualThis is the card to pin beside your screen: the in-call feature codes a user dials, the default values worth knowing, and a “where do I find…” map from a task to its console location. Nothing here is new — it is the most-reached-for facts from across the manual, gathered for speed.
Feature codes are short numbers a user dials on their device to reach a built-in service. They work internally with no carrier.
| Code | Reaches | Notes | See |
|---|---|---|---|
| *98 | Voicemail retrieval by phone | Dial-in alternative to visual voicemail; prompts for the mailbox PIN. | § 11 |
| 9196 | Echo test | Plays your audio back — confirms mic, speaker and media path. | § 27.7.3 |
| 1001–1xxx | An internal extension | 3–5 digit extension numbers; the everyday internal dial. | § 9 |
| 6000 | A ring-group pilot | Example: “Sales.” Dialling the pilot rings the group per its strategy. | § 13 |
| 3000 | A conference room | Example room; prompts for member or moderator PIN. | § 15 |
The numbers above — 1001, 6000, 3000 — are examples from this manual’s running tenant, Acme Corp. The exact extensions, ring-group pilots and conference rooms differ per tenant; *98 and 9196 are the platform feature codes that are consistent. Always confirm a tenant’s own numbering before quoting it to a user.
| Item | Typical / default | See |
|---|---|---|
| Extension length | 3–5 digits (e.g. 1001) | § 9 |
| Ring-group strategies | simultaneous · sequential · round-robin | § 13 |
| DID format (example region) | +65 3159 xxxx | § 8 |
| Device secret visibility | reveal-once at creation; hashed thereafter | § 20 |
| Voicemail / conference PINs | hashed; never displayed | § 11, 15 |
| Login second factor | email one-time code (MFA), when enabled | § 20 |
| Unanswered-call fallback | device → forward target(s) → voicemail | § 12 |
| Region / build footer | v1.0 · sg-south · build 2026.06 | § 22.6 |
A task-to-location map across the three surfaces — the admin console, the user portal and the softphone.
| I want to… | Surface & location | See |
|---|---|---|
| Create an extension / add a SIP device | Console | § 9 |
| Auto-provision a device by token / URL | Console — device’s provisioning action (reveal-once) | § 10 |
| Assign / reserve / release a number | Console | § 8 |
| Build a ring group / IVR / conference | Console → the matching screen | § 13–15 |
| Connect a carrier / port a number in | Console | § 17, 21 |
| Preview / run reseller billing | Console | § 19 |
| Set DND / forward-all / follow-me | Portal | § 12, 16 |
| Hear / read / delete voicemail | Portal ; or dial *98 | § 11, 16 |
| Place a call / transfer / start video | Softphone my.byondvoice.com/phone | § 16 |
| Check a device’s registration | Console Extensions & Devices; Portal | § 22 |
You have just provisioned a desk phone for Alice Tan (1001) on Acme Corp. Console Extensions & Devices shows it registered — signalling is good. To prove the media path, you ask Alice to dial the echo test 9196: she hears her own voice played back with no delay or dropout, confirming the microphone, speaker and the RTP/SRTP relay all work. Had the audio been one-way or absent, you would suspect the site network and the TURN relay (§ 22.3) rather than the registration — which the green pill had already cleared. Two checks, both quotable on a ticket: registered + a clean 9196.
ByondVoice — Administrator & Operations ManualYou have reached the end of the ByondVoice Administrator & Operations Manual. From the architecture that makes a phone ring (§ 2) through the daily discipline of monitoring it (§ 22), the manual has aimed to make you not just able to operate ByondVoice but to reason about it — to know why a call routes the way it does, and therefore where to look when it does not. This closing note records the conventions the manual has used, sets expectations about versioning, and points you onward.
A quick recap of the visual grammar, so a reader arriving at any chapter reads it the same way.
Each feature chapter follows one rhythm: an overview, then for each capability an annotated screen (a mockup with numbered markers and a legend), then a numbered procedure, then a worked example with realistic values, with Note, Tip and Warning callouts carrying the operational judgement. Where a hands-on rehearsal helps, a Try it exercise closes the section. Examples reuse a consistent cast — tenant Acme Corp, users Alice Tan (1001) and Ben Ong (1002), ring group Sales (pilot 6000), reseller Nimbus Telecom — so a value in one chapter means the same thing in the next.
Where a capability is planned rather than shipped, the manual says so plainly — tenant-wide CDR export, for instance, is described as roadmap, not present (§ 22.5). Where a capability needs a carrier, it is marked carrier-gated (outbound PSTN, inbound DIDs, external IVR access). Internal calling, extensions, ring groups, voicemail and call handling all work today with no carrier. Trust is built by not over-promising.
The platform evolves; screens and capabilities will move ahead of any printed page. Anchor yourself with two facts. First, the build & version footer (§ 22.6) on every console screen — v1.0 · sg-south · build 2026.06 — tells you exactly which software you are on; quote it whenever the product differs from the manual. Second, this manual documents the v1.0 console line; treat it as describing behaviour and intent, and let the live footer settle any “which version?” question.
If a console screen behaves differently from this manual, the screen is the source of truth — the platform has moved on. Note the build from the footer, follow the live screen, and raise the discrepancy so the manual can catch up. A manual is a map; the running platform is the territory.
Make § 22 (monitoring) a daily habit — the health banner and registration KPIs — and keep this chapter’s pill reference (§ 27.5) and quick-reference card (§ 27.7) within reach. Lead every escalation with the build footer (§ 22.6).
The user-facing surfaces are the portal and softphone (§ 16); the user’s own manual mirrors them. The “where do I find…” map (§ 27.7.3) translates a user’s request into the right screen on the right surface in one step.
The companion User Guide covers the same product from the end-user’s seat — their line, voicemail, call handling and the softphone — and the Reseller Guide covers white-labelling and tenant management from a partner’s seat. Between the three, every actor on the platform — from a single user up to the platform operator — has a manual written for their view.
Provision deliberately, watch the few signals that matter, and reason from the product’s shape — platform → reseller → tenant → users, internal-always vs. carrier-gated, signalling vs. media — and most of operating a hosted PBX takes care of itself. Everything in this manual is in service of those few ideas. Thank you for reading.