BYOND
ByondByondVoice Cloud
Doc · BV-ADM-OPS
Official Handbook & Operations Guide

ByondVoice
Administrator
& Operations Manual

Cloud Business Phone System · Hosted PBX (UCaaS)

The 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.

Multi-tenant UCaaSExtensions · Voicemail · Ring groupsAuto-attendantsWhite-label resellers
AudiencePlatform, Reseller & Tenant Operators
Byondconsole: admin.byondvoice.comEdition 1.0 · 2026
© 2026 B’Yond. ByondVoice is a B’Yond product.
ByondByondVoice — Administrator & Operations Manual
Contents
Navigation

Table of Contents

This 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.

01Welcome and how to use this manual02Platform overview and architecture03Signing in and a tour of the admin console04Roles and the access model05Resellers — white-label partners06Tenants — create, configure, license07Users and the identity model08Numbers and DIDs09Extensions and SIP devices10Device auto-provisioning11Voicemail administration12Call forwarding and the execution engine13Ring and hunt groups14Auto-attendants (IVR)15Conference rooms16The user portal and softphone (admin view)17Carrier connectors18Outbound PSTN and inbound DID routing19Wholesale billing and the meter20Security and administration21Number portability and lifecycle22Monitoring, health and registrations23Troubleshooting and runbooks24Deployment and white-label operations25API and integration overview26Day-two operations and best practices27Glossary and appendices
ByondVoice — Administrator & Operations ManualContents
ByondByondVoice — Administrator & Operations Manual
Ch. 01 · Welcome
Chapter 01

Welcome and how to use this manual

ByondVoice 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 you will learn

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.

1.1 What ByondVoice is

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.

Hosted PBX

Extensions, voicemail, ring groups, IVR auto-attendants and conferences — all configured in the cloud, no on-site hardware.

Multi-tenant

Strict per-tenant isolation. Every extension, mailbox, device and routing rule is scoped to one tenant; users see only their own line.

White-label

Resellers run ByondVoice under their own brand and domain — optionally with their own carrier (SIP trunk) credentials.

1.1.1 The three surfaces

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.

Table 1.1 — The three ByondVoice surfaces and what each is for
SurfaceAddressWho uses itWhat it does
Operator consoleadmin.byondvoice.comPlatform & reseller/tenant operatorsAll telephony operations: numbers, extensions, voicemail, routing, carriers, billing. This manual.
User self-service portalmy.byondvoice.comEnd 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/phoneEnd usersA branded softphone you install to a home screen — make & receive calls, chat, contacts, history.
Scope of this manual

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 ManualCh. 01 · Welcome
ByondByondVoice — Administrator & Operations Manual
Ch. 01 · Welcome

1.2 Who this manual is for

This 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:

Platform operator

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.

Reseller / tenant operator

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.

1.2.1 What you are assumed to know

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:

If a term is new, it is defined where it first appears

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 ManualCh. 01 · Welcome
ByondByondVoice — Administrator & Operations Manual
Ch. 01 · Welcome

1.3 The hierarchy every chapter assumes

ByondVoice 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.

Table 1.2 — The four levels of the ByondVoice hierarchy
LevelWhat it isOwns / containsExample
PlatformThe whole ByondVoice deploymentThe number pool, carrier connectors, every reseller and tenant, the wholesale meterB'Yond
ResellerA white-label partnerTheir own brand & domain, and the tenants beneath themNimbus Telecom
TenantA customer organisationIts extensions, mailboxes, ring groups, auto-attendants, conferences, assigned numbersAcme Corp
UserA person on a lineTheir extension(s), devices, voicemail, call-handling rulesAlice 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.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Conferences5
Carrier
Connectors1
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Extensions & Devices// hosted PBX · tenant Acme Corp
ENV: PRODSA
// hosted PBX · tenant Acme Corp

Extensions & Devices

Provision extensions and the SIP devices that register to them.

New extension
Extensions
42
provisioned
Registered
37
devices online
ExtNameDevicesStatus
1001Alice Tan2 registered
1002Ben Ong1 idle
1
2
3
4
  1. Brand & module tag — the ByondVoice wordmark and the Admin badge confirm you are in the operator console (the user portal and softphone carry a different tag).
  2. Breadcrumb & scope — the screen title and a mono subtitle naming the level you are scoped to. Here it reads // hosted PBX · tenant Acme Corp — you are working inside one tenant (see § 1.3).
  3. Environment chip ENV: PROD tells you this is production, where every change is live. Always check it before acting.
  4. Working area — the content for the selected screen: a header (kicker, title, actions) above KPI tiles and tables. Each row here is one user's extension within the tenant.
The operator console, scoped to one tenant. The breadcrumb (2) always tells you which level of the hierarchy you are acting on.
Always confirm your scope before you change anything

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 ManualCh. 01 · Welcome
ByondByondVoice — Administrator & Operations Manual
Ch. 01 · Welcome

1.4 Your first sign-in

Before 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.

admin.byondvoice.com
ByondVoice Admin

Operator console

// sign in to ByondVoice
Username or email[email protected]
Password••••••••••
Sign in
Forgot password?
PROTECTED · admin.byondvoice.com
1
2
3
4
  1. Username or email — your operator login. Operator accounts are issued to you by ByondVoice (platform) or your reseller; you sign in with those credentials, not a tenant user's.
  2. Password — the focused field shows the pink focus ring used across the console for the field that currently has keyboard focus.
  3. Sign in — submits the credentials. If multi-factor authentication is enabled on your account, a one-time code is requested next (see the note below).
  4. Protected banner — confirms the secure console host. Bookmark admin.byondvoice.com; never sign in from a link in an unsolicited email.
The operator-console sign-in gate. The console stays hidden until authentication succeeds.

1.4.1 Procedure — sign in to the console

  1. Open the console. Browse to admin.byondvoice.com. If you have never signed in, the dark console is hidden and only the sign-in card is shown.
  2. Enter your username or email. Type the operator identity issued to you.
  3. Enter your password, then select Sign in.
  4. Complete multi-factor authentication if prompted. If your account has MFA enabled, enter the 6-digit code (from your authenticator app, or the one-time code emailed to you), then submit again.
  5. Confirm you have landed in the console and that the environment chip reads ENV: PROD. You are now in the control plane.
Multi-factor authentication is opt-in

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 example — Sara's first morning

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.

  1. She opens admin.byondvoice.com. The dark console is hidden; only the Operator console sign-in card appears.
  2. She types [email protected] and her password, then selects Sign in.
  3. Because MFA is enabled, the card asks for a 6-digit code. She reads the current code from her authenticator app and enters it.
  4. The console reveals itself. The topbar shows her initials SV; the chip reads ENV: PROD; the footer reads ALL SYSTEMS OPERATIONAL · v1.0 · sg-south.

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 ManualCh. 01 · Welcome
ByondByondVoice — Administrator & Operations Manual
Ch. 01 · Welcome

1.5 The four callouts

Set 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.

Note

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).

Tip

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).

Warning

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).

Danger

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.

One reveal-once secret rule, repeated as a warning

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 ManualCh. 01 · Welcome
ByondByondVoice — Administrator & Operations Manual
Ch. 01 · Welcome

1.6 How screens, steps and examples are presented

Every procedural chapter follows the same rhythm. Recognising it lets you skim for exactly the part you need.

1.6.1 Screens are reproduced, not screenshotted

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").

1.6.2 Procedures are numbered steps

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.

1.6.3 Worked examples and "Try it" exercises

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.

1.6.4 Typographic conventions

A few notations recur throughout the manual:

UI label
Names of buttons, fields, menu items and screens are in bold, exactly as they appear, e.g. select New extension.
Navigation path
A route through the menu is shown as a chip, e.g. Hosted PBXExtensions & Devices.
Address / URL
.path
Web addresses and console routes are pink mono, e.g. admin.byondvoice.com.
Code & field names
code
Literal values, field/data names and API fields are in mono, e.g. extension_number, 1001.
Keys
Key
Keyboard keys are shown raised, e.g. press ⌘K or Ctrl+K to open search.
Section reference
Cross-references use the section number, e.g. "see § 1.3" — never a page number. Figures and tables are numbered per chapter (Figure 1.2, Table 1.1).
Status pill
Record state is shown as a pill: Registered, Idle, Disabled.
Print & share

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 ManualCh. 01 · Welcome
ByondByondVoice — Administrator & Operations Manual
Ch. 01 · Welcome

1.7 What lies ahead

The 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.

Supply — Numbers

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.

Hosted PBX

Extensions & Devices (extension CRUD, nested SIP devices with reveal-once passwords, auto-provisioning tokens, per-extension forwarding & DND) and Voicemail (boxes, PINs, visual voicemail).

Call Routing

Ring Groups (members, order, simultaneous / sequential / round-robin, overflow), Auto-Attendants (the visual IVR menu builder) and Conferences (rooms with member & moderator PINs).

Carrier — Connectors

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.

Revenue — Wholesale Meter

The platform → reseller usage billing meter: preview the period and run the wholesale charge. A platform-operator screen.

Architecture & Security

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.

Practise against a sandbox tenant first

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.

Try it — orient yourself in the console

A five-minute warm-up to confirm you can read every part of the frame and the hierarchy. Do this in your training environment.

  1. Sign in following § 1.4.1 and confirm the console appears.
  2. On the topbar, read the breadcrumb, the environment chip and the search box. Note whether the chip says PROD or a training value.
  3. In the navigation rail, name the five groups in order: Supply, Hosted PBX, Call Routing, Carrier, Revenue. Note the live count next to Extensions & Devices.
  4. Open Hosted PBXExtensions & Devices. From the breadcrumb, state which tenant you are scoped to — that is the hierarchy from § 1.3 in the data.
  5. Read the footer and write down the build version and region.

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.

Next chapter

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 ManualCh. 01 · Welcome
ByondByondVoice — Administrator & Operations Manual
Ch. 02 · Architecture
Chapter 02

Platform overview and architecture

ByondVoice 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.

2.1 The multi-tenant model

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 platform → reseller → tenant → user hierarchy
Platform ByondVoice cloud
Reseller white-label partner
Tenant customer / business
Users people with a line

Platform

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.

Reseller

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.

Tenant

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”.

Users

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 reseller is optional

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 ManualCh. 02 · Architecture
ByondByondVoice — Administrator & Operations Manual
Ch. 02 · Architecture

2.1.1 What isolation actually means

“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.

ObjectScoped toWho can change it
Extension (e.g. 1001)One tenantAdmin; the owning user can edit a limited subset from the portal
Number / DID (e.g. +65 3159 0010)One tenant once assignedAdmin only
Ring group (e.g. pilot 6000)One tenantAdmin only
Voicemail box & messagesOne extension, one tenantThe owning user (play/delete); admin (provision)
Call-handling rules (DND, forwards)One extensionThe owning user; admin
Conference room (e.g. 3000)One tenantAdmin only
Carrier connectorPlatform or resellerPlatform 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.

Worked example — the same extension number, two tenants

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.

Always confirm the tenant before you act

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.

2.1.2 White-label is per reseller

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 ManualCh. 02 · Architecture
ByondByondVoice — Administrator & Operations Manual
Ch. 02 · Architecture

2.2 The three surfaces

People 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 console

admin.byondvoice.com
The operator’s control surface. Provision numbers, extensions, devices, routing, voicemail and carriers; meter wholesale usage. This manual documents it.

User portal

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).

Softphone PWA

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.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Conferences5
Carrier
Connectors1
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Extensions & Devices// hosted PBX · tenant Acme Corp
ENV: PRODSA
// hosted PBX

Extensions & Devices

Provision extensions and the SIP devices that register to them.

New extension
Extensions
42
provisioned
Registered
37
devices online
Voicemail
8
boxes
ExtNameDevicesStatus
1001ATAlice Tan2 registered
1002BOBen Ong1 idle
1
2
3
4
5
6
  1. Brand & module tag — the ByondVoice wordmark with the Admin badge confirms you are in the operator console (the user portal shows a My line tag instead).
  2. Navigation rail — the dark menu, grouped to mirror the work: Supply · Hosted PBX · Call Routing · Carrier · Revenue. The active item shows a gradient bar; the counts (42, 37) update live.
  3. Breadcrumb & scope — the screen title and the tenant it is scoped to (tenant Acme Corp). This is your reminder of which tenant you are changing.
  4. Environment chip ENV: PROD marks production, where every change is live. Check it before acting.
  5. Account avatar — your initials and role; opens the account / sign-out menu.
  6. Working area — a page header (kicker, title, actions) above KPI tiles and the data table for the selected screen.
The admin console — Extensions & Devices. Every later admin screen reuses this frame.
ByondVoice — Administrator & Operations ManualCh. 02 · Architecture
ByondByondVoice — Administrator & Operations Manual
Ch. 02 · Architecture

2.2.1 The user self-service portal

Your 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).

my.byondvoice.com
My line
My Phone1001
Voicemail3
Recent Calls28
Control
Call Handling
My Devices2
Conferences1
LINE ACTIVE
Acme Corp · ext 1001
My Phone// Alice Tan · ext 1001
AT
// my line

My Phone

Your extension, numbers, devices and registration state.

Extension
1001
Alice Tan
Devices
2
1 online

Registration

softphone registered
desk phone · idle  ·  softphone PWA · online  ·  caller-ID +65 3159 0010
1
2
3
  1. My line tag — the same wordmark as the admin console, but the My line badge signals this is the user’s own self-service surface, not an operator console.
  2. Personal nav — only two groups: My line (My Phone, Voicemail, Recent Calls) and Control (Call Handling, My Devices, Conferences). There is no Supply, Routing or Carrier here.
  3. Registration panel — the live state of the user’s own devices and their outbound caller-ID; this is the user-facing echo of what you see in the admin Extensions screen.
The user portal — My Phone. Scoped to one user’s own line; it can never see another user or tenant.
Point users at the portal, not at you

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.

2.2.2 The softphone PWA

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.

my.byondvoice.com/phone

ByondVoice Phone

registered
Dial1002
Calling Ben Ong · ext 1002
Call Video
Phone Contacts Chat History
1
2
3
  1. Registration badge registered means the PWA has registered to the session border controller over secure WebSocket and is ready to send and receive calls.
  2. Dialpad & call controls — dial an extension or number, then place an audio or video call; in-call controls add hold, transfer, conference, DTMF and mute.
  3. Tabs — Phone · Contacts · Chat · History. Beyond calling, the softphone carries team chat, a contact directory and the user’s call history in one app.
The softphone PWA — a branded softphone that installs to the home screen.
ByondVoice — Administrator & Operations ManualCh. 02 · Architecture
ByondByondVoice — Administrator & Operations Manual
Ch. 02 · Architecture

2.3 The telephony fabric

Under 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.

ByondVoice planes — the architecture an administrator should recognise
Surfaces
The three front-ends: the admin console, the user portal, and the softphone PWA. They speak REST to the control plane; the softphone also registers via secure WebSocket. (This is what the manual is about.)
web · REST · WSS
Edge / SBC
ByondSBC is the SIP front door: it is the registrar SIP devices register to, terminates TLS, applies access control and NAT traversal, and dispatches calls inward. softphones register here over secure WebSocket. White-label branding is applied at this edge.
ByondSBC · registrar
Media / PBX
A hosted ByondSwitch PBX switches calls and renders routing at call time: it runs extensions, ring/hunt groups, auto-attendants, conferences and voicemail, and executes each user’s saved call-handling rules.
ByondSwitch · PBX
Media relay / TURN
Voice media (RTP/SRTP) flows as directly as the network allows; for restrictive networks a TURN relay carries the media so calls connect from behind firewalls and symmetric NAT.
RTP/SRTP · TURN
Control plane (API)
The control-plane API holds all configuration — tenants, users, extensions, numbers, rules — authenticates users for the consoles, and authenticates SIP devices dynamically at registration time. It is the source of truth the edge and PBX read from.
API · auth · config
Data
Persistent stores for configuration, call history (CDR), voicemail recordings and transcripts — row-level scoped per tenant, consistent with the isolation model in §2.1.
config · CDR · recordings
The ByondVoice planes. You operate the surfaces; everything below is what your settings configure.

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 ManualCh. 02 · Architecture
ByondByondVoice — Administrator & Operations Manual
Ch. 02 · Architecture

2.3.1 How a device registers through the edge

Registration 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.

New SIP device — ext 1001

×
Device labelAlice — desk phone
SIP username1001-deskphoneAuto-derived from the extension; unique within the tenant.
SIP password••••••••••••••••Generated and shown reveal-once; encrypted at rest after you close.
Registrar (SBC)sbc.byondvoice.com
TransportTLS / WSS
Cancel Create device
  1. The SIP username is derived from the extension and is what the device presents to ByondSBC at registration; the SIP password is the secret the control plane validates.
  2. The password is shown reveal-once and then stored encrypted — copy it into the device now, because you cannot read it back later (you can only regenerate it).
  3. The registrar is the SBC host the device points at; transport is TLS for hardware phones and secure WebSocket (WSS) for the softphone.
Creating a SIP device under extension 1001. The secret is revealed once and validated by the control plane at registration.

2.3.2 Procedure — register a device to an extension

  1. Open the extension. In Hosted PBXExtensions & Devices, confirm the breadcrumb reads tenant Acme Corp, then open extension 1001.
  2. Add a device. Select New device to open the dialog above. Give it a clear label (for example “Alice — desk phone”).
  3. Capture the secret. ByondVoice generates the SIP password and shows it once. Copy it immediately into the device’s SIP account — you will not see it again.
  4. Point the device at the SBC. Set the device’s registrar / SIP server to the registrar shown (sbc.byondvoice.com), with TLS transport for a hardware phone.
  5. Save and watch for registration. The device sends a REGISTER to ByondSBC; the SBC validates the credentials against the control plane. Within seconds the row’s status flips to registered.
Worked example — provision Alice’s desk phone

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.

If a device won’t register

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 ManualCh. 02 · Architecture
ByondByondVoice — Administrator & Operations Manual
Ch. 02 · Architecture

2.3.3 The life of one internal call

To 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.

One internal call, plane by plane
Callerext 1001 device
ByondSBCSBC · registrar · ACL
ByondSwitchPBX · routing
Calleeext 1002 device
  1. The caller’s device sends the call. Alice’s registered device sends an INVITE for 1002 to ByondSBC — the same edge it is registered to.
  2. The SBC admits and dispatches. ByondSBC checks the device is registered and allowed, then dispatches the call inward to the hosted PBX. The softphone’s INVITE arrives the same way, over secure WebSocket.
  3. ByondSwitch renders the route. The PBX looks up 1002 in the tenant, reads Ben’s call-handling rules at that moment, and rings his registered device(s) — or sends the caller to voicemail if he has do-not-disturb on.
  4. Media connects. Once Ben answers, voice (RTP/SRTP) flows between the two endpoints — directly where the network allows, or via the TURN relay when either side is behind a restrictive firewall or symmetric NAT.
  5. The call is recorded to history. When the call ends, a call-detail record lands in each user’s Recent Calls, and any unanswered leg leaves visual voicemail.

2.3.4 Media relay and TURN

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 situationMedia pathResult
Open network, public reachabilityDirect peer-to-peer (RTP/SRTP)Lowest latency; no relay used
One side behind NAT/firewallServer-reflexive (STUN-assisted)Connects without a relay where possible
Symmetric NAT / strict firewallTURN relay carries the mediaCall still connects; relay adds a small hop
One-way audio is a media problem, not a signalling one

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.

Worked example — Alice on hotel Wi-Fi

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 ManualCh. 02 · Architecture
ByondByondVoice — Administrator & Operations Manual
Ch. 02 · Architecture

2.4 The control plane, secure transport and the edge

Three 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.

2.4.1 The control plane holds configuration and authenticates devices

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.

Config store
Control plane (API), tenant-scoped
Device auth
Dynamic, at registration time
SIP secrets
Encrypted at rest · reveal-once
PINs
Hashed · never displayed

2.4.2 softphones use secure WebSocket

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.

Hardware phone

Registers via SIP / TLS to sbc.byondvoice.com. Media is RTP/SRTP, relayed via TURN where required.

Softphone PWA

Registers via secure WebSocket (WSS) to the same SBC. Media is browser-based (SRTP), TURN-relayed on restrictive networks.

The softphone counts as a device

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.

2.4.3 Voice is white-labelled at the edge

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 ManualCh. 02 · Architecture
ByondByondVoice — Administrator & Operations Manual
Ch. 02 · Architecture

2.5 What works today versus what needs a carrier

This 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.

CapabilityWorks 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 CarrierConnectors 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.

Worked example — a brand-new tenant on day one

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.

Set the expectation before go-live

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.

Try it — prove the fabric with no carrier

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.

Where to go next

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 ManualCh. 02 · Architecture
ByondByondVoice — Administrator & Operations Manual
Ch. 03 · Sign-in & Tour
Chapter 03

Signing in and a tour of the admin console

Everything 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.

3.1 The sign-in gate

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.

admin.byondvoice.com
ByondVoice Admin

Operator sign-in

// sign in to the ByondVoice control plane
Username or email[email protected]
Password••••••••••
Sign in
Forgot password?
PROTECTED · admin.byondvoice.com
1
2
3
4
5
  1. Brand & tier badge — the ByondVoice wordmark and the Admin badge confirm you are at the operator console, not the user portal at my.byondvoice.com. On a white-labelled reseller deployment this wordmark is replaced by the reseller’s own brand.
  2. Username or email — your operator login. Admin accounts are issued to a person, not shared; sign in with the credentials given to you, never a colleague’s.
  3. Password — the focused field shows the pink focus ring used throughout the console for the control that currently has keyboard focus.
  4. Sign in — submits the credentials. If MFA is enabled on your account, a one-time code is requested on the next step (see §3.1.2).
  5. Protected banner — confirms the secure host. Bookmark admin.byondvoice.com and only ever sign in from your own bookmark, never from a link in an email.
The ByondVoice operator sign-in gate. The console stays hidden until authentication succeeds.
ByondVoice — Administrator & Operations ManualCh. 03 · Sign-in & Tour
ByondByondVoice — Administrator & Operations Manual
Ch. 03 · Sign-in & Tour

3.1.1 Procedure — sign in to the console

  1. Open the console. Browse to admin.byondvoice.com using your own bookmark. Until you have authenticated, the dark console is hidden and only the sign-in card is shown.
  2. Enter your username or email. Type the operator identity issued to you. Email and username are interchangeable in this field.
  3. Enter your password, then select Sign in. Passwords are case-sensitive.
  4. Clear MFA if prompted. If your account has MFA enabled, enter the 6-digit code from your authenticator app — or the one-time code emailed to you — then submit again (see §3.1.2).
  5. Confirm where you have landed. You should arrive on the first screen your role can see, with the navigation rail on the left and the environment chip in the top bar reading ENV: PROD. You are now in the control plane.
Worked example — Sara signs in

Sara 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 SupplyNumbers scoped to tenant Acme Corp, and the chip shows ENV: PROD. Total time: about fifteen seconds.

3.1.2 Multi-factor authentication and email one-time codes

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 factorHow it worksWhen 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 codeA 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.
Enrol MFA on every operator account

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.

Never sign in from an emailed link

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 ManualCh. 03 · Sign-in & Tour
ByondByondVoice — Administrator & Operations Manual
Ch. 03 · Sign-in & Tour

3.2 The console frame at a glance

Once 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 Hosted PBXExtensions & Devices” 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.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Conferences5
Carrier
Connectors1
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Extensions & Devices// hosted PBX · tenant Acme Corp
ENV: PRODSA
// hosted PBX

Extensions & Devices

Provision extensions and the SIP devices that register to them.

New extension
Extensions
42
provisioned
Registered
37
devices online
ExtNameDevicesStatus
1001Alice Tan2 registered
1002Ben Ong1 idle
1
2
3
4
5
6
7
8
  1. Brand & tier badge — the ByondVoice wordmark and the Admin tag confirm the console and tier. A white-labelled reseller sees their own brand here.
  2. Navigation rail — the dark left menu, grouped to mirror the telephony lifecycle: Supply · Hosted PBX · Call Routing · Carrier · Revenue. The active item carries a gradient bar; live counts sit on the right (see §3.3).
  3. Breadcrumb & scope — the screen title with a mono subtitle naming the group and the tenant the screen is scoped to (see §3.4).
  4. Global search — jump to any extension, number, ring group, conference room or tenant. Press ⌘K or Ctrl+K (see §3.5).
  5. Environment chip ENV: PROD marks production, where every change is live. Always read it before you act.
  6. Account avatar — your initials open the account menu: who you are, your scope, and sign-out (see §3.6).
  7. Health & build footer — overall service health plus the running version and region. Quote the build when you raise a ticket (see §3.7).
  8. Working area — the only part that changes per screen: a page header (kicker, title, description, actions) above KPI tiles, panels and tables (see §3.8).
The persistent console frame, numbered. Every later screen reuses elements 1–7 unchanged and swaps only element 8.
ByondVoice — Administrator & Operations ManualCh. 03 · Sign-in & Tour
ByondByondVoice — Administrator & Operations Manual
Ch. 03 · Sign-in & Tour

3.3 The navigation rail

The rail down the left edge is how you move around the console. Its items are deliberately grouped into five headings that follow the lifecycle of a hosted phone system — from the raw supply of phone numbers, through the hosted PBX that gives people extensions and voicemail, to the call routing that decides where calls land, the carrier link to the outside world, and finally the revenue the platform bills. Reading the rail top-to-bottom is reading the system end-to-end.

Each item shows a live count or marker on its right. 42 next to Extensions & Devices means forty-two extensions exist; $ next to Wholesale Meter marks a billing screen rather than a counted collection. The item you are on is highlighted with a gradient bar — in the figure in §3.2 that is Extensions & Devices. Counts refresh as the underlying data changes, so the rail doubles as an at-a-glance inventory.

3.3.1 The five groups and where they lead

GroupScreenWhat you do there
SupplyNumbersThe DID / number pool: list and filter numbers, see KPIs, and assign, reserve, release or bulk-preload numbers; configure the source with carrier credentials.
Hosted PBXExtensions & DevicesCreate and edit extensions; manage the nested SIP devices that register to them (with reveal-once passwords and auto-provisioning tokens); set per-extension call-forwarding, DND and forward-all.
VoicemailMailboxes, set-PIN, stored messages and visual voicemail.
Call RoutingRing GroupsGroup extensions to ring together; choose the strategy (simultaneous, sequential, round-robin), ring seconds and an overflow target; reorder members.
Auto-AttendantsBuild IVR menus visually — a greeting plus a digit→action map — then publish them.
ConferencesConference rooms with member and moderator PINs and a maximum size.
CarrierConnectorsIntegrate a carrier / SIP trunk: pick a type, supply credentials, test and sync, search and provision numbers, and run port-ins.
RevenueWholesale MeterPreview and run platform→reseller usage billing.
What works before a carrier is connected

Internal calling, extensions, ring groups, voicemail and call handling all work today with no carrier at all. The Carrier group only gates the outside world: outbound PSTN calling over a trunk, inbound delivery of DID numbers, and reaching an auto-attendant from an external number. You can build and test a tenant’s whole internal phone system first, then connect a carrier when you are ready to take real calls.

Read the counts as a quick audit

The rail counts are a fast sanity check. If Numbers reads 14 but you expected to have preloaded fifty DIDs, you have found a problem before opening a single screen. Glance at the rail whenever you sign in.

ByondVoice — Administrator & Operations ManualCh. 03 · Sign-in & Tour
ByondByondVoice — Administrator & Operations Manual
Ch. 03 · Sign-in & Tour

3.4 Breadcrumb and scope

The 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. Hosted PBXExtensions & Devices, 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.

Check the scope before any destructive action

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.

3.5 Global search

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 .

admin.byondvoice.com

Search

⌘K
1001|
// extensions
1001Alice Tan registered
// numbers
+65 3159 0010→ ext 1001 assigned
↑↓ to move · ↵ to open · esc to close
1
2
3
  1. Query field — start typing immediately; here the operator has typed an extension number. The same box matches names, numbers and room IDs.
  2. Grouped results — matches are split by type (extensions, numbers, ring groups, conferences, tenants) so the right kind of object is easy to pick out.
  3. Live state in results — each row carries the same status pills you see on the full screens, so you learn an object’s state without leaving search.
Global search (⌘K) — a type-ahead palette across every object in scope.

3.5.1 Procedure — jump to an object with search

  1. Open search. Press ⌘K (or Ctrl+K) from any screen.
  2. Type a fragment. Enter part of a name, an extension number, a DID or a room ID — for example 1001 or Alice.
  3. Pick the result type. Results are grouped by kind; move with to the row you want.
  4. Open it. Press to jump straight to that object’s screen, or Esc to dismiss search.
Worked example — find Alice fast

You need Alice Tan’s extension. Rather than opening Hosted PBXExtensions & Devices 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 ManualCh. 03 · Sign-in & Tour
ByondByondVoice — Administrator & Operations Manual
Ch. 03 · Sign-in & Tour

3.6 The account menu and the environment chip

Two 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.

admin.byondvoice.com
SA
SUPER-ADMIN · platform scope
Environment ENV: PROD
AccountProfile & security
SessionSwitch scope
Sign out
1
2
3
4
  1. Who you are — your avatar initials, full name and the email the account is keyed to. If this is not you, you are signed into the wrong account; sign out.
  2. Role & scope — your tier (here SUPER-ADMIN) and the level you operate at (platform, reseller or tenant). Your scope decides which rail items and tenants you can reach.
  3. Environment & account links — the active environment repeated for safety, plus shortcuts to your profile and security settings (where MFA is managed) and, for multi-scope operators, a way to switch scope.
  4. Sign out — ends the session cleanly. Always sign out on a shared or public machine.
The account menu — identity, role and scope, environment, and sign-out in one place.
PROD is live; there is no undo for routing

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.

Your scope is enforced, not cosmetic

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 ManualCh. 03 · Sign-in & Tour
ByondByondVoice — Administrator & Operations Manual
Ch. 03 · Sign-in & Tour

3.7 The health and build footer

At 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.

Health line

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.

Version · region · build

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.

3.8 How to read every later screen

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.

admin.byondvoice.com
Call Routing
Ring Groups3
Ring Groups// call routing · tenant Acme Corp
ENV: PRODSA
// call routing

Ring Groups

Group extensions so a single number rings several people.

New ring group
Groups
3
configured
Members
11
extensions

Sales · pilot 6000

live
strategy: round-robin · ring 20s · overflow → voicemail
PilotNameStrategyStatus
6000Salesround-robin live
6010Supportsimultaneous draft
1
2
3
4
5
6
  1. Page header — a kicker (// call routing), the screen title and a one-line description of what the screen is for.
  2. Primary action — the gradient button at the top-right is always the main thing you came to do here, e.g. New ring group.
  3. KPI tiles — a row of headline numbers summarising the screen’s data, such as how many groups exist and how many members they hold.
  4. Detail panel — an expanded view of a selected or notable object, showing its key settings in mono text.
  5. Data table — the full list of objects on this screen; each row is one object you can open or act on.
  6. Status pills — a consistent vocabulary across the whole console: live / registered, draft / info, idle for neutral states.
The anatomy of a working area, on the Ring Groups screen — the same six pieces appear on every screen.
ByondVoice — Administrator & Operations ManualCh. 03 · Sign-in & Tour
ByondByondVoice — Administrator & Operations Manual
Ch. 03 · Sign-in & Tour

3.8.1 The status-pill vocabulary

Pills 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.

PillReads asWhere you see it
onHealthy / active — registered device, live ring group, published attendant, assigned number.Extensions, Ring Groups, Numbers, Auto-Attendants.
infoInformational / in-progress — a draft not yet published, or a reserved number.Ring Groups, Auto-Attendants, Numbers.
idleNeutral — an extension with no device online, or an unassigned number in the pool.Extensions, Numbers.

3.9 A first-sign-in orientation routine

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.

  1. Confirm the environment. Read the chip — ENV: PROD means live. Know whether you intend to make real changes.
  2. Confirm your identity and scope. Open the account menu (§3.6); check the name, role and scope are yours and correct.
  3. Glance at the rail counts. Do Numbers, Extensions and the rest look like the figures you expect? Investigate anything surprising (§3.3).
  4. Check platform health. The footer should read ALL SYSTEMS OPERATIONAL; note the build in case you need to raise a ticket (§3.7).
  5. Set your scope before acting. Confirm the breadcrumb subtitle names the tenant you mean to work on, e.g. // hosted PBX · tenant Acme Corp (§3.4).
Try it — orient yourself in sixty seconds

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.

Where to go next

You can now sign in and read any screen in the console. The chapters that follow open each rail item in turn — starting with SupplyNumbers — and every one of them reuses the frame, the search, the pills and the scope rules you have learned here.

ByondVoice — Administrator & Operations ManualCh. 03 · Sign-in & Tour
ByondByondVoice — Administrator & Operations Manual
Ch. 04 · Roles & Access
Chapter 04

Roles and the access model

Everything 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.

What you will learn

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.

4.1 The three account tiers at a glance

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.

Table 4.1 — The three ByondVoice account tiers and the scope each one owns
TierWho it isSigns in atOwns / 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.
The mental model

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 ManualCh. 04 · Roles & Access
ByondByondVoice — Administrator & Operations Manual
Ch. 04 · Roles & Access

4.2 The tenancy hierarchy

The 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.

The containment model — each tier owns everything beneath it
Platform administrator
The control plane, operated by B’Yond. Creates resellers and direct tenants, manages the shared carrier connectors and SBC, sets platform-wide policy, and runs the wholesale meter. Sees every row on the platform.
tier = platform · belongs to no reseller, no tenant
Reseller
A white-label partner — for example Nimbus Telecom. Owns the set of tenants it has signed up, brands the console and portal as its own, and sets the wholesale price it pays the platform. May bring its own carrier trunk.
tier = reseller · reseller_id = self
Tenant
One customer business — for example Acme Corp — running its hosted PBX. Contains all of its own numbers, extensions, ring groups, auto-attendants, conferences, voicemail boxes and users. A tenant may sit under a reseller, or be a direct platform customer.
tenant_id = self · reseller_id set or NULL
Users
The people on that tenant — for example Alice Tan (ext 1001) and Ben Ong (ext 1002). Each owns a line: one or more extensions, the SIP devices that register to them, a voicemail box and a set of call-handling rules. All carry their tenant’s id.
tenant_id = parent tenant

Two ownership pointers wire this hierarchy together, and they are the whole of the relationship:

tenant_id
The tenant an account belongs to. Set on tenant admins and users; NULL for the platform admin and for resellers.
reseller_id
The reseller an account — or a whole tenant — belongs to. Set on reseller logins, and on every tenant a reseller owns.

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.

A tier is fixed at creation

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 ManualCh. 04 · Roles & Access
ByondByondVoice — Administrator & Operations Manual
Ch. 04 · Roles & Access

4.3 How tenant scoping works

The 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:

Table 4.2 — How the tenant scope resolves visibility, by tier
CallerRecognised 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.
Why a denied lookup says “Not found”, never “Forbidden”

When an account fetches a single record by id that it is not permitted to see, ByondVoice returns 404 Not Foundnot 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.

4.3.1 The self-service portal is scoped twice

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 My lineVoicemail 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.

4.3.2 What the sign-in token carries

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:

Claims embedded in the access token (illustrative)
// 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)
}
One rule, applied everywhere

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 ManualCh. 04 · Roles & Access
ByondByondVoice — Administrator & Operations Manual
Ch. 04 · Roles & Access

4.4 The platform administrator console

The 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.

admin.byondvoice.com
Supply
Numbers214
Hosted PBX
Extensions & Devices512
Voicemail96
Call Routing
Ring Groups28
Auto-Attendants17
Carrier
Connectors3
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Platform overview// platform · all resellers & tenants
ENV: PRODPA
// platform overview

Platform overview

Live state of the whole ByondVoice cloud — every reseller, tenant, number and device.

Refresh
Resellers
6
partners
Tenants
48
customers
Extensions
512
provisioned
Live calls
23
in progress
TenantResellerExtensionsStatus
Acme CorpNimbus Telecom42 active
Helios CareDirect (platform)18 active
Vela LogisticsNimbus Telecom7 suspended
1
2
3
4
5
  1. Brand & tier tag — the ByondVoice wordmark and the Admin badge confirm you are in the operator console. A reseller signing in sees the same console rebranded to its own white-label identity.
  2. Build & health footer — overall service health, the running version and the region. Quote the build (v1.0 · build 2026.06) when raising a support ticket.
  3. Breadcrumb & scope — the screen title and a mono subtitle naming the scope. Here it reads all resellers & tenants, which only the platform admin ever sees.
  4. Account avatar — your initials and tier (here PA, platform admin). Opens the account and sign-out menu.
  5. Cross-tenant list — every tenant on the platform, each showing its owning reseller (or Direct) and its status. A reseller’s console would list only the rows it owns.
The platform-overview screen — the widest scope in ByondVoice. Every later screen reuses this frame.

4.4.1 Procedure — confirm you are at platform scope

  1. Open the console. Browse to admin.byondvoice.com and sign in with your platform-admin credentials.
  2. Check the breadcrumb scope. The subtitle under the title should read // platform · all resellers & tenants — confirmation you are not scoped into one partner or customer.
  3. Check the avatar tier. The top-right avatar should read PA (platform admin). If it reads a reseller or tenant name, you are signed in at a narrower tier.
  4. Confirm the environment chip reads ENV: PROD before you make any change — every action here is live and platform-wide.
Worked example — telling a partner’s customer from a direct one

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 ManualCh. 04 · Roles & Access
ByondByondVoice — Administrator & Operations Manual
Ch. 04 · Roles & Access

4.5 Where identity is managed

Each 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.

Table 4.3 — Who provisions each identity, and where
IdentityCreated byWhere in the consoleWhat is provisioned
ResellerPlatform adminTenancy › ResellersA partner record, its branding, its wholesale plan, and the reseller’s owner login.
TenantPlatform admin or resellerTenancy › TenantsA customer record and its tenant-admin owner login, in one step.
User (extension owner)Tenant adminHosted PBX › Extensions & DevicesAn 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.

New tenant

×
Display nameAcme Corp
Username (slug)acmeThe tenant handle and the owner’s login name.
Contact email[email protected]
Owner password••••••••••••Must satisfy the platform password policy.
ResellerNimbus Telecom
Dial prefixoptional
Cancel Create tenant
  1. One step, two records — creating the tenant also creates a tenant-admin owner login from the username + owner password. The customer is ready to sign in immediately.
  2. Reseller pointer — choosing Nimbus Telecom files this tenant under that partner’s scope (a white-label customer); leaving it Direct (none) makes a platform customer you bill yourself.
The create-tenant dialog. The tenant-admin owner login is provisioned automatically.

4.5.1 Procedure — provision a reseller, a tenant, then a user

  1. Create the reseller. As platform admin, open TenancyResellers and select New reseller. Give it a display name, an owner login and a wholesale plan.
  2. Create the tenant under it. Open TenancyTenants, choose New tenant, fill in the form above, and set Reseller to the partner from step 1 (or leave it Direct).
  3. Hand the tenant to its admin. Give the tenant-admin owner the username and a way to set their password. From here, the tenant admin runs its own PBX.
  4. Create users inside the tenant. Signed in as the tenant admin, open Hosted PBXExtensions & Devices and select New extension for each person — provisioning their extension, the user who owns it, and a SIP device (see §4.7 and Chapter 7).
Usernames are unique within a scope, not globally

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.

Worked example — onboarding Acme Corp under Nimbus

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 ManualCh. 04 · Roles & Access
ByondByondVoice — Administrator & Operations Manual
Ch. 04 · Roles & Access

4.6 What each tier sees and does — and least-privilege guidance

The 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.

Platform admin

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.

Reseller

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.

Tenant admin

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.

User (extension owner)

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.

4.6.1 Capability matrix

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.

Table 4.4 — Capabilities by tier (✓ = yes · own = own scope only · — = no)
CapabilityPlatformResellerTenant adminUser
Create resellers
Create tenants✓ (any)✓ (own)
Manage carrier Connectors / SBCown 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 Meterview own

4.6.2 Suspend, never over-grant

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.

Suspension cascades downward

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.

Try it

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 ManualCh. 04 · Roles & Access
ByondByondVoice — Administrator & Operations Manual
Ch. 04 · Roles & Access

4.7 Reveal-once secrets and hashed PINs

The 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.

Reveal-once secrets

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.

Hashed PINs

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.

Device created — copy the secret now

×
Extension1001 · Alice Tan
SIP username1001_softphone
SIP password (shown once)f9K2-7pQz-Lm4w-Xt8rCopy this now — it is encrypted at rest and cannot be shown again.
Auto-provision URL (shown once)https://prov.byondvoice.com/d/9af3c1…
reveal-once · not recoverable
Copy secret Done
  1. The secret, shown once — the generated SIP password is visible only in this dialog. There is no “view password” action anywhere else; the stored value is encrypted at rest.
  2. Reveal-once provisioning URL — the auto-provision link that pushes config to a hardware phone is equally one-time; treat it like a password.
  3. The warning pill reveal-once · not recoverable is your prompt to copy before closing. If you lose it, you re-generate (which invalidates the old secret), you do not recover it.
The reveal-once device-secret dialog. Closing it discards the only readable copy.

4.7.1 Procedure — handle a reveal-once device secret

  1. Create the device. Under an extension in Hosted PBXExtensions & Devices, add a SIP device. The dialog above appears with the generated password.
  2. Copy the secret immediately. Use Copy secret and paste it straight into the phone’s SIP settings — or transmit it to the user over a secure channel, never plain email.
  3. Copy the provisioning URL too, if you are auto-provisioning a hardware phone; it is one-time in the same way.
  4. Close the dialog only when copied. Selecting Done discards the readable copy permanently.
  5. If it is ever lost, re-generate. Re-issuing produces a fresh secret and invalidates the old one, so the device must re-register with the new value.
PINs are reset, never revealed

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.

Worked example — Alice forgets her voicemail PIN

Alice Tan (ext 1001) can no longer retrieve voicemail by phone via *98. As tenant admin you open Hosted PBXVoicemail, 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.

Carry these two habits everywhere

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 ManualCh. 04 · Roles & Access
ByondByondVoice — Administrator & Operations Manual
Ch. 05 · Resellers
Chapter 05

Resellers — white-label partners

ByondVoice 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.

5.1 The reseller concept

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.

What the platform owns

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.

What the reseller owns

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.

Where reseller management lives

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 ManualCh. 05 · Resellers
ByondByondVoice — Administrator & Operations Manual
Ch. 05 · Resellers

5.1.1 The four-tier hierarchy at a glance

Every 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.

TierWho operates itOwnsBranded asSees
PlatformYou (B’Yond / super-admin)Resellers, infrastructure, carrier(s)ByondVoiceEverything
ResellerPartner staff (e.g. Nimbus Telecom)Tenants, price book, optional carrierThe reseller’s own brandOnly its own tenants
TenantCustomer admin (e.g. Acme Corp)Users, extensions, numbers, routingInherited from resellerOnly its own users
UserThe end user (e.g. Alice Tan)One or more extensions & devicesInherited from resellerOnly their own line
admin.byondvoice.com
Tenancy
Resellers4
Tenants38
Supply
Numbers126
Carrier
Connectors3
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Resellers// platform · white-label partners
ENV: PRODSA
// tenancy

Resellers

White-label partners and the tenants they operate. Platform-tier only.

New reseller
Resellers
4
partners
Tenants
38
across partners
Branded domains
4
live · verified
BYO carrier
2
own trunks
ResellerLogin domainTenantsCarrierStatus
NNimbus Telecomvoice.nimbus.sg12 own trunk active
OOrbit Commsphones.orbit.com9 platform active
PPeak Cloudtalk.peakcloud.io7 own trunk suspended
1
2
3
4
5
  1. Tenancy group — the platform-tier rail groups Resellers above Tenants; the count (4) is the number of live partners. This rail is visible only to a platform super-administrator.
  2. Breadcrumb & scope — confirms you are at platform scope, looking across every partner rather than inside one reseller.
  3. New reseller — opens the create-reseller wizard (§5.2). Each new reseller starts with no tenants and a default set of caps you choose.
  4. BYO-carrier flag own trunk marks resellers whose tenants' PSTN calls leave over the reseller's own carrier credentials (§5.5); platform means they ride your carrier.
  5. Status active partners can provision; suspended partners and all their tenants are frozen (calls in progress are unaffected; new provisioning and outbound is blocked — see §5.4.2).
The platform-tier Resellers list — the home screen for white-label partner management.
ByondVoice — Administrator & Operations ManualCh. 05 · Resellers
ByondByondVoice — Administrator & Operations Manual
Ch. 05 · Resellers

5.2 Creating a reseller

Creating 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.

admin.byondvoice.com

New reseller

×
// platform · create a white-label partner
Reseller nameNimbus Telecom
Short code (internal)NIMBUS
Primary admin email[email protected]
PlanWholesale · Standard
Regionsg-south
Login domain (set later)voice.nimbus.sg
CancelCreate reseller
1
2
3
4
5
  1. Reseller name — the partner’s legal/trading name. It is used internally and may be shown to the reseller’s own staff; it is not what end customers see (that comes from the brand in §5.3).
  2. Short code — an immutable, uppercase identifier (e.g. NIMBUS) used in URLs, logs and the Wholesale Meter. Choose it carefully: it cannot be changed once tenants exist.
  3. Primary admin email — the first reseller administrator. ByondVoice emails this address an invitation to set a password; from then on the reseller manages its own tenants.
  4. Plan & region — the wholesale plan (which seeds default caps and meter rates) and the home region for the partner’s data and media. Pick the region nearest the reseller’s customers for lowest latency.
  5. Login domain — optional here; the verified branded domain (§5.3.2) on which the reseller’s tenants sign in. Leave blank to start on the shared host and add it later.
The New reseller dialog — identity and an initial plan; branding and carrier are added afterwards.

5.2.1 Procedure — create a reseller

  1. Open the screen. In TenancyResellers select New reseller.
  2. Name the reseller. Enter the partner’s name (e.g. Nimbus Telecom).
  3. Set the short code. Type an uppercase code such as NIMBUS. Confirm it — it is permanent.
  4. Enter the primary admin email. Use a monitored mailbox (e.g. [email protected]); this person receives the password-setup invitation.
  5. Choose a plan and region. Select the wholesale plan and the home region (e.g. sg-south).
  6. Create. Select Create reseller. The reseller appears in the list with a status of active and zero tenants.
The short code is permanent

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 ManualCh. 05 · Resellers
ByondByondVoice — Administrator & Operations Manual
Ch. 05 · Resellers
Worked example — onboarding Nimbus Telecom

You are bringing on a new partner. In TenancyResellers 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.

5.2.2 What exists immediately after creation

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.

StageDone inState after
1. Created§5.2Reseller exists; primary admin invited; default caps from plan; rides platform carrier; unbranded (shared host).
2. Branded§5.3Logo, colours and verified login domain applied; tenants and softphone now show the partner brand.
3. Entitled§5.4Caps and feature entitlements set deliberately rather than left at plan defaults.
4. Carrier (optional)§5.5Partner’s own trunk attached so its tenants' PSTN traffic leaves over its carrier.
Brand before the first tenant

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.

One primary admin email per reseller

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 ManualCh. 05 · Resellers
ByondByondVoice — Administrator & Operations Manual
Ch. 05 · Resellers

5.3 Branding a reseller

White-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.

admin.byondvoice.com
Tenancy
Resellers4
Tenants38
Carrier
Connectors3
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Nimbus Telecom// reseller · branding
ENV: PRODSA
// reseller · NIMBUS

Branding

The identity the partner’s tenants and users see across portal and softphone.

PreviewSave brand

Visual identity

white-label
Display nameNimbus Voice
Wordmark suffixVoice
Primary colour#1E6FE0
Accent colour#0BC5C5
Logo (SVG/PNG)nimbus-logo.svg · uploaded
Home-screen iconnimbus-icon-512.png

Login domain

verified
Domainvoice.nimbus.sg
CNAME voice.nimbus.sg → brand.byondvoice.com  ·  TLS issued
1
2
3
4
5
  1. Reseller scope — the breadcrumb shows you have drilled into a single reseller (Nimbus) and are on its Branding sub-screen, still at platform tier.
  2. Display name & wordmark — the brand string (e.g. Nimbus Voice) shown in the portal header and login. The wordmark suffix is the emphasised half of the logotype, mirroring how ByondVoice renders.
  3. Colours — the primary and accent colours theme buttons, links and the softphone’s call controls. Use the partner’s exact brand hex values.
  4. Login domain — the partner’s host. The mono line shows the required CNAME and the TLS state; verified means the certificate is issued and the domain is live.
  5. Save / PreviewPreview renders the portal and softphone with the brand applied before you commit; Save brand publishes it to every tenant under the reseller.
The reseller Branding screen — visual identity and a verified login domain in one place.
ByondVoice — Administrator & Operations ManualCh. 05 · Resellers
ByondByondVoice — Administrator & Operations Manual
Ch. 05 · Resellers

5.3.1 Procedure — apply visual identity

  1. Open the reseller. In TenancyResellers select Nimbus Telecom, then the Branding sub-screen.
  2. Set the display name and wordmark. Enter the brand (e.g. Nimbus Voice) and the emphasised wordmark suffix (e.g. Voice).
  3. Set the colours. Enter the partner’s primary and accent hex values (e.g. #1E6FE0 and #0BC5C5).
  4. Upload the logo and home-screen icon. Provide a vector or transparent-PNG logo and a square 512×512 PWA icon (used when a user installs the softphone to their home screen).
  5. Preview, then save. Select Preview to check the portal and softphone, then Save brand to publish.

5.3.2 Procedure — verify a login domain

A 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.

  1. Enter the domain. In the Login domain panel type the host the partner will use (e.g. voice.nimbus.sg).
  2. Create the CNAME. Ask the partner to point that host at the target shown — brand.byondvoice.com — in its DNS.
  3. Verify. ByondVoice checks the record and requests a TLS certificate automatically. When complete the panel shows verified.
  4. Confirm. Browse to the domain; the partner-branded sign-in card should load over HTTPS with the partner’s logo and colours.
Worked example — branding Nimbus

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.

Do not change a verified domain casually

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 ManualCh. 05 · Resellers
ByondByondVoice — Administrator & Operations Manual
Ch. 05 · Resellers

5.4 Entitlements and caps

Within 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).

admin.byondvoice.com
Tenancy
Resellers4
Tenants38
Carrier
Connectors3
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Nimbus Telecom// reseller · entitlements & caps
ENV: PRODSA
// reseller · NIMBUS

Entitlements & caps

Ceilings on consumption and the features the partner may enable for its tenants.

Save limits
Tenants
12 / 25
used / cap
Extensions
148 / 200
used / cap
DID numbers
22 / 50
used / cap
Concurrent PSTN
6 / 10
live / cap

Feature entitlements

plan: Wholesale Standard
Auto-attendants (IVR)
Conferences
Softphone video
Voicemail transcription
Bring-your-own carrier
1
2
3
4
5
  1. Caps as used / cap — the KPI tiles read consumption against ceiling (e.g. 148 / 200 extensions). When a count reaches its cap, the reseller can no longer provision more of that resource until you raise it.
  2. Tenant cap — the maximum number of customers the partner may operate. Reaching it blocks the partner’s “new tenant” action.
  3. DID number cap — the ceiling on numbers the partner may hold across all its tenants, whether from your pool or its own carrier.
  4. Concurrent PSTN cap — the most simultaneous external calls allowed; this is the lever that protects trunk capacity. Internal extension-to-extension calls do not count against it.
  5. Feature entitlements — per-feature switches the partner may turn on for its tenants. Here transcription is off (not in the plan); BYO carrier is on (see §5.5). A feature switched off cannot be enabled by the reseller or its tenants.
Entitlements & caps — consumption ceilings above, feature toggles below.
ByondVoice — Administrator & Operations ManualCh. 05 · Resellers
ByondByondVoice — Administrator & Operations Manual
Ch. 05 · Resellers

5.4.1 The cap reference

These 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.

CapCountsEnforced whenExample
TenantsCustomer organisations under the resellerPartner creates a new tenant12 / 25
ExtensionsAll extensions across all the partner’s tenantsAn extension is provisioned148 / 200
DID numbersAll numbers held, pool or BYO carrierA number is assigned/ported in22 / 50
Concurrent PSTNSimultaneous external (trunk) callsAn outbound/inbound call would exceed it6 / 10
Conference roomsConference bridges across tenantsA room is created9 / 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.

5.4.2 Suspending a reseller

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.

  1. Open the reseller. In TenancyResellers select the partner.
  2. Change status. Set status to Suspended and confirm. The partner and all its tenants move to suspended.
  3. Reactivate when resolved. Set status back to Active; provisioning and calling resume immediately with no reconfiguration.
Worked example — raising a cap on demand

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.

Lowering a cap below current use

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 ManualCh. 05 · Resellers
ByondByondVoice — Administrator & Operations Manual
Ch. 05 · Resellers

5.5 Bring-your-own carrier credentials

A 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 CarrierConnectors, 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.

admin.byondvoice.com

Carrier connector · Nimbus

×
// reseller-owned SIP trunk · credentials encrypted at rest
Connector typeGeneric SIP trunk
OwnerReseller · NIMBUS
SIP host / proxysip.nimbuscarrier.net
Auth usernamenimbus_trunk_01
Auth secret••••••••••••
Outbound caller-ID prefix+65 3159
Test trunkSave & sync
1
2
3
4
5
  1. Connector type — the carrier integration to use. Generic SIP trunk suits most BYO carriers; specific carrier types in the catalogue add number-search and port-in automation.
  2. Owner — set to Reseller · NIMBUS, which scopes this trunk to Nimbus’s tenants only. A platform-owned connector, by contrast, serves resellers who do not bring their own carrier.
  3. SIP host — the partner’s carrier proxy (e.g. sip.nimbuscarrier.net) that ByondVoice registers to or sends calls toward.
  4. Credentials — the trunk auth username and secret from the partner’s carrier. The secret is encrypted at rest and never displayed again after saving.
  5. Caller-ID prefix — the number range the carrier authorises this partner to present (e.g. +65 3159), used as the default outbound caller-ID for the partner’s tenants.
A reseller-owned carrier connector — the partner’s own trunk, scoped to its tenants.
ByondVoice — Administrator & Operations ManualCh. 05 · Resellers
ByondByondVoice — Administrator & Operations Manual
Ch. 05 · Resellers

5.5.1 Procedure — attach a reseller’s own carrier

  1. Enable the entitlement. On the reseller’s Entitlements & caps screen confirm Bring-your-own carrier is on (§5.4).
  2. Open Connectors. Go to CarrierConnectors and select New connector.
  3. Set the owner to the reseller. Choose Reseller · NIMBUS so the trunk is scoped to that partner.
  4. Enter the carrier details. Provide the SIP host, auth username and secret, and the authorised caller-ID prefix from the partner’s carrier.
  5. Test the trunk. Select Test trunk; ByondVoice registers/authenticates and reports reachability before you rely on it.
  6. Save & sync. Select Save & sync. The connector is now live for the partner’s tenants; numbers can be searched/ported and outbound PSTN flows over it.
Worked example — Nimbus brings its own trunk

Nimbus 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.

5.5.2 Platform carrier vs. reseller carrier

Platform carrierReseller (BYO) carrier
Owned byYou (platform)The reseller
ServesResellers without their own carrierOnly that reseller’s tenants
PSTN billingYour carrier account → metered to resellerThe reseller’s own carrier account
NumbersFrom your DID poolThe partner’s own DID range
Configured inCarrier › Connectors (owner = platform)Carrier › Connectors (owner = reseller)
Credentials are reveal-once

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 ManualCh. 05 · Resellers
ByondByondVoice — Administrator & Operations Manual
Ch. 05 · Resellers

5.6 How white-labelling flows down

The 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 downSet atTenant inheritsUser sees
Logo, colours, wordmarkReseller (§5.3)AutomaticallyBranded portal & softphone
Login domainReseller (§5.3.2)AutomaticallySigns in on partner domain
Softphone home-screen iconReseller (§5.3)AutomaticallyPartner icon on home screen
Carrier / outbound routeReseller (§5.5)AutomaticallyCalls leave on partner trunk
Feature availabilityReseller entitlements (§5.4)Within entitlementOnly entitled features appear
Outbound caller-IDReseller default; tenant/user may overrideDefault from prefixUser 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).

The end-user view is fully white-labelled

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 ManualCh. 05 · Resellers
ByondByondVoice — Administrator & Operations Manual
Ch. 05 · Resellers

5.6.1 Metering wholesale usage

Branding 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.

admin.byondvoice.com
Tenancy
Resellers4
Tenants38
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Wholesale Meter// revenue · platform → reseller
ENV: PRODSA
// revenue

Wholesale Meter

Platform-to-reseller usage for the current cycle. Preview, then run.

PreviewRun billing
Cycle
Jun
2026
Resellers billed
4
partners
Preview total
$7,840
this cycle
ResellerExtensionsNumbersPSTN minAmount
NNimbus Telecom14822 own carrier$2,310
OOrbit Comms96314,120$2,980
PPeak Cloud6114 own carrier$1,120
1
2
3
4
  1. Wholesale Meter — the platform-tier revenue screen, the only billing surface in the admin console. It bills you → reseller, not reseller → tenant (that is the partner’s own commercial matter).
  2. Preview total — the modelled charge for the cycle before you commit. Always preview, reconcile, then run.
  3. Per-reseller usage — extensions, numbers and metered call minutes per partner; the amount is derived from the partner’s wholesale plan rates.
  4. Own-carrier marker — BYO-carrier partners show own carrier in the PSTN column because their minutes are not carried by your trunk; only service items are metered for them.
The Wholesale Meter — preview and run the platform-to-reseller bill for the cycle.
ByondVoice — Administrator & Operations ManualCh. 05 · Resellers
ByondByondVoice — Administrator & Operations Manual
Ch. 05 · Resellers

5.7 Operating a reseller well

The 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.

Cap to capacity, not to ambition

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.

Brand before you sell

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.

Test BYO trunks before go-live

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.

Suspend, don’t delete

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.

5.7.1 Onboarding checklist

#StepScreenDone when
1Create the resellerTenancy › ResellersStatus active, admin invited
2Apply visual identityReseller › BrandingLogo, colours, icon saved
3Verify login domainReseller › Branding verified + TLS issued
4Set caps & entitlementsReseller › EntitlementsLimits deliberate, not defaults
5Attach carrier (if BYO)Carrier › ConnectorsTest trunk reachable, synced
6Confirm meter ratesRevenue › Wholesale MeterPreview matches the wholesale plan
Try it

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.

Where to go next

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 ManualCh. 05 · Resellers
ByondByondVoice — Administrator & Operations Manual
Ch. 06 · Tenants
Chapter 06

Tenants — create, configure, license

A 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.

6.1 What a tenant is, and what it owns

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):

Extensions & SIP devices

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.

Phone numbers (DIDs)

The external numbers a carrier delivers to the tenant. Drawn from the platform number pool and assigned per-tenant in SupplyNumbers.

Voicemail boxes

One per extension by default, plus standalone boxes. PINs are hashed; messages surface as visual voicemail and as voicemail-to-email.

Call routing

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.

Internal telephony works without a carrier

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 (10011002), run the echo test (9196) and leave voicemail on day one.

ByondVoice — Administrator & Operations ManualCh. 06 · Tenants
ByondByondVoice — Administrator & Operations Manual
Ch. 06 · Tenants

6.2 The Tenants screen

Every tenant on the platform is listed under TenancyTenants. 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.

admin.byondvoice.com
Tenancy
Resellers4
Tenants23
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Tenants// customer organisations · all resellers
ENV: PRODSA
// tenancy — customer organisations

Tenants

Every customer running a hosted PBX on ByondVoice. Click a row to configure, license or suspend.

+ New tenant
Tenants
23
customers
Active
21
serving calls
Extensions
418
across all tenants
Suspended
2
status · inactive
All Active Suspended Filter by name or slug… 23 tenants
TenantResellerExtensionsNumbersStatus
ACAcme CorpacmeNimbus Telecom2 / 251 / 5 activeOpen ›
NBNorthwind Banknorthwind Direct38 / 504 / 10 activeOpen ›
OTOrbit TravelorbitNimbus Telecom7 / 101 / 3 suspendedOpen ›
1
2
3
4
5
6
  1. Tenancy railResellers and Tenants; the active Tenants item shows the gradient bar and a live total. The groups below (Supply, Hosted PBX, Call Routing) operate within whichever tenant you have in scope (§6.4).
  2. Breadcrumb — the screen title and a mono subtitle naming the scope. Here it reads all resellers because no single tenant is selected yet.
  3. New tenant — opens the create-tenant dialog (§6.3), which also bootstraps the owner login.
  4. Status filter & search — narrow by All / Active / Suspended and type-ahead by tenant name or slug.
  5. Tenant row — the tenant’s avatar, display name and slug; the owning reseller ( Direct means no reseller); the licence headline as used / cap for extensions and numbers.
  6. Open — enters the tenant’s scope and lands on its configuration, putting every PBX screen into that tenant’s context.
The Tenants screen — the operator’s register of every customer organisation on ByondVoice.
Read used / cap at a glance

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 ManualCh. 06 · Tenants
ByondByondVoice — Administrator & Operations Manual
Ch. 06 · Tenants

6.3 Creating a tenant

Creating 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.

6.3.1 The create-tenant dialog

New tenant

×
Display nameAcme Corp
Slug (handle)acmeLower-case, globally unique. Used as the tenant handle and in the owner’s login.
Owner password••••••••••••Must satisfy the platform password policy.
ResellerNimbus Telecom
Dial prefixoptional
Cancel Create tenant
  1. Display name is what every screen and the customer’s users see (“Acme Corp”); the slug is the immutable machine handle (acme) used in the owner login and in support references.
  2. Creating the tenant simultaneously provisions a tenant-type owner login from the owner email + owner password — one action, two records.
  3. Choosing a Reseller files the tenant under that partner; leave it as Direct (none) for a platform-direct customer. The optional dial prefix prepends a leading string to the tenant’s outbound calls when the carrier requires it.
The create-tenant dialog. The owner login is provisioned automatically as a tenant user.

6.3.2 Procedure — create a tenant and its owner

  1. Open the dialog. In TenancyTenants select + New tenant.
  2. Enter the display name. Type the customer’s name as it should appear everywhere, e.g. Acme Corp.
  3. Choose a slug. Type a short, lower-case, globally unique handle, e.g. acme. Pick it carefully — it is fixed once saved (see the warning).
  4. Enter the owner email (e.g. [email protected]) and an owner password that meets the platform password policy. A weak password is rejected with a validation error before anything is saved.
  5. Assign a reseller (optional). Pick the owning reseller — here Nimbus Telecom — or leave it Direct (none) for a platform-direct account.
  6. Set a dial prefix (optional). Leave blank unless the carrier requires a leading prefix on outbound calls.
  7. Create. Select Create tenant. ByondVoice creates the tenant and its tenant-type owner login in one step.
  8. Verify isolation. Have the owner sign in at my.byondvoice.com. They should see an empty-but-entirely-their-own tenant — never another customer’s data.
The slug is permanent — the display name is not

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 ManualCh. 06 · Tenants
ByondByondVoice — Administrator & Operations Manual
Ch. 06 · Tenants

6.3.3 Worked example — onboarding Acme Corp

Worked 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.

Scenario

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.

  1. You open TenancyTenants and select New tenant.
  2. You enter display name Acme Corp, slug acme, owner email [email protected] and a policy-compliant password.
  3. You set Reseller to Nimbus Telecom and leave the dial prefix blank — Nimbus’ trunk needs no prefix.
  4. You select Create tenant. ByondVoice creates the Acme Corp tenant and a 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.
  5. You open the tenant and set its limits (next, §6.3.4), then have Acme’s owner sign in at my.byondvoice.com to confirm they see only Acme’s — still empty — workspace.

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.

6.3.4 Tenant fields — reference

The fields you set on a tenant, what they mean, and whether they can be changed later:

FieldMeaningEditable later?
Display nameThe 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 emailThe first login for the tenant; a tenant-type user created with the tenant.Yes (via the owner’s profile)
Owner passwordThe owner’s initial password; must satisfy the platform password policy.Yes (owner can change it)
ResellerThe owning white-label partner, or Direct for a platform-direct customer.Operator only — change with care
Dial prefixOptional 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)
Owner login vs. everyday users

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 ManualCh. 06 · Tenants
ByondByondVoice — Administrator & Operations Manual
Ch. 06 · Tenants

6.4 Configuring limits and licensing

A 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.

admin.byondvoice.com/#tenants
// tenant · licence
AC

Acme Corp

acme · Nimbus Telecom
Ext.
2/25
Numbers
1/5
Status
Active
Limits & licensing
Max extensions · 0 = unlimited25
Max SIP devices50
Max numbers (DIDs)5
Max concurrent calls8Caps simultaneous channels for this tenant.
Capabilities
Outbound PSTN calling
CURRENTLY: ENABLED
Voicemail-to-email
CURRENTLY: ENABLED
Call recording
CURRENTLY: DISABLED
CloseSave licence
1
2
3
4
5
  1. At-a-glance header — the tenant avatar, display name, slug and owning reseller, with extension / number consumption and the current status.
  2. Limits & licensing — editable caps for extensions, SIP devices and numbers. A value of 0 means unlimited (shown as ∞ elsewhere), not none.
  3. Max concurrent calls — the channel ceiling: the most simultaneous calls this tenant may carry. This is the cap that must line up with the carrier capacity behind it.
  4. Capabilities — per-tenant toggles for outbound PSTN, voicemail-to-email and call recording; each shows CURRENTLY: ENABLED/DISABLED.
  5. Save licence — persists the cap edits. Because enforcement is live, the new ceilings apply on the next provisioning action — no restart, no re-provisioning.
The tenant licence panel — caps and capabilities for one customer, here Acme Corp.
ByondVoice — Administrator & Operations ManualCh. 06 · Tenants
ByondByondVoice — Administrator & Operations Manual
Ch. 06 · Tenants

6.4.1 Procedure — set a tenant’s limits

  1. Open the tenant. In TenancyTenants select Open › on the tenant’s row to slide out its licence panel.
  2. Set the extension and device caps. Enter Max extensions and Max SIP devices. Leave 0 for unlimited; set a real positive number to impose a ceiling.
  3. Set the number cap. Enter Max numbers (DIDs) — the most external numbers the tenant may hold from the pool.
  4. Set concurrent calls. Enter Max concurrent calls to match what the customer bought and what the carrier behind them can carry.
  5. Flip the capabilities you want. Enable or disable outbound PSTN, voicemail-to-email and call recording for this tenant.
  6. Save. Select Save licence. The new caps take effect immediately on the next provisioning action.

6.4.2 The caps — reference

CapWhat it limits0 means
Max extensionsInternal numbers (and therefore lines) the tenant can create.Unlimited
Max SIP devicesRegistering 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 callsSimultaneous channels in use; the ceiling that must align with carrier capacity.Unlimited (bounded by carrier)
Do not over-set concurrent calls beyond carrier capacity

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.

Caps are enforced with a live count

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.

Worked example — Acme grows past its cap

Acme Corp has filled all 25 extensions and asks for 10 more lines and a second number range.

  1. Acme’s owner tries to add extension 26 and is refused: “extension limit reached for this tenant.”
  2. You open Acme in TenancyTenants, raise Max extensions from 25 to 35 and Max numbers from 5 to 8, and select Save licence.
  3. You also lift Max concurrent calls from 8 to 12 after confirming with Nimbus that the trunk can carry it.
  4. Acme’s owner immediately succeeds in creating extension 1026 — no re-provisioning, no restart.

Result: headroom restored in seconds; the live-count enforcement means the new ceiling applies on the very next attempt.

ByondVoice — Administrator & Operations ManualCh. 06 · Tenants
ByondByondVoice — Administrator & Operations Manual
Ch. 06 · Tenants

6.5 The tenant scope selector

Most 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.

admin.byondvoice.com
Tenancy
Tenants23
Hosted PBX
Extensions & Devices2
Voicemail2
Call Routing
Ring Groups1
Auto-Attendants1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south
Extensions & Devices// hosted PBX · tenant Acme Corp
ENV: PRODSA
// scope — tenant Acme Corp

Extensions & Devices

You are working inside Acme Corp. Counts, tables and actions all refer to this tenant.

Tenant: Acme Corp ▾
Extensions
2
of 25
Registered
1
devices online
ExtNameDevicesStatus
1001Alice Tan1 registered
1002Ben Ong1 idle
1
2
3
4
  1. Breadcrumb scope — the mono subtitle reads tenant Acme Corp; it tells you, on every screen, which customer you are operating inside. Always read it before you act.
  2. Scope selector — the Tenant: Acme Corp ▾ control. Click to switch to another tenant; the entire console re-scopes to your choice.
  3. Live counts re-scope — the navigation badges now show Acme’s figures (2 extensions, 1 ring group), not the platform totals.
  4. Tables & actions inherit the scope — this table lists only Acme’s extensions, and New extension would create the next one inside Acme.
A PBX screen scoped to Acme Corp. The scope selector and breadcrumb confirm the active tenant.

6.5.1 Procedure — switch the active tenant

  1. Find the scope control. On any PBX screen, locate Tenant: … ▾ (or open the tenant from TenancyTenants with Open ›).
  2. Pick the tenant. Choose the customer you want from the list (type-ahead by name or slug).
  3. Confirm the breadcrumb. Check the subtitle now reads tenant <your choice> before you change anything.
  4. Work, then re-check on every screen. The scope persists as you move between PBX screens; glance at the breadcrumb each time you make a change.
Check the scope before every change

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 ManualCh. 06 · Tenants
ByondByondVoice — Administrator & Operations Manual
Ch. 06 · Tenants

6.6 Suspending, reactivating and deleting a tenant

A 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.

6.6.1 Suspend and reactivate (the reversible path)

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.

  1. Open the tenant. In TenancyTenants select Open › on the row.
  2. Set the status. Toggle the status from Active to Suspended and save. Every login in the tenant is refused at the next sign-in with “account is not active”, and live calls are no longer routed.
  3. Reactivate when resolved. Toggle back to Active and save. Service resumes immediately with all configuration intact.
What suspension does — and doesn’t

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 SupplyNumbers — suspension alone does not.

6.6.2 Delete (the irreversible path)

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.

Delete tenant

×
This permanently deletes Acme Corp and everything it owns

2 extensions, 1 number, 2 voicemail boxes, 1 ring group and 3 users will be destroyed. This cannot be undone.

Type the slug acme to confirmacme
Cancel Delete permanently
  1. The dialog spells out exactly what will be destroyed — a count of every owned object — so the blast radius is unambiguous before you proceed.
  2. You must type the slug (acme) to enable the delete button; this type-to-confirm gate prevents an accidental click from wiping a live customer.
The delete-tenant confirmation. Type-to-confirm on the slug guards an irreversible action.
  1. Suspend first. If there is any doubt, suspend (§6.6.1) instead — it achieves “cut off service” reversibly.
  2. Release numbers and export data. In SupplyNumbers release the tenant’s DIDs, and export any call history or voicemail the customer is owed.
  3. Confirm scope and environment. Verify the breadcrumb names the right tenant and the chip reads ENV: PROD.
  4. Open delete and type the slug. Choose Delete tenant, read the object count, type the slug acme, then select Delete permanently.
Deletion is permanent and cascading

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.

Try it · the full tenant lifecycle (sandbox)

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 ManualCh. 06 · Tenants
ByondByondVoice — Administrator & Operations Manual
Ch. 07 · Users
Chapter 07

Users and the identity model

Two 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.

7.1 Users versus extensions

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 Hosted PBXExtensions & Devices, 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.

7.1.1 The two records at a glance

AspectUser (the person)Extension (the phone identity)
What it isA login: a human who authenticates to the portal or softphone.A dialable number with voicemail, devices and call-handling rules.
Identified byA username (unique within the tenant) and/or an email address.An extension_number, 3–5 digits, unique within the tenant.
CredentialA password (hashed), plus optional MFA / email one-time-code.A SIP device secret (encrypted, reveal-once) per registered device.
Where it is managedHosted PBXUsers in the admin console.Hosted PBXExtensions & Devices.
What the owner controlsTheir 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.
CardinalityOne user → zero, one or many extensions.One extension → zero or one primary user (plus shared access).
A useful mental test

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 ManualCh. 07 · Users
ByondByondVoice — Administrator & Operations Manual
Ch. 07 · Users

7.1.2 Why the split matters operationally

The 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.

One user, many extensions

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.

Extension, no user

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.

User, no extension (yet)

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.

Re-assigning a desk

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.

// identity model

How a user binds to extensions

One person (a user) can answer several phone identities (extensions); some extensions answer to no person at all.

User — Alice Tan

active login
Username alice.tan
MFA email OTP on
Linked extensions1001 (primary), 1050 (shared)

Extensions

3 shown
ExtOwner (user)Kind
1001Alice Tanpersonal
1050Alice Tan + 2shared
1090— none —lobby
The identity model in one picture: a user record points at one or more extensions; an extension may point back at one primary user, several, or none.
Provision the extension first

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 ManualCh. 07 · Users
ByondByondVoice — Administrator & Operations Manual
Ch. 07 · Users

7.2 The Users screen

Users for a tenant are managed under Hosted PBXUsers. 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.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Users26
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Conferences5
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Users// hosted PBX · tenant Acme Corp
ENV: PRODSA
// hosted PBX

Users

The people who sign in to this tenant’s portal and softphone, and the extensions they answer.

ExportNew user
Users
26
can sign in
With MFA
18
second factor on
Unlinked
2
no extension
Disabled
1
login revoked
NameUsernameExtensionsSecurityStatus
ATAlice Tanalice.tan1001, 1050 email OTP active
BOBen Ongben.ong1002 password only active
CLCarmen Limcarmen.lim authenticator active
DRDev Raodev.rao1004 password only disabled
1
2
3
4
5
6
  1. Users (active nav item) — the Hosted-PBX group now carries a dedicated Users screen, distinct from Extensions & Devices. The count is the number of logins in this tenant.
  2. Breadcrumb & scope — the screen is scoped to one tenant (Acme Corp). Users never cross tenant boundaries; you are always managing one tenant’s people.
  3. KPI tiles — at a glance: total users, how many have a second factor, how many have no linked extension, and how many logins are disabled. These are your daily hygiene numbers.
  4. New user — opens the create-user dialog (see § 7.6). Export downloads the roster for audit.
  5. Security column — each row shows the strongest factor in force: password only, email OTP or authenticator.
  6. Status active can sign in; disabled cannot — the login is revoked but the record (and any linked extension) is retained.
Users — the per-tenant roster of people who can sign in, with their linked extensions, second-factor state and login status.
ByondVoice — Administrator & Operations ManualCh. 07 · Users
ByondByondVoice — Administrator & Operations Manual
Ch. 07 · Users

7.2.1 Reading a user row

Each 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.

ColumnWhat it tells youActs on
NameThe person’s display name, shown on the portal, the softphone and outbound caller-ID where configured.User
UsernameThe login handle. Unique within the tenant — two tenants may both have support without collision.User
ExtensionsThe phone identities this person answers. A dash means an unlinked user (portal access but no line yet).Link
SecurityThe strongest second factor in force: none (password only), email one-time-code, or an authenticator app.User
StatusActive = can sign in. Disabled = login revoked, record kept. Invited = created, password not yet set.User
Username uniqueness is per-tenant

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.

Disabling is not deleting

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).

Use the KPI tiles as a checklist

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 ManualCh. 07 · Users
ByondByondVoice — Administrator & Operations Manual
Ch. 07 · Users

7.3 Linking users to extensions

The 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.

Alice Tan — linked extensions

×
// the phone identities this user answers
ExtLabelRole
1001Alice Tan primaryUnlink
1050Sales (shared) secondaryMake primary
Link another extensionSearch by number or name…Only extensions in this tenant that are free or shared appear here.
Close Save links
  1. The primary extension supplies the user’s default outbound caller-ID and the voicemail box surfaced first in their portal. Exactly one link is primary; Make primary switches it.
  2. Secondary links (here the shared Sales line 1050) let the user answer and place calls as that identity from the same softphone, without owning the line exclusively.
  3. Unlink detaches the extension from this user without deleting either record — the number keeps existing and can be linked to someone else.
The linked-extensions drawer for a user. One link is primary; others are secondary shared lines.

7.3.1 Procedure — link an extension to a user

  1. Open the user. In Hosted PBXUsers click the person’s row to open their detail drawer, then the Extensions tab.
  2. Search for the extension. In Link another extension type the number (e.g. 1050) or its label. Only extensions in this tenant that are free or marked shared are offered — an extension already owned exclusively by someone else will not appear.
  3. Choose the role. The first extension you link becomes primary automatically. Add further extensions as secondary; use Make primary to change which one is the default identity.
  4. Save. Select Save links. The change is immediate: the user’s portal and softphone pick up the new identity at their next page load or re-register.
ByondVoice — Administrator & Operations ManualCh. 07 · Users
ByondByondVoice — Administrator & Operations Manual
Ch. 07 · Users

7.3.2 Primary, secondary and shared lines

The primary link is more than a label. It decides three defaults for the user, so choose it deliberately and revisit it when roles change.

SettingDriven byNotes
Default outbound caller-IDPrimary extensionThe number shown to the called party when the user dials out (carrier-gated for PSTN). Overridable per-call on the softphone.
First voicemail boxPrimary extensionThe mailbox the portal opens by default under My lineVoicemail.
Self-service line settingsAll linked extensionsThe user can edit call-handling and devices for every extension linked to them, primary or secondary.
Shared answeringSecondary (shared) linksSeveral users may link the same shared extension; all of them can answer it and place calls as it.
Worked example — Alice covers the Sales line

Alice Tan’s personal line is 1001; the shared Sales line is 1050. You open UsersAlice TanExtensions, 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.

Shared line vs ring group

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.

Try it

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 My line and can edit its call-handling. Then place a test internal call to 1050 and watch both softphones ring.

ByondVoice — Administrator & Operations ManualCh. 07 · Users
ByondByondVoice — Administrator & Operations Manual
Ch. 07 · Users

7.4 Per-user security

Each 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).

Ben Ong — security

×
// login credentials for this user
Usernameben.ong
Email (for OTP & reset)[email protected]

Password

set
Send reset link Set temporary password
Require second factor
Email one-time-code at every sign-in
Authenticator app (TOTP)
User enrols from their portal
not enrolled
Close Save security
  1. Email is load-bearing for security: it is where the one-time-code is sent and where a password-reset link is delivered. Keep it accurate and current.
  2. Password is stored hashed — you can never read it, only Send reset link (the user picks a new one) or Set temporary password (forces a change at next sign-in).
  3. Require second factor turns on the email one-time-code for this user; the toggle is the fastest way to raise an individual’s protection without waiting for them to enrol an app.
  4. Authenticator (TOTP) is the stronger factor but is enrolled by the user from their own portal (the secret is shown once, to them). The console shows whether it is enrolled.
A user’s Security drawer in the admin console — reset password, and enable the email one-time-code or see authenticator state.
Passwords are never shown

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 ManualCh. 07 · Users
ByondByondVoice — Administrator & Operations Manual
Ch. 07 · Users

7.4.1 The two second factors compared

Both 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-codeAuthenticator app (TOTP)
How it worksA 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.
StrengthGood — resists stolen-password attacks.Stronger — the code is generated offline; no message in transit to intercept.
DependencyThe user must be able to receive email at sign-in.The user must have their enrolled device to hand.
Turned on byAdmin (this drawer) or the user from their portal.The user, from their portal — the secret is shown reveal-once to them.
Best forFast roll-out, users without a smartphone, contractors.Privileged users; anyone with sensitive call-handling or admin reach.

7.4.2 Procedure — reset a locked-out user’s access

  1. Verify the request out-of-band. Confirm the person is who they say (a known colleague, a ticket from their manager) before touching credentials — resetting access on a spoofed request is the classic social-engineering attack.
  2. Open their Security drawer. Users → the person → Security.
  3. Send a reset link. Click Send reset link. ByondVoice emails a one-time, time-limited link to the address on file; the user sets a new password themselves. Prefer this — you never see or type their password.
  4. If email is unavailable, set a temporary password. Use Set temporary password, read it to the user over a trusted channel, and confirm Force change at next sign-in is on so it cannot persist.
  5. If their second factor is lost too, and you have verified identity, clear the authenticator enrolment or temporarily switch the user to email one-time-code so they can get back in, then have them re-enrol an app.
Worked example — new phone, lost authenticator

Carmen Lim replaced her phone and can no longer produce her authenticator code. Her manager raises a verified ticket. You open UsersCarmen LimSecurity, 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.

Privileged users must keep 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 ManualCh. 07 · Users
ByondByondVoice — Administrator & Operations Manual
Ch. 07 · Users

7.5 The user and the self-service portal

Everything 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.

my.byondvoice.com
My line
My Phone
Voicemail3
Recent Calls
Control
Call Handling
My Devices2
Conferences
REGISTERED
Acme Corp · my.byondvoice.com
My Phone// your line · Alice Tan
AT
// my line

My Phone

Your extensions, devices and registration state — plus your profile and security.

My extensions
2
1001 · 1050
Devices
2
registered
Security
OTP
email code on

Profile & security

you
Outbound caller-ID1001 — Alice Tan
Change passwordSet up authenticatorManage email OTP
1
2
3
4
  1. My line nav — the portal’s own menu (My Phone · Voicemail · Recent Calls · Call Handling · My Devices · Conferences). It is intentionally narrower than the admin console — a user can act only on themselves.
  2. Scoped to the signed-in user — the breadcrumb names the person, and every screen reflects only the extensions linked to that user record.
  3. My extensions / Security tiles — the user sees their own linked numbers and their current second-factor state, mirroring the admin Security drawer from § 7.4.
  4. Profile & security — the user self-serves: change password, enrol an authenticator (secret shown once to them), manage the email one-time-code, and pick their default outbound caller-ID among linked extensions.
The self-service portal at my.byondvoice.com — the user-facing mirror of the user record, scoped to that person’s linked extensions.
ByondVoice — Administrator & Operations ManualCh. 07 · Users
ByondByondVoice — Administrator & Operations Manual
Ch. 07 · Users

7.5.1 What the user controls versus what you control

The 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.

SettingUser (portal)Admin (console)
Change own password yesreset only
Enrol / remove authenticator yesview 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 noreveal-once at creation
Strict per-user scoping

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.

Push self-service where you can

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.

An unlinked user sees an empty line

If you create a user but link no extension, their portal signs in successfully but My Phone 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 ManualCh. 07 · Users
ByondByondVoice — Administrator & Operations Manual
Ch. 07 · Users

7.6 Provisioning a user end-to-end for Acme Corp

This 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.

New user — Acme Corp

×
Full namePriya Nair
Usernamepriya.nairUnique within Acme Corp.
Link extension1006 — newFree extensions in this tenant.
RoleUser
Initial credentialSend invitation email (user sets password)
Require second factor
Email one-time-code at sign-in
Cancel Create user
  1. Username follows the first.last convention and must be unique within Acme Corp; the focus ring marks the field being edited.
  2. Link extension attaches an extension in the same step — here a freshly-provisioned 1006 — so the user has a line the moment they are created.
  3. Initial credentialSend invitation email lets Priya set her own password from a one-time link, so no admin ever types or sees it.
  4. Require second factor turns on the email one-time-code from creation, so the account is protected on its very first sign-in.
The create-user dialog for Acme Corp — one step provisions the login, links extension 1006, and arms the second factor.

7.6.1 Procedure — onboard Priya Nair

  1. Confirm scope. In the admin console, check the breadcrumb scope reads tenant Acme Corp and the chip shows ENV: PROD. Open Hosted PBXUsers.
  2. Provision the extension first (if needed). If 1006 does not yet exist, create it under Extensions & Devices with label Priya Nair. (You can also create it inline from the dialog’s Link extension picker.)
  3. Open the create-user dialog. Click New user.
  4. Enter identity. Full name Priya Nair; username priya.nair; email [email protected].
  5. Link the extension. In Link extension choose 1006. It becomes her primary automatically.
  6. Choose the initial credential. Select Send invitation email so Priya sets her own password — you never handle it. (If she has no email yet, set a temporary password with Force change at next sign-in.)
  7. Arm the second factor. Toggle Require second factor on for the email one-time-code, so her first sign-in is already protected.
  8. Create. Click Create user. Priya appears on the roster as invited until she sets her password, then flips to active.
ByondVoice — Administrator & Operations ManualCh. 07 · Users
ByondByondVoice — Administrator & Operations Manual
Ch. 07 · Users

7.6.2 Provision a device and hand over the softphone

With 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.

  1. Hand over the softphone. Tell Priya to open my.byondvoice.com/phone, sign in with her new password (and the emailed one-time-code), and install to home screen when prompted. The softphone registers her extension 1006 over secure WebSocket.
  2. Add a desk phone, if any. Under Extensions & Devices1006 add a SIP device; copy the reveal-once secret (or use the auto-provisioning token URL) into the handset. Secrets are shown only once — capture it before you close the panel.
  3. Have Priya finish her security. From her portal’s My PhoneProfile & security she can upgrade from email one-time-code to an authenticator app and confirm her default caller-ID is 1006.
  4. Verify end-to-end. Place a test internal call to 1006 and confirm her softphone rings; dial the echo test 9196 to check two-way audio; leave a message and confirm it lands as visual voicemail and as a voicemail-to-email.
Worked example — Priya’s first ten minutes

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.

7.6.3 Off-boarding — the reverse of onboarding

  1. Disable the login. Users → the person → set Status to Disabled. This ends live sessions and blocks sign-in at once, but keeps the record and the number.
  2. Decide the extension’s fate. Re-link 1006 to the replacement user (the desk number is preserved), or leave it linked and forward it while the seat is vacant.
  3. Revoke devices if the seat is gone. Remove or rotate the SIP device secrets on the extension so an old handset cannot re-register.
Disable before you delete

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.

Try it

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 ManualCh. 07 · Users
ByondByondVoice — Administrator & Operations Manual
Ch. 08 · Numbers
Chapter 08

Numbers and DIDs

A 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.

8.1 What a number is, and where it lives

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 SupplyNumbers 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 number itself (E.164)

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.

Ownership (tenant)

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).

Status (lifecycle)

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).

Routing (destination)

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.

Inbound DID delivery is carrier-gated

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 ManualCh. 08 · Numbers
ByondByondVoice — Administrator & Operations Manual
Ch. 08 · Numbers

8.2 The Numbers screen

The pool lives under SupplyNumbers. 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.

admin.byondvoice.com
Supply
Numbers14
Tenancy
Tenants23
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Numbers// supply · number pool · all tenants
ENV: PRODSA
// supply — DID / number pool

Numbers

The platform’s pool of external numbers. Preload stock, then assign, reserve or release per tenant.

Source config+ Preload numbers
In pool
14
total DIDs
Available
6
free stock
Assigned
7
in use by tenants
Reserved
1
held, not live
All Available Reserved Assigned Filter by number or tenant… 14 numbers
Number (DID)TenantRoutes toStatus
+65 3159 0010Acme CorpExt 1001 · Alice Tan assignedManage ›
+65 3159 0011Acme CorpRG 6000 · Sales assignedManage ›
+65 3159 0014Acme Corp · hold— unrouted — reservedManage ›
+65 3159 0020— pool — availableManage ›
+65 3159 0021— pool — availableManage ›
1
2
3
4
5
6
7
  1. Supply railNumbers is the only screen under Supply; the active item shows the gradient bar and a live count of the whole pool (here 14). Unlike the PBX screens it is not tenant-scoped — it spans every tenant at once.
  2. Breadcrumb — the title and a mono subtitle reading all tenants: the pool is a platform-wide view, not the view of a single customer.
  3. KPI tiles — the pool at a glance: total In pool, free Available stock, Assigned (in use) and Reserved (held but not yet live). These are your stock-control dashboard.
  4. Preload & source config+ Preload numbers bulk-loads stock (§8.5); Source config opens the write-only carrier credentials (§8.6).
  5. Status filter & search — narrow the table by All / Available / Reserved / Assigned and type-ahead by number digits or tenant name.
  6. Number row — each DID in E.164 form, the owning tenant (or — pool — for free stock), its routing destination (or — unrouted —) and its lifecycle status pill.
  7. Manage — opens the per-number actions: assign, reserve, release and set-routing, filtered to what the current status allows.
The Numbers screen — the platform-wide pool of DIDs, with KPIs, status filter and per-number actions.
ByondVoice — Administrator & Operations ManualCh. 08 · Numbers
ByondByondVoice — Administrator & Operations Manual
Ch. 08 · Numbers

8.3 The number lifecycle and status reference

Every 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.

8.3.1 Status reference

StatusWhat it meansOwned byActions offered
availableFree stock in the pool. Ready to be handed to any tenant. The KPI Available counts these.Platform poolAssign · Reserve · Remove from pool
reservedHeld 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 tenantAssign (confirm) · Release (un-reserve)
assignedOwned by one tenant and live. Counts against that tenant’s number cap (§6.4) and can be routed to a destination (§8.7).One tenantSet routing · Re-assign · Release
releasedJust 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
Reserved is not assigned

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).

8.3.2 Procedure — read the pool with KPIs and filters

  1. Open the pool. Go to SupplyNumbers. The KPI row reports the pool at a glance: In pool, Available, Assigned, Reserved.
  2. Check free stock first. Read the Available tile. If it is low — say below your re-order threshold — plan a preload (§8.5) before you run out.
  3. Filter by status. Click Available to list only free stock you can hand out, or Assigned to audit what is in use.
  4. Type to find a number or tenant. Enter digits (e.g. 0010) to jump to one DID, or a tenant name (e.g. Acme) to list everything that customer holds.
  5. Open a row. Select Manage › to act on a single number; the menu shows only the moves legal for its current status.
Keep a buffer of available stock

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 ManualCh. 08 · Numbers
ByondByondVoice — Administrator & Operations Manual
Ch. 08 · Numbers

8.4 Assigning, reserving and releasing

These 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.

8.4.1 The assign dialog

Assign number

×
+65 3159 0010 · currently available
Assign to tenantAcme Corp (acme)Draws the number from the pool into this tenant. Counts against its number cap.
Route inbound to (optional)Extension 1001 · Alice TanLeave as — none — to assign now and route later (§8.7).
Label (optional)e.g. Reception main line
Set as tenant’s default caller-ID
Use this DID as the outbound presented number
Cancel Assign number
  1. The banner confirms which number you are about to assign and its current status — here available. Assigning is only offered for available, reserved or released numbers.
  2. Assign to tenant picks the new owner. The list is every active tenant; the assignment is rejected if that tenant is already at its number cap (§6.4).
  3. Route inbound to is an optional shortcut: choose a destination now to assign and route in one step, or leave it blank and map the route later (§8.7).
  4. The default caller-ID toggle makes this DID the number Acme presents on outbound PSTN calls — useful for a customer’s “main” number.
The assign dialog. Assignment moves a number from the pool into one tenant, optionally routing it in the same step.

8.4.2 Procedure — assign a number to a tenant

  1. Find free stock. In SupplyNumbers filter to Available and locate the DID (e.g. +65 3159 0010).
  2. Open the action. Select Manage › then Assign.
  3. Choose the tenant. Pick the new owner, e.g. Acme Corp. If Acme is at its number cap, the assignment is refused — raise the cap first (§6.4).
  4. Optionally route now. Set Route inbound to to an extension, ring group or auto-attendant — or leave it for §8.7.
  5. Optionally make it the default caller-ID and add a label so colleagues recognise the number’s purpose.
  6. Confirm. Select Assign number. The row’s status flips to assigned, ownership shows the tenant, and the Available KPI drops by one.
Assigned does not mean ringing

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 ManualCh. 08 · Numbers
ByondByondVoice — Administrator & Operations Manual
Ch. 08 · Numbers

8.4.3 Reserve — earmark a number without making it live

Reservation 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.

  1. Open the number. On an available row select Manage › then Reserve.
  2. Name the tenant to hold it for. Choose the customer, e.g. Acme Corp, and optionally a note (“awaiting port”). The status becomes reserved and ownership shows the tenant with a hold marker.
  3. Confirm to go live. When ready, select Manage › then Assign on the reserved row — this converts the reservation to assigned, after which you route it (§8.7).

8.4.4 Release — hand a number back to the pool

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.

  1. Open the number. On an assigned or reserved row select Manage › then Release.
  2. Confirm the release. The dialog warns that inbound delivery to this DID will stop and routing will be cleared. Confirm to proceed.
  3. Verify it returns to stock. The row drops its tenant, shows released (then available after any cool-down), and the Available KPI rises by one.
Releasing a live number stops calls to it

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.

8.4.5 Worked example — assigning +65 3159 0010 to Acme reception

Scenario

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.

  1. You open SupplyNumbers, filter to Available, type 0010 and find +65 3159 0010 in status available.
  2. You select Manage › Assign, choose tenant Acme Corp, set Route inbound to = Extension 1001 · Alice Tan, label it Reception main line and flip default caller-ID on.
  3. You select Assign number. The row now reads assigned, tenant Acme Corp, routes to Ext 1001 · Alice Tan. The Available KPI falls from 6 to 5; Acme’s number count rises to 2 / 5.
  4. Because Acme has a live carrier connector, you place a test call from a mobile to +65 3159 0010. Alice’s desk phone rings. (Had no carrier been attached, the DID would be correctly provisioned but the external test call would not arrive — §8.1.)

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 ManualCh. 08 · Numbers
ByondByondVoice — Administrator & Operations Manual
Ch. 08 · Numbers

8.5 Bulk preload of stock numbers

When 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.

8.5.1 The preload dialog

Preload numbers into the pool

×
Range Paste list
From+65 3159 0020
To+65 3159 0039
SourceNimbus SG trunk (DID block A)The carrier source these numbers belong to — see source config (§8.6).
CountrySingapore (+65)
Initial statusAvailable
20 numbers will be added · 0 duplicates · 0 invalid
Cancel Preload 20 numbers
  1. ModeRange generates every number between From and To inclusive; Paste list takes a free-form list (one E.164 number per line) for non-contiguous blocks.
  2. From / To define a contiguous range. The dialog shows a live count of how many numbers that range produces, so you can sanity-check the span before loading.
  3. Source ties the batch to a carrier source from the source configuration (§8.6) — this is how the platform later knows which carrier delivers each number.
  4. The pre-flight summary reports how many will be added and flags any duplicates (already in the pool — silently skipped) and any invalid entries (rejected) before you commit.
The preload dialog in Range mode. Preload stocks the pool only; numbers arrive as available, owned by no tenant.

8.5.2 Procedure — preload a block of stock

  1. Open preload. In SupplyNumbers select + Preload numbers.
  2. Pick the mode. Choose Range for a contiguous block, or Paste list for an ad-hoc list (one number per line, E.164).
  3. Enter the numbers. For a range, type From and To (e.g. +65 3159 0020 to +65 3159 0039) and confirm the live count looks right.
  4. Choose the source & country. Pick the carrier source the block belongs to and the country code; leave Initial status as Available unless you are pre-reserving.
  5. Read the pre-flight summary. Confirm will be added, and note any duplicates (skipped) or invalid entries (rejected).
  6. Commit. Select Preload 20 numbers. The pool grows; the In pool and Available KPIs rise by the count loaded.
Preload is idempotent on duplicates

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.

Match the source to the carrier that owns the block

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 ManualCh. 08 · Numbers
ByondByondVoice — Administrator & Operations Manual
Ch. 08 · Numbers

8.6 The number source configuration

A 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.

Number source · Nimbus SG trunk

×
Connected · last sync 2026-06-21 09:14
Source nameNimbus SG trunk
Provider typeSIP trunk / DID provider
Account / API usernamenimbus-sg-acct-4471
API key / secret•••••••• write-only · leave blank to keep currentStored encrypted at rest and never displayed back. Enter a value only to set or rotate it.
Endpoint / hostsip.nimbus-telecom.example
Source enabled
CURRENTLY: ENABLED
Test connection Save source
  1. The status banner shows whether the source is reachable and when it last synced — your first check that the credentials behind the pool still work.
  2. Name, provider type, account and endpoint are ordinary fields you can read and edit; they identify the source and how to reach it.
  3. The API key / secret is write-only: it shows a masked placeholder, never the stored value. Leave it blank to keep the current secret; type a new value only to set or rotate it.
  4. Test connection validates the credentials without saving, and the enabled switch lets you take a source offline without deleting it — numbers from a disabled source stay in the pool but stop syncing.
The source configuration. Carrier credentials are stored write-only — set or rotate, never read back.

8.6.1 Procedure — configure a number source

  1. Open source config. In SupplyNumbers select Source config (or open an existing source from the list).
  2. Name and type the source. Enter a clear name (e.g. Nimbus SG trunk) and pick the provider type.
  3. Enter the account and endpoint. Add the account / API username and the endpoint / host your carrier gave you.
  4. Set the secret. Paste the API key / secret. To rotate later, type the new secret over the masked field; to leave it unchanged, leave the field blank.
  5. Test, then save. Select Test connection to confirm the credentials work, then Save source. The status banner should read Connected.
  6. Stock from the source. Use this source when you preload (§8.5) so each loaded number is tied to the carrier that delivers it.
The secret is shown once — at the carrier, never here

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 ManualCh. 08 · Numbers
ByondByondVoice — Administrator & Operations Manual
Ch. 08 · Numbers

8.7 Mapping numbers to extensions and DIDs

Assigning 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.

→ Extension

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.

→ Ring group

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).

→ Auto-attendant

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.

→ Conference

The DID drops callers straight into a conference room, e.g. room 3000 — a permanent dial-in bridge number for recurring meetings.

admin.byondvoice.com/#numbers
// number · routing
DID

+65 3159 0010

Acme Corp · assigned
Inbound destination
Route typeExtension
Target1001 · Alice TanInbound calls to this DID ring this extension.
Options
Caller-ID prefix (optional)e.g. [Sales]Prepended to the inbound caller name so staff know the line dialled.
Out-of-hours to voicemail
Send to box when the target is closed
CloseSave routing
1
2
3
4
  1. Routing header — the DID, its owning tenant and status, confirming you are mapping the right assigned number.
  2. Route type — the destination class: Extension, Ring group, Auto-attendant or Conference. Changing the type re-populates the target list below.
  3. Target — the specific destination within that class (here extension 1001). This is the object the DID rings.
  4. Options — a caller-ID prefix so staff can see which line was dialled, and an out-of-hours to voicemail fallback. Save writes the mapping into the live routing.
The per-number routing panel. The route type and target decide what rings when the DID is dialled.

8.7.1 Procedure — map a number to a destination

  1. Open routing. On the assigned number’s row select Manage › then Routing.
  2. Choose the route type. Pick Extension, Ring group, Auto-attendant or Conference.
  3. Choose the target. Select the specific destination — e.g. extension 1001, ring group 6000, or conference 3000.
  4. Set options. Optionally add a caller-ID prefix and enable an out-of-hours voicemail fallback.
  5. Save and test. Select Save routing; the row’s Routes to column updates. With a carrier attached, dial the DID and confirm the right destination rings.
Worked example — repointing the Sales number

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 ManualCh. 08 · Numbers
ByondByondVoice — Administrator & Operations Manual
Ch. 08 · Numbers

8.8 Edge cases and best practice

The 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.

SituationWhat happensRecommended action
Tenant at its number capAssign is refused: “number limit reached for this tenant.”Raise Max numbers on the tenant licence (§6.4), then re-try the assign.
Assigned but unroutedRoutes 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 carrierConsole 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 tenantsRelease-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 numbersSuspension 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 stockDuplicates 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 secretIt 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).
A number belongs to one tenant at a time

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.

Reserve memorable numbers before you preload widely

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.

8.8.1 End-to-end recap

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).

Try it · stock, assign, route and release a DID (sandbox)

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 assignedExt 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 ManualCh. 08 · Numbers
ByondByondVoice — Administrator & Operations Manual
Ch. 09 · Extensions
Chapter 09

Extensions and SIP devices

An 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 Hosted PBXExtensions & Devices 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.

9.1 Extensions and devices — the model

Before touching a screen, fix the two concepts in mind, because every field on this page hangs off them.

Extension = the line (the identity)

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.

SIP device = the endpoint (the phone)

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.

Internal calling needs no carrier; PSTN does

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 ManualCh. 09 · Extensions
ByondByondVoice — Administrator & Operations Manual
Ch. 09 · Extensions

9.2 The Extensions & Devices screen

Open Hosted PBXExtensions & Devices 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.

admin.byondvoice.com
Supply
Numbers5
Hosted PBX
Extensions & Devices2
Voicemail2
Call Routing
Ring Groups1
Auto-Attendants1
Conferences1
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Extensions & Devices// hosted PBX · tenant Acme Corp
ENV: PRODSA
// hosted PBX — tenant Acme Corp

Extensions & Devices

Provision extensions and the SIP devices that register to them.

Tenant: Acme Corp ▾+ New extension
Extensions
2
of 25
Devices
3
provisioned
Registered
2
devices online
Idle
1
never registered
All Registered Idle Filter by number or name… 2 extensions
ExtDisplay nameDirect DIDDevicesStatus
1001ATAlice Tanvm box · enabled+65 3159 00102 registeredOpen ›
1002BOBen Ongvm box · enabled1 idleOpen ›
1
2
3
4
5
6
  1. Hosted PBX rail — the active Extensions & Devices item shows the gradient bar and a live count (2) for the tenant in scope. Voicemail sits beside it; each extension’s voicemail box is reached from there.
  2. Breadcrumb scope — the mono subtitle reads tenant Acme Corp. Everything below applies to that tenant only. The Tenant: … ▾ selector switches it.
  3. New extension — opens the create dialog (§9.3). A new extension lands with no devices and an idle status until something registers.
  4. Status filter & search — narrow by All / Registered / Idle and type-ahead by number or name. Useful when a tenant has dozens of lines.
  5. Extension row — the internal number, the display name (with a hint of its voicemail box and enabled state), the direct DID if one is assigned, and the live device count.
  6. Registration state — a roll-up of the row’s devices: registered means at least one device is online; idle means none are. Drill in with Open › to see per-device state.
Extensions & Devices — the hosted-PBX provisioning screen, scoped to Acme Corp.
The row status is a roll-up, not the whole story

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 ManualCh. 09 · Extensions
ByondByondVoice — Administrator & Operations Manual
Ch. 09 · Extensions

9.3 Creating and editing an extension

An 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.

9.3.1 The extension dialog

New extension

×
Extension number10013–5 digits, unique in this tenant.
EnabledLIVE
Display nameAlice TanShown to colleagues on internal calls and across the console.
Direct DID (optional)+65 3159 0010An external number that rings this extension directly. Carrier-gated.
Outbound caller-ID (optional)+65 3159 0010The number presented on outbound PSTN calls. Defaults to the tenant’s main number.
Cancel Create extension
  1. Extension number is the internal number people dial; it must be unique within the tenant and is conventionally 3–5 digits. The Enabled switch makes the line live; turn it off to keep the record but stop it ringing.
  2. Display name is the human label shown on internal calls and everywhere in the console (“Alice Tan”); it has no effect on routing.
  3. Direct DID picks an external number (from the tenant’s assigned numbers) that rings this extension directly when a carrier delivers it. Outbound caller-ID chooses the number shown to the party you call on the PSTN. Both are carrier-gated and may be left unset.
The extension dialog. Creating an extension also provisions its voicemail box automatically.

9.3.2 Extension fields — reference

FieldMeaningNotes
Extension numberThe 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 nameThe person or role the line belongs to, shown on calls and in the console.Cosmetic; editable any time. e.g. Alice Tan.
Direct DIDAn external number that rings this extension directly. carrier-gated Chosen from the tenant’s assigned numbers (§Supply › Numbers). Optional.
Outbound caller-IDThe 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.
EnabledWhether the line is live.Disable to suspend a line without deleting it; its devices stop registering and calls go to voicemail or fail.
Choose the number deliberately — and avoid clashes

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 ManualCh. 09 · Extensions
ByondByondVoice — Administrator & Operations Manual
Ch. 09 · Extensions

9.3.3 Procedure — create an extension

  1. Confirm the scope. Check the breadcrumb reads tenant Acme Corp and the chip shows ENV: PROD. Creating in the wrong tenant gives a colleague a line on the wrong customer.
  2. Open the dialog. In Hosted PBXExtensions & Devices select + New extension.
  3. Enter the number. Type a 3–5 digit extension number from your people block, e.g. 1001. A duplicate within the tenant is refused before anything is saved.
  4. Enter the display name, e.g. Alice Tan.
  5. Assign a direct DID (optional). Pick one of the tenant’s assigned numbers — here +65 3159 0010 — to ring this extension from outside. Leave blank for an internal-only line.
  6. Set the outbound caller-ID (optional). Choose the number shown on outbound PSTN calls, or leave it to default to the tenant’s main number.
  7. Leave Enabled on, then select Create extension. ByondVoice creates the line and its voicemail box.
  8. Add a device. The new row appears as idle with zero devices — open it and add the first SIP device (§9.4) so something can register.

Worked example — create extension 1001 “Alice Tan”

Acme 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.

  1. You confirm the breadcrumb reads tenant Acme Corp, then select New extension.
  2. You enter number 1001, display name Alice Tan, set the direct DID to +65 3159 0010 and leave outbound caller-ID to default.
  3. You leave Enabled on and select Create extension.
  4. The row 1001 · Alice Tan appears with status idle, 0 devices, and a voicemail box already created. Dialling 1001 right now would go straight to that voicemail, because nothing is registered yet.

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.”

9.3.4 Editing, disabling and deleting an extension

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:

The extension is the line; the user is the person

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 ManualCh. 09 · Extensions
ByondByondVoice — Administrator & Operations Manual
Ch. 09 · Extensions

9.4 SIP devices — the endpoints beneath an extension

Open 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.

admin.byondvoice.com/#ext/1001
// extension · devices
AT

1001 · Alice Tan

2 devices · 1 registered
×
SIP devices + Add device
desk Alice — Yealink T46 registered
user 1001-desk · 203.0.113.24:5060 · 38s ago
Reveal secret Registrar info Delete
browser softphone Alice — Web softphone idle
user 1001-web · never registered
Reveal secret Registrar info Delete
Close
1
2
3
4
5
  1. Drawer header — the extension this drawer belongs to (1001 · Alice Tan) and a roll-up of its devices (2 devices · 1 registered).
  2. Add device — provisions a new SIP credential under this extension and starts the create flow (§9.4.1), where you pick the device type and reveal the one-time secret.
  3. Device card & type — each registered endpoint as a card, tagged desk / browser softphone / mobile (§9.5), with its SIP username (1001-desk) and friendly name.
  4. Live registration state registered with the source IP and “last seen”, or idle / expired (§9.6).
  5. Per-device actionsReveal secret (reveal-once, §9.4.2), Registrar info (the blob to paste into the phone, §9.7) and Delete (revoke this endpoint only, §9.8).
The SIP devices drawer for extension 1001 — one extension, many devices, each independently managed.
ByondVoice — Administrator & Operations ManualCh. 09 · Extensions
ByondByondVoice — Administrator & Operations Manual
Ch. 09 · Extensions

9.4.1 Adding a SIP device

Adding 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.

Add device · ext 1001

×
Device type
browser softphone desk mobile
browser softphone = the browser/PWA softphone · desk = a hardware IP phone · mobile = a SIP app on a phone.
Friendly nameAlice — Yealink T46A label only you see, to identify the physical device.
SIP username (auto)1001-deskGenerated from the extension; unique across the platform.
SIP secretgenerated on save · shown once
Cancel Create device
  1. Device type determines defaults and how the endpoint connects: browser softphone registers over secure WebSocket from the browser softphone; desk and mobile register over SIP (§9.5).
  2. Friendly name is yours alone — make it specific (“Alice — Yealink T46”, “Reception lobby phone”) so a device list of a dozen endpoints stays readable.
  3. SIP username is generated automatically from the extension and is unique platform-wide. The secret is generated on save and revealed exactly once on the next screen.
The add-device dialog. The username is derived from the extension; the secret is generated on save.

9.4.2 Reveal-once SIP secrets

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.

Device created · copy the secret now

×
This secret is shown once. Copy it before you close.
SIP username
1001-desk
Device type
desk
SIP secret (one-time)b7Qz-9pK2-mW4t-Xa1r Copy
I’ve copied it — close Copy & show registrar info
  1. The banner is explicit: the secret is shown once. Copy it (or go straight to registrar info) before you dismiss the panel.
  2. The username and type are restated so you copy the matching pair. Once you close, the secret cannot be re-displayed — you must rotate it (re-create the device, or use any rotate action) to get a fresh one.
The reveal-once secret panel. After dismissal, the stored secret is never shown again.
If you close without copying, you cannot get it back

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 ManualCh. 09 · Extensions
ByondByondVoice — Administrator & Operations Manual
Ch. 09 · Extensions

9.5 Device types — browser softphone, desk and mobile

Every 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.

browser softphone

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.

desk

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.

mobile

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.

9.5.1 How each type connects — reference

TypeEndpointTransportProvisioned withNotes
browser softphoneBrowser / PWA softphone (my.byondvoice.com/phone)Secure WebSocket (WSS)The user simply signs in; the softphone fetches its SIP loginBest for laptops/remote; install to home screen for ring-while-locked.
deskHardware IP phoneSIP (UDP/TCP/TLS)Username + secret + registrar blob (§9.7), or an auto-provisioning URLStatic handset; survives reboots; ideal as a primary line.
mobileSIP app on a smartphoneSIP (typically over data)Username + secret + registrar blob (§9.7)Mobile networks are often restrictive — TURN relays media reliably.
One line, mixed devices, simultaneous ring

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.

TURN rescues media on hostile networks

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 ManualCh. 09 · Extensions
ByondByondVoice — Administrator & Operations Manual
Ch. 09 · Extensions

9.6 Registration state — is the phone online?

Registration 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.

9.6.1 The states — reference

StateMeaningWill it ring?Typical cause
registeredThe device is online; the SBC knows its current contact address.YesHealthy phone, recently seen.
idleThe device exists but has never registered, or has fully lapsed.NoPhone not yet configured, or off for a long time.
expiredThe last registration aged out and has not been renewed.NoPhone powered off / lost network since last seen.
rejectedA registration attempt was refused.NoWrong 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.

9.6.2 Procedure — diagnose a phone that won’t ring

  1. Open the extension. From the table, Open › the line and read the per-device state, not the row roll-up.
  2. Check the device state. If it is expired or idle, the phone is not online — check power and network, then have it re-register.
  3. Check the extension is enabled. A disabled extension (§9.3) refuses registrations; re-enable it if it was turned off.
  4. Suspect the secret on rejected. A rejected registration usually means a wrong or stale secret — rotate it (§9.4.2) and re-enter the new value on the phone.
  5. Read the source IP & last-seen. Confirm the device is registering from where you expect and was seen recently; a far-off IP or a never-updating timestamp narrows the fault to the network path.

Worked example — Alice’s desk phone fell silent

A colleague reports they can no longer reach Alice on 1001; it goes straight to voicemail even though she is at her desk.

  1. You open ext 1001. The row read registered (her softphone is up), but the desk device shows expired, last seen 40 minutes ago.
  2. That window matches a switch reboot on her floor. You ask Alice to power-cycle the handset; within seconds it re-registers and the desk device flips to registered from her usual IP.
  3. A test call to 1001 now rings both her desk phone and softphone.

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 ManualCh. 09 · Extensions
ByondByondVoice — Administrator & Operations Manual
Ch. 09 · Extensions

9.7 The registrar blob — what you paste into a phone

A 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.

// ext 1001 · device 1001-desk · registrar info
# 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
  1. Username & Auth ID are the device’s SIP identity (1001-desk); the secret is filled from the reveal-once panel and is the only field the console will not show you twice.
  2. Registrar / outbound proxy point the phone at the ByondVoice SBC, where it registers and through which its calls flow. Transport TLS + media SRTP keep both signalling and audio encrypted end to edge.
Browser softphones need no blob

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.

9.7.1 Worked example — give Alice a desk phone

Continuing the running example: extension 1001 exists; now you provision Alice’s Yealink as a desk device.

  1. Open the extension and add a device. Open › ext 1001, then + Add device. Choose type desk and name it Alice — Yealink T46.
  2. Create and capture the secret. Select Create device. On the reveal-once panel, copy the secret (e.g. b7Qz-9pK2-mW4t-Xa1r) immediately.
  3. Open registrar info. Choose Copy & show registrar info to get the blob above — username 1001-desk, registrar sbc.byondvoice.com, TLS/SRTP.
  4. Configure the phone. In the Yealink’s account settings, paste the username, secret, registrar and outbound proxy; set transport to TLS and media to SRTP.
  5. Verify registration. Back in the drawer, the Alice — Yealink T46 card flips to registered with the phone’s IP and a fresh last-seen.
  6. Test the call. From another extension dial 1001; the desk phone rings. Run the echo test (9196) from the Yealink to confirm two-way audio.
ByondVoice — Administrator & Operations ManualCh. 09 · Extensions
ByondByondVoice — Administrator & Operations Manual
Ch. 09 · Extensions

9.7.2 Worked example — give Alice the web softphone

Now the second device on the same line. Because the softphone is a browser softphone endpoint, this is the easy one — no blob, no typing.

  1. Add a browser device. In ext 1001’s drawer, + Add device, choose type browser softphone and name it Alice — Web softphone (username 1001-web). Create it.
  2. Hand the line to the user. Ensure Alice’s portal user is linked to extension 1001 (see the Users chapter). She does not need the secret — the softphone fetches its SIP login for her.
  3. Alice signs in. She opens my.byondvoice.com/phone, signs in, and grants microphone (and camera, for video) access.
  4. Confirm it registers. The Alice — Web softphone card flips to registered; the extension now has two online devices.
  5. Test simultaneous ring. Dial 1001 — both the Yealink and the softphone ring; Alice answers on either. Suggest she install the softphone to her home screen for ring-while-locked notifications.
The softphone is the fastest path to a working line

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.

9.8 Deleting a device and the security of secrets

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.

9.8.1 Procedure — delete (revoke) a device

  1. Open the extension’s drawer. Open › the line to list its devices.
  2. Identify the right device by its friendly name. Confirm you are revoking Alice — Web softphone, not the desk phone — this is why specific names matter.
  3. Delete it. Choose Delete on that device card and confirm. The endpoint de-registers at once.
  4. Verify. The card disappears and the device count drops by one; the extension’s other devices remain registered.

9.8.2 How ByondVoice protects device secrets

SecretHow it is storedHow it is shown
SIP device secretEncrypted at rest reveal-once at create / rotate; never re-displayed
Auto-provisioning URLEncrypted at rest reveal-once link the phone fetches config from
Voicemail / conference PINHashed (one-way)Never shown — only reset to a new value
Rotate a secret the moment a device is lost or compromised

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.

Try it · stand up a line with two devices (sandbox)

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 ManualCh. 09 · Extensions
ByondByondVoice — Administrator & Operations Manual
Ch. 10 · Provisioning
Chapter 10

Device auto-provisioning

Typing 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.

10.1 What zero-touch provisioning is

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 SIP device

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.

The provisioning token

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 provisioning URL

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.

The config payload

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.

Auto-provisioning vs. manual SIP entry

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 ManualCh. 10 · Provisioning
ByondByondVoice — Administrator & Operations Manual
Ch. 10 · Provisioning

10.2 Where provisioning lives — the device panel

Provisioning tokens are managed where the devices they belong to are managed: under Hosted PBXExtensions & Devices, 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.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices2
Voicemail2
Call Routing
Ring Groups1
Auto-Attendants1
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Extensions & Devices// hosted PBX · tenant Acme Corp · ext 1001
ENV: PRODSA
// device · 1001 · Alice Tan

Polycom VVX 411 — provisioning

Single-use tokens that deliver this device’s configuration to the phone on first boot.

+ Generate token
SIP username
1001_desk
Registration
online
Active tokens
1
pending fetch

Provisioning tokens

scoped to this device
TokenCreatedExpiresStatus
d/9af3c1…e209:14 todayin 23h 41m activeRevoke
d/41b7d0…7a3 days ago usedRevoke
d/0c8e55…3f8 days ago expiredRevoke
1
2
3
4
5
6
  1. Hosted PBX rail — the active Extensions & Devices item; provisioning is not a top-level screen, it is a tab on a device inside an extension. The badge counts the tenant’s extensions.
  2. Breadcrumb scope — the mono subtitle pins you to tenant Acme Corp · ext 1001; read it before generating, so the token binds to the device you intend.
  3. Generate token — mints a fresh single-use token and opens the reveal-once URL dialog (§10.3).
  4. Active-token count & registration — the device’s live SIP username and current registration state, plus how many tokens are still pending a fetch.
  5. Token row — each token shows a truncated identifier, when it was created, when it expires, and its status: active, used or expired (see the reference table in §10.7).
  6. Revoke — kills an active token immediately; it is greyed for tokens that are already spent or expired, because there is nothing left to revoke.
The device Provisioning tab for extension 1001 in Acme Corp — every token here can only provision this one device.
One active token is usually enough

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 ManualCh. 10 · Provisioning
ByondByondVoice — Administrator & Operations Manual
Ch. 10 · Provisioning

10.3 Generating a provisioning token

Generating 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.

10.3.1 The generate-token dialog

Provisioning URL — copy it now

×
Device1001 · Alice Tan · Polycom VVX 411
Provisioning URL (shown once)https://prov.byondvoice.com/d/9af3c1b4e2Copy this now — it is reveal-once and cannot be displayed again.
Time-to-live24 hours
Model templatePolycom VVX (UC)
single-use · expires in 24h · not recoverable
Copy URL Done
  1. The bound device — the dialog names the device, extension and model the token is tied to. The token can provision nothing else; if this is the wrong device, cancel and open the right one.
  2. Reveal-once URL — the only thing you copy. It carries no secret in itself you could read, but it is the one-time courier that lets the phone fetch the secret, so it is shown once and treated like a password.
  3. Time-to-live & model template — choose how long the token stays usable (a short, generous-enough window — see §10.5) and the template that shapes the config payload to the phone’s hardware.
  4. Reveal-once warning single-use · expires in 24h · not recoverable is your prompt to copy before Done discards the URL for good.
The generate-token dialog. Closing it discards the only readable copy of the provisioning URL.

10.3.2 Procedure — generate a provisioning token

  1. Open the device. In Hosted PBXExtensions & Devices open the extension (e.g. 1001), open the SIP device, and select its Provisioning tab. Confirm the breadcrumb names the right tenant and extension.
  2. Generate. Select + Generate token. The dialog above appears with a fresh URL already populated.
  3. Set the TTL. Choose a Time-to-live long enough to reach the installer but no longer than you need — the default 24 hours suits same-day desk installs; pick a shorter window for a phone already on someone’s desk (§10.5).
  4. Choose the model template. Pick the Model template that matches the phone’s make and family so the fetched config uses the right line-key layout and codec set.
  5. Copy the URL. Select Copy URL. Paste it straight where it is going — into the phone’s provisioning-server field, a labelled card, or a secure message to the installer. Never put it in plain email.
  6. Close only when copied. Select Done. The URL is now unreadable forever; the token remains in the list as active until it is fetched, revoked or expires.
Copy the URL before you close the dialog

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 ManualCh. 10 · Provisioning
ByondByondVoice — Administrator & Operations Manual
Ch. 10 · Provisioning

10.3.3 Worked example — provisioning a desk phone for ext 1001

This 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.

Scenario

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.

  1. You open Hosted PBXExtensions & Devices, confirm the breadcrumb reads tenant Acme Corp · ext 1001, open the VVX device and switch to its Provisioning tab.
  2. You select Generate token. The dialog shows https://prov.byondvoice.com/d/9af3c1b4e2. You set the TTL to 24 hours and the template to Polycom VVX (UC).
  3. You select Copy URL, then enter the phone’s web UI and paste it into Settings → Provisioning Server (some sites instead pre-load it via the vendor’s redirect service so the phone finds it automatically). You select Done; the URL is now gone, and the token shows as active with in 23h 59m remaining.
  4. You reboot the phone. On boot it fetches the URL, receives its config payload — account 1001_desk, the SBC registrar, SRTP, the codec list and the generated SIP password — applies it, and reboots once more into the running profile.
  5. Back in the console you refresh: the token has flipped to used, the device Registration reads online, and the extension row shows registered.
  6. You confirm two-way audio with the echo test: Alice dials 9196 and hears her own voice, then dials 1002 (Ben Ong) to prove internal calling.

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).

10.3.4 The token lifecycle

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:

  1. Active. The moment it is generated, the token is active — usable exactly once, counting down its TTL. This is the only state from which a phone can fetch config.
  2. Used. The first successful fetch flips it to used. It is now spent: a second fetch with the same URL is rejected. The device keeps its config and keeps registering; the token’s job is simply done.
  3. Expired. If the TTL elapses before any fetch, it becomes expired on its own — no action needed. An expired token can never be fetched.
  4. Revoked. If you cancel an active token by hand (§10.6) it becomes revoked at once. Like used and expired, this is terminal.
Spent tokens stay in the list on purpose

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 ManualCh. 10 · Provisioning
ByondByondVoice — Administrator & Operations Manual
Ch. 10 · Provisioning

10.4 How the phone fetches its config

Everything 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.

  1. Boot & reach out. On power-up the phone reads its provisioning-server URL and makes an HTTPS request to prov.byondvoice.com, presenting the token. The channel is encrypted in transit; the token is never sent in clear.
  2. The control plane validates. ByondVoice checks the token is active — not used, expired or revoked — and that it is bound to this device. Any other state is refused, and the phone gets nothing it can register with.
  3. The config payload is returned. On success the platform renders the device’s config from the chosen model template: SIP account 1001_desk, the SBC registrar address and secure-WebSocket/SIP transport, SRTP media, the codec list, line-key labels — and the server-generated SIP password.
  4. The token is spent. The platform marks the token used the moment the fetch succeeds, so the same URL cannot deliver config a second time.
  5. The phone applies & reboots. The phone writes the profile to flash and reboots into it, then registers to the SBC and shows the line as online — which surfaces in the console as registered.

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.

10.5 The security model and short TTL

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.

Single-use

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.

Short TTL

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.

Device-bound

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.

Encrypted & reveal-once

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.

Treat a live URL as a live password until it is spent

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 ManualCh. 10 · Provisioning
ByondByondVoice — Administrator & Operations Manual
Ch. 10 · Provisioning

10.6 Revoking and rotating tokens

Two 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.

10.6.1 Revoking an active token

Revoke provisioning token

×
This immediately invalidates token d/9af3c1…e2

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.

Device1001 · Alice Tan · Polycom VVX 411
Cancel Revoke token
  1. What revoking does — the dialog states the blast radius plainly: the URL stops working at once, an un-booted phone will now fail to provision, and any phone already registered is untouched.
  2. The bound device — confirms which device’s token you are about to kill, so you do not revoke the wrong line’s pending install.
  3. Revoke token — terminal and immediate; the token flips to revoked and can never be fetched. To provision after this, generate a fresh token (§10.3).
The revoke confirmation. Revoking acts on the token only — a registered phone keeps working.
  1. Open the device’s Provisioning tab in Hosted PBXExtensions & Devices and find the active token row.
  2. Revoke. Select Revoke, read the confirmation, and confirm with Revoke token.
  3. Verify. The row flips to revoked and the active-token count drops. The URL is now dead.

10.6.2 Rotating a token (revoke + regenerate)

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:

  1. Revoke the current token (§10.6.1) so the old URL is invalidated and can never be fetched.
  2. Generate a new token (§10.3) on the same device. Set a fresh TTL, copy the new reveal-once URL, and deliver it. The old URL stays revoked in the audit list; the new one is the only live token.

10.6.3 Worked example — rotating a leaked URL for ext 1001

Worked example

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.

  1. You open ext 1001’s VVX device, Provisioning tab, and Revoke the active token d/9af3c1…e2. The leaked URL is now dead — even if someone fetches it, they get nothing.
  2. You select Generate token, choose a short 1-hour TTL (the phone is on the desk and will reboot now), and copy the new URL https://prov.byondvoice.com/d/5e1a07….
  3. You paste it into the phone over the secure channel and reboot. It fetches, registers, and the new token flips to used.

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 ManualCh. 10 · Provisioning
ByondByondVoice — Administrator & Operations Manual
Ch. 10 · Provisioning

10.7 Token status — reference

Every 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:

StatusMeaningCan a phone fetch it?How it got here
activeGenerated, not yet used, TTL not yet elapsed. The only usable state.Yes — onceYou generated it (§10.3).
usedA phone has fetched config with it. Spent; the device is provisioned.NoFirst successful fetch (§10.4).
expiredTTL elapsed before any fetch. Self-retired.NoTime ran out (§10.5).
revokedYou cancelled it by hand before it was used.NoYou revoked it (§10.6).

10.7.1 Reading the Expires column

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.

10.7.2 Best practice

Generate just-in-time

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.

Shortest TTL you can live with

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.

Secure delivery only

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.

Keep one active token per device

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.

Re-provisioning a phone that already works

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.

A provisioning token is not a registration credential

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.

Try it · provision and rotate (sandbox)

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 ManualCh. 10 · Provisioning
ByondByondVoice — Administrator & Operations Manual
Ch. 11 · Voicemail
Chapter 11

Voicemail administration

Voicemail 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 Hosted PBXVoicemail; 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).

11.1 What a voicemail box is, and how it fits

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 extension & its devices

The line that rings first. Provisioned in Hosted PBXExtensions & Devices (Chapter 7). Each extension owns one mailbox by default.

The call-handling rules

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.

The voicemail box

This chapter. Records the message, stores it, plays the greeting, and delivers the result to the portal, to email and to *98.

The user’s self-service view

The mirror of this screen at my.byondvoice.comVoicemail, where the user plays, reads and deletes their own messages and sets their own preferences.

Voicemail works without a carrier

Voicemail is one of the features that is fully functional the moment a tenant exists — no carrier connector required. An internal caller (10021001) 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 ManualCh. 11 · Voicemail
ByondByondVoice — Administrator & Operations Manual
Ch. 11 · Voicemail

11.2 The Voicemail screen

Every mailbox in the tenant in scope is listed under Hosted PBXVoicemail. 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.

admin.byondvoice.com/#voicemail
Supply
Numbers5
Hosted PBX
Extensions & Devices2
Voicemail2
Call Routing
Ring Groups1
Auto-Attendants1
Conferences1
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Voicemail// hosted PBX · tenant Acme Corp
ENV: PRODSA
// hosted PBX — voicemail boxes

Voicemail

Every mailbox in Acme Corp. Open a box for its messages and settings, or create a standalone box.

+ New mailbox
Mailboxes
2
in this tenant
New messages
3
unheard
VM-to-email
1
boxes enabled
PIN set
1
of 2 boxes
Ext / BoxOwnerMessagesPINVM→email
AT1001mailbox 1001Alice Tan 2 new · 9 total set offOpen ›
BO1002mailbox 1002Ben Ong 1 new · 3 total none onOpen ›
1
2
3
4
5
6
  1. Voicemail in the rail — under Hosted PBX, the active Voicemail item shows the gradient bar and a live count of mailboxes in the tenant in scope (2 for Acme Corp). The badge re-scopes with the tenant selector.
  2. Breadcrumb scope — the mono subtitle reads tenant Acme Corp. Read it before any create or delete; voicemail is per-tenant and the screen always acts on the customer named here.
  3. Mailbox KPIs — at-a-glance totals: mailboxes, unheard new messages, boxes with voicemail-to-email enabled, and how many boxes have a PIN set.
  4. New mailbox — opens the create-mailbox dialog (§11.3) for a standalone box; per-extension boxes normally already exist.
  5. Mailbox row — the owning extension and box name, the owner, the message count shown as N new over a total, and whether a PIN and voicemail-to-email are set. A box with none for PIN can still be opened from the portal but cannot be reached by *98 until a PIN exists (§11.4).
  6. Open — enters the box to view its messages (§11.5) and edit its settings (§11.6): greeting, PIN, voicemail-to-email, transcription and retention.
The Voicemail screen, scoped to Acme Corp — one row per mailbox, with message counts and delivery state.
Read the row at a glance

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 ManualCh. 11 · Voicemail
ByondByondVoice — Administrator & Operations Manual
Ch. 11 · Voicemail

11.3 Voicemail boxes — create, list, delete

Most 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.

11.3.1 The create-mailbox dialog

New mailbox

×
Mailbox number2050Unique within the tenant. For a per-extension box use the extension number.
Display nameSales drop-box
Mailbox PIN (optional)••••
VM-to-emailOff
Notify email (optional)[email protected]Where voicemail-to-email is sent when enabled.
Cancel Create mailbox
  1. The mailbox number must be unique within the tenant. For a box that belongs to a person, match it to their extension (1001); for a shared drop-box, pick a number outside the extension range (2050) so it is never confused with a line.
  2. A PIN is optional at creation and can be set or cleared later (§11.4) — it is hashed the instant you save and is never shown again. Leaving it blank creates a box with no phone access until a PIN is added.
  3. VM-to-email and a notify email can be set now or later (§11.6); they are the delivery preferences that decide whether a recorded message is also emailed.
The create-mailbox dialog — used for standalone boxes; per-extension boxes are created automatically.

11.3.2 Procedure — create a standalone mailbox

  1. Confirm scope. Check the breadcrumb reads tenant Acme Corp and the chip shows ENV: PROD before you create anything.
  2. Open the dialog. In Hosted PBXVoicemail select + New mailbox.
  3. Enter the mailbox number. Type a number unique within the tenant, e.g. 2050 for a shared box. Reusing a number in use is refused with “mailbox number already exists.”
  4. Name it. Give a clear display name — Sales drop-box — so it reads well in the list and in email subjects.
  5. Set delivery (optional). Optionally set a PIN, turn VM-to-email on, and enter the notify email. All of these can also be set later in the box’s settings.
  6. Create. Select Create mailbox. The new box appears in the list with an empty message count.
Worked example — a shared Sales drop-box

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.

11.3.3 Deleting a mailbox

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.

  1. Open the box. Select Open › on the row and confirm it is the box you mean — check the number and owner.
  2. Export anything owed. If any message must be kept, download it from the messages list (§11.5) first — deletion is permanent.
  3. Delete. Choose Delete mailbox and confirm. The box and all its messages are destroyed.
Deleting a box deletes its messages

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 ManualCh. 11 · Voicemail
ByondByondVoice — Administrator & Operations Manual
Ch. 11 · Voicemail

11.4 The mailbox PIN — set and clear

The 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.

Set mailbox PIN · 1001

×
The PIN is hashed on save and is never shown again
New PIN (4–8 digits)••••••Digits only. Avoid 1234, 0000 or the extension number.
Confirm PIN••••••
Require PIN change on next login
User must pick their own PIN at next *98 call
Clear PIN Save PIN
  1. The info banner states the contract plainly: the PIN is hashed on save and cannot be read back. This dialog only ever writes a PIN — there is no field that reveals the current one.
  2. New PIN + Confirm PIN — 4–8 digits, entered twice. A mismatch, or a value shorter than the minimum, is rejected before anything is saved.
  3. Require PIN change on next login — when on, the temporary PIN you set works once and the user is forced to choose their own at their next *98 call — the right setting whenever you set the PIN for someone else.
  4. Clear PIN removes the PIN entirely (the box then has no phone access until a PIN is set again); Save PIN stores the new hash.
The set-mailbox-PIN dialog. The PIN is hashed on save; the dialog can write or clear it, never reveal it.

11.4.1 Procedure — set or reset a mailbox PIN

  1. Open the box. In Hosted PBXVoicemail select Open › on the box, then choose Set PIN in its settings.
  2. Enter a new PIN twice. Type a 4–8 digit PIN in New PIN and again in Confirm PIN. Avoid guessable values (1234, 0000, the extension number).
  3. Force a change if it is not the user’s own. If you are resetting on a user’s behalf, turn on Require PIN change on next login so they must pick their own.
  4. Save. Select Save PIN. The PIN is hashed and stored; the row’s PIN pill flips to set.

11.4.2 Procedure — clear a mailbox PIN

  1. Open the PIN dialog as above.
  2. Clear it. Select Clear PIN. The stored hash is removed and the row’s pill flips to none.
  3. Understand the effect. The box now has no phone access — a *98 caller cannot get in until a PIN is set again. Portal access is unaffected.
Worked example — Alice forgets her PIN

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.

A PIN cannot be recovered, only replaced

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 ManualCh. 11 · Voicemail
ByondByondVoice — Administrator & Operations Manual
Ch. 11 · Voicemail

11.5 The messages list & visual voicemail

Open 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.comVoicemail. Playing a message streams the recording in the browser — no download, no separate app — and turns the message from new to heard.

admin.byondvoice.com/#voicemail/1001
Hosted PBX
Extensions & Devices2
Voicemail2
Call Routing
Ring Groups1
Auto-Attendants1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south
Mailbox 1001// voicemail · Alice Tan · tenant Acme Corp
ENV: PRODSA
// mailbox 1001 — Alice Tan

Messages

Visual voicemail for extension 1001. Play in-browser, read the transcript, download or delete.

Settings Mark all heard
Messages
9
total
New
2
unheard
Oldest
11d
retention 30d
FromReceivedLengthStateListen / transcript
+65 9123 4567Today 09:140:42 new▶ Play “Hi Alice, it’s…”
1002Today 08:500:18 new▶ Play “Ben here, can you…”
+65 3159 0010Yest 16:311:07 heard▶ Play “Calling about the…”
1
2
3
4
5
6
  1. Mailbox breadcrumb — you are inside one box: voicemail · Alice Tan · tenant Acme Corp. The header confirms whose messages these are.
  2. Mark all heard — clears the new flag on every message at once (it does not delete them). Useful after a user has caught up by phone.
  3. Caller & timing — the caller’s number (an internal extension like 1002, or an external +65… DID), when it arrived and how long it runs.
  4. State new (unheard) or heard. Playing a message flips it to heard and decrements the new-message count on the box.
  5. Play & transcript▶ Play streams the recording in-browser; the snippet beside it is the speech-to-text transcript (when transcription is enabled, §11.6), so the gist is readable without listening.
  6. Row menu — the opens per-message actions: download the audio, mark new/heard, or delete the single message.
Visual voicemail for mailbox 1001 — the operator’s view; the user sees the identical list in the portal.

11.5.1 Working with messages

  1. Play. Select ▶ Play on a row to stream it in the browser. The message turns heard and the box’s new count drops by one.
  2. Read instead of listen. Glance at the transcript snippet to triage a box quickly; open the row for the full transcript when transcription is on.
  3. Download. From the row menu choose download to save the recording (for evidence, hand-off, or before deleting a box).
  4. Clear a single message. Choose delete on a row to remove just that message — the rest of the box is untouched. Prefer this over deleting the whole box.
  5. Catch up in bulk. Use Mark all heard to clear the new flag across the box without deleting anything.
Heard, deleted and the message-waiting indicator

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 ManualCh. 11 · Voicemail
ByondByondVoice — Administrator & Operations Manual
Ch. 11 · Voicemail

11.6 How a missed call records and is delivered

Understanding 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.

11.6.1 The pipeline, step by step

  1. The call is not answered. A caller dials the extension. The engine rings the device, then walks the call-handling ladder — each forward target in turn (Chapter 10). With DND on, this is skipped and the caller goes straight here. Either way, when nothing answers the caller lands on the mailbox.
  2. The greeting plays. The box plays its greeting — the user’s recorded greeting if present, otherwise the system default naming the extension — then the beep.
  3. The message is recorded & stored. The caller speaks; ByondVoice records the audio and stores it against the box, with the caller’s number and a timestamp, flagged new.
  4. It surfaces as visual voicemail. The message appears immediately in the messages list (§11.5) — in the console here and in the user’s portal — ready for in-browser playback. If transcription is on, a transcript is generated and attached.
  5. It is emailed — if VM-to-email is on. When the box has voicemail-to-email enabled, the platform emails the notify address with the details and (per the box’s setting) the recording attached and/or the transcript in the body.
  6. The waiting indicator lights. The new-message count rises; the desk phone’s message-waiting lamp / stutter tone turns on. Playing or clearing the message reverses every one of these.
Voicemail delivery — one recording, three destinations
Unanswered callring › forwards › no answer (or DND)
Greeting + recorduser greeting or default, then beep
Stored in mailboxflagged NEW · caller & time
1 · Visual voicemailportal & console — in-browser play + transcript
2 · Voicemail-to-emailnotify address — recording + transcript
3 · Phone — *98PIN, then listen & manage

11.6.2 Voicemail-to-email

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.

“Delete after emailing” is a one-way door

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.

11.6.3 Phone retrieval with *98

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.

The *98 retrieval menu
Dial *98from the extension
Enter PINhashed check; then the main menu
Main menulisten / manage / settings
1 — Listennew then saved; repeat / next
7 — Deleteremove current message
9 — Savekeep / mark heard
0 — Settingsgreeting · change PIN
One box, three doors — kept in sync

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 ManualCh. 11 · Voicemail
ByondByondVoice — Administrator & Operations Manual
Ch. 11 · Voicemail

11.7 Per-box settings

Each 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 VoicemailSettings — as operator you set them on the user’s behalf, or correct them in a support call.

admin.byondvoice.com/#voicemail/1001/settings
// mailbox · settings
AT

Mailbox 1001

Alice Tan · Acme Corp
Greeting
Personal greeting (recorded)Or fall back to the system greeting naming the extension.
Security
Mailbox PIN
CURRENTLY: SET (hashed)
Set PIN
Delivery
Voicemail-to-email
recording + transcript
Notify email[email protected]
Transcription
speech-to-text snippet + full
Delete after emailing
remove from box once sent
Retention
Keep 30 days
CloseSave settings
1
2
3
4
5
6
  1. Greeting — choose the user’s recorded personal greeting or fall back to the system greeting that simply names the extension. The greeting is recorded by the user via *98 → settings, or uploaded.
  2. Mailbox PIN — shows only SET (hashed) or NONE; the value is never displayed. Set PIN opens the PIN dialog (§11.4).
  3. Voicemail-to-email — the master switch for emailing this box, with the content choice beneath it (recording, transcript, or both).
  4. Notify email — the destination address for voicemail-to-email; here [email protected].
  5. Transcription and Delete after emailing — turn on speech-to-text (the snippet in the list and the full transcript in email), and decide whether a message is removed from the box once emailed (see the warning in §11.6.2).
  6. Retention — how long messages are kept before automatic clean-up; here 30 days. Save settings persists the lot.
The per-box settings panel for mailbox 1001 — greeting, PIN, delivery, transcription and retention.
ByondVoice — Administrator & Operations ManualCh. 11 · Voicemail
ByondByondVoice — Administrator & Operations Manual
Ch. 11 · Voicemail

11.7.1 Per-box settings — reference

Every setting on a mailbox, what it does, and its sensible default:

SettingWhat it controlsDefault
GreetingThe message a caller hears before the beep — the user’s personal recording, or the system greeting naming the extension.System greeting
Mailbox PINHashed numeric passcode for *98 phone access. Set / cleared, never shown (§11.4).None (set on first use)
Voicemail-to-emailWhether each new message is emailed; the master switch for the email path.Off (per box)
Notify emailDestination address for voicemail-to-email.User’s email, if known
Email contentWhat the email carries — recording attached, transcript in the body, or both.Recording + transcript
TranscriptionSpeech-to-text: the snippet in the list and the full transcript in email.On
Delete after emailingRemoves the message from the box once the email is sent. One-way — use with care.Off
RetentionHow long messages are kept before automatic clean-up.30 days

11.7.2 Procedure — edit a mailbox’s settings

  1. Open the box. In Hosted PBXVoicemail select Open › on the box, then Settings.
  2. Choose the greeting. Pick the personal greeting or the system greeting. (The personal greeting is recorded by the user via *980 settings.)
  3. Set the PIN if needed. Use Set PIN for phone access — required before *98 works (§11.4).
  4. Configure delivery. Turn Voicemail-to-email on, enter the notify email, and choose the email content (recording / transcript / both).
  5. Tune transcription & retention. Enable Transcription if wanted; set Retention to the customer’s policy; leave Delete after emailing off unless email is proven reliable.
  6. Save. Select Save settings. Changes apply to the next recorded message; messages already in the box are unaffected.
Settings are forward-looking

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 ManualCh. 11 · Voicemail
ByondByondVoice — Administrator & Operations Manual
Ch. 11 · Voicemail

11.8 Worked example — enable voicemail-to-email for extension 1001

This 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.

Scenario

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.

  1. You confirm the breadcrumb reads tenant Acme Corp and the chip shows ENV: PROD.
  2. You check the tenant capability: in TenancyTenants → Acme → licence, Voicemail-to-email shows CURRENTLY: ENABLED (§6.4). If it were off, you would enable it first — the per-box switch cannot override a disabled tenant capability.
  3. In Hosted PBXVoicemail you open box 1001 and choose Settings.
  4. You turn Voicemail-to-email on, set Notify email to [email protected], set email content to recording + transcript, leave Transcription on and Delete after emailing off, then Save settings.
  5. You test: from extension 1002 you call 1001 and let it ring out to voicemail, leaving a short test message.
  6. Within moments the message appears in box 1001’s list as new with a transcript snippet (§11.5), and an email arrives at [email protected] with the .wav/.mp3 attached and the transcript in the body. You also dial *98 from 1001, enter the PIN, and hear the same message — the third door confirmed.

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.

11.8.1 Troubleshooting — “I never got the voicemail email”

SymptomLikely causeFix
Message records, shows in portal, no emailPer-box voicemail-to-email off, or wrong notify addressOpen the box → Settings; turn it on, correct the email (§11.7).
VM-to-email on per box, still no emailTenant capability voicemail-to-email disabled at licence levelEnable it on the tenant licence (§6.4), then re-test.
Email arrives, no recording attachedEmail content set to transcript-onlySet email content to recording + transcript.
No message at all, caller said it rang onceDND or forward-all sent the caller elsewhereReview the user’s call handling (Chapter 10).
*98 rejects the PINPIN not set, or reset pendingSet a PIN with require change on next login (§11.4).
Message vanished from portalBox set to delete after emailingRetrieve from the email; turn the option off (§11.6.2).
Try it · stand up Ben Ong’s mailbox end to end

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.

Best practice — a sane voicemail baseline

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 ManualCh. 11 · Voicemail
ByondByondVoice — Administrator & Operations Manual
Ch. 12 · Call Handling
Chapter 12

Call forwarding and the execution engine

Every 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.

12.1 Where Call-Handling lives, and what it controls

Call-Handling rules belong to a single extension. You reach them from Hosted PBXExtensions & Devices: 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 ControlCall Handling — 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):

Do-Not-Disturb (DND)

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.

Forward-all (find-me)

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 fallback ladder

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.

Ring timer & final action

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.

This is a live engine, not a saved script

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 ManualCh. 12 · Call Handling
ByondByondVoice — Administrator & Operations Manual
Ch. 12 · Call Handling

12.2 The Call-Handling screen and rule precedence

The 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.

admin.byondvoice.com/#extensions/1001/handling
Hosted PBX
Extensions & Devices2
Voicemail2
Call Routing
Ring Groups1
Auto-Attendants1
Conferences1
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Ext 1001 · Call Handling// hosted PBX · tenant Acme Corp
ENV: PRODSA
// ext 1001 — Alice Tan

Call Handling

How inbound calls to this extension are routed before they ring a device.

Save handling

1 · Do-Not-Disturb

off
When on, send callers straight to voicemail — no device rings.

2 · Forward all (find-me)

off
Redirect every call immediately, bypassing the device.
Forward toextension, ring group, or external number

3 · Fallback ladder

active
If busy →1002 — Ben Ong
If no answer →1002 — Ben Ong
If unreachable →Voicemail
No-answer timeout (s)25
Follow-me sequence
1 · Desk & softphone 2 · 1002 Ben Ong 3 · Voicemail
1
2
3
4
5
6
  1. Scope & extension — the rail sits in Hosted PBX; the breadcrumb confirms you are editing Ext 1001 inside tenant Acme Corp. Read both before saving (Chapter 06, §6.5).
  2. Do-Not-Disturb (priority 1) — the master switch. On = straight to voicemail; it overrides forward-all and the ladder entirely.
  3. Forward-all / find-me (priority 2) — the unconditional redirect and its single Forward to target. On = the device never rings; off = control falls through to the ladder.
  4. Conditional targets (priority 3) — separate destinations for busy, no-answer and unreachable. Each may point to an extension, a ring group, voicemail, or an external number.
  5. No-answer timeout — how many seconds a ringing stage waits for an answer before the engine advances. Here 25.
  6. Follow-me sequence — an ordered hunt list rung one stage at a time; the chips show the order the engine will try them in, ending at voicemail.
The Call Handling tab for extension 1001. On-screen order equals evaluation order: DND, then forward-all, then the ladder.
ByondVoice — Administrator & Operations ManualCh. 12 · Call Handling
ByondByondVoice — Administrator & Operations Manual
Ch. 12 · Call Handling

12.3 How the engine renders routing at call time

To 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.

From saved rule to live call — what happens the moment a call arrives
Inbound callto ext 1001
SBCedge · ByondSBC
ByondSwitchreads config now
Control planerules for 1001
Rendered routering · fwd · vm

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:

  1. Check DND. If Do-Not-Disturb is on, the engine stops here and sends the caller to voicemail. Nothing below is consulted.
  2. Check forward-all. If forward-all is on, the engine redirects to its single Forward to target and follows that destination’s rules. The original device is never rung.
  3. Probe the device(s). Otherwise the engine attempts to ring the extension’s registered SIP devices. The outcome it gets back is one of three conditions — busy, no-answer (rang past the timeout), or unreachable (no device is registered / reachable).
  4. Apply the matching conditional rule. The engine takes the target configured for whichever condition occurred and rings it. If a follow-me sequence is set, it walks that list one stage at a time using the no-answer timeout between stages.
  5. Fall through to the final action. If no stage answers, the engine performs the terminal action — by default, record a voicemail for the original extension (Chapter 11).
One condition fires per attempt, not several

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.

Forwarding follows the target’s own rules

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 ManualCh. 12 · Call Handling
ByondByondVoice — Administrator & Operations Manual
Ch. 12 · Call Handling

12.4 Do-Not-Disturb — straight to voicemail

Do-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.

12.4.1 What DND does — and what it overrides

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.

DND on — the caller bypasses every device and lands in voicemail
Callerdials 1001
DND = ONpriority 1
Voicemail 1001greeting + record

12.4.2 Procedure — turn DND on for an extension

  1. Open the extension. In Hosted PBXExtensions & Devices select the row for 1001 “Alice Tan”, then open its Call Handling tab.
  2. Flip the DND switch. Set Do-Not-Disturb to . The status pill changes to on.
  3. Save. Select Save handling. Because the engine reads config per call, DND governs the very next call to 1001.
  4. Confirm. Place a test call to the extension (or use the line’s softphone). It should not ring; you should hear the voicemail greeting at once.
  5. Turn it off when done. Return and set the switch back to off, then save — the device rings normally again on the next call.
Worked example — Alice goes heads-down

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 1001Call 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 per-extension, not per-device

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.

DND on a member silences that path — even inside a ring group

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 ManualCh. 12 · Call Handling
ByondByondVoice — Administrator & Operations Manual
Ch. 12 · Call Handling

12.5 Forward-all and find-me

Forward-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.

12.5.1 Choosing a forward-all target

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 typeExampleBehaviourNeeds carrier?
Another extension1002 (Ben Ong)Rings that extension and then follows its Call-Handling rules.No
Ring grouppilot 6000 (Sales)Hands the call to the group’s hunt strategy (simultaneous / sequential / round-robin).No
Voicemailthis extension’s boxSends 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

12.5.2 Procedure — forward all calls to a colleague

  1. Open Call Handling. For extension 1001, open the Call Handling tab.
  2. Enable forward-all. Set Forward all (find-me) to .
  3. Set the target. In Forward to enter the destination — here extension 1002 “Ben Ong”. For an external number, enter it in full international format (and confirm a carrier is connected).
  4. Confirm DND is off. Forward-all only runs when DND is off; check the DND switch above it is .
  5. Save and test. Select Save handling, then call 1001. It should ring 1002 directly, without alerting Alice’s own devices first.
  6. Turn it off on return. Toggle forward-all back off and save so 1001 rings its own devices again.
Worked example — covering a desk during leave

Alice is on leave for the day and Ben is covering her line. You open 1001Call 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.

Forward-all vs. the no-answer rule

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.”

Avoid forwarding loops

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 ManualCh. 12 · Call Handling
ByondByondVoice — Administrator & Operations Manual
Ch. 12 · Call Handling

12.6 The busy / no-answer / unreachable ladder

The 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.

12.6.1 The three conditions

Busy

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.

No answer

A device rang but nobody picked up within the no-answer timeout. When the timer elapses the engine applies the If no answer target.

Unreachable

No device is registered or reachable for the extension (phone off, network down, never provisioned). The engine applies the If unreachable target straight away.

Follow-me

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.

12.6.2 Follow-me — sequential hunting

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.

Follow-me sequence · ext 1001

×
Ring each stage in order; advance after the no-answer timeout.
1 · Alice’s devices
desk + softphone · ext 1001
25s
2 · Ben Ong
extension 1002
20s
3 · Sales group
ring group 6000
15s
Final · Voicemail 1001
record a message
end
Add stageSave sequence
  1. Stages are rung strictly in order, top to bottom; reordering them changes the hunt. Drag a stage to move it.
  2. Each stage carries its own ring duration; the sequence advances when a stage’s timer elapses without an answer. Stage 1 here inherits the extension’s 25-second no-answer timeout.
  3. The dashed final stage is the terminal action — voicemail for the original extension — reached only if no live stage answers.
A three-stage follow-me sequence for ext 1001: own devices, then a deputy, then the Sales group, then voicemail.
ByondVoice — Administrator & Operations ManualCh. 12 · Call Handling
ByondByondVoice — Administrator & Operations Manual
Ch. 12 · Call Handling

12.6.3 Ring timers and how long a call really takes

The 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:

12.6.4 Procedure — build a busy / no-answer / unreachable ladder

  1. Open Call Handling for the extension (e.g. 1001) with DND and forward-all both off, so the ladder is in effect.
  2. Set the no-answer timeout. Enter the per-stage ring duration in seconds — e.g. 25.
  3. Set the busy target. Choose where a call goes when the line is busy — another extension, a ring group, or voicemail.
  4. Set the no-answer target. Choose where an unanswered call goes after the timeout — here extension 1002.
  5. Set the unreachable target. Choose where a call goes when no device is registered. Voicemail is the safe default so callers are never dropped.
  6. Add follow-me stages (optional). If you want a multi-stage hunt, add ordered stages and a per-stage duration for each (§12.6.2).
  7. Save and test all three branches. Select Save handling, then verify busy (call while on a call), no-answer (let it ring out) and unreachable (de-register the device) each route as intended (§12.7).

12.6.5 Call-Handling fields — reference

FieldPriorityWhat it doesTypical value
Do-Not-Disturb1 (highest)On → straight to voicemail; overrides everything below.Off
Forward all (find-me)2On → redirect every call to one target; bypasses the device.Off
If busy →3Target when all devices are on a call (skips the timer).Voicemail or deputy
If no answer →3Target after the no-answer timeout elapses.1002 / voicemail
If unreachable →3Target when no device is registered (skips the timer).Voicemail
No-answer timeoutSeconds a stage rings before the engine advances.25 s
Follow-me sequence3Ordered list rung stage by stage on no-answer, ending at voicemail.0–3 stages
Final actionlastWhat catches an unanswered call — almost always voicemail.Voicemail
Always set unreachable to 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 ManualCh. 12 · Call Handling
ByondByondVoice — Administrator & Operations Manual
Ch. 12 · Call Handling

12.7 Worked example — ring 1001 for 25 s, then 1002, then voicemail

This 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.

12.7.1 The configuration

On extension 1001 “Alice Tan”, in Call Handling: DND off; forward-all off; no-answer timeout = 25; If no answer1002 “Ben Ong”; If busy1002; 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.

12.7.2 Tracing one call

The call’s journey — each stage and what the engine does next
Call → 1001t = 0s
Ring 10010–25s · no answer
Forward 100225–45s · no answer
Voicemailt = 45s · 1001 box
  1. t = 0s · the call arrives. A caller dials 1001. ByondSwitch reads 1001’s config: DND off, forward-all off — so it probes the device. Alice’s desk phone and softphone start to ring.
  2. 0–25s · 1001 rings. The devices ring for the full 25-second no-answer timeout. Alice is away from her desk and does not pick up. At 25 seconds the timer elapses: this is a no-answer condition.
  3. t = 25s · apply the no-answer target. The engine takes 1001’s If no answer target, 1002, and rings Ben Ong. The call now obeys Ben’s rules.
  4. 25–45s · 1002 rings. Ben’s phone rings for his own 20-second timeout. Ben is in a meeting and does not answer. At 45 seconds Ben’s line hits its own no-answer condition.
  5. t = 45s · land in voicemail. The call falls through to voicemail. ByondVoice records the message against the original extension, 1001, so it surfaces in Alice’s mailbox — visual voicemail and voicemail-to-email — not Ben’s.
The message lands in the right box

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.

Watch the cumulative wait

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.

Same setup, different outcomes

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 ManualCh. 12 · Call Handling
ByondByondVoice — Administrator & Operations Manual
Ch. 12 · Call Handling

12.8 Forwarding to an external number needs a carrier

Everything 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).

Internal forward stays inside the PBX; an external forward must egress via the carrier
Internal forward
1001 → 1002, or 1001 → ring group 6000, or 1001 → voicemail. Handled entirely by ByondSwitch inside the tenant. No carrier required; works on day one.
no carrier
External forward
1001 → +65 9xxx xxxx (a mobile). The call must bridge out of the platform over the carrier trunk, so it requires a connected, enabled carrier connector and outbound-PSTN capability for the tenant.
carrier required

12.8.1 What must be true before an external forward works

12.8.2 Procedure — forward a line to a mobile

  1. Confirm the carrier. Verify a connector is enabled for the tenant and the tenant has outbound PSTN in its licence. If not, the external target will fail at call time even though it saves.
  2. Open Call Handling for the extension (e.g. 1001).
  3. Choose where to put the external number. Use Forward all to send every call to the mobile, or the If no answer target to send only missed calls there.
  4. Enter the number in full. Type the destination in international format, e.g. +65 9123 4567.
  5. Save and test with a real call. Select Save handling and place an actual call — an external bridge can only be truly confirmed end to end over the live trunk.
An external forward is a billable outbound call

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.

Without a carrier, an external target silently fails over

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 ManualCh. 12 · Call Handling
ByondByondVoice — Administrator & Operations Manual
Ch. 12 · Call Handling

12.9 Best practice, edge cases and troubleshooting

Call-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.

12.9.1 Best practice

12.9.2 Troubleshooting

SymptomLikely causeFix
Caller goes straight to voicemail, no ringDND 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 phoneForward-all is onSwitch forward-all off so the call probes the device first.
Missed call doesn’t reach the deputyNo-answer target blank, or timeout too long and caller hangs up firstSet the If no answer target; shorten the timeout to 20–25 s.
External forward saves but never connectsNo carrier / outbound capability, or number not in international formatConfirm the connector and licence; re-enter the number with + country code (§12.8).
Call rings forever or loopsTwo extensions forward to each otherBreak the loop; one side should end at voicemail, not forward back.
A ring-group member never alertsThat member has DND onTurn off the member’s DND; DND silences group paths too.
Unanswered call drops with no messageUnreachable target left blankSet If unreachable → Voicemail on every extension.
Try it · build and trace the chapter’s ladder

In a sandbox tenant with two extensions: (1) on 1001, set DND and forward-all off, no-answer timeout 25, If no answer1002, If busy1002, 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.

Where to go next

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 ManualCh. 12 · Call Handling
ByondByondVoice — Administrator & Operations Manual
Ch. 13 · Ring Groups
Chapter 13

Ring and hunt groups

Most 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.

13.1 What a ring group is

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:

Pilot number

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.

Strategy

How the call is spread across members: simultaneous (all at once), sequential (in order), or round-robin (share the load). See § 13.3.

Members & order

The destinations that ring — internal extensions or external numbers — in a priority order you control by drag-to-reorder. See § 13.4.

Timing & overflow

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.

Ring group versus shared line versus auto-attendant

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.

Works today, no carrier required

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 ManualCh. 13 · Ring Groups
ByondByondVoice — Administrator & Operations Manual
Ch. 13 · Ring Groups

13.2 The Ring Groups screen

Ring groups for a tenant are managed under Call RoutingRing Groups. 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.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Conferences5
Carrier
Connectors1
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Ring Groups// call routing · tenant Acme Corp
ENV: PRODSA
// call routing

Ring Groups

Pilot numbers that distribute an incoming call across a list of members by a strategy.

ExportNew ring group
Ring groups
3
in this tenant
With overflow
3
fallback set
External members
1
carrier-gated
Avg ring
22s
before overflow
PilotNameStrategyMembersRingOverflowStatus
6000SASales simultaneous220svoicemail live
6001SUSupport round-robin425sext 1004 live
6002FDFront Desk sequential318sexternal live
1
2
3
4
5
6
7
  1. Ring Groups (active nav item) — in the Call Routing group, between Numbers/PBX above and auto-attendants below. The count is the number of groups in this tenant; groups never cross tenant boundaries.
  2. Breadcrumb & scope — the screen is scoped to one tenant (Acme Corp). Pilot numbers and member extensions are all resolved within that tenant.
  3. New ring group — opens the create-group dialog (§ 13.2.1). Export downloads the routing inventory for audit and change-control.
  4. KPI tiles — total groups, how many have an overflow set (a group with none can drop a caller — see the warning in § 13.5), how many reach external members, and the average ring window across groups.
  5. Pilot & name — the dialable pilot (here 6000) and its friendly label. Click a row to open the group editor.
  6. Strategy badge — the distribution method in force: simultaneous, sequential or round-robin (§ 13.3).
  7. Ring & overflow — the ring window before the group gives up, and the overflow destination (voicemail, an extension, or an external number) where unanswered calls land (§ 13.5).
Ring Groups — the per-tenant inventory of pilot numbers, each with its strategy, member count, ring window and overflow target.
ByondVoice — Administrator & Operations ManualCh. 13 · Ring Groups
ByondByondVoice — Administrator & Operations Manual
Ch. 13 · Ring Groups

13.2.1 Create a group and choose its pilot number

A 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.

New ring group — Acme Corp

×
Group nameSalesShown on the console and in call logs.
Pilot number60003–5 digits, free in this tenant.
StrategySimultaneous
Ring seconds20Per stage / total — see §13.5.
Caller-ID prefix[Sales]Optional tag members see.
Overflow targetVoicemail — group mailbox 6000
Skip members on DND / unregistered
Don’t ring a member whose device is offline or in Do-Not-Disturb
Cancel Create group
  1. Group name is the friendly label shown across the console and stamped on call logs — keep it the team’s real name (Sales, Support) so logs read naturally.
  2. Pilot number must be free in this tenant’s numbering plan; the dialog rejects a number already used by an extension, another group or a conference. A 6xxx band for groups keeps them visually distinct from 1xxx extensions.
  3. Strategy and ring seconds set how and how long the group rings; both are explained in § 13.3 and § 13.5 and can be changed later without re-creating the group.
  4. Caller-ID prefix (optional) tags the inbound display so a member can tell a group call ([Sales] +65 3159…) from a direct call before they answer.
  5. Skip members on DND / unregistered keeps the hunt moving: a member in Do-Not-Disturb or whose device is offline is passed over rather than ringing into nothing — covered in § 13.4.1.
The create-group dialog — name, pilot, strategy, ring window and overflow in one step; members are added next.
  1. Open the screen. Confirm the breadcrumb scope reads tenant Acme Corp and the chip shows ENV: PROD, then in Call RoutingRing Groups select New ring group.
  2. Name it. Type a group name — the team’s real name, e.g. Sales.
  3. Choose the pilot. Enter a free 3–5 digit pilot number (e.g. 6000). If it is taken the dialog flags it; pick another in your group band.
  4. Pick a strategy. Select Simultaneous, Sequential or Round-robin (§ 13.3). You can change this at any time.
  5. Set ring seconds and overflow. Enter the ring window (e.g. 20) and choose where unanswered calls go (e.g. the group mailbox). Both are detailed in § 13.5.
  6. Create. Select Create group. The group appears on the inventory immediately; now add members (§ 13.4).
Reaching the pilot from outside

Dialling the pilot internally works the moment the group exists. To let an external caller reach it, point a DID at the pilot under SupplyNumbers (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 ManualCh. 13 · Ring Groups
ByondByondVoice — Administrator & Operations Manual
Ch. 13 · Ring Groups

13.3 Distribution strategies

The 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.

// call routing

Three strategies, one group

How a single inbound call to pilot 6000 is spread across members 1001, 1002 and 1003.

Simultaneous

all at once
1001 1002 1003
All three ring together for the full window. First to pick up wins; the others stop. Fastest possible answer.

Sequential

in order
1001 1002 1003
Ring member 1, then 2, then 3 — each for the per-stage window — until one answers. Honours priority order.

Round-robin

share the load
Call 1 → 1001 · Call 2 → 1002 · Call 3 → 1003
Start point rotates each call so the same person is not always hit first. Spreads volume fairly.

Choosing

rule of thumb
Speed → simultaneous. Seniority / escalation → sequential. Fair workload → round-robin.
All three end the same way: at the overflow target if nobody answers (§ 13.5).
The three distribution strategies compared on one three-member group. Order matters for sequential and round-robin; for simultaneous it does not.
StrategyHow it ringsOrder matters?Best for
SimultaneousEvery member rings at once for the full ring window; the first to answer takes the call and the rest stop ringing.NoSmall teams that must answer fast — sales, a help line — where any free person should grab it.
SequentialMembers 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-robinLike 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.
Sequential and round-robin add up

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 ManualCh. 13 · Ring Groups
ByondByondVoice — Administrator & Operations Manual
Ch. 13 · Ring Groups

13.4 Members, priority and reordering

A 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.

Sales (6000) — members

×
// drag to reorder · order drives sequential & round-robin
#MemberTypeRing
⋮⋮1ATAlice Tan 1001 extension20sRemove
⋮⋮2BOBen Ong 1002 extension20sRemove
⋮⋮3Sales mobile +65 9123 4567 external25sRemove
Add extensionSearch number or name…
Add external number+65 …Carrier-gated.
Close Save members
  1. Drag handle & priority (#) — grab ⋮⋮ to reorder. The # column is the priority: member 1 rings first in sequential, and seeds the rotation in round-robin. Reordering takes effect on the next call — no re-create needed.
  2. Internal extension members1001 and 1002 are extensions in this tenant; they ring the member’s own device(s) and respect that member’s DND.
  3. External member — a PSTN number (here a sales mobile) shown with an external badge. It rings out over the connected trunk and is therefore carrier-gated.
  4. Per-member ring override — you may give a member its own ring window (the mobile here rings 25s) to allow for the longer setup time of an external leg; otherwise it inherits the group window.
  5. Add member — attach an internal extension by search, or type an external number. New members append to the bottom (lowest priority); drag them up if order matters.
The members editor for Sales (6000): two extensions and one external mobile, in priority order, each with an optional per-member ring window.
  1. Open the group. In Call RoutingRing Groups click the group’s row, then the Members tab.
  2. Add an internal member. In Add extension type a number or name (e.g. 1001) and select it. It appends to the list.
  3. Add an external member (if needed). In Add external number type the full E.164 number (e.g. +65 9123 4567). It is marked external and rings only when a trunk is connected.
  4. Set the order. Drag the ⋮⋮ handle to place members in priority order — first to ring at the top. (Skip this for a simultaneous group; order is ignored there.)
  5. Optionally override a member’s ring. Give a slow external leg a longer window if it needs more setup time.
  6. Save. Select Save members. Changes apply to the next call into the group.
ByondVoice — Administrator & Operations ManualCh. 13 · Ring Groups
ByondByondVoice — Administrator & Operations Manual
Ch. 13 · Ring Groups

13.4.1 How members behave when busy, in DND, or offline

Real 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 stateSimultaneousSequential / round-robin
Free & registeredRings for the window; can answer.Rings at its turn for the per-stage window.
On Do-Not-DisturbWith 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 / unregisteredWith 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 unavailableThe group cannot place the call anywhere — it falls straight through to the overflow target (§ 13.5).
Leave “skip” on for sequential groups

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).

A member’s own forwarding is bypassed in the hunt

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”.

Worked example — a member is away

Acme’s Support group 6001 is sequential: 100410051006, 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 ManualCh. 13 · Ring Groups
ByondByondVoice — Administrator & Operations Manual
Ch. 13 · Ring Groups

13.5 Ring seconds and the overflow target

Two 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.

13.5.1 Ring seconds

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” meansWorst-case wait before overflow
SimultaneousThe one window all members ring together.= ring seconds (e.g. 20s).
SequentialThe per-stage window for each member in turn.≈ ring seconds × number of members (plus any overrides).
Round-robinThe per-stage window for each member, from the rotating start point.≈ ring seconds × number of members.
Keep the total under the caller’s patience

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.

13.5.2 The overflow target

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 targetWhat happensWhen to use it
VoicemailThe 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.
ExtensionThe 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 numberThe 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 groupThe call cascades into a second group (e.g. SalesSupport) as a wider net.Tiered overflow: try the primary team, then a broader pool, then voicemail at the end.
Always set an overflow

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 ManualCh. 13 · Ring Groups
ByondByondVoice — Administrator & Operations Manual
Ch. 13 · Ring Groups

13.6 How a group routes a live call

Ring 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.

// routing at call time

The life of a call to pilot 6000

How the engine resolves a simultaneous group from saved configuration, end to end.

Routing ladder

live render
1 · Call hits pilot. A caller dials 6000 (internally, or via a DID pointed at it). ByondSwitch matches the pilot to the Sales group.
2 · Resolve members & states. The engine reads members 1001, 1002 and checks each: registered? on a call? in DND? With skip on, unavailable members are dropped from this attempt.
3 · Ring per strategy. Simultaneous → offer the call to all eligible members at once over the SBC / WebSocket; the ring window starts (20s).
4 · First answer wins. The first member to pick up is bridged to the caller; the engine cancels the ring on every other member instantly.
5 · No answer → overflow. If the window elapses with no answer (or all members were unavailable), the call is routed to the overflow — here the group mailbox, which records and emails the message.

Answered path

bridged
caller → pilot 6000 → 1001 answers → two-way audio; 1002 stops ringing.

Unanswered path

overflow
caller → pilot 6000 → 20s, no answer → voicemail 6000 → visual VM + email.
The live routing ladder for a simultaneous group — resolve members, ring per strategy, bridge the first answer, or overflow on timeout.
Edits are live; in-flight calls are not

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 ManualCh. 13 · Ring Groups
ByondByondVoice — Administrator & Operations Manual
Ch. 13 · Ring Groups

13.7 Worked build — Sales (6000), simultaneous, overflow to voicemail

This 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.

13.7.1 Procedure — build the Sales group

  1. Confirm scope. In the admin console check the breadcrumb reads tenant Acme Corp and the chip shows ENV: PROD. Open Call RoutingRing Groups.
  2. Create the group. Click New ring group. Name it Sales, pilot 6000, strategy Simultaneous, ring seconds 20, overflow Voicemail — group mailbox 6000, and leave Skip members on DND / unregistered on. Select Create group.
  3. Add the members. Open the new group’s Members tab. In Add extension add 1001 (Alice Tan), then 1002 (Ben Ong). Order is irrelevant for a simultaneous group, so leave them as added. Select Save members.
  4. Confirm the overflow mailbox exists. The group mailbox 6000 is created with the group; under Hosted PBXVoicemail set its greeting (“You’ve reached Acme Sales…”) and confirm voicemail-to-email recipients.
  5. Make it reachable from outside (optional). To take external sales calls, point a DID at the pilot under SupplyNumbers — e.g. +65 3159 0010 → ring group 6000. Carrier-gated.
  6. Verify end-to-end. From extension 1003 dial 6000: both 1001 and 1002 should ring at once. Answer on 1002 and confirm 1001 stops ringing and you have two-way audio. Then call 6000 again and let it ring out: after 20s the caller should reach the Sales greeting and be able to leave a message that lands as visual voicemail and as an email.
Worked example — two calls into Sales, minute by minute

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.

Try it

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.

Test before you publish the DID

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 ManualCh. 13 · Ring Groups
ByondByondVoice — Administrator & Operations Manual
Ch. 14 · Auto-attendants
Chapter 14

Auto-attendants (IVR)

An 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 (09, 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 Call RoutingAuto-Attendants 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.

14.1 What an auto-attendant is — the model

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.

Identity & greeting

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 digit→action menu

The heart of the IVR: a table of keys (09, *, #), 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.

Build internally now; the outside door needs a carrier

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 ManualCh. 14 · Auto-attendants
ByondByondVoice — Administrator & Operations Manual
Ch. 14 · Auto-attendants

14.2 The Auto-Attendants screen

Open Call RoutingAuto-Attendants 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.

admin.byondvoice.com
Supply
Numbers5
Hosted PBX
Extensions & Devices2
Voicemail2
Call Routing
Ring Groups1
Auto-Attendants2
Conferences1
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Auto-Attendants// call routing · tenant Acme Corp
ENV: PRODSA
// call routing — tenant Acme Corp

Auto-Attendants

Automated menus that answer a call, greet, and route on the digit pressed.

Tenant: Acme Corp ▾+ New attendant
Attendants
2
in this tenant
Published
1
live now
Drafts
1
not yet live
Menu keys
3
mapped · main menu
NameAccess no.KeysStateVersion
MMAcme Main Menugreeting · 3 keys mapped70013 publishedv4Open ›
AHAfter-Hoursgreeting · 1 key mapped70021 draftv2Open ›
1
2
3
4
5
6
  1. Call Routing rail — the active Auto-Attendants item shows the gradient bar and a live count (2) for the tenant in scope. It sits between Ring Groups (the pilots an attendant key can target) and Conferences.
  2. Breadcrumb scope — the mono subtitle reads tenant Acme Corp. Every attendant, and every target its keys may reach, lives in that tenant. The Tenant: … ▾ selector switches it.
  3. New attendant — opens the create flow (§14.4) and drops you into the visual menu builder. A brand-new attendant starts as a draft until you publish it.
  4. Attendant row — the name (with a hint of its greeting and how many keys are mapped) and the internal access number (7001) that any extension can dial to reach it.
  5. Publish state published means the live, callable menu; draft means edited but not yet taken live (§14.8).
  6. Version & actions — the currently-live version label (v4) and Open › into the builder, where edit, delete and publish live.
Auto-Attendants — the call-routing list, scoped to Acme Corp. One row per menu, with its access number, state and live version.
Read the State column before you touch anything

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 ManualCh. 14 · Auto-attendants
ByondByondVoice — Administrator & Operations Manual
Ch. 14 · Auto-attendants

14.3 The visual menu builder

Opening 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.

admin.byondvoice.com/#aa/7001
Acme Main Menu// auto-attendant · ext 7001 · tenant Acme Corp
unpublished changes JSON viewPublish
// menu builder

Acme Main Menu

Greeting, then a key for each route. Draft v5 · live v4.

Greeting

text-to-speech
“Thank you for calling Acme Corp. For sales, press 1. For support, press 2. To leave a message, press 9.”
► PreviewUpload audioen-SG · voice: Aria

Menu — key → action

+ Add key
KeyActionTarget
1ring group6000 · SalesEdit
2extension1002 · Ben OngEdit
9voicemailbox 1002 · SupportEdit
On timeout (8s, no key): voicemail · box 1002 On invalid key: replay greeting · max 3
1
2
3
4
5
6
  1. Builder breadcrumb — the attendant name and its internal access number (ext 7001) plus the tenant. The unpublished changes chip warns the live menu differs from what you are editing.
  2. JSON view & PublishJSON view flips the whole menu to the raw editor (§14.7); Publish promotes the current draft to live (§14.8). They are always within reach in the builder topbar.
  3. Greeting panel — the prompt the caller hears first, here as text-to-speech with a chosen locale and voice, plus Preview and Upload audio to use a recording instead (§14.4).
  4. Menu keys — one row per mapped key: the digit, its action type, and the resolved target. Add key appends a new mapping (§14.5.2); rows can be edited or removed.
  5. Action & target — the action pill (ring group / extension / voicemail) and the object it resolves to, drawn from this tenant.
  6. Timeout & invalid — the two fall-throughs: what happens when the caller presses nothing, and what happens on an unmapped key (§14.6). Never leave these unset.
The visual menu builder for the Acme Main Menu — greeting on top, the digit→action menu below, fall-throughs beneath.
ByondVoice — Administrator & Operations ManualCh. 14 · Auto-attendants
ByondByondVoice — Administrator & Operations Manual
Ch. 14 · Auto-attendants

14.4 Creating an attendant and its greeting

An 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.

14.4.1 The create dialog

New auto-attendant

×
NameAcme Main MenuShown across the console; not heard by callers.
Internal access no.7001Any extension can dial this to reach the menu.
Greeting source
text-to-speech upload audio
Greeting textThank you for calling Acme Corp. For sales, press 1. For support, press 2. To leave a message, press 9.What the caller hears first. Name the keys in the order they appear in the menu.
Localeen-SG (English, Singapore)
VoiceAria (neutral)
Cancel Create & open builder
  1. Name is the operator-facing label (“Acme Main Menu”); it never reaches the caller’s ear. The internal access number is the extension any colleague can dial to reach and test the menu — choose it from a reserved block (see §14.4.2) so it never clashes with a person or a group pilot.
  2. Greeting source chooses text-to-speech (type words, pick locale + voice) or upload audio (a recorded prompt). With text-to-speech, the greeting text is synthesised; with upload, you attach a WAV/MP3 instead.
  3. Locale & voice set the language and the synthetic speaker for text-to-speech. Match the locale to your callers (here en-SG); the voice is a stylistic choice you can preview before publishing.
The create dialog. “Create & open builder” saves the attendant as a draft and drops you into the menu builder.

14.4.2 Choosing the access number, and writing the greeting

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 — 70007099 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.

Write the greeting to match the menu, and put the message option last

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 ManualCh. 14 · Auto-attendants
ByondByondVoice — Administrator & Operations Manual
Ch. 14 · Auto-attendants

14.5 The digit→action menu

The 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.

14.5.1 The action catalogue — reference

ActionWhat it doesTargetTypical use
extension Ring an extensionRings 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 pilotRings 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 mailboxDrops 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.

14.5.2 Procedure — add a menu key

  1. Open the attendant in the builder. From the list, Open › the attendant; confirm the breadcrumb reads the right tenant Acme Corp.
  2. Add a key. In the Menu panel select + Add key.
  3. Pick the digit. Choose the key the caller will press — 09, * or #. A digit already mapped is offered for replacement, never silently duplicated.
  4. Choose the action. Select extension, ring group or voicemail.
  5. Choose the target. Pick the resolved object from the tenant-scoped picker — an extension, a pilot, or a mailbox.
  6. Save the key. The row appears in the menu table. It is part of the draft until you publish (§14.8).

Worked example — map key 1 to the Sales group

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. In the Acme Main Menu builder you select Add key and pick digit 1.
  2. You choose action ring group; the picker lists Acme’s pilots and you select 6000 · Sales.
  3. You save. The menu now shows 1 → ring group → 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 ManualCh. 14 · Auto-attendants
ByondByondVoice — Administrator & Operations Manual
Ch. 14 · Auto-attendants

14.6 Timeout, invalid keys and other fall-throughs

A 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.

On timeout (no key pressed)

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.

On invalid key (unmapped digit)

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).

14.6.1 Fall-through fields — reference

FieldMeaningSensible 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 → actionWhat 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 → actionWhat happens when an unmapped key is pressed.Play “not a valid option” and replay the greeting.
Max retriesHow many times the menu re-prompts before giving up.2–3, then fall to a mailbox — do not loop forever.
Never end a fall-through in silence — and never 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.

14.6.2 Edge cases worth designing for

ByondVoice — Administrator & Operations ManualCh. 14 · Auto-attendants
ByondByondVoice — Administrator & Operations Manual
Ch. 14 · Auto-attendants

14.7 The raw-JSON escape hatch

Everything 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.

admin.byondvoice.com/#aa/7001/json
Acme Main Menu — JSON// auto-attendant · ext 7001 · draft v5
validated · 0 errors Visual viewSave draft
// auto-attendant 7001 · draft v5 · editable
{
  "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 }
}
1
2
3
4
  1. Validation status — the editor validates as you type. validated · 0 errors means the document is well-formed and every target resolves; you cannot Save draft while errors stand.
  2. Greeting blocktype is tts (with locale, voice, text) or audio (with a url to the uploaded prompt). This mirrors the greeting panel in the builder.
  3. Menu map — one entry per key; each is an action (ring_group / extension / voicemail) and a numeric target in this tenant. Keys absent here are unmapped.
  4. Fall-throughstimeout (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 raw-JSON view of the Acme Main Menu — the same object as the visual builder, editable directly.
JSON edits skip the guard-rails — validate, then prefer the builder

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.

JSON is the fastest way to clone a menu

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 ManualCh. 14 · Auto-attendants
ByondByondVoice — Administrator & Operations Manual
Ch. 14 · Auto-attendants

14.8 Versions, draft and publish — taking a menu live

Auto-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.

Draft — safe to edit

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.

Published — live to callers

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.

Publish “Acme Main Menu”

×
This makes the draft live for every caller.
Currently live
v4 · published 6 Jun
Publishing
v5 (this draft)
Change summary (optional)Add key 9 → Support voicemail; reword greeting.Saved in the version history for audit and rollback.
  • 3 keys mapped · timeout & invalid set
  • All targets resolve in tenant Acme Corp
Cancel Publish v5 — go live
  1. The banner is explicit: publishing makes the draft live for every caller. The dialog restates the version you are replacing (v4) and the one you are promoting (v5) so you never publish the wrong thing.
  2. The change summary is stored in the version history — write one, so a future operator (or you, at 2 a.m.) can see why a version exists and what it changed. The pre-flight checks confirm the menu is complete and every target resolves.
The publish dialog. Publishing stamps a new version and takes the draft live; prior versions are kept for rollback.

14.8.1 Procedure — edit safely and publish

  1. Open the attendant. Open › it from the list; the builder loads the current draft. Confirm the tenant Acme Corp scope.
  2. Edit the draft. Change the greeting, add or repoint keys, set the fall-throughs. Callers still hear the live version throughout — the unpublished changes chip shows the gap.
  3. Preview the greeting and re-read every key in the menu table. Switch to JSON view (§14.7) for a final eyeball if you wish.
  4. Publish. Select Publish, write a one-line change summary, and confirm. The draft becomes the new live version.
  5. Verify live. From any extension dial the access number (7001) and walk the menu — press each key and confirm it lands where intended (§14.9).

14.8.2 Rolling back

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.

Edits are not live until you publish

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 ManualCh. 14 · Auto-attendants
ByondByondVoice — Administrator & Operations Manual
Ch. 14 · Auto-attendants

14.9 Worked example — the Acme Main Menu, end to end

This 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.

14.9.1 Build it

  1. Create the attendant. In Call RoutingAuto-Attendants, confirm the tenant Acme Corp scope, then + New attendant. Name it 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.
  2. Map key 1 → Sales. + Add key, digit 1, action ring group, target 6000 · Sales.
  3. Map key 2 → Ben. Add key, digit 2, action extension, target 1002 · Ben Ong.
  4. Map key 9 → voicemail. Add key, digit 9, action voicemail, target box 1002 · Support.
  5. Set the fall-throughs. Timeout 8svoicemail box 1002; invalid → replay greeting, max 3 retries (§14.6).
  6. Publish. Publish, summary “Initial main menu: 1 Sales, 2 Ben, 9 message.”, confirm. The attendant flips to published at v1.

14.9.2 Test it

  1. Reach the menu. From extension 1001 (Alice) dial 7001. You hear the greeting.
  2. Test key 1. Press 1 — the Sales group rings on its strategy. Confirm it follows the group’s overflow if unanswered.
  3. Test key 2. Call again, press 2 — Ben’s extension 1002 rings; unanswered, it follows Ben’s own call-handling to his voicemail.
  4. Test key 9. Call again, press 9 — you drop straight into the Support mailbox; leave a test message and confirm it appears as visual voicemail and emails out.
  5. Test the fall-throughs. Call and press nothing — after 8s the greeting replays once, then you land in the Support mailbox. Call and press 5 (unmapped) — you hear “not a valid option” and the greeting replays.

The finished menu, at a glance

KeyActionTargetCaller experience
1ring group6000 · SalesWhole Sales team rings.
2extension1002 · Ben OngBen’s line rings; then his voicemail.
9voicemailbox 1002 · SupportStraight to the Support mailbox.
timeoutvoicemailbox 1002 (after 8s)No key → replay once → mailbox.
invalidreplaymax 3 retriesWrong 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 ManualCh. 14 · Auto-attendants
ByondByondVoice — Administrator & Operations Manual
Ch. 14 · Auto-attendants

14.10 Reaching an attendant from outside — the carrier DID

So 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.

14.10.1 How an external call reaches the menu

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.

// inbound path · external caller → menu
# 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 1ring_group 6000 (Sales) rings on its strategy   # exactly as internal test
The menu is the same; only the door is carrier-gated

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.

14.10.2 Editing and deleting an attendant

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:

Check what points at a menu before you unpublish or delete it

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.

14.11 Best practice — a quick checklist

Try it · build and prove the Acme Main Menu (sandbox)

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 ManualCh. 14 · Auto-attendants
ByondByondVoice — Administrator & Operations Manual
Ch. 15 · Conferences
Chapter 15

Conference rooms

A 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 Call RoutingConferences 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.

15.1 The conference-room model

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.

Room number = the address

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).

Two PINs = two roles

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.

Max members = the cap

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.

Enabled = the switch

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.

Internal conferencing needs no carrier; external dial-in does

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 ManualCh. 15 · Conferences
ByondByondVoice — Administrator & Operations Manual
Ch. 15 · Conferences

15.2 The Conferences screen

Open Call RoutingConferences 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.

admin.byondvoice.com
Supply
Numbers5
Hosted PBX
Extensions & Devices2
Voicemail2
Call Routing
Ring Groups1
Auto-Attendants1
Conferences3
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Conferences// call routing · tenant Acme Corp
ENV: PRODSA
// call routing — tenant Acme Corp

Conferences

Persistent meeting rooms with member & moderator PINs and a capacity cap.

Tenant: Acme Corp ▾+ New room
Rooms
3
configured
Enabled
2
accepting callers
In session
1
rooms occupied now
Participants
4
legs connected
All Enabled In session Filter by number or name… 3 rooms
RoomNamePINsOccupancyStatus
3000AHAcme All-Handsmax 25 member moderator 4 / 25 enabledOpen ›
3010SSSales Standupmax 10 member 0 / 10 enabledOpen ›
3099QBQ4 Board (seasonal)max 8 member moderator disabledOpen ›
1
2
3
4
5
6
  1. Call Routing rail — the active Conferences item shows the gradient bar and a live count (3) of rooms configured for the tenant in scope. It sits with Ring Groups and Auto-Attendants, the other routing destinations a caller can be sent to.
  2. Breadcrumb scope — the mono subtitle reads tenant Acme Corp. Every room below belongs to that tenant only; the Tenant: … ▾ selector switches it.
  3. New room — opens the create dialog (§15.3). A new room lands disabled-or-enabled per your choice with the PINs and cap you set.
  4. KPIs & filters — rooms configured, how many are enabled, how many are in session now and the total participant legs. Filter by All / Enabled / In session and type-ahead by number or name.
  5. PIN state column — shows which PINs a room has set as pills ( member, moderator), never the values. A room with no pill here has no PIN of that kind set.
  6. Occupancy & status — live legs / cap ( 4 / 25) and the enabled state. A disabled room shows disabled and a dash for occupancy because it cannot be joined.
The Conferences registry — one row per room, with PINs shown as state and occupancy shown live.
ByondVoice — Administrator & Operations ManualCh. 15 · Conferences
ByondByondVoice — Administrator & Operations Manual
Ch. 15 · Conferences

15.3 Creating a room

Selecting + 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.

15.3.1 The room dialog

New room

×
Room number30003–5 digits, unique in this tenant.
EnabledLIVE
Room nameAcme All-HandsShown in the console and to callers as the room they joined.
Member PIN•••••• SetJoins as a participant. Stored hashed.
Moderator PIN•••••• SetJoins with control. Stored hashed.
Max members25Hard cap on simultaneous legs; the next caller is refused.
Cancel Create room
  1. Room number is the internal number people dial to join; it must be unique within the tenant and is conventionally 3–5 digits. The Enabled switch makes the room live immediately; leave it off to stage a room and turn it on later.
  2. Room name is the human label shown in the console and announced or displayed to callers (“Acme All-Hands”); it has no effect on routing.
  3. Member PIN and Moderator PIN are write-only: you type a value to set or replace it, but the dialog only ever shows dots and a Set / Replace action — the stored value is hashed and can never be read back (§15.4). Either may be left unset.
  4. Max members is the hard capacity cap. Size it to the meeting plus headroom; the platform refuses callers beyond it rather than degrade the bridge (§15.7.2).
The room dialog. PIN fields are write-only: you can set or replace a PIN, never read it.

15.3.2 Room fields — reference

FieldMeaningNotes
Room numberThe 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 nameThe meeting or team the room belongs to.Cosmetic; editable any time. e.g. Acme All-Hands.
Member PINSecret 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 PINSecret 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 membersMaximum 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.
EnabledWhether the room accepts callers.Disable to retire a room without losing its number, PINs or settings; callers are refused while it is off.
Choose the room number deliberately — and avoid clashes

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 ManualCh. 15 · Conferences
ByondByondVoice — Administrator & Operations Manual
Ch. 15 · Conferences

15.3.3 Procedure — create a conference room

  1. Confirm the scope. Check the breadcrumb reads tenant Acme Corp and the chip shows ENV: PROD. Creating a room in the wrong tenant exposes a bridge to the wrong customer.
  2. Open the dialog. In Call RoutingConferences select + New room.
  3. Enter the room number. Type a 3–5 digit number from your conference block, e.g. 3000. A duplicate within the tenant is refused before anything is saved.
  4. Enter the room name, e.g. Acme All-Hands, so people recognise the room they have joined.
  5. Set the member PIN. Select Set on the Member PIN field and type a 4–6 digit value, e.g. 4731. It is hashed on save; you will not see it again, so record it where you will distribute it.
  6. Set the moderator PIN. Select Set on the Moderator PIN field and type a different value, e.g. 9082. Keep this one to a small, trusted group.
  7. Set max members. Choose a cap that covers peak attendance plus headroom, e.g. 25 for a team of about twenty.
  8. Leave Enabled on, then select Create room. The room appears in the list as enabled with 0 occupancy and both PIN pills lit.
  9. Test it. From a registered extension dial 3000, enter the member PIN and confirm you are placed into the bridge; then dial again with the moderator PIN and confirm you join with controls (§15.6).

Worked example — create room 3000 for Acme Corp

Acme 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.

  1. You confirm the breadcrumb reads tenant Acme Corp, then select New room.
  2. You enter number 3000 and name Acme All-Hands.
  3. You set the member PIN to 4731 and the moderator PIN to 9082 — two distinct values — and note both in the team password vault.
  4. You set max members to 25 (twenty staff plus headroom for guests and double-joins), leave Enabled on, and select Create room.
  5. The row 3000 · Acme All-Hands appears with enabled, occupancy 0 / 25, and both member and moderator pills lit.
  6. You dial 3000 from extension 1001, enter 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).

Pick PINs people can read out loud

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 ManualCh. 15 · Conferences
ByondByondVoice — Administrator & Operations Manual
Ch. 15 · Conferences

15.4 Member and moderator PINs

The 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.

15.4.1 The set-PIN panel

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.

Set member PIN · room 3000

×
Stored hashed. You will not be able to read this PIN again.
New member PIN47314–6 digits. Avoid 0000, 1234 or the room number.
Confirm PIN4731
Role granted
member (participant)
Storage
hashed · write-only
Cancel Save PIN
  1. The banner is explicit: the PIN is stored hashed and cannot be read again. Distribute it from what you typed here, or record it in your team’s vault before you save.
  2. The value is entered twice to guard against a typo — a mistyped PIN would lock out the very people you mean to admit. The panel restates which role this PIN grants so you never set the moderator value into the member slot by accident.
The set-PIN panel. The same panel, titled Replace, rotates an existing PIN (§15.4.3).

15.4.2 How a PIN is checked at join time

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.

A lost PIN cannot be recovered — only replaced

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.

15.4.3 Rotating a PIN

  1. Open the room. In Call RoutingConferences select Open › on the room, e.g. 3000.
  2. Replace the PIN. Next to Member PIN or Moderator PIN select Replace, type the new value twice, and select Save PIN.
  3. Confirm the change took. The PIN pill stays lit (a room still has that PIN); there is nothing to verify visually because the value is never shown. Test by dialling in with the new PIN.
  4. Re-distribute. Send the new PIN to the right audience — members or moderators — and retire the old one from your invites and vault. Anyone already in the room stays connected; rotation only affects who can join from now on.

15.4.4 Rooms with no PIN, or only one

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.

PatternMember PINModerator PINUse it for
Managed meeting set setAll-hands, board calls, client bridges — some attendees need control.
Flat meeting set unsetPeer standups where everyone is equal and no moderation is needed.
Open internal line unset unsetCasual internal drop-in only. not for external dial-in
Moderator-only (uncommon) unset setAnyone may join as a member with no PIN; only PIN-holders get control.
ByondVoice — Administrator & Operations ManualCh. 15 · Conferences
ByondByondVoice — Administrator & Operations Manual
Ch. 15 · Conferences

15.5 How users dial in

Once 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).

15.5.1 Joining from inside the tenant

  1. Dial the room number. From any registered extension — a desk phone, the softphone at my.byondvoice.com/phone, or a mobile client — dial the room number, e.g. 3000, exactly as you would dial a colleague’s extension.
  2. Enter the PIN when prompted. ByondVoice answers with a prompt; key the member or moderator PIN, e.g. 4731, followed by # if asked.
  3. Join the bridge. On a correct PIN you hear the join tone and are placed into the room with everyone else; your role (member or moderator) is set by which PIN you used.
  4. Leave. Hang up to drop your leg. The room stays open for the others until the last leg leaves (or the moderator ends it, §15.6).
// room 3000 · Acme All-Hands · how to join
# 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#

15.5.2 Joining from outside the tenant (carrier-gated)

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):

The PIN prompt is the same on both routes

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.

Worked example — an external client joins room 3000

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 ManualCh. 15 · Conferences
ByondByondVoice — Administrator & Operations Manual
Ch. 15 · Conferences

15.6 Moderator controls

A 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.

In conference · Acme All-Hands

moderator 4 / 25 00:14:22
ParticipantState
ATAlice Tan you talkingMute
BOBen Ong mutedUnmute
CLCarmen Lim listeningRemove
+1Client (+65…0030) listeningRemove
Mute all Lock room Record End for all
Leave (room stays open)
  1. Moderator badge & room meta — the panel confirms you are a moderator, the live occupancy ( 4 / 25) and the running duration. Members see the same roster but without the control buttons.
  2. Per-participant controls — mute or unmute any leg, or Remove a participant from the meeting. Useful for silencing a noisy line or ejecting someone who joined in error.
  3. Room-wide controlsMute all (mute every member but the moderators), Lock room (admit no further callers even with a valid PIN), Record, and End for all (close the bridge and disconnect everyone). Leave drops only your own leg.
The moderator’s in-call panel on the softphone. The same actions exist as keypad codes for hardware phones.

15.6.1 Moderator keypad commands — reference

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.)

KeysActionWhoEffect
*1Mute / unmute selfAnyoneToggles your own microphone. Members may always mute themselves.
*2Mute / unmute all membersmodSilences every member; moderators stay live. Press again to release.
*3Lock / unlock the roommodWhile locked, no new caller is admitted even with a correct PIN.
*4Start / stop recordingmodRecords the meeting audio (where recording is enabled for the tenant).
*5Announce participant countAnyonePlays the current number of people in the room to you only.
*8End conference for allmodCloses the bridge and disconnects every leg. Irreversible for that session.
“End for all” closes the meeting for everyone

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 ManualCh. 15 · Conferences
ByondByondVoice — Administrator & Operations Manual
Ch. 15 · Conferences

15.7 Operating rooms day to day

Beyond 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.

15.7.1 Enabling and disabling a room

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.

  1. Open the room from Call RoutingConferences.
  2. Toggle Enabled off to retire it, or on to bring it back, then save. Existing meetings are unaffected; the switch governs only new joins.
  3. Confirm the status pill in the list now reads disabled or enabled as intended.
Disable, don’t delete, for a recurring room

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).

15.7.2 Sizing the member cap

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.

MeetingExpected peakSuggested capWhy
Pair / 1:1 check-in24Headroom for a double-join or a guest.
Team standup8–1012Covers the team plus an occasional visitor.
Department all-hands~2025The Acme 3000 case — staff plus guests and moderators.
Town hall / webinar50+60+Confirm platform media capacity first; consider mute-all on entry.

15.7.3 Edge cases and treatments

SituationWhat the caller / operator experiences
Room at capacityThe 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 disabledCallers are refused; the list shows disabled. Re-enable to restore (§15.7.1).
Wrong PINThe 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 callThe caller joins directly as a member (no prompt). Acceptable only for an open internal line (§15.4.4).
Number clashThe 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 carrierA 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 sessionChanging 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.

15.8 Best practice & a full rehearsal

Number hygiene

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.

Two distinct PINs

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.

Right-sized caps

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.

Disable, don’t delete

Park recurring rooms with the Enabled switch to preserve their number and PINs. Reserve deletion for rooms that are genuinely finished.

Try it — stand up and rehearse room 3000 end to end

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 ManualCh. 15 · Conferences
ByondByondVoice — Administrator & Operations Manual
Ch. 16 · User Portal
Chapter 16

The user portal and softphone (admin view)

Everything 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.

16.1 Overview — the three surfaces and the mirror

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 console

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.

User portal

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.

Softphone PWA

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 My lineMy Phone and what her softphone will register as. Change the record and the user’s view changes; nothing is duplicated, so nothing can drift.

How an admin record reaches the user’s two surfaces
Admin console
you provision
Control plane
the API · config + auth
User portal
my.byondvoice.com
·
Softphone PWA
/phone · registers to SBC
The same record, authored once in the console, is read by the portal and turned into a live registration by the softphone.

16.1.1 What the user can change, and what stays yours

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.

CapabilityUser (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 noreveal-once at creation§ 16.6
Change own password yesreset 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 yesview state only§ 16.7
Strict per-user scoping

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.

Provision once, delegate the rest

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 ManualCh. 16 · User Portal
ByondByondVoice — Administrator & Operations Manual
Ch. 16 · User Portal

16.2 My Phone — the user’s home screen

The 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.

my.byondvoice.com
My line
My Phone
Voicemail3
Recent Calls
Control
Call Handling
My Devices2
Conferences
REGISTERED
Acme Corp · my.byondvoice.com
My Phone// your line · Alice Tan
AT
// my line

My Phone

Your extensions, devices and registration state — plus your profile and security.

Open softphone
My extensions
2
1001 · 1050
Devices
2
1 registered
Direct number
DID
+65 3159 0010
Security
OTP
email code on

Profile & security

you
Outbound caller-ID1001 — Alice Tan
Change passwordSet up authenticatorManage email OTP
1
2
3
4
5
  1. My line nav — the portal’s own two-group menu. It is deliberately narrower than the admin rail; a user can only ever act on themselves.
  2. Scoped to the signed-in user — the breadcrumb names the person, and every screen reflects only the extensions linked to that user record (here, Alice Tan).
  3. My extensions tile — the linked numbers you assigned in the console (1001 primary, 1050 a shared secondary), plus any direct DID you mapped.
  4. Devices & registration — how many SIP devices you provisioned for this user and how many are live right now — the user-side echo of the admin device drawer (§ 16.6).
  5. Profile & security — the few things the user owns: change password, enrol an authenticator (secret shown once to them), manage the email one-time-code, and pick the default outbound caller-ID among linked extensions.
My Phone — the user-facing mirror of the user record, scoped to the person’s linked extensions and devices.
ByondVoice — Administrator & Operations ManualCh. 16 · User Portal
ByondByondVoice — Administrator & Operations Manual
Ch. 16 · User Portal

16.2.1 What you provision so My Phone is complete

Everything 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.

  1. Create the extension. In Hosted PBXExtensions & Devices add the line (e.g. 1001, “Alice Tan”). This is the number that appears in the My extensions tile (§ 9).
  2. Link the user record. In Users link the person to 1001 as primary. The link is what populates the portal at all — an unlinked user signs in to an empty My Phone.
  3. Add a device. Under the extension, add at least one SIP device — a browser softphone softphone needs no manual config; the user just signs in. This drives the Devices tile and registration state.
  4. Map a direct DID (optional). If the user should be reachable from outside on their own number, assign a DID (e.g. +65 3159 0010) to the extension. It shows under Direct number; reaching it from the PSTN needs a connected carrier (§ 16.5 note).
  5. Set the primary caller-ID. The primary link decides the user’s default outbound caller-ID; the user can switch among linked identities themselves, but cannot invent a new one.
Worked example — Alice’s My Phone, fully populated

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.

An unlinked user sees an empty line

Create a user but link no extension and their portal signs in successfully yet My Phone 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.

Try it

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 ManualCh. 16 · User Portal
ByondByondVoice — Administrator & Operations Manual
Ch. 16 · User Portal

16.3 Voicemail — the user’s visual mailbox

When 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 Hosted PBXVoicemail screen administers the same boxes (§ 11); the portal is the user’s window onto theirs.

my.byondvoice.com/#voicemail
My line
My Phone
Voicemail3
Recent Calls
Control
Call Handling
My Devices2
Conferences
REGISTERED
Acme Corp · my.byondvoice.com
Voicemail// your line · Alice Tan · box 1001
AT
// my line

Voicemail

Play, read the transcript, mark read or delete — and set how new messages reach you.

Settings
FromReceivedTranscript
NEW +65 9123 456709:42 today“Hi Alice, it’s Maria — can you call me back about the Q3 order…”▶ Play
Ben Ong · 1002Yesterday 16:10“Ping me when you’re free, no rush.”▶ Play
+65 6555 0102Mon 11:05“This is the dentist confirming…”▶ Play
1
2
3
4
5
  1. Mailbox identity — the breadcrumb shows whose box this is and the extension it backs (box 1001). A user with two linked lines sees a box per line.
  2. New vs. read — unheard messages carry a NEW badge and drive the count on the nav (3); playing one marks it read.
  3. Transcript — an automatic text rendering of the message, on when you enable transcription for the box (settings, § 16.3.1). Skim instead of listen.
  4. In-browser playback▶ Play streams the recording in the page; the user can also download or delete it.
  5. Settings — voicemail-to-email, transcription on/off, and the mailbox PIN — the user-editable mirror of the box you administer in the console.
Visual voicemail in the portal — play, transcript, mark read and delete, plus message-delivery settings.
ByondVoice — Administrator & Operations ManualCh. 16 · User Portal
ByondByondVoice — Administrator & Operations Manual
Ch. 16 · User Portal

16.3.1 Voicemail settings — who sets the PIN, and how

The voicemail settings the user sees — voicemail-to-email, transcription, and the mailbox PIN — map one-to-one onto the box you administer in Hosted PBXVoicemail. 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.

SettingWhat it doesUser (portal)Admin (console)
Voicemail-to-emailEmails each new message (with the audio attached) to the user’s address. set address & toggle set & toggle
TranscriptionGenerates the text transcript shown in visual voicemail and the email. on / off on / off
Mailbox PINProtects retrieval by phone (*98). Hashed; never shown. set own PINset (reset); cannot read
MessagesPlay / transcript / mark read / delete. yesview & manage box

16.3.2 Procedure — turn on a user’s voicemail-to-email and reset a forgotten PIN

  1. Open the box. In Hosted PBXVoicemail select the user’s box (e.g. 1001).
  2. Enable email delivery. Toggle Voicemail-to-email on and confirm the destination address. New messages now arrive in the inbox with audio attached.
  3. Enable transcription. Toggle Transcription on so both the portal and the email carry readable text.
  4. Reset the PIN if locked out. Choose Set PIN, enter a new value, and tell the user out-of-band. They can change it again from portal settings; you will never see the stored value.
  5. Verify. Ring the extension, let it go unanswered, and confirm the message appears as NEW in the portal and lands in the inbox.
Worked example — Alice loses her mailbox PIN

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.

Email + transcription = inbox-first voicemail

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 ManualCh. 16 · User Portal
ByondByondVoice — Administrator & Operations Manual
Ch. 16 · User Portal

16.4 Recent Calls — the user’s personal history

Recent 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.

Personal log, not the CDR store

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.

16.5 Call Handling — rules the user controls, you can override

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.

These rules route real calls right now

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.

my.byondvoice.com/#call-handling
My line
My Phone
Voicemail3
Recent Calls
Control
Call Handling
My Devices2
Conferences
REGISTERED
Acme Corp · my.byondvoice.com
Call Handling// your line · Alice Tan · ext 1001
AT
// control

Call Handling

Decide what happens when 1001 rings — applied live to your next call.

Do not disturb
All calls go straight to voicemail.
Forward all calls
Ring another destination instead of your devices.

Fallback ladder

follow-me
If no answer after20 seconds
Then ring (in order)Mobile +65 9876 1234 · then 1050
FinallyVoicemail (box 1001)
1
2
3
4
  1. Do not disturb — when on, the engine sends every caller straight to voicemail without ringing any device. The fastest way to go heads-down.
  2. Forward all calls — overrides normal ringing and sends calls to a chosen destination (another extension, a mobile, or an external number where a carrier allows it).
  3. No-answer timer — how long the user’s own devices ring before the ladder advances; the worked default is 20 s.
  4. Follow-me chain & final stop — the ordered list of forward targets tried after no-answer, ending in voicemail so a call is never simply dropped.
Call Handling — DND, forward-all and the busy/no-answer/unreachable fallback ladder, all rendered live by the engine.
ByondVoice — Administrator & Operations ManualCh. 16 · User Portal
ByondByondVoice — Administrator & Operations Manual
Ch. 16 · User Portal

16.5.1 The rules, and how the engine reads them

There 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.

RuleCondition that triggers itWhat the engine doesCarrier-gated?
Do not disturbUser has DND on.No device rings; caller goes straight to voicemail.No
Forward-all / find-meForward-all is on.Rings the chosen destination instead of the user’s devices.External target needs a trunk
BusyThe line is already on a call.Rings the busy target, else voicemail.External target needs a trunk
No answerDevices ring past the timer.Advances to the next follow-me target, then voicemail.External target needs a trunk
UnreachableNo device is registered at all.Rings the unreachable target, else voicemail.External target needs a trunk
Internal works today; external needs a carrier

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.

16.5.2 Procedure — set a no-answer follow-me for a user

  1. Open the line’s rules. Either the user opens ControlCall Handling in the portal, or you open the same screen on the extension in the console.
  2. Leave DND and forward-all off. Those would short-circuit the ladder before the no-answer rung is reached.
  3. Set the no-answer timer. Choose how long the user’s own devices ring first — 20 s is a good default (long enough to answer, short enough not to annoy).
  4. Add the follow-me targets in order. e.g. the user’s mobile +65 9876 1234, then a colleague’s extension 1050.
  5. Set the final stop to voicemail. So an unanswered call always records a message rather than failing.
  6. Test it live. Ring the extension, let it go unanswered, and confirm the mobile rings next, then voicemail records — proving the engine read the saved rules.
Worked example — Alice on the road

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.

Last save wins — tell the user before you override

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 ManualCh. 16 · User Portal
ByondByondVoice — Administrator & Operations Manual
Ch. 16 · User Portal

16.6 My Devices and Conferences in the portal

The 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.

my.byondvoice.com/#devices
My line
My Phone
Voicemail3
Recent Calls
Control
Call Handling
My Devices2
Conferences
REGISTERED
Acme Corp · my.byondvoice.com
My Devices// your line · Alice Tan
AT
// control

My Devices

The phones registered to your line, and their live state.

browser softphoneWeb softphone registered
this browser · signed in · 12s ago
Open softphone Sign out
deskYealink T46 expired
last seen 40 min ago · contact your admin
1
2
3
4
  1. Device type tag — the browser softphone softphone and the desk phone you provisioned in the console (§ 9) appear here read-only.
  2. Live registration state registered, idle or expired — the same signal you read in the admin device drawer.
  3. Softphone self-service — the user can open or sign the softphone out themselves; the desk phone offers no portal action because its secret lives only in the handset.
  4. Admin-only hardware — a stale desk phone points the user back to you, because revealing its secret or re-provisioning it is a console-only action.
My Devices — the user’s view of their registered phones; the softphone is self-service, hardware is admin-provisioned.
The user never sees a SIP secret

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.

16.6.1 Conferences as the user sees them

You create conference rooms in Call RoutingConferences — 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.

Worked example — the Acme standup room

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 ManualCh. 16 · User Portal
ByondByondVoice — Administrator & Operations Manual
Ch. 16 · User Portal

16.7 The softphone PWA — what you provision, what the user gets

The 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.

my.byondvoice.com/phone
ByondVoice registered
1001 · Alice Tan · this browser
1050
123 456 789 *0#
☎ Call
Phone Contacts Chat History
1
2
3
4
  1. Registration state — the phone shows registered once it has signed in to the SBC over secure WebSocket and named the identity (1001 · Alice Tan) it provisioned from your browser softphone device.
  2. Dialpad — place internal calls by extension (1050), feature codes (*98 voicemail, 9196 echo test) or, with a carrier, external numbers.
  3. Call — originates the call; audio (and, if both ends support it, video) is negotiated over a secure browser connection, with TURN relaying media on restrictive networks.
  4. Tab bar — Phone · Contacts · Chat · History. The same PWA carries the team chat and the user’s call history alongside the dialer.
The idle softphone — a branded softphone PWA that registers on sign-in with no manual SIP entry.

16.7.1 Procedure — provision a user for the softphone, then have them register

  1. Add a browser device. On the user’s extension (1001) in Hosted PBXExtensions & Devices, add a device of type browser softphone. There is no blob to copy — the softphone fetches its own login.
  2. Make sure the user can sign in. The user needs a portal login linked to that extension (§ 7); the softphone shares the same identity and second factor as the portal.
  3. Send them to the phone. Have the user open my.byondvoice.com/phone and sign in (password, then the email one-time-code or authenticator if you armed MFA).
  4. Install to home screen. Ask them to install the PWA — this is what enables ring-while-locked notifications (§ 16.7.3).
  5. Confirm registration. The phone should read registered; in the console, the device’s state flips to registered too.
  6. Echo test. Have them dial 9196 and hear their own voice — proving two-way audio end to end.
ByondVoice — Administrator & Operations ManualCh. 16 · User Portal
ByondByondVoice — Administrator & Operations Manual
Ch. 16 · User Portal

16.7.2 In a call — hold, transfer, conference, video and chat

Once 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.

my.byondvoice.com/phone

In call

02:14
BO
Ben Ong
ext 1002 · connected
Mute Hold Keypad Transfer Add Video
☎ End call
Phone Contacts Chat History
1
2
3
4
  1. Live timer & party — the connected duration and the other party (here ext 1002 Ben Ong, an internal call that works with no carrier).
  2. Mute · Hold · Keypad — mute the mic, park the call (the far end hears hold treatment), or send DTMF digits when navigating an external IVR.
  3. Transfer · Add — blind-transfer the call to another extension or number, or Add a party to turn it into a conference.
  4. Video toggle — promote the call to two-way video mid-call, with picture-in-picture; toggle it back to audio at any time.
An active softphone call — mute, hold, blind transfer, conference, DTMF and a mid-call video toggle, all in the browser.
ControlWhat it doesNeeds a carrier?
MuteSilences the user’s microphone; the call stays up.No
HoldParks 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 transferSends 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 / PiPTwo-way video mid-call with picture-in-picture; toggle on/off.No (works internally)

16.7.3 Ring, push and “ring while locked”

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).

Notifications need a gesture and an install

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.

Restrictive networks → TURN

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.

Worked example — Alice answers from a locked phone

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.

Try it

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 ManualCh. 16 · Softphone
ByondByondVoice — Administrator & Operations Manual
Ch. 16 · User Portal

16.8 How admin choices appear to the user — the operator’s map

This 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 itUser can change?
Create extension 1001My Phone · My extensions tile; softphone identityNo
Link a second extension 1050My Phone tile; caller-ID selector; its own call-handlingPicks default caller-ID only
Add a browser softphone deviceMy Devices; the softphone can registerSign in / out
Add a desk deviceMy Devices (read-only, shows state)No (secret is admin-only)
Map a direct DIDMy Phone · Direct number; inbound reachability*No
Set the primary linkDefault outbound caller-IDSwitches among linked
Set voicemail-to-email / transcriptionVoicemail messages & emailed copiesYes
Reset the voicemail / conference PINRetrieval by *98; conference joinSets own (never reads)
Set call-handling rules on the lineCall Handling screen; live routing of the next callYes (last save wins)
Create a conference room 3000Conferences screen + dial-inNo (joins it)
Arm MFA / email one-time-codePortal & softphone sign-in challengeEnrols 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.

16.8.1 Best practice — provisioning so the user never has to ask

Cross-reference: the User Manual

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.

Diagnose from the user’s screen, not yours

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 ManualCh. 16 · User Portal
ByondByondVoice — Administrator & Operations Manual
Ch. 17 · Connectors
Chapter 17

Carrier connectors

Everything 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.

17.1 What a connector is, and the carrier gate

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 CarrierConnectors; 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).

CapabilityWorks with no connectorNeeds 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
One connector lights up a whole class of features

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.

17.1.1 Where a connector sits in the telephony fabric

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.

Where the connector sits between the PBX and the public network
Device / softphoneRegisters at the edge (ByondSBC) over SIP / secure WebSocket. Internal calls never leave this layer.edge
Hosted PBXByondSwitch renders routing at call time: extensions, ring groups, voicemail, call handling — all resolved here with no carrier.PBX
Carrier connectorThe PBX’s door to the outside. Outbound PSTN egresses here; inbound DIDs arrive here and are matched to a tenant. This is the gate.connector
Carrier / PSTNThe wholesale supplier and the public telephone network — mobiles, landlines, every other phone in the world.upstream

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 ManualCh. 17 · Connectors
ByondByondVoice — Administrator & Operations Manual
Ch. 17 · Connectors

17.2 The Connectors screen

Open CarrierConnectors 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.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Conferences5
Carrier
Connectors1
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Connectors// carrier · platform-wide
ENV: PRODSA
// carrier integration

Connectors

Wire ByondVoice to a carrier (SIP trunk) to unlock outbound PSTN and inbound DID delivery.

Type catalogue+ New connector
Connectors
1
configured
Healthy
1
trunk reachable
DIDs synced
14
from carrier
Concurrent PSTN
6 / 30
channels in use
ConnectorTypeOwnerCapabilitiesHealth
SGSG-Primarysip.sg.carrier.netGeneric SIP trunkPlatformPSTN out DID in healthyOpen ›
NBNimbus-BYOnot configuredReseller · NIMBUSinert unconfiguredOpen ›
1
2
3
4
5
6
  1. Carrier group, active — the Connectors item under Carrier is the single home for carrier integration; its live count is the number of configured connectors.
  2. Breadcrumb & scope — connectors are administered platform-wide. A connector’s owner (column 3) determines which tenants it actually serves, not the breadcrumb.
  3. New connector / Type catalogue — start a new integration, or open the read-only catalogue of supported connector types (§17.3).
  4. KPI strip — configured vs. healthy connectors, DIDs synced down from carriers, and live concurrent-PSTN channels against the platform ceiling.
  5. Capabilities — per-connector chips: PSTN out, DID in, and (on capable types) number search / port-in. inert means the row exists but nothing is wired.
  6. Health — the result of the last reachability test: healthy, unconfigured / degraded, or an error state. This is your first diagnostic when PSTN misbehaves.
The Connectors screen — one healthy platform connector and one reserved, unconfigured reseller slot.
Read the health column first

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 ManualCh. 17 · Connectors
ByondByondVoice — Administrator & Operations Manual
Ch. 17 · Connectors

17.3 The connector type catalogue

A 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.

Generic SIP trunk

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.

Carrier API integration

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.

TypeCarries callsNumber search / provisionPort-in automationCredentials neededBest for
Generic SIP trunk yesManual (preload)Manual / carrier-sideSIP host, auth user + secret (or IP auth)Any carrier; BYO trunks
Carrier API integration yes in-console in-consoleSIP creds + API key/secretSupported carriers wanting self-service numbers
Inbound-only trunkInbound DID onlyManualn/aSIP host, ACL/IP allow-listDID delivery from a number-only supplier
Outbound-only trunkOutbound PSTN onlyn/an/aSIP host, auth user + secretLeast-cost outbound on a second carrier
Split inbound and outbound deliberately

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.

The type is fixed after numbers are attached

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 ManualCh. 17 · Connectors
ByondByondVoice — Administrator & Operations Manual
Ch. 17 · Connectors

17.4 Configuring a connector with credentials

Creating 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.

admin.byondvoice.com

New connector

×
// carrier · SIP trunk · credentials encrypted at rest
Connector nameSG-Primary
TypeGeneric SIP trunk
OwnerPlatformWho this trunk serves. Platform = all resellers without their own carrier.
SIP host / proxysip.sg.carrier.net
TransportTLS · 5061
Auth methodRegister
Auth usernamesgtrunk_byond01
Auth secret••••••••••••
Outbound caller-ID prefix+65 3159
Concurrent-PSTN cap30
TestSave & sync
1
2
3
4
5
6
  1. Name & type — a human label (SG-Primary) and the connector type from the catalogue (§17.3), which fixes the rest of the form.
  2. TypeGeneric SIP trunk here. An API type would add an extra API key / secret pair to enable in-console number search and port-in.
  3. OwnerPlatform serves every reseller without its own carrier; Reseller · X scopes the trunk to that partner’s tenants only (§17.7).
  4. SIP host & transport — the carrier’s proxy and the transport. Prefer TLS for signalling so credentials and call metadata are encrypted in transit.
  5. Credentials — the auth username and secret the carrier issued. The secret is masked; once saved it is encrypted at rest and never shown again.
  6. Caller-ID prefix & cap — the authorised number range presented on outbound calls, and a ceiling on simultaneous PSTN channels so a runaway tenant cannot exhaust the trunk.
The create-connector dialog — type, endpoint, write-only credentials and an outbound caller-ID prefix.
ByondVoice — Administrator & Operations ManualCh. 17 · Connectors
ByondByondVoice — Administrator & Operations Manual
Ch. 17 · Connectors

17.4.1 Procedure — configure a connector

  1. Confirm scope. Check the environment chip reads ENV: PROD. A connector change is platform-wide and affects live calls — be certain before you act.
  2. Open the dialog. In CarrierConnectors select + New connector.
  3. Name it and choose the type. Enter a clear name (e.g. SG-Primary) and pick the type (§17.3). For an API type, you will also be asked for an API key/secret.
  4. Set the owner. Leave it Platform for a shared carrier, or set Reseller · X to scope a bring-your-own trunk to one partner (§17.7).
  5. Enter the endpoint. Type the carrier’s SIP host (e.g. sip.sg.carrier.net), choose the transport (prefer TLS), and the auth method (Register or IP).
  6. Enter the credentials. Provide the auth username and secret exactly as the carrier issued them. The secret is masked and stored encrypted; you will not see it again.
  7. Set the caller-ID prefix and cap. Enter the authorised outbound caller-ID range (e.g. +65 3159) and a sensible concurrent-PSTN ceiling.
  8. Test, then save. Select Test to validate reachability (§17.5) before committing, then Save & sync. The connector appears in the list with its health.
Worked example — wire the platform’s Singapore trunk

Your carrier has provisioned a SIP trunk and emailed you the details. In CarrierConnectors 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.

17.4.2 Rotating credentials

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.

Credentials are write-only — you cannot read them back

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.

Try it — dry-run a connector in a lab

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 ManualCh. 17 · Connectors
ByondByondVoice — Administrator & Operations Manual
Ch. 17 · Connectors

17.5 Test and sync

Two 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.

admin.byondvoice.com

Connector test · SG-Primary

×
// last run 11:42:06 · sg-south
SIP reachability
reachable
Authentication
200 OK
Options ping
38 ms
TLS certificate
valid
API key (number svc)
n/a · generic
DIDs available
14
Connector healthy — safe to enable
Re-run testSync numbers
1
2
3
4
5
  1. SIP reachability — the carrier’s proxy answered. A failure here is DNS, firewall/ACL, or a wrong host — nothing call-related will work until it is green.
  2. Authentication — the credentials were accepted (a SIP 200 OK to REGISTER, or an authenticated INVITE probe). A 403 here means a bad username/secret.
  3. Options ping & TLS — round-trip latency to the carrier and validity of the TLS certificate on the signalling link — your early-warning signs of a degrading trunk.
  4. API / DIDs — for an API type, whether the number service authenticated; the count of DIDs the carrier currently shows as yours, ready to sync.
  5. Verdict — a single, plain statement of whether the connector is safe to enable, plus the actions to re-run the test or sync numbers now.
The connector test result — reachability, authentication, latency, certificate and available DIDs.

17.5.1 Procedure — test then sync

  1. Open the connector. Select Open › on its row.
  2. Run the test. Select Test. Read each line top to bottom; the first red line is the root cause — later lines may simply not have run.
  3. Fix and re-test if needed. Correct the host, credentials or firewall, then Re-run test until the verdict is green.
  4. Sync numbers. Select Sync numbers. New carrier DIDs appear in the pool as available; numbers the carrier no longer lists are flagged for review (they are never silently deleted while assigned).
  5. Confirm in the pool. Open SupplyNumbers and verify the new DIDs are present before you assign any.
Test resultLikely causeFix
SIP reachability failedWrong host, DNS, or carrier ACL not allow-listing the SBCVerify the host; ask the carrier to allow-list the SBC’s signalling IP; check transport/port
Authentication 403Bad auth username or secretRe-enter the credentials (write-only — type the secret fresh); confirm the carrier hasn’t rotated them
TLS certificate invalidExpired/mismatched cert on the carrier’s proxy, or wrong SNI hostConfirm the host matches the certificate; raise with the carrier; temporarily fall back only if policy allows
High options latencyNetwork path or an overloaded carrier edgeRe-test from the same region; if persistent, raise a carrier ticket and watch for call quality
API key rejectedWrong/expired API secret on an API-type connectorRe-enter the API secret; confirm the key has number-management scope
Worked example — first sync brings 14 DIDs

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 SupplyNumbers 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 ManualCh. 17 · Connectors
ByondByondVoice — Administrator & Operations Manual
Ch. 17 · Connectors

17.6 Carrier number search, provision and release

On 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.)

admin.byondvoice.com

Carrier number search · SG-Primary

×
CountrySingapore (+65)
TypeLocal / geographic
Contains pattern3159 00
Quantity10
Search inventory
NumberMonthlySetup
+65 3159 0010$1.20$0.50
+65 3159 0011$1.20$0.50
+65 3159 0042$1.20$0.50
2 selectedProvision selected
1
2
3
4
5
  1. Country & type — restrict the carrier search by country and number type (local/geographic, national, mobile, toll-free), so results match what the tenant actually needs.
  2. Pattern — an optional digit pattern (e.g. 3159 00) to find a memorable or in-range block. Carriers vary in how flexible matching is.
  3. Quantity — how many candidates to return. Search wide, then select only the ones you will provision.
  4. Select to provision — toggle the numbers you want. Each row shows the carrier’s monthly and one-time setup cost so the commercial impact is visible before you commit.
  5. Provision selected — reserves the chosen numbers with the carrier and adds them to the pool as available. The count confirms how many you are about to take on.
Carrier number search on an API connector — find, cost and provision DIDs without leaving the console.

17.6.1 Procedure — search and provision a number

  1. Open number search. On an API connector, choose Search numbers (or the search action on the Numbers screen that targets the connector).
  2. Set the filters. Choose the country (e.g. Singapore +65) and type (e.g. Local), add a pattern if the customer wants a memorable number, and a quantity.
  3. Search the inventory. Select Search inventory; ByondVoice queries the carrier live and lists candidates with their costs.
  4. Select the numbers. Toggle the ones you want. Confirm the monthly and setup costs are within the tenant’s plan.
  5. Provision. Select Provision selected. The carrier reserves them and they land in the pool as available.
  6. Assign. In SupplyNumbers assign the new DID to a tenant, extension or routing target (§Supply › Numbers).

17.6.2 Releasing a number

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.

Releasing a number cannot be undone

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.

Worked example — provision Acme’s main number

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 ManualCh. 17 · Connectors
ByondByondVoice — Administrator & Operations Manual
Ch. 17 · Connectors

17.7 Number port-in

A 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.

admin.byondvoice.com

Port-in request · SG-Primary

×
// carrier-coordinated · do not disconnect the losing service
Numbers to port (one per line)+65 6555 0100, +65 6555 0101
Losing carrierAcme Telco Pte Ltd
Account number (with losing carrier)ACME-99231
Account holder nameAcme Corp Pte Ltd
Service address1 Raffles Place, SG
Letter of authorisationLOA-acme-signed.pdf · uploaded
Requested cut-over2026-07-02 · 02:00
Save draftSubmit port-in
1
2
3
4
5
  1. Numbers to port — the exact DIDs being moved, in full international format. Partial-block ports (porting some numbers off a range) often have stricter carrier rules.
  2. Losing carrier & account — the current provider and the customer’s account number with them; the gaining carrier matches these to authorise the port.
  3. Account holder & address — the legal holder name and service address, which must match the losing carrier’s records exactly — the commonest cause of rejection is a mismatch here.
  4. Letter of authorisation — the signed LOA proving the customer consents to the port. Required by the regulator; attach the signed PDF.
  5. Requested cut-over — the preferred date/time window. The carrier confirms an actual slot; schedule it out of business hours to minimise disruption.
The port-in request — the details the gaining carrier needs to move an existing number onto your trunk.
ByondVoice — Administrator & Operations ManualCh. 17 · Connectors
ByondByondVoice — Administrator & Operations Manual
Ch. 17 · Connectors

17.7.1 Procedure — submit and track a port-in

  1. Gather the paperwork first. Collect a recent bill from the losing carrier, the account number, the exact account-holder name and service address, and a signed LOA. Mismatches are the top cause of rejection.
  2. Open the port-in form. On the connector, select Port in numbers.
  3. Enter the numbers. Type the DIDs in full international format, one per line.
  4. Enter the losing-carrier details. Provide the losing carrier, account number, holder name and service address — copied verbatim from the bill.
  5. Attach the LOA. Upload the signed letter of authorisation.
  6. Request a cut-over window. Choose an out-of-hours window (e.g. 2026-07-02 · 02:00); the carrier confirms the real slot.
  7. Submit and track. Select Submit port-in. The order moves through submittedvalidatedscheduled completed; act on any rejected reason promptly.
  8. Verify after cut-over. Once completed, the DID appears in the pool; assign it and place a live inbound test from an external phone.
Port-in statusMeaningYour action
submittedRequest lodged with the gaining carrierWait; nothing to do yet
validatedDetails matched the losing carrier’s recordsConfirm the proposed cut-over date with the customer
rejectedA mismatch or missing documentRead the reason, correct it (often the holder name/address), resubmit
scheduledCut-over window confirmedPre-stage routing; brief the customer on the brief expected interruption
completedNumber now lives on your trunkAssign it, test inbound, and only now have the customer cancel the old service
Never cancel the losing service before the port completes

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.

Worked example — port Acme’s landline

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 ManualCh. 17 · Connectors
ByondByondVoice — Administrator & Operations Manual
Ch. 17 · Connectors

17.8 Bring-your-own-trunk, and how a connector feeds the number pool

A 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 connectorReseller (BYOT) connector
OwnerPlatformThe reseller (e.g. NIMBUS)
ServesResellers without their own carrierOnly that reseller’s tenants
PSTN billingYour carrier account → metered to resellerThe reseller’s own carrier account
Numbers feedYour DID pool / platform carrierThe partner’s own DID range
PrerequisiteNone beyond admin accessBring-your-own carrier entitlement on (§5.5)

17.8.1 How a connector feeds the number pool

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:

How numbers travel from a carrier into the assignable pool
Carrier inventoryThe DIDs the carrier holds for you — whether assigned to your account, searchable on an API, or ported in.upstream
ConnectorAPI type: search/provision/port pulls numbers in automatically. Generic trunk: you bulk-preload the DIDs the carrier assigned out of band. Sync reconciles either.connector
Number poolDIDs land here as available. Filter, reserve, and read KPIs on the Numbers screen. The pool is the single source of assignable numbers.Supply › Numbers
AssignmentAssign a DID as a tenant main number, an extension’s direct DID, or an inbound route to an auto-attendant / ring group. Now it rings.routing

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.

Sync regularly on generic trunks

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.

Worked example — Nimbus brings its own trunk

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 ManualCh. 17 · Connectors
ByondByondVoice — Administrator & Operations Manual
Ch. 17 · Connectors

17.9 What is inert until a carrier is wired

It 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.

Alive with no connector

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.

Inert until a connector is live

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 CarrierConnectors health before you touch a single extension.

SymptomConnector causeWhere to look
No one in any tenant can dial outNo connector, or connector degraded / disabledConnectors health (§17.5); re-test
Inbound calls to a DID fail or ring nowhereDID not synced into the pool, or not assigned to a routeSync (§17.5); then Supply › Numbers assignment
One reseller’s tenants can’t dial out, others canThat reseller’s BYOT connector down, or entitlement offThe reseller-owned connector (§17.8); entitlement (§5.5)
Outbound works, inbound doesn’t (or vice-versa)A split inbound/outbound pair with one side unhealthyBoth connectors’ health and capabilities (§17.3)
Calls connect but drop after the capConcurrent-PSTN ceiling reachedKPI strip; raise the cap (§17.4) if the plan allows
Outbound auth fails after a carrier changeCarrier rotated the trunk secretRe-enter the write-only secret and re-test (§17.4.2)

17.9.1 Go-live checklist for a new carrier

  1. Create the connector with the right type and owner, and the carrier’s endpoint and write-only credentials (§17.4).
  2. Test until green — reachability, authentication, certificate and latency all healthy (§17.5).
  3. Sync or preload numbers so the DIDs you need are in the pool (§17.5, §17.8).
  4. Assign at least one DID to a tenant main number and route it to an auto-attendant or extension.
  5. Test outbound from a real extension to an external mobile; confirm the presented caller-ID is correct.
  6. Test inbound from an external phone to the assigned DID; confirm it reaches the intended target.
  7. Note the cap and brief the customer on concurrent-PSTN limits and on any in-flight port-in (§17.7).
Try it — prove the gate from both sides

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.

Where this fits in the manual

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 ManualCh. 17 · Connectors
ByondByondVoice — Administrator & Operations Manual
Ch. 18 · PSTN routing
Chapter 18

Outbound PSTN and inbound DID routing

Everything 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.

18.1 The routing seam — where the PBX meets the carrier

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.

The routing seam — internal traffic stays inside; only external legs cross the carrier door
Internal (no carrier)
1001 → 1002, a call into ring group 6000, an auto-attendant menu, a conference, voicemail. Switched entirely by ByondSwitch inside the tenant. Works on day one, regardless of any carrier.
PBX only
Outbound → PSTN
An extension dials a public number, e.g. +65 9123 4567. The PBX normalises the digits, stamps a caller-ID, picks a trunk (least-cost), and bridges the leg out through the carrier connector. Metered as an outbound call.
egress · carrier
Inbound ← DID
The public network delivers a call to a DID, e.g. +65 3159 0010. The carrier hands it to the SBC; the inbound map resolves the DID to a destination (extension / ring group / attendant / voicemail) and the PBX routes it as if it were internal from there.
ingress · carrier

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.

This whole chapter is available with a carrier

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 ManualCh. 18 · PSTN routing
ByondByondVoice — Administrator & Operations Manual
Ch. 18 · PSTN routing

18.2 Outbound PSTN egress

Outbound 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 CarrierConnectors by opening a connector and selecting its routing tab. The figure below reproduces that view with the key elements numbered.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Carrier
Connectors1
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Connector · SwiftConnect SG// carrier · outbound routing · tenant Acme Corp
ENV: PRODSA
// carrier — outbound egress

Outbound routing

How external calls leave ByondVoice: trunk selection, least-cost order and outbound caller-ID.

Test call+ New rule
Trunk
1
SwiftConnect SG
Status
enabled
registered · reachable
Channels
30
concurrent cap
Live now
4
outbound legs

Egress rules · evaluated top-down

trunk reachable
#Match patternTrunk (egress)Caller-IDStatus
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
41xx / emergencycarrier defaultper-site reserved
1
2
3
4
5
6
7
  1. Carrier railConnectors under Carrier is active; the count is the number of configured connectors. Outbound routing always belongs to a connector, so you reach it by opening one and selecting its routing tab.
  2. Breadcrumb & scope — the connector name (SwiftConnect SG) and the tenant it is bound to. Egress rules are scoped to the tenant whose calls will use this trunk.
  3. Trunk & status KPIs — which trunk this is, whether it is enabled and reachable, its concurrent-channel cap, and how many outbound legs are live right now. If Status reads anything but enabled, no call will egress.
  4. Channel headroomChannels vs Live now. An outbound call consumes one channel for its whole duration; when live legs reach the cap, new outbound calls are rejected (§18.3).
  5. Match pattern — the dialled-digit pattern this rule recognises as external, in normalised E.164 (here Singapore mobile, fixed-line and international ranges). The first matching rule wins.
  6. Trunk & outbound caller-ID — the egress trunk for that pattern and the number presented to the called party. With one trunk this is least-cost by default; with several, order is the least-cost preference (§18.3).
  7. Per-rule status active, needs approval (e.g. international, gated for fraud control) or reserved (emergency, carrier-handled). Status decides whether the pattern actually carries calls.
Outbound routing for a connector — egress rules evaluated top-down, with trunk, caller-ID and per-rule status.
ByondVoice — Administrator & Operations ManualCh. 18 · PSTN routing
ByondByondVoice — Administrator & Operations Manual
Ch. 18 · PSTN routing

18.2.1 Dial-plan normalisation, trunk selection and least-cost routing

Three 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.

1 · Normalise the digits

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.

2 · Match a pattern

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.

3 · Select the trunk (LCR)

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.

4 · Stamp caller-ID & bridge

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.

18.2.2 Procedure — add an outbound egress rule

  1. Open the connector’s routing. Go to CarrierConnectors, open the connector for the tenant (e.g. SwiftConnect SG for Acme Corp), and select its Outbound routing tab.
  2. Add a rule. Select + New rule and give it a match pattern in normalised form, e.g. +65 9… for Singapore mobiles.
  3. Choose the egress trunk. Pick the trunk that should carry this pattern. If several can, order them cheapest-first for least-cost failover.
  4. Set the outbound caller-ID. Choose the DID presented to the called party — typically the tenant’s main number, e.g. +65 3159 0010. It must be a number the carrier authorises you to present.
  5. Order the rule. Drag it so specific, low-cost patterns sit above broad fallbacks. The first match wins, so a misordered intl rule can swallow local calls.
  6. Save, then place a real test call. Use Test call or dial from a registered device. Only a live call over the trunk truly proves egress end to end.

18.2.3 Outbound dial-plan — reference

SettingWhat it controlsTypical / example
Match patternNormalised digits the rule recognises as external. First match wins, top-down.+65 9… · +65 6… · +…
Egress trunkThe carrier trunk the call is bridged over.SwiftConnect SG
LCR orderWith multiple trunks, the cheapest-first sequence to try, failing over on reject/unreachable.Trunk A → Trunk B
Outbound caller-IDThe number presented to the far end; must be carrier-authorised for the tenant.+65 3159 0010
Dial prefixAny digit the carrier requires before the number, and the tenant prefix used in normalisation.per carrier (§6.4)
Approval gateMarks costly classes (international, premium) as needs approval for fraud control.intl gated by default
Worked example — Acme dials a local mobile

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 ManualCh. 18 · PSTN routing
ByondByondVoice — Administrator & Operations Manual
Ch. 18 · PSTN routing

18.2.4 Caller-ID, capacity and the edge cases that bite

Outbound looks simple until production traffic finds its corners. Four of them recur often enough to plan for deliberately.

18.2.5 Outbound caller-ID precedence

More than one place can specify the number shown to the far end. They resolve in a fixed order, most-specific first:

PrecedenceSource of caller-IDUse 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.
2Per-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.
Present a number people can call back

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).

Toll fraud — gate international and premium ranges

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 calling is a carrier responsibility — never assume it

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.

Capacity is shared and finite

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 ManualCh. 18 · PSTN routing
ByondByondVoice — Administrator & Operations Manual
Ch. 18 · PSTN routing

18.3 Inbound DID delivery

Inbound 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 SupplyNumbers screen; the figure below shows it focused on inbound delivery.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Conferences5
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Numbers// supply · inbound map · tenant Acme Corp
ENV: PRODSA
// supply — inbound DID delivery

Inbound map · Acme Corp

Each DID resolves to one destination: an extension, ring group, auto-attendant or voicemail.

Test inboundSet routing
Assigned DIDs
7
to Acme Corp
Routed
6
have a destination
Unrouted
1
no destination yet
Delivery
live
carrier reachable

DID → destination

carrier delivering
Number (DID)Destination typeRoutes toStatus
+65 3159 0010auto-attendantMain menu → AA “Acme Reception” live
+65 3159 0011ring groupRG 6000 · Sales live
+65 3159 0012extensionExt 1001 · Alice Tan live
+65 3159 0013voicemailVM box 1002 · Ben Ong live
+65 3159 0014— none —— unrouted — no destination
1
2
3
4
5
6
  1. Supply · Numbers — the inbound map is the Routes to view of the pool, here filtered to one tenant (Acme Corp). Ownership of a DID (§8) is a prerequisite; routing is the separate act that makes it ring.
  2. Delivery KPI — whether the carrier is actually delivering calls to these DIDs. live means the trunk is up and inbound is flowing; without a carrier this reads inert and no external call arrives.
  3. DID — the public number a caller dials, in E.164. One DID resolves to exactly one destination.
  4. Destination type — one of four: extension, ring group, auto-attendant or voicemail. The type sets which picker the Set routing dialog shows next.
  5. Routes to — the specific target within that type: a named extension, a ring-group pilot, a published attendant, or a mailbox.
  6. Unrouted DID — a number assigned to the tenant but with no destination. It is owned but a call to it has nowhere to land; the warn pill flags it for attention before cutover.
The inbound map — each assigned DID resolved to one of four destination types, with live delivery state.
ByondVoice — Administrator & Operations ManualCh. 18 · PSTN routing
ByondByondVoice — Administrator & Operations Manual
Ch. 18 · PSTN routing

18.3.1 The four inbound destination types

A 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.

Extension

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.

Ring group

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.

Auto-attendant (IVR)

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.

Voicemail

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.

18.3.2 Inbound destination types — reference

DestinationWhat the caller experiencesBuilt inWhat governs the call after landing
extensionThe chosen line rings.§9That extension’s call-handling ladder (§12).
ring groupA team rings per the group strategy.§13Group strategy, ring seconds and overflow target.
auto-attendantA greeting plus a digit menu.§14The published menu’s digit→action map.
voicemailStraight to a mailbox greeting.§11The mailbox’s settings (transcription, email).

18.3.3 Procedure — route a DID to a destination

  1. Confirm ownership. The DID must already be assigned to the tenant (§8.4). A pool or reserved number cannot be routed.
  2. Open Set routing. On the Numbers screen, open the DID’s Manage menu and select Set routing.
  3. Pick the destination type. Choose extension, ring group, auto-attendant or voicemail. The dialog then shows the matching picker.
  4. Pick the specific target. Select the extension, the ring-group pilot, the published attendant, or the mailbox. An attendant in draft state will not appear — publish it first (§14).
  5. Save the route. The Routes to column updates and the status turns to live (once a carrier is delivering).
  6. Verify with a real inbound call. If a carrier is connected, dial the DID from an outside phone and confirm it reaches the intended destination. Use Test inbound to simulate the resolution before the trunk is live.
Worked example — route the main number through reception

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 ManualCh. 18 · PSTN routing
ByondByondVoice — Administrator & Operations Manual
Ch. 18 · PSTN routing

18.4 The routing seam end-to-end

With 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.

One outbound and one inbound call, traced through the fabric and across the seam
Outbound — step 1–2
Alice’s softphone (registered to the SBC over secure WebSocket) sends the INVITE for +65 9123 4567. The SBC authenticates the device and passes it to ByondSwitch.
device → SBC
Outbound — step 3–4
ByondSwitch normalises the digits, matches an egress rule, selects the trunk (LCR), stamps caller-ID +65 3159 0010, and bridges the leg out through the connector. The carrier carries it to the called party; media (RTP/SRTP) relays, via TURN if the network is restrictive.
PBX → carrier
Inbound — step 1–2
The carrier delivers a call for DID +65 3159 0010 to the SBC. The SBC accepts it from the trunk and hands it to ByondSwitch.
carrier → SBC
Inbound — step 3–4
ByondSwitch consults the inbound map, resolves the DID to its destination (here AA “Acme Reception”), and routes the call exactly as an internal call from that point — menu, then ring group, then voicemail. No further carrier interaction is needed once delivered.
PBX (internal)

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.”

18.5 Carrier-gated status — what is inert today, what lights up

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.

CapabilityWithout a carrierWith 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
Inert is not broken — it is waiting

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 ManualCh. 18 · PSTN routing
ByondByondVoice — Administrator & Operations Manual
Ch. 18 · PSTN routing

18.6 Carrier cutover — what to expect on the day

Cutover 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.

18.6.1 Pre-cutover checklist

18.6.2 Order of operations and verification

  1. Enable the connector. Turn the trunk on for the tenant. The Numbers Delivery KPI and the connector Status should move to live / enabled.
  2. Prove inbound first. From an outside phone, dial the main DID (+65 3159 0010) and walk the attendant → ring group → voicemail path. Inbound failures are the most visible to customers, so verify them first.
  3. Prove outbound next. From a registered device, dial a local mobile and an internal number, checking that the presented caller-ID is the intended DID and that audio is two-way.
  4. Check capacity under a little load. Place two or three simultaneous calls and watch Live now against the channel cap; confirm calls are not rejected below the cap.
  5. Watch the first hour. Keep an eye on registration state and the connector status (§22); most trunk issues surface within minutes of first real traffic.
Number porting cutover is the carrier’s clock, not yours

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.

18.7 Best practice, edge cases and troubleshooting

18.7.1 Best practice

18.7.2 Troubleshooting

SymptomLikely causeFirst check
Internal calls fine; all external calls failConnector disabled or trunk unreachable.Connector Status = enabled/reachable (§17); Numbers Delivery = live.
Inbound to one DID goes nowhereDID unrouted or attendant still in draft.The DID’s Routes to (§18.4); publish the attendant (§14).
Outbound local calls hit an intl gateEgress rules misordered (broad above specific).Rule order — specific patterns above +… (§18.2.1).
Far end sees the wrong / unknown numberCaller-ID precedence resolving to an unintended source.Per-extension vs per-rule vs tenant default (§18.2.5).
New calls rejected at busy timesTrunk channel cap or tenant concurrency reached.Live now vs Channels; tenant cap (§6.4).
External forward to a mobile never connectsNo carrier / outbound not licensed for the tenant.Connector enabled and outbound PSTN in licence (§12.8).
Try it — stage Acme’s seam, then dry-run the cutover

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 ManualCh. 18 · PSTN routing
ByondByondVoice — Administrator & Operations Manual
Ch. 19 · Wholesale Meter
Chapter 19

Wholesale billing and the meter

Every 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.

19.1 What the Wholesale Meter is

The Wholesale Meter lives under RevenueWholesale Meter 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:

Wholesale (this screen)

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.

Retail (not this screen)

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.

ConceptWho charges whomSet byWhere in ByondVoice
Wholesale chargePlatform → resellerPlatform (B’Yond)This meter — preview & run
Wholesale rate— (the unit prices used above)Platform, per reseller agreementThe reseller’s rate card (§ 19.5)
Retail priceReseller → tenantResellerThe reseller’s own billing — outside ByondVoice
Tenant settlementTenant → resellerResellerOutside ByondVoice
The meter bills resellers, not customers

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.

Read this with Chapter 2

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 ManualCh. 19 · Wholesale Meter
ByondByondVoice — Administrator & Operations Manual
Ch. 19 · Wholesale Meter

19.2 The Wholesale Meter screen

The 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.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Conferences5
Carrier
Connectors1
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Wholesale Meter// revenue · reseller Nimbus Telecom · 2026-05
ENV: PRODSA
// revenue · platform → reseller

Wholesale Meter

Meter what a reseller’s tenants consumed in a period, then preview and commit the wholesale charge.

Preview periodRun meter
ResellerNimbus Telecom
Billing periodMay 2026 (2026-05)
Tenants
9
under reseller
Numbers
38
in service
Extensions
214
provisioned
Minutes MTD
48,920
outbound + inbound

Period status — May 2026

open · not yet run
Usage is still accruing for this period. No meter run has been committed yet. Run a preview to see the charge as it stands; commit with Run meter once the period is closed.
PeriodStatusWholesale totalRun byRun at
2026-05 open
2026-04 runS$ 6,184.50S. Admin2026-05-02 09:14
2026-03 runS$ 5,902.10S. Admin2026-04-02 09:06
1
2
3
4
5
6
7
  1. Wholesale Meter (active nav item) — the only entry under the Revenue group, marked $. It is a platform-tier screen; reseller and tenant operators do not see it.
  2. Breadcrumb & scope — the meter is scoped to one reseller and one period at a time (here Nimbus Telecom · 2026-05). Everything below is that reseller’s rolled-up usage only.
  3. Preview / Run actionsPreview period computes the charge without committing; Run meter commits it. The difference is the heart of this chapter (§ 19.4).
  4. Reseller & period selectors — choose who and when. The period is a calendar month identified as YYYY-MM; selecting a different period reloads the whole screen.
  5. Usage KPIs — the headline counters for the period: tenants under the reseller, numbers in service, extensions provisioned, and minutes month-to-date. These are the quantities the charge is built from.
  6. Period status — whether the period is open (still accruing, not committed) or run (committed). A run period is read-only.
  7. Run history — one row per period with its committed wholesale total, who ran it and when. Prior periods (April, March) are already committed; the current one is not.
The Wholesale Meter — scoped to one reseller and one period, showing live usage KPIs and the history of committed runs.

19.2.1 Procedure — open the meter for a reseller and period

  1. Open the screen. Confirm the environment chip shows ENV: PROD, then go to RevenueWholesale Meter.
  2. Select the reseller. In the Reseller selector choose the partner you are billing — e.g. Nimbus Telecom. The KPIs and history reload for that reseller only.
  3. Select the period. In the Billing period selector choose the month as YYYY-MM (e.g. 2026-05). Read the period status chip — open or run.
  4. Read the KPIs. Note tenants, numbers, extensions and minutes for the period. These are the quantities the wholesale charge will be built from; a wild figure here is a signal to investigate before you preview.
  5. Decide your next action. If the period is still open and you only want to see the figure, go to Preview (§ 19.4). If the period is closed and the figure is verified, go to Run (§ 19.4.2).
ByondVoice — Administrator & Operations ManualCh. 19 · Wholesale Meter
ByondByondVoice — Administrator & Operations Manual
Ch. 19 · Wholesale Meter

19.3 The period and idempotency model

Before 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.

19.3.1 The period

A period is a calendar month, identified as YYYY-MM2026-05 is May 2026. A period passes through exactly three states:

// revenue · period lifecycle

A period’s three states

How a billing month moves from accruing usage to a committed, immutable charge.

1 · Open

accruing
The month is in progress. Usage is still being counted. You may preview as often as you like — the figure simply reflects usage so far. Nothing is committed.

2 · Run (committed)

charged
You have committed the charge with Run meter. The total, the rates used and the line items are frozen as a meter run. Re-running the same period returns the same run — it never charges again.

3 · Adjusted (rare)

credit / re-bill
If a committed run was wrong, you do not edit it — you issue a separate adjustment (a credit or a corrective re-bill) that references the original run, preserving the audit trail. See § 19.8.

The rule of thumb

close, verify, run
Preview while open, as many times as you need. Run once, after the month has closed and the figure is verified. Adjust only if a committed run is later found to be wrong.
A period’s lifecycle: open (accruing, preview freely) → run (committed, frozen) → adjusted (rare, via a referencing credit or re-bill).
Run on a closed period, not a live one

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.

19.3.2 Idempotency — why a run is safe to repeat

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.

TermMeaning in the meter
PeriodThe calendar month a charge covers, written YYYY-MM. The unit you preview and run.
OpenThe 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 keyThe pair (reseller, period). It is what guarantees a second run returns the first run rather than charging again.
PreviewA 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.
AdjustmentA separate credit or corrective re-bill that references a committed run, used instead of editing it. Preserves the audit trail. See § 19.8.
Idempotency protects you from the network, not from yourself

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 ManualCh. 19 · Wholesale Meter
ByondByondVoice — Administrator & Operations Manual
Ch. 19 · Wholesale Meter

19.4 Preview versus run

This 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.

PreviewRun
Computes the charge?Yes — identical mathsYes — identical maths
Commits anything?No — nothing is savedYes — freezes a meter run
Creates a billable record?NoYes — the reseller is invoiced against it
Repeatable?Yes, freely, no side effectsYes, but idempotent — returns the same run, never a second charge
When to useAny time — mid-month checks, verifying before closeOnce, after the period is closed and verified

19.4.1 Running a preview

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.

Preview — Nimbus Telecom · 2026-05

×
PREVIEW — nothing is charged or saved
Line itemQtyWholesale rateAmount
Numbers in service38S$ 1.50 / no.S$ 57.00
Extensions (seats)214S$ 8.00 / seatS$ 1,712.00
Outbound minutes31,480S$ 0.011 / minS$ 346.28
Inbound DID minutes17,440S$ 0.004 / minS$ 69.76
Platform / feature fee9S$ 25.00 / tenantS$ 225.00
SubtotalS$ 2,410.04
Volume credit (−2%)− S$ 48.20
Wholesale total (excl. GST)S$ 2,361.84
Close Export CSV Run this period →
  1. PREVIEW banner — the PREVIEW chip states plainly that nothing is charged or saved. If this banner is absent you are looking at a committed run, not a preview — check before you act.
  2. Line items — one row per metered quantity: numbers, extensions (seats), outbound and inbound minutes, and per-tenant platform fees. Each shows the quantity, the wholesale rate applied, and the resulting amount.
  3. Subtotal, credit, total — the line amounts sum to a subtotal; any contracted volume credit is applied; the result is the wholesale total before tax (GST is added on the invoice, not by the meter).
  4. Export CSV — download the previewed lines for review or to attach to an internal approval before you commit. The export is identical whether taken from a preview or a run.
  5. Run this period — the only control that commits. Selecting it converts this exact computation into a frozen meter run (§ 19.4.2). Until you press it, you have charged nothing.
A preview result for Nimbus Telecom, May 2026 — every line the run would produce, clearly marked PREVIEW, with commit deferred to one explicit button.
  1. Scope the meter. Select the reseller and period (§ 19.2.1) — here Nimbus Telecom · 2026-05.
  2. Preview. Select Preview period. The preview dialog opens with the PREVIEW banner.
  3. Read every line. Check each quantity against what you expect (§ 19.6) and confirm the rates match the reseller’s rate card (§ 19.5).
  4. Export if needed. Use Export CSV to capture the figures for internal sign-off. You can re-open the preview any number of times.
  5. Close without committing. Select Close to leave with nothing charged — the period stays open. Commit only when you are ready (§ 19.4.2).
ByondVoice — Administrator & Operations ManualCh. 19 · Wholesale Meter
ByondByondVoice — Administrator & Operations Manual
Ch. 19 · Wholesale Meter

19.4.2 Committing the run

When 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.

Run meter — confirm

×
This commits a billable charge
ResellerNimbus Telecom
Period2026-05
Period status closed
Wholesale total (excl. GST)S$ 2,361.84
Type the period to confirm2026-05Guards against running the wrong month.
I have verified the preview
Quantities and rates checked against the rate card
Cancel Commit run
  1. Billable-charge warning — the amber banner is the last reminder that this action, unlike a preview, produces a charge the reseller is invoiced for.
  2. Summary & period status — reseller, period, the closed/open status and the total are restated so you commit with eyes open. If the status reads open, reconsider (§ 19.3.1).
  3. Type-to-confirm — you must type the period (2026-05) to proceed. This is the guard against committing the wrong month against the wrong reseller.
  4. Verified switch — an explicit acknowledgement that you checked the preview. Treat it as a real gate, not a formality.
  5. Commit run — freezes the run and moves the period to run. Idempotent: pressing it again returns the same run rather than charging twice (§ 19.3.2).
The run confirmation — a type-to-confirm guard and a “verified” switch stand between you and the one irreversible action on the screen.
  1. Confirm the period is closed. The month must have ended (§ 19.3.1). The status should read closed in the confirm dialog.
  2. Open the run. From the verified preview select Run this period →, or use Run meter on the screen.
  3. Re-check the total. Confirm reseller, period and the wholesale total in the summary match the preview you signed off.
  4. Type the period and acknowledge. Type 2026-05 and turn on I have verified the preview.
  5. Commit. Select Commit run. The period flips to run and appears in the history (§ 19.2) with your name and timestamp.
A committed run is not editable — correct it with an adjustment

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.

Worked example — the double-click that didn’t double-charge

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 ManualCh. 19 · Wholesale Meter
ByondByondVoice — Administrator & Operations Manual
Ch. 19 · Wholesale Meter

19.5 Wholesale rates and retail pricing

A 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.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Carrier
Connectors1
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Rate card// revenue · reseller Nimbus Telecom · wholesale
ENV: PRODSA
// revenue · wholesale rate card

Wholesale rate card — Nimbus Telecom

The unit prices the meter applies to this reseller’s usage. Effective from the date shown.

HistoryEdit rates
Metered itemUnitWholesale rateEffectiveStatus
Number in serviceper number / monthS$ 1.502026-01-01 active
Extension (seat)per seat / monthS$ 8.002026-01-01 active
Outbound minuteper minuteS$ 0.0112026-01-01 active
Inbound DID minuteper minuteS$ 0.0042026-01-01 active
Platform feeper tenant / monthS$ 25.002026-01-01 active
Volume crediton subtotal− 2%2026-04-01 tiered
1
2
3
4
5
  1. Wholesale Meter / Revenue — the rate card lives with the meter under Revenue; it is the price list the meter reads when it computes a charge.
  2. Scope — the card is per reseller (here Nimbus Telecom). A different reseller can have entirely different rates under its own agreement.
  3. Edit rates — opens the rate editor; History shows prior rate versions and their effective dates, so a past run can always be explained by the rates that were active then.
  4. Wholesale rate column — the unit price applied per metered item. These exact figures drive the line amounts in the preview (§ 19.4) and the worked example (§ 19.7).
  5. Effective date & tiers — rates carry an effective date; a committed run uses whatever rate was active for that period. The volume credit is a tiered term that reduces the subtotal at agreed thresholds.
The wholesale rate card for Nimbus Telecom — the per-reseller unit prices the meter multiplies usage by, each with an effective date.

19.5.1 How a reseller prices retail on top

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.

ItemWholesale (platform → Nimbus)Retail (Nimbus → tenant)Nimbus margin / unit
Number / monthS$ 1.50S$ 4.00S$ 2.50
Seat / monthS$ 8.00S$ 15.00S$ 7.00
Outbound minuteS$ 0.011S$ 0.020S$ 0.009
Platform fee / tenantS$ 25.00S$ 49.00S$ 24.00
Worked example — Nimbus’s margin on the seat line

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.

Change rates with effective dates, never retroactively

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 ManualCh. 19 · Wholesale Meter
ByondByondVoice — Administrator & Operations Manual
Ch. 19 · Wholesale Meter

19.6 Reading a meter run

A 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.

admin.byondvoice.com
Meter run// revenue · Nimbus Telecom · 2026-04 · committed
ENV: PRODSA
// revenue · committed run

Meter run — Nimbus Telecom · April 2026

Frozen 2026-05-02 09:14 by S. Admin · run ref WMR-2026-04-NIMBUS · rate card v2026-01.

committed Export CSV
Wholesale total
S$ 6,184.50
excl. GST
Tenants billed
9
under reseller
Minutes
126,400
in + out
Status
RUN
immutable
Line itemQtyRateAmount
Numbers in service40S$ 1.50S$ 60.00
Extensions (seats)218S$ 8.00S$ 1,744.00
Outbound minutes84,260S$ 0.011S$ 926.86
Inbound DID minutes42,140S$ 0.004S$ 168.56
Platform / feature fee9S$ 25.00S$ 225.00
One-off — number port-in (3)3S$ 1,000.00S$ 3,000.00
Wholesale total (excl. GST)S$ 6,124.42
1
2
3
4
5
  1. Run provenance — the subtitle carries everything you need to defend the run: when it was frozen, who ran it, the run reference (WMR-2026-04-NIMBUS) and the rate card version applied. Quote the run ref on any query.
  2. Committed status & export — the committed badge marks it immutable; Export CSV produces the exact line detail to send a partner.
  3. Summary KPIs — the headline total, tenants billed, total minutes and the immutable status. The total here is the figure invoiced.
  4. Recurring line items — the monthly metered lines (numbers, seats, minutes, fees), each with frozen quantity, the rate that was active for April, and the amount.
  5. One-off charges — non-recurring items for the period — here three number port-ins at a one-time fee — sit alongside the recurring lines and roll into the same total.
A committed meter run — the frozen April charge for Nimbus, with full provenance and both recurring and one-off lines.
Field on a runWhat it tells youUse it to…
Run referenceThe 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 versionWhich version of the reseller’s rates was applied.Reconstruct the maths from the rate History if a line is queried (§ 19.5).
QuantityThe metered count for each item, frozen at run time.Reconcile against the source data — Numbers, Extensions, call detail.
AmountQuantity × rate for the line.Verify each line independently; the total is just their sum (less credits).
Run by / Run atThe operator and timestamp of the commit.Audit who closed the period and when.
Reconcile a run in three checks

To trust a run quickly: (1) confirm the numbers and seats quantities against SupplyNumbers and Hosted PBXExtensions & Devices 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 ManualCh. 19 · Wholesale Meter
ByondByondVoice — Administrator & Operations Manual
Ch. 19 · Wholesale Meter

19.7 Worked example — previewing a month for Nimbus Telecom

This 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.

19.7.1 The scenario

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.

19.7.2 Procedure — preview and verify May

  1. Scope the meter. In RevenueWholesale Meter select reseller Nimbus Telecom and period 2026-05. Confirm the period status reads open — May has ended but is not yet run.
  2. Sanity-check the KPIs. Confirm the headline counters: 9 tenants, 38 numbers, 214 seats, 48,920 total minutes. A surprise here (e.g. minutes double last month’s) is your cue to investigate before previewing.
  3. Preview. Select Preview period. The preview opens with the PREVIEW banner and the five recurring lines (§ 19.4).
  4. Verify each line by hand. Work the arithmetic in § 19.7.3 and confirm every line, the subtotal, the credit and the total against the dialog.
  5. Export for sign-off. Use Export CSV and attach it to your internal approval. Close the preview — the period stays open; nothing is charged yet.
  6. Commit. Once approved, re-open and select Run this period →, type 2026-05, enable verified, and Commit run (§ 19.4.2). The period flips to run.
Preview as often as you like during the month

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 ManualCh. 19 · Wholesale Meter
ByondByondVoice — Administrator & Operations Manual
Ch. 19 · Wholesale Meter

19.7.3 The arithmetic, line by line

Every 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 itemQuantityWholesale rateCalculationAmount
Numbers in service38S$ 1.50 / no.38 × 1.50S$ 57.00
Extensions (seats)214S$ 8.00 / seat214 × 8.00S$ 1,712.00
Outbound minutes31,480S$ 0.011 / min31,480 × 0.011S$ 346.28
Inbound DID minutes17,440S$ 0.004 / min17,440 × 0.004S$ 69.76
Platform fee9S$ 25.00 / tenant9 × 25.00S$ 225.00
Subtotalsum of linesS$ 2,410.04
Volume credit− 2%2,410.04 × 0.02− S$ 48.20
Wholesale total (excl. GST)2,410.04 − 48.20S$ 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.

Worked example — Nimbus’s May, start to finish

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.

Mind the rounding

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 ManualCh. 19 · Wholesale Meter
ByondByondVoice — Administrator & Operations Manual
Ch. 19 · Wholesale Meter

19.8 Operational practice, edge cases and reconciliation

The 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.

19.8.1 A monthly close routine

  1. Wait for the month to end. Run the previous period on the first or second working day of the new month, so all usage has landed (§ 19.3.1).
  2. Preview and reconcile. Preview each reseller, then run the three reconciliation checks (§ 19.6) — numbers, seats, minutes — against source data before you trust the figure.
  3. Get sign-off on the export. Export the preview CSV and obtain internal approval for anything material or unusual.
  4. Commit once. Run the meter; confirm the history shows exactly one run for the period with your name and timestamp.
  5. Hand off to invoicing. Pass the run reference to finance to invoice the reseller; the reseller then bills its own tenants (§ 19.5).

19.8.2 Edge cases

SituationWhat the meter doesWhat you should do
Tenant moved between resellers mid-monthUsage 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 monthCounted 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-quarterThe 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 errorThe run is frozen; it cannot be edited or deleted.Issue an adjustment that references it (§ 19.8.3) — never re-run.
Zero-usage periodProduces 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.

19.8.3 Correcting a committed run

Because a run is immutable, a correction is always a separate record that references the original. There are two shapes:

Credit

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.

Corrective re-bill

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.

Never paper over a run by re-running or hand-editing source data

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.

Try it

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.

Where the meter sits in the bigger picture

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 ManualCh. 19 · Wholesale Meter
ByondByondVoice — Administrator & Operations Manual
Ch. 20 · Security
Chapter 20

Security and administration

A 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.

20.1 The security model end to end

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.

One request, six controls — the boundaries a call or API request crosses
Surface
The user signs in at my.byondvoice.com with a password (hashed, never stored in clear) and, where required, a second factor — an email one-time-code or an authenticator (TOTP). Sessions run only over TLS.
password + MFA · TLS
Token
Sign-in issues a short-lived access token carrying the caller’s 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.
scoped JWT · short TTL
Control plane (API)
The API applies the tenant scope and, for a user, the extension scope to every query. A request for mailbox 1001 by the user bound to 1001 succeeds; the same request for 1002 returns 404, not 403 (§ 20.6). One rule, applied everywhere.
scope · IDOR-safe
Secret store
Configuration the request touches — SIP device secrets, carrier credentials — is encrypted at rest and shown reveal-once. PINs (voicemail, conference) are stored as one-way hashes and only ever reset, never read back.
encrypt-at-rest · hashed PINs
Edge / SBC
When a device registers, ByondSBC does not hold a static password file; it asks the control plane to validate the credential dynamically over a trusted channel authenticated by the directory shared secret (§ 20.7). The edge trusts the API, and only the API.
dynamic auth · shared secret
Media / data
Voice media is carried as SRTP, relayed via TURN when the network is restrictive; recordings, transcripts and call records are stored row-level scoped per tenant, so the isolation at the API is the isolation in the data.
SRTP · per-tenant rows
The end-to-end security chain. Each plane enforces one control; a failure at one is contained by the next.
Defence in depth, stated plainly

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 ManualCh. 20 · Security
ByondByondVoice — Administrator & Operations Manual
Ch. 20 · Security

20.2 The credential taxonomy

ByondVoice 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.

Table 20.1 — The four credential classes in ByondVoice
CredentialUsed byHow it is storedHow you see itIf lost
Portal / console passwordA person, to sign inOne-way hash (salted)Never — not even onceReset (send a self-service link); never read back
SIP device secretA phone, to registerEncrypted at restReveal-once at creation (§ 9.4.2)Rotate — issue a fresh secret, old one dies
Provisioning token / URLA phone, to fetch configEncrypted at rest, short TTLReveal-once URL (§ 10.3)Re-generate — old URL is revoked
Voicemail / conference PINA caller, on a keypadOne-way hashNever — never displayed at allReset (set a new PIN); old one is unknowable
Directory shared secretThe SBC, to trust the APIEncrypted at rest, server-side onlyReveal-once at issue; rotated on a scheduleRotate — overlapping window, then revoke (§ 20.7)

Two storage disciplines underlie the table, and the difference is the whole point:

Encrypted at rest, reveal-once

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.

Hashed, never shown

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.

The one question to ask at every dialog

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 ManualCh. 20 · Security
ByondByondVoice — Administrator & Operations Manual
Ch. 20 · Security

20.3 SIP secrets: encrypted at rest, revealed once

A 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.

Device created — copy the secret now

×
Extension1001 · Alice Tan
SIP username1001-desk
SIP secret (shown once)b7Qz-9pK2-mW4t-Xa1r CopyEncrypted at rest. After you close this dialog it cannot be shown again — only rotated.
Registrar (host)sbc.byondvoice.com · TLS 5061
reveal-once · not recoverable
Copy secret Registrar info Done
  1. The secret, in clear, once — the generated SIP password is visible only here. There is no “view secret” action anywhere else in the console; the stored value is encrypted and never rendered back.
  2. The reveal-once warning reveal-once · not recoverable is your cue to copy before dismissing. Losing it means rotating, not recovering.
  3. Copy / Registrar info — copy the secret straight into the phone, or open the registrar blob (§ 9.7) to copy host, transport and credentials as a set. Only choose Done once the phone is configured.
The reveal-once SIP-secret dialog. Closing it discards the only readable copy; the encrypted form remains for the registrar to validate against.

20.3.1 Procedure — rotate a SIP device secret

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.

  1. Open the device. In Hosted PBXExtensions & Devices, open the extension and its devices drawer (§ 9.4); find the device by its friendly name and SIP username.
  2. Choose Rotate secret. Confirm the prompt. ByondVoice generates a new random secret and revokes the previous one in the same action.
  3. Copy the new secret. The reveal-once dialog above appears with the fresh value. Copy it now — the old secret is already dead.
  4. Re-register the device. Enter the new secret into the phone (or re-run provisioning). The endpoint will be rejected until it presents the new value, then return to registered.
  5. Verify, then confirm done. Watch the registration state flip to registered and place a test call before you consider the rotation complete.
Worked example — a laptop is lost on a train

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.)

Never transmit a secret in clear

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 ManualCh. 20 · Security
ByondByondVoice — Administrator & Operations Manual
Ch. 20 · Security

20.4 PINs: hashed beyond recovery

A 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.

Reset voicemail PIN — box 1001

×
Mailbox1001 · Alice Tan
Current PINstored hashed · cannot be displayed
New PIN• • • •4–8 digits. Hashed the moment you save; you will not see it again.
Confirm new PIN• • • •
Require change on next use
User is prompted to set their own PIN via *98
Cancel Save & hash
  1. No current PIN field — the dialog cannot show the existing PIN because the platform does not hold a readable copy. You can only overwrite it with a new one.
  2. Set a temporary PIN — type a new 4–8 digit PIN; it is hashed the instant you save and is never displayed back.
  3. Require change on next use — force the user to choose their own PIN at their next *98 retrieval, so even you do not know the long-term value.
Resetting a voicemail PIN. There is no “reveal” — a PIN is set or reset, never read.

20.4.1 Procedure — reset a forgotten PIN

  1. Verify identity first. A PIN reset is a recovery action — confirm the request is genuine (a ticket from the user’s manager, an in-person request) before you touch it.
  2. Open the mailbox. Go to Hosted PBXVoicemail, find the box (e.g. 1001), and choose Reset PIN.
  3. Set a temporary PIN and turn on Require change on next use, so the user immediately replaces it with one only they know.
  4. Communicate it securely. Tell the user the temporary PIN over a trusted channel; never email it. They dial *98, enter it, and set their own.
No tier can read a PIN — by design

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”.

Worked example — the all-hands moderator PIN

Acme’s facilitator forgets the moderator PIN for conference room 3000 minutes before an all-hands. You open Call RoutingConferences, 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 ManualCh. 20 · Security
ByondByondVoice — Administrator & Operations Manual
Ch. 20 · Security

20.5 Login security — MFA, email OTP and the password policy

Everything 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.

admin.byondvoice.com
Supply
Numbers214
Hosted PBX
Users512
Extensions & Devices512
Carrier
Connectors4
Governance
Security Policy!
Audit Log
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Security Policy// governance · platform-wide defaults
ENV: PRODSA
// governance

Security Policy

Platform-wide minimums for passwords, second factors and lockout. Tenants may be stricter, never weaker.

Save policy
MFA coverage
71%
users with 2FA
Admins on 2FA
100%
enforced
Min length
12
characters
Lockout
5
fails · 15 min

Password policy

enforced
Minimum length
12 characters
12
Block common & breached passwords
Reject top-N and known-leaked secrets
No reuse of last 5
History check on change
Require 2FA for admin tiers
Platform, reseller and tenant admins
1
2
3
4
  1. Governance group — platform-tier screens for Security Policy and the Audit Log (§ 20.8). These set the floor every reseller and tenant inherits.
  2. Posture KPIs — MFA coverage across all users, the (enforced) figure for admins, the minimum length and the lockout threshold. Treat MFA coverage as a number to drive upward.
  3. Password policy panel — minimum length, blocking of common and breached passwords, reuse history, and the switch that requires a second factor for every admin tier.
  4. Require 2FA for admins — the single most valuable switch on the page; with it on, no privileged login can run on a password alone.
Security Policy — the platform-wide minimums. Tenants may tighten these; they can never loosen them.
ByondVoice — Administrator & Operations ManualCh. 20 · Security
ByondByondVoice — Administrator & Operations Manual
Ch. 20 · Security

20.5.1 The two second factors, compared

ByondVoice 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.

Table 20.2 — Email one-time-code versus authenticator (TOTP)
 Email one-time-codeAuthenticator app (TOTP)
How the code arrivesEmailed to the address on the user record at each sign-inGenerated offline by the user’s app, refreshing every 30 s
StrengthGood — depends on the user’s mailbox securityStronger — no shared channel to intercept
Enrolled byThe admin (a toggle) or the userThe user, from their portal — the secret is shown once, to them
Works offline?No — needs email deliveryYes — the code is computed on-device
Admin can enable instantly? yes user must enrol
Recovery if lostReset the email address, re-sendAdmin clears enrolment; user re-enrols (see procedure below)

20.5.2 Procedure — recover a user locked out of MFA

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.

  1. Verify identity out of band. A second factor exists precisely to stop impostors — do not clear it on an unverified request. Require a manager-approved ticket or equivalent.
  2. Open the user’s Security drawer. Hosted PBXUsers → the user → Security (§ 7.4).
  3. Clear the stale TOTP enrolment and, in the same save, turn on Require second factor so the user falls back to the email one-time-code — never save with both factors off.
  4. Have the user sign in with their password plus the emailed code, then re-enrol a fresh authenticator from their portal. The account is never without a second factor at any point.
Worked example — Ben replaces his phone

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.

Reset the password and the factor as one decision

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.

20.5.3 The password policy in practice

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.

Prefer invitations and reset links

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 ManualCh. 20 · Security
ByondByondVoice — Administrator & Operations Manual
Ch. 20 · Security

20.6 Per-user API scoping — IDOR-safe by design

Once 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:

// the access token bounds what the session may reach (see §4.3.2)
// 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.

A denied lookup returns 404, never 403

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).

// portal API · same token, two requests

Why one user cannot read another’s line

Alice (bound to 1001) asks for her own mailbox, then for a colleague’s. The scope decides each one.

GET /me/voicemail/1001

200 OK
Caller tier=user · ext=1001
Scope check tenant matches · extension matches
Result her own messages

GET /me/voicemail/1002

404 Not Found
Caller tier=user · ext=1001
Scope check tenant matches · extension does NOT match
Result 404 — as if it never existed
The same valid token, two requests: the bound extension is what separates “200 — her line” from “404 — not hers”.
Tenant-wide objects live in the console, not the portal

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 ManualCh. 20 · Security
ByondByondVoice — Administrator & Operations Manual
Ch. 20 · Security

20.7 The directory shared secret — how the PBX trusts the control plane

So 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.

The directory shared secret sits on the edge↔control-plane boundary
SIP devicepresents its own SIP secret to the edge at registration
ByondSBC (edge)no password file; asks the API to validate, signing the request with the directory shared secret
Control plane (API)verifies the shared secret, then returns the device’s validity and routing — only to the trusted edge
Two distinct credentials on one path: the device’s SIP secret authenticates the phone to the edge; the directory shared secret authenticates the edge to the control plane.

Two properties make this safe to operate, and both matter when you rotate it:

Server-side only
The directory shared secret never appears in any console screen a tenant or reseller sees, never reaches a device, and is not the same as any SIP device secret. It is a platform-tier, infrastructure credential, held encrypted at rest and presented only between ByondSBC / the PBX and the API.
Rotatable with overlap
Because it underpins live registrations, it is rotated with an overlapping window: the API accepts both the old and the new secret while the edge is updated, then the old one is revoked. This means rotation causes no registration outage when sequenced correctly.

20.7.1 Procedure — rotate the directory shared secret

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.

  1. Issue a new secret. In GovernanceSecurity Policy (platform tier), generate a new directory shared secret. It is shown reveal-once — copy it to your secrets manager immediately.
  2. Enter the overlap window. Mark the new secret active alongside the old, so the API will accept either while you roll the edge.
  3. Update the edge and PBX. Deploy the new secret to ByondSBC and the ByondSwitch PBX. Registrations continue uninterrupted because the API still honours the old secret during overlap.
  4. Verify with a live registration. Confirm a test device registers and a test call completes — proof the edge is now presenting the new secret and the API accepts it.
  5. Revoke the old secret. Close the overlap window. From this point the API rejects the old secret; any component still using it fails its directory lookups, which is your signal that something was missed.
Never revoke before the edge is cut over

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.

Worked example — quarterly rotation for Nimbus’s region

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 ManualCh. 20 · Security
ByondByondVoice — Administrator & Operations Manual
Ch. 20 · Security

20.8 Administrative best practice

The 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.

Least privilege

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.

Enforce MFA upward

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 and revoke promptly

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.

Watch the carrier edge

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.

20.8.1 The audit log

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 GovernanceAudit Log. 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.

Table 20.3 — A representative slice of the audit log
WhenActorActionTargetScope
02:14:07platform-admin (SA)Rotated directory shared secretedge · sg-southplatform
09:31:55tenant-admin · AcmeReset voicemail PINbox 1001 · Alice Tantenant Acme
09:33:12tenant-admin · AcmeRotated SIP secretdevice 1001-webtenant Acme
11:02:48tenant-admin · AcmeCleared TOTP enrolmentuser Ben Ongtenant Acme
11:02:49tenant-admin · AcmeEnabled email OTPuser Ben Ongtenant Acme
The log shows actions, never secrets

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.

Try it

Open GovernanceAudit Log 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 ManualCh. 20 · Security
ByondByondVoice — Administrator & Operations Manual
Ch. 20 · Security

20.9 Incident basics

However 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.

20.9.1 The response sequence

  1. Contain first. Stop the bleeding before you diagnose. If a device is dialling fraudulently, rotate that device’s SIP secret (§ 20.3) to de-register the impostor instantly. If an account is compromised, reset the password and expire sessions (§ 20.5) and confirm the second factor is on. If the carrier edge is the vector, pause the affected connector.
  2. Preserve the evidence. Note the timestamps, the device or account involved, and the relevant audit-log entries (§ 20.8) before you change more — the log records actions, so your own remediation will appear in it too; capture the “before” first.
  3. Eradicate the cause. Find how the credential or session was obtained: a secret emailed in clear, a phishing of the portal password, a provisioning URL that outlived its purpose. Rotate or revoke every credential that shared the exposure, not only the one that was abused.
  4. Recover deliberately. Bring the user, device or connector back with fresh credentials and verify normal operation — a test registration, an echo-test call to 9196, a confirmed sign-in with the second factor.
  5. Review and harden. Ask what control would have prevented it — MFA that was off, a secret that should have been rotated, a tier broader than the job needed — and change the policy, not just the instance.

20.9.2 Triage — symptom to first action

Table 20.4 — Common security symptoms and the first containment lever
SymptomLikely causeFirst action (contain)Then
Spike of costly international callsCompromised device or trunk — toll fraudRotate the offending device’s SIP secret; pause the connector if neededReview CDR; cap concurrency; eradicate the leaked secret
Device registers from an unexpected placeLeaked SIP secret in use elsewhereRotate 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 makePassword compromise / phishingReset password, expire sessions, confirm 2FA on (§ 20.5)Check audit log for what the session touched
Repeated failed logins on one accountCredential-stuffing / brute forceLockout engages automatically; verify policy thresholdsEnforce MFA on the account; consider a password reset
Directory-auth failures after a changeShared-secret rotation cut over wrong (§ 20.7)Re-activate the old secret (overlap window) to recoverRe-sequence the rotation; verify a live registration before revoke
Contain before you investigate

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.

Worked example — a fraud spike on Acme’s new trunk

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.

Keep this chapter’s tables to hand

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 ManualCh. 20 · Security
ByondByondVoice — Administrator & Operations Manual
Ch. 21 · Lifecycle
Chapter 21

Number portability and lifecycle

Chapter 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.

21.1 A number’s life as a state machine

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.

21.1.1 The lifecycle states and legal transitions

StateMeaningCan move toWhat the transition obliges you to do
stock (available)Free inventory in the platform pool, owned by no tenant. The Available KPI counts these.reserved · assignedConfirm the right carrier source is set (§8.6) so the DID can actually be delivered once handed out.
reservedEarmarked for a named tenant but not live — protected from the next preload and from other tenants.assigned · releasedRecord why (e.g. “awaiting port FOC”) and set a review date so a hold is never forgotten.
assignedOwned 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).
releasedJust handed back from a tenant. Routing cleared, ownership dropped; returns to stock after any cool-down.stock (available) · removedDecide its fate: re-stock for reuse, or decommission (§21.5). Observe the quarantine before reuse.
portingAn 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.
removedDecommissioned — 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.
“Stock” and “available” are the same state

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.

Manage the edges, not just the nodes

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 ManualCh. 21 · Lifecycle
ByondByondVoice — Administrator & Operations Manual
Ch. 21 · Lifecycle

21.2 The number record and its lifecycle history

Behind 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?

admin.byondvoice.com/#numbers
Supply
Numbers26
Tenancy
Tenants23
Hosted PBX
Extensions & Devices42
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Number · +65 6555 0100// supply · details & lifecycle history
ENV: PRODSA
// supply — number record

+65 6555 0100

Acme Corp · assigned · routes to AA 7000 “Acme reception”.

Set routingRelease
E.164
+6565550100
Status
assigned
Tenant
Acme Corp
Source / carrier
Nimbus SG trunk
Origin
Ported in
In pool since
2026-05-02

Lifecycle history

6 events
WhenEventByDetail
06-09 14:22 routedS. Admin→ AA 7000 reception
06-09 14:20 assignedS. Adminport completed → Acme Corp
06-09 09:00 port FOCcarriercutover confirmed
05-28 11:05 portingS. Adminorder NB-PORT-5582
05-02 16:40 reservedS. Adminhold for Acme · “awaiting port”
1
2
3
4
5
  1. Numbers rail — you reach a record by drilling into one row of the pool; the active Numbers item still shows the whole-pool count (here 26).
  2. Record breadcrumb — the title is now the number itself, and the subtitle reads details & lifecycle history: you are looking at one DID, not the pool.
  3. Identity & state block — the canonical E.164, the current status pill, the owning tenant, the carrier source, the origin (here Ported in) and when it entered the pool. This is the number’s passport.
  4. Current routing & actions — what it rings today, with the state-appropriate actions (Set routing, Release) exposed for an assigned number.
  5. Lifecycle history — the immutable, time-ordered log of every transition: reserved, porting, FOC, assigned, routed — each stamped with who and a one-line detail. This is your audit trail (§21.6).
The number record — identity, current state and the full lifecycle history for one DID.

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.

Origin tells reuse from port from preload

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 ManualCh. 21 · Lifecycle
ByondByondVoice — Administrator & Operations Manual
Ch. 21 · Lifecycle

21.3 Porting a number in

A 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.

21.3.1 The carrier dependency — what must already be true

Before any port can begin, the gaining carrier’s integration must be in place under CarrierConnectors. A port-in inherits the connector’s capabilities entirely; if porting is not enabled on the connector, the action is simply not offered.

admin.byondvoice.com
Supply
Numbers26
Carrier
Connectors1
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Connectors · Nimbus SG// carrier · port-in
ENV: PRODSA
// carrier — number portability

Port a number in

Submit a port-in request to the gaining carrier and track it to completion.

Nimbus SG · connected

New port-in request

×
Gaining carrier (connector)Nimbus SG trunk · port-in enabledThe ByondVoice carrier that will receive the number. Must advertise port-in.
Number(s) to port (E.164)+65 6555 0100One per line for a block; all must belong to the same losing-carrier account.
Destination tenantAcme Corp
Losing carrierTelco One (SG)
Losing account / billing no.TO-88241-AC
Requested cutover (FOC)2026-06-09
Letter of Authorisation (LOA)Attach signed LOA & recent bill (PDF)Proof the customer authorises the port; required by the gaining carrier.
1 number · validates against losing-carrier records before submission
Save draftSubmit port request
1
2
3
4
5
  1. Carrier rail — port-in lives under Carrier › Connectors, not under Supply: it is a carrier transaction, not a pool edit. The active connector must be connected.
  2. Gaining carrier — which ByondVoice connector receives the number. Only connectors that advertise a port-in capability appear here.
  3. Numbers & destination tenant — the DID(s) to bring across (one per line for a block) and the tenant they will be assigned to once the port completes.
  4. Losing-carrier details — the previous carrier and the account/billing number as they hold it, plus the requested FOC (Firm Order Commitment) cutover date.
  5. LOA & submit — attach the signed authorisation and a recent bill, then Submit. ByondVoice pre-validates against the losing-carrier records, then lodges the order with the gaining carrier.
The port-in request — submitted through a port-capable Connector to the gaining carrier.
ByondVoice — Administrator & Operations ManualCh. 21 · Lifecycle
ByondByondVoice — Administrator & Operations Manual
Ch. 21 · Lifecycle

21.3.2 Procedure — submit and track a port-in

  1. Confirm the connector. In CarrierConnectors check the gaining carrier shows connected and lists a port-in capability. If not, configure or test it first.
  2. Reserve the number first. In SupplyNumbers create or reserve the DID for the destination tenant with the note “awaiting port” (§8.4.3) so it cannot be taken while the port runs.
  3. Open the port request. On the connector select Port a number in and complete the form: gaining carrier, the number(s), the destination tenant.
  4. Enter losing-carrier details exactly. Type the losing carrier, the account/billing number and the holder name precisely as the losing carrier records them — mismatches cause rejection.
  5. Attach the LOA. Upload the customer’s signed Letter of Authorisation and a recent bill, and set the requested FOC cutover date.
  6. Submit and track. Select Submit port request. The number’s status becomes porting and the order appears with a live state you monitor (next).
  7. Cut over on FOC. On the confirmed FOC date the gaining carrier completes the port; the order moves to completed, the number flips to assigned for the tenant, and you route it (§8.7).

21.3.3 Port-in order states

A 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 stateMeaningYour action
draftSaved but not yet submitted to the carrier.Complete details, attach LOA, submit.
submittedLodged with the gaining carrier; validation in progress.Wait; watch for a rejection requesting corrections.
rejectedThe 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 confirmedAccepted; a firm cutover date is agreed.Tell the customer the date/time; prepare routing so it is ready at cutover.
completedThe number now delivers to ByondVoice; ownership has transferred.Confirm it became assigned; route it; test an inbound call.
cancelledWithdrawn before completion (by you or the customer).Release the reservation if the number is no longer wanted.
The losing carrier controls the cutover — do not cancel the old service early

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.

Worked example — porting Acme’s main line across

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.

Pre-build routing before the FOC, not after

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 ManualCh. 21 · Lifecycle
ByondByondVoice — Administrator & Operations Manual
Ch. 21 · Lifecycle

21.4 Reassigning a DID between extensions

People 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.

Reassign within a tenant (this section)

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.

Re-assign between tenants (§8.4)

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.

Reassign destination · +65 6555 0100

×
Acme Corp · assigned · currently → Ext 1001 · Alice Tan
New route typeExtensionSwitching type re-populates the target list below.
New target1002 · Ben OngInbound calls to this DID will ring this extension instead.
From
1001 · Alice Tan
To
1002 · Ben Ong
Keep caller-ID prefix & out-of-hours rule
Carry existing routing options to the new target
CancelSave new routing
  1. The banner confirms the number, its owning tenant, and — importantly — where it rings now, so you cannot mistakenly repoint the wrong line.
  2. New route type lets you keep it an extension or switch class entirely (to a ring group, auto-attendant or conference); changing type refreshes the target list.
  3. New target is the destination the DID will ring after saving — here moving from Alice (1001) to Ben (1002).
  4. The carry-options toggle brings the existing caller-ID prefix and out-of-hours voicemail rule across to the new target, so a desk move does not silently lose the line’s behaviour.
Reassigning a DID’s destination within a tenant — a routing change; ownership and number are untouched.

21.4.1 Procedure — move a DID from one extension to another

  1. Open the number. In SupplyNumbers find the assigned DID and select Manage › then Routing (or Reassign destination).
  2. Confirm what it rings now. Read the banner so you are certain you are repointing the right line and not another DID with a similar number.
  3. Choose the new target. Keep Extension (or change the route type) and pick the new destination, e.g. ext 1002 “Ben Ong”.
  4. Carry the options. Leave Keep caller-ID prefix & out-of-hours rule on unless the new owner needs different behaviour.
  5. Save and test. Select Save new routing; the Routes to cell updates. Dial the DID and confirm the new line rings; the change is logged in the lifecycle history (§21.2).
Worked example — Alice hands the direct line to Ben

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.

Reassigning the destination never disturbs the extension itself

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 ManualCh. 21 · Lifecycle
ByondByondVoice — Administrator & Operations Manual
Ch. 21 · Lifecycle

21.5 Decommissioning a number

Decommissioning 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.

21.5.1 Decommissioning checklist

Decommissioning is irreversible — and may release the number to the next holder

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.

21.6 Record-keeping and audit

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.

// number record · +65 6555 0100 · lifecycle export (audit)
# 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 mattersWhere 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 & LOAsProof the customer authorised the port; the carrier’s order reference for follow-up.Connector port order + your document store
Reservation reasons & review datesStops holds becoming forgotten dead stock that no one dares touch.Reserve note on the number
Origin & carrier sourceDecides how to retire a number (port-away vs remove) and who delivers it.Number record (§21.2)
Quarantine / aging statusPrevents a previous owner’s calls reaching the next customer.Released state + cool-down
Reconcile the pool against the carrier monthly

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.

21.6.1 Lifecycle and record-keeping — quick reference

SituationRight actionSee
Customer keeps their existing number when joiningPort-in via a port-capable Connector; reserve first, route before FOC§21.3
Person changes desk; number must follow the roleReassign the DID’s destination within the tenant (routing edit)§21.4
Customer leaving but keeping their numberPort-out to their new provider — never release-and-remove§21.5
Number genuinely finished, never reusedRelease, handle carrier side per origin, then remove from pool§21.5
Number freed but may be reused laterRelease; observe quarantine/aging before re-assigning§21.5, §8.4.4
Proving who changed a number and whenRead the append-only lifecycle history; export for audit§21.2, §21.6
Try it · walk a number through its whole life (sandbox)

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 ManualCh. 21 · Lifecycle
ByondByondVoice — Administrator & Operations Manual
Ch. 22 · Monitoring
Chapter 22

Monitoring, health and registrations

Provisioning 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.

22.1 The three signals you watch every day

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.

Registration state

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).

System health

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).

Call records

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.

22.1.1 Where each signal lives

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.

SignalConsole locationUser-facing echoSee
Device registrationHosted PBXExtensions & Devices — per-row pill & Registered KPIPortal My Devices§ 22.2
System healthSidebar footer banner + the health detail view— (operator only)§ 22.4
Call records (CDR)Per-user, via the user’s line; tenant-wide reporting on roadmapPortal Recent Calls§ 22.5
Build & versionSidebar footer v… · region · build + topbar ENV§ 22.6
Live reads, not snapshots

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.

Read top-down when something breaks

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 ManualCh. 22 · Monitoring
ByondByondVoice — Administrator & Operations Manual
Ch. 22 · Monitoring

22.2 Device registration state

A 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 Hosted PBXExtensions & Devices 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.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Conferences5
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Extensions & Devices// hosted PBX · tenant Acme Corp
ENV: PRODSA
// hosted PBX

Extensions & Devices

Live registration state for every device on the tenant.

Refresh
Extensions
42
provisioned
Devices
51
across the tenant
Registered
46
90% online
Unreachable
2
no device online
ExtNameDevicesLast registrationStatus
1001Alice Tan212s ago registered
1002Ben Ong1idle idle
1015Reception141 min ago expired
1031Warehouse1never unreachable
1
2
3
4
5
  1. Health banner — the sidebar footer confirms the platform itself is up (§ 22.4) before you read any per-device state; if this were degraded, mass “unregistered” readings would point at the platform, not the phones.
  2. Registered KPI — a live count of devices currently registered across the tenant, with the proportion online. Watch the ratio, not just the number; 46/51 (90%) is healthy, a sudden drop is not.
  3. Unreachable KPI — extensions with no device online at all. These are the lines that silently send callers to voicemail; this tile is your daily “who can’t be reached” count.
  4. Last registration — how long since each device last (re-)registered. A small, steady value (12s) is healthy; a value climbing past the registration interval is the first sign of trouble.
  5. Per-row status pill — the live state for that extension’s device(s): registered, idle, expired or unreachable (§ 22.2.1).
Extensions & Devices — the tenant’s live registration board: KPIs above, per-extension state below.
ByondVoice — Administrator & Operations ManualCh. 22 · Monitoring
ByondByondVoice — Administrator & Operations Manual
Ch. 22 · Monitoring

22.2.1 The registration states, and what each means

Four 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.

StateMeaningCan it ring?Typical cause
registeredDevice is registered and its registration is current.YesHealthy. The normal state.
idleProvisioned and known, but not currently holding a live registration (e.g. a softphone whose tab is closed).No, until it re-registersSoftphone signed out / browser closed; phone asleep.
expiredWas registered, but the registration lapsed and has not yet renewed.NoPhone lost power/network past the expiry; failed re-register.
unreachableThe extension has no device online at all (never registered, or all devices down).NoNever provisioned a device; wrong credentials; hardware off.
“idle” is normal; “expired” and “unreachable” are not

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.

22.2.2 Procedure — audit registrations and act on the outliers

  1. Open the board. Go to Hosted PBXExtensions & Devices and read the Registered and Unreachable KPIs first — the tenant-wide picture before any single row.
  2. Sanity-check the ratio. Compare registered-to-total against what you expect for the time of day. A small idle count outside business hours is normal; a large unexpected drop is your headline.
  3. Sort to the outliers. Bring the expired and unreachable rows to the top. Ignore idle unless a user expects that line live.
  4. Read Last registration. For each outlier, how long since it last registered? A value just over the interval is a transient re-register; never means a device that has never come up — almost always a provisioning gap.
  5. Triage by state. Expired → check the device’s power and network, then its credentials. Unreachable + never → confirm a device was actually added under the extension (§ 9) with the right secret.
  6. Confirm the fix live. After the device is power-cycled or re-provisioned, refresh; the pill should flip to registered and Last registration reset to seconds.
Worked example — Reception’s phone “stopped ringing”

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.

Always rule out the platform first

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 ManualCh. 22 · Monitoring
ByondByondVoice — Administrator & Operations Manual
Ch. 22 · Monitoring

22.3 How registration works — the lifecycle you are watching

To 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.

One registration cycle — from REGISTER to a live pill
SIP device
sends REGISTER
ByondSBC
edge · receives
Control plane
authenticates
Binding stored
with expiry
Console pill
registered
The device refreshes this binding before it expires; if it stops, the binding lapses and the pill turns expired.

Two consequences follow, and both explain readings you will see:

22.3.1 Softphones vs. desk phones — reading the difference

softphones and hardware desk phones produce subtly different patterns, and knowing which you are looking at saves false alarms.

softphone

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.

Hardware desk phone

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).

Restrictive NAT can mask as registration trouble

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.

Worked example — Alice’s softphone “keeps going idle”

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 ManualCh. 22 · Monitoring
ByondByondVoice — Administrator & Operations Manual
Ch. 22 · Monitoring

22.4 System health indicators

Registration 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.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Service health// platform · region sg-south
ENV: PRODSA
// platform

Service health

Live state of the components every call depends on.

Refresh

Edge & PBX

operational
ByondSBC · edge / registrar46 bindings up
Hosted PBX · ByondSwitch3 live calls up
Media relay · RTP / TURNrelaying up

Control plane & carrier

1 degraded
Control plane · APIauth + config up
Carrier trunk · Connectorlast sync 6m degraded
1
2
3
4
5
  1. Summary banner — the persistent sidebar footer. Green ALL SYSTEMS OPERATIONAL is your at-a-glance “platform is fine” on every screen; if it is not green, open this detail view.
  2. Component group health — each panel rolls up its rows; the group pill turns degraded the moment any member is unhealthy, so you can scan groups before rows.
  3. Edge & PBX rows — the components that ring phones and bridge calls: the registrar (with live binding count), the PBX (with live-call count) and media relay. These being up is what makes internal calling work.
  4. Control plane — the API that authenticates devices and holds configuration. If this is down, new registrations and config changes fail even while calls in progress continue.
  5. Carrier trunk — the connector to the outside world, with its last-sync time. Degraded here affects only carrier-gated paths (outbound PSTN, inbound DIDs); internal calling is unaffected (§ 22.4.2).
Service health — the telephony stack component by component, rolled up to the sidebar banner.
ByondVoice — Administrator & Operations ManualCh. 22 · Monitoring
ByondByondVoice — Administrator & Operations Manual
Ch. 22 · Monitoring

22.4.1 The components, and what a failure of each looks like

Health 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.

ComponentRoleIf 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 PBXBridges 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 trunkConnects to the PSTN (carrier-gated).Outbound PSTN / inbound DID fail; internal stays fine.Unaffected

22.4.2 Internal vs. carrier-gated — the most important distinction in triage

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.

Decide severity from the component, not the complaint

“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.

22.4.3 Procedure — triage a “calls are broken” report from the health view

  1. Read the banner. Is the sidebar footer green? Green → the platform is broadly up; suspect a single device or a carrier path. Not green → open the health detail.
  2. Scan the group pills. Edge & PBX vs. Control plane & carrier — which group is degraded? This alone usually localises the fault.
  3. Find the unhealthy row. Identify the specific component and map it to its symptom in the table above to confirm it matches the complaint.
  4. Classify internal vs. carrier. If only the carrier trunk is degraded, reframe the ticket: external calling is impaired; internal is fine. Otherwise treat as a platform incident.
  5. Correlate with registrations. Cross-check Extensions & Devices (§ 22.2): mass expired alongside a degraded edge confirms an edge fault rather than coincidental device failures.
  6. Escalate with the build. Quote the build & region from the footer (§ 22.6) and the exact component pill when you raise the incident — it is the context the platform team needs first.
Worked example — “Acme can’t call out”

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 ManualCh. 22 · Monitoring
ByondByondVoice — Administrator & Operations Manual
Ch. 22 · Monitoring

22.5 Where call records (CDRs) surface

A 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.

my.byondvoice.com/#recent
My line
My Phone
Voicemail3
Recent Calls
Control
Call Handling
My Devices2
Conferences
REGISTERED
Acme Corp · my.byondvoice.com
Recent Calls// your line · Alice Tan · ext 1001
AT
// my line

Recent Calls

Your inbound, outbound and missed calls — this line only.

DirectionPartyWhenDuration
inBen Ong · 100209:58 today04:12
missed+65 9123 456709:42 today
out1050 · SalesYesterday 17:2001:05
in+65 6555 0102Yesterday 11:0502:38
1
2
3
4
  1. Scoped to one line — the breadcrumb names the user and extension; this log shows only that user’s calls, never the tenant’s. It is a self-service recall tool, not a reporting surface.
  2. Direction in, out and missed classify each call; missed calls are what a user scans first to answer “who called?”.
  3. Party & time — the other number or extension and when; an internal call shows the extension/name, an external one the number (with a carrier connected).
  4. Duration — connected length (blank for a missed call). Enough for a user to recall a conversation, not a billing-grade record.
Recent Calls — the per-user call log, where call records surface for the individual today.
ByondVoice — Administrator & Operations ManualCh. 22 · Reporting
ByondByondVoice — Administrator & Operations Manual
Ch. 22 · Monitoring

22.5.1 Today vs. roadmap — setting expectations honestly

Be 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.

CapabilityStatusWhere
Per-user call log (in / out / missed, time, duration) available todayPortal Recent Calls; softphone History tab
User reads their own missed calls / recalls a number available todayPer line, self-service
Tenant-wide CDR list across all users roadmapConsole reporting screen (planned)
Filter / search / export CDRs (CSV) roadmapConsole reporting screen (planned)
Aggregated metrics (volumes, busy hour, ASR/ACD) roadmapConsole reporting screen (planned)
Wholesale usage (platform → reseller billing preview/run) available todayRevenueWholesale Meter
Recent Calls is recall, not the system of record

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).

Don’t promise tenant-wide CDR export yet

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.

22.5.2 Carrier dependence of records

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.

Worked example — “a customer says we never called back”

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 ManualCh. 22 · Reporting
ByondByondVoice — Administrator & Operations Manual
Ch. 22 · Monitoring

22.6 The build & version footer

At 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.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Any screen// the footer is on every page
ENV: PRODSA
// orientation

Reading the footer

Persistent build, region and environment context.

Version
v1.0 — console release line
Region
sg-south — serving region
Build
2026.06 — dated build tag
Environment
PROD — live; changes are real
1
2
3
4
  1. Health banner — immediately above the footer, the operational summary (§ 22.4); read it and the build together as one “state of this console” block.
  2. Build & version linev1.0 · sg-south · build 2026.06: the release line, the serving region, and the dated build tag. This is the string to copy onto a ticket.
  3. Environment chip ENV: PROD in the topbar. PROD means every action is live; a non-prod chip means a safe environment. Always confirm before acting.
  4. What each token means — version (which software), region (which deployment), build (which exact dated cut), environment (live or not) — four facts that disambiguate any report.
The build & version footer — persistent on every screen; the context you quote on every ticket.

22.6.1 What each token tells you

TokenExampleWhat it tells you
Versionv1.0The console release line — which feature set you have; quote when a feature behaves unexpectedly.
Regionsg-southThe deployment/region serving this tenant — matters for latency questions and for routing an incident to the right stack.
Buildbuild 2026.06The exact dated build — the most precise identifier; pins a bug to a specific cut of the software.
Environment PRODLive vs. non-production. Confirms whether your changes affect real users right now.
Lead every ticket with the footer

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.

Confirm ENV before any change

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 ManualCh. 22 · Version
ByondByondVoice — Administrator & Operations Manual
Ch. 22 · Monitoring

22.7 What to watch — signals, thresholds and a daily routine

Monitoring 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.

SignalHealthyWatch / act when…Action
Registered ratio≈ expected for the hour (e.g. 90%+ in business hours)A sudden drop, or unreachable count risingCheck health banner; if platform is up, chase the expired/unreachable rows (§ 22.2.2)
Unreachable extensions0 for lines that should be liveAny line that should be staffed shows unreachableConfirm a device exists & is powered; re-provision if “never” (§ 22.2.2)
Last registrationSeconds (desk) / on sign-in (softphone)Climbing past the registration interval and not renewingSuspect device power/network or site NAT (§ 22.3)
Health banner ALL SYSTEMS OPERATIONALNot green; any component degraded/downOpen detail; classify internal vs. carrier; escalate with build (§ 22.4.3)
Carrier trunk up, recent syncDegraded / stale syncExternal calling only; reframe severity; escalate connector (§ 22.4.2)
Build / ENVKnown build; ENV as intendedUnexpected build, or ENV not what you assumedConfirm before acting; quote on every ticket (§ 22.6)

22.7.1 A sensible monitoring routine

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.

Daily glance (< 1 min)

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.

Weekly review

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.

22.7.2 Best practice

Worked example — a one-minute morning check on Acme Corp

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.

Monitoring is a habit, not a project

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.

Where to go next

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 ManualCh. 22 · Monitoring
ByondByondVoice — Administrator & Operations Manual
Ch. 23 · Runbooks
Chapter 23

Troubleshooting and runbooks

Most 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.

23.1 How to read a fault — the diagnostic method

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.

The call chain — walk it left to right; the first broken link is your fault domain
1 · Register
The device authenticates to the SBC and holds a live registration. No registration → the device cannot be reached at all. → §23.2
SBC
2 · Signal & route
An INVITE reaches the PBX, which renders routing from the saved config — extension, ring group, attendant, forwarding ladder — and rings a destination. → §23.6, §23.7
PBX
3 · Media
Once answered, RTP/SRTP audio must flow both ways. NAT and firewalls break this even when signalling is perfect; TURN relays the media when a direct path is impossible. → §23.3
RTP · TURN
4 · Hold & clear
The call stays up for its duration and ends cleanly. Premature teardown points at session timers, transport loss or media starvation. → §23.4
session
5 · Post-call
On no-answer the message is recorded, stored and delivered (visual voicemail + email). → §23.5
voicemail

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.

Fault triage — symptom to runbook
What the user reportsMost likely linkRunbook
“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
Always know the build you are on

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 ManualCh. 23 · Runbooks
ByondByondVoice — Administrator & Operations Manual
Ch. 23 · Runbooks

23.2 Runbook — a device won’t register

Registration 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 Hosted PBXExtensions & Devices shows each device’s real registration state, and opening the device reveals why. The figure shows an extension whose desk phone has fallen offline.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Conferences5
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Extension 1002 · Ben Ong// hosted PBX · devices · tenant Acme Corp
ENV: PRODSA
// hosted PBX — device registration

Devices on extension 1002

SIP devices bound to this extension and their live registration state.

Reveal-once password+ Add device
Devices
2
bound
Registered
1
of 2 online
Last seen
3h ago
desk phone
Transport
TLS
expected

Devices

1 offline
DeviceTypeTransportContact / UAStatus
Ben — softphonebrowser softphoneWSSbrowser · 100.x registered
Ben — desk phonesipTLS198.51.100.7 · Yealink offline
1
2
3
4
5
  1. Extensions & Devices — the screen scoped to the affected extension. A device must be bound to an extension and registered before it can carry calls; this is where you confirm both.
  2. Registered count1 of 2 online tells you immediately this is a single-device fault, not a site-wide outage. If every device on every extension is offline, suspect the network egress or the SBC, not the phone.
  3. Last seen — when the offline device last held a registration. “3h ago” narrows the window: what changed three hours ago (a reboot, a firewall rule, a DHCP lease)?
  4. Transport — the expected transport (TLS for desk phones, WSS for the softphone). A device configured for the wrong transport or port will never register.
  5. Per-device status registered vs offline, with the last contact address and user-agent. The softphone is fine; the desk phone is the fault.
A registration fault isolated to one device — the softphone is registered, the desk phone is offline.
ByondVoice — Administrator & Operations ManualCh. 23 · Runbooks
ByondByondVoice — Administrator & Operations Manual
Ch. 23 · Runbooks

23.2.1 Procedure — diagnose a registration failure

  1. Confirm the scope. On Hosted PBXExtensions & Devices check whether it is one device, one extension, or everyone. One device → continue here; all devices offline → jump to the site-wide check in step 7.
  2. Read the device state. Open the extension (here 1002) and note Status, Last seen, the Transport, and the contact/UA. These four facts decide everything below.
  3. Verify the secret. SIP device secrets are shown reveal-once and encrypted at rest; if the password was mistyped into the phone, registration fails on authentication. Re-issue the device password and re-enter it on the phone exactly.
  4. Verify transport and address. The phone must point at the SBC on the correct transport and port. A desk phone set to UDP/5060 when the platform expects TLS will never come up; the softphone must reach the SBC over secure WebSocket (WSS, 443).
  5. Check for an account block. An extension can be administratively disabled, or a device may have been auto-blocked after repeated bad-password attempts (a fraud guard). Confirm the extension is enabled and the device is not locked out.
  6. Re-register from the device. Reboot the phone (or, for the softphone, sign out and back in at my.byondvoice.com/phone). Watch the console — the status should flip to registered within a few seconds.
  7. If everyone is offline, look upstream. Confirm the site has Internet egress, that the firewall permits outbound TLS/WSS to the SBC, and that the rail footer reads ALL SYSTEMS OPERATIONAL. A single broken firewall rule can take a whole office offline at once.
  8. Prove it end to end. Once registered, have the user dial the echo test 9196 — this confirms registration and two-way media in one step.
Registration failure — cause and fix
Console clueLikely causeFix
offline, recent Last seen, one deviceWrong/expired device secretRe-issue the reveal-once password; re-enter on the device
Never registered, new deviceWrong transport, port or SBC addressSet TLS (desk) / WSS 443 (softphone) to the correct SBC host
Was online, then offline after a changeFirewall / NAT keep-alive or DHCP changeRestore the outbound rule; shorten NAT keep-alive; reboot
Offline + repeated auth attemptsAuto-block after bad credentialsClear the block, fix the secret, re-register
Every device on the site offlineSite Internet / firewall / egressRestore egress; verify the SBC is reachable from the LAN
Extension greyed outExtension administratively disabledRe-enable the extension (§7), then re-register
Worked example — Ben’s desk phone after a router swap

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.

The secret is reveal-once

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 ManualCh. 23 · Runbooks
ByondByondVoice — Administrator & Operations Manual
Ch. 23 · Runbooks

23.3 Runbook — one-way or no audio (NAT / TURN)

This 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.

my.byondvoice.com/phone

In call · media

one-way
1001 Alice Tan → 1002 Ben Ong · 00:18
DirectionPathState
Send (mic)srflx → host flowing
Receive (spk)no inbound RTP silent
ICE candidatehost / srflx only no relay
TURN relayturn.byondvoice.com unreachable
Re-negotiate Force relay
Phone Contacts Chat History
1
2
3
4
5
  1. Call is up00:18 connected. The fault is not signalling or registration; those succeeded. This is purely a media problem.
  2. Send is flowing — Alice’s microphone audio is leaving her device. So she is heard.
  3. Receive is silent — no inbound RTP arrives. So she hears nothing. One-way audio, return-path blocked — the NAT signature.
  4. No relay candidate — only host and srflx (server-reflexive) candidates were gathered; the relay candidate is missing, so the call had no fallback when the direct path failed.
  5. TURN unreachable — the relay at turn.byondvoice.com could not be reached, which is why there is no relay candidate. Fix this and audio flows.
One-way audio — send flowing, receive silent, and TURN unreachable so no relay path was available.
ByondVoice — Administrator & Operations ManualCh. 23 · Runbooks
ByondByondVoice — Administrator & Operations Manual
Ch. 23 · Runbooks

23.3.1 Procedure — diagnose one-way or no audio

  1. Confirm the call connects. If it never connects, this is the wrong runbook — go to registration (§23.2) or routing (§23.6). Media faults only apply after answer.
  2. Establish the direction. Ask precisely: “can you hear them?” and “can they hear you?” Total silence both ways and one-way have the same root (a blocked media path) but the asymmetry tells you which leg is blocked.
  3. Suspect NAT first. If the affected user is behind a home router, hotel Wi-Fi, or a corporate firewall, NAT is the prime suspect — especially for a one-way symptom, which is the firewall letting RTP out but not back in.
  4. Check the ICE candidates. In the media panel look for a relay candidate. If only host/srflx are present, the call had no relay to fall back on — the next step is why.
  5. Verify TURN reachability. Confirm the device can reach the TURN relay at turn.byondvoice.com on its UDP/TLS port. A firewall that blocks the relay is the most common single cause of relayed-call failure.
  6. Force a relayed path. Re-negotiate the call forcing the relay candidate. If audio returns over the relay, you have proven the direct path was NAT-blocked and the relay is the fix.
  7. Open the network egress. Have the site permit UDP to the media/TURN ranges (and the TLS fallback). On networks that block UDP entirely, TURN-over-TLS on 443 carries the media.
  8. Re-test with the echo test. 9196 plays your own voice back — if you hear yourself clearly, two-way media is healthy on that device’s network.
Audio fault — symptom to media diagnosis
SymptomMedia readingRoot causeFix
One-way (you hear them, they don’t hear you)Send flowing, no inbound RTP at far endFar end’s firewall drops your return RTPForce relay; open far-end UDP / use TURN
One-way (they hear you, you hear nothing)Receive silent on your deviceYour firewall drops inbound RTPForce relay; permit UDP to media/TURN
Silence both ways after answerNo RTP either directionSymmetric NAT, no relay candidateMake TURN reachable; re-negotiate
Audio fine internally, broken externally onlyRelay used internally, blocked outsideSite UDP egress blockedPermit UDP egress, or TURN-over-TLS 443
Audio starts then drops to one-way after secondsNAT mapping expires mid-callShort NAT timeout, no keep-aliveShorten keep-alive; prefer the relay
Worked example — Alice on hotel Wi-Fi, one-way audio

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.

Why media and signalling differ

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 ManualCh. 23 · Runbooks
ByondByondVoice — Administrator & Operations Manual
Ch. 23 · Runbooks

23.4 Runbook — calls drop mid-conversation

A 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.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Conferences5
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Call detail · 14:02// call history · tenant Acme Corp
ENV: PRODSA
// call history — call detail record

Call detail

How this call set up, connected and ended — the record that diagnoses a drop.

Export CDR
Duration
30:01
connected
Ended by
system
not a party
Disposition
session timeout
refresh failed
Media
relay
RTP healthy

Call timeline · 1001 ↔ +65 9123 4567

cleared by system
tEventNote
00:00Answeredtwo-way audio, relay path
15:00Session refresh ok
30:00Session refresh no response
30:01ClearedBYE sent by PBX
1
2
3
4
5
  1. Duration30:01, suspiciously close to a round number. A drop at a consistent interval is the fingerprint of a session-timer problem rather than a network glitch.
  2. Ended bysystem, not a party. Neither caller nor callee hung up; the platform cleared the call. That rules out “they just ended it.”
  3. Dispositionsession timeout: the periodic refresh that keeps the dialog alive went unanswered, so the PBX tore the call down.
  4. Media was healthy — RTP was flowing over the relay the whole time, which exonerates the audio path and confirms this is a signalling keep-alive failure, not media starvation.
  5. Timeline — the refresh at 15:00 succeeded, the refresh at 30:00 got no response, and one second later the PBX sent BYE. The exact moment the call died, and why.
Call detail for a dropped call — cleared by the system at a session-timer boundary, with media healthy throughout.
ByondVoice — Administrator & Operations ManualCh. 23 · Runbooks
ByondByondVoice — Administrator & Operations Manual
Ch. 23 · Runbooks

23.4.1 Procedure — diagnose dropped calls

  1. Capture the pattern. Ask whether the drops happen at a consistent time into the call or randomly. This single answer splits the diagnosis: consistent → session timer; random → transport.
  2. Open the CDR. Find the call in call history and read Duration, Ended by and Disposition. A round-number duration ended by system with disposition session timeout confirms the timer hypothesis.
  3. Check who sent BYE. If the platform sent BYE (not a party), the call did not end naturally. The timeline shows the failed refresh that triggered it.
  4. Rule out media starvation. If the CDR shows RTP stopped well before teardown, the drop is a media fault — treat it as §23.3 (NAT/TURN). If media was healthy to the end, it is a signalling/timer fault.
  5. For consistent drops, fix the keep-alive path. The session refresh is a SIP request that must traverse the device’s firewall/NAT. Ensure the firewall is not dropping it (a stale NAT mapping is the usual culprit) and that the device is not behind an SBC/ALG that mangles the refresh.
  6. For random drops, fix transport. Investigate Wi-Fi roaming, packet loss, or a device that sleeps. A laptop softphone that suspends, or a phone whose Wi-Fi drops between access points, will lose the call.
  7. Prefer the relay on flaky networks. A stable relayed media path often survives where a fragile direct path does not, and it keeps the NAT mapping warm.
  8. Re-test long-hold. Place a deliberate call and hold it past the interval where drops occurred. If it now survives the boundary that previously killed it, the fix held.
Dropped call — timing tells the cause
PatternCDR signatureCauseFix
Drops at a fixed interval (~15/30 min)Ended by system, disposition session timeoutSession refresh blocked by NAT/firewall/ALGPermit the refresh; warm the NAT mapping; disable a mangling ALG
Drops at random timesRTP stops, then teardownTransport loss — Wi-Fi roam, packet loss, sleepStabilise network; stop the device sleeping; prefer relay
One party drops, other stuckOne leg BYE, one leg orphanedHalf-open NAT on one sideForce relay on the affected leg; shorten keep-alive
Only long calls dropAlways near the same minute markSession-timer expiry, refresh not arrivingFix the keep-alive path as above
External calls drop, internal fineCarrier leg clearsTrunk-side timer or carrier issueCheck the connector; raise with the carrier (§17, §18)
Worked example — the 30-minute cut-off on the sales desk

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.

Let the CDR tell the story

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 ManualCh. 23 · Runbooks
ByondByondVoice — Administrator & Operations Manual
Ch. 23 · Runbooks

23.5 Runbook — voicemail not recording or not delivering

Voicemail 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 Hosted PBXVoicemail tells you which. The figure shows a mailbox whose messages are recording but whose email delivery is failing.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Conferences5
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Mailbox · 1001 Alice Tan// hosted PBX · voicemail · tenant Acme Corp
ENV: PRODSA
// hosted PBX — voicemail

Mailbox 1001

Messages, mailbox settings and the voicemail-to-email delivery state.

Set PINSend test email
Messages
5
2 new
Recording
on
capturing
To-email
failing
bounced
Transcription
on
enabled

Settings & recent messages

email bouncing
ItemValueState
Greetingcustom · 0:08 plays
Deliver to email[email protected] bounced
Mailbox PIN•••• (hashed) set
Latest message14:02 · 0:21 · transcribed recorded
1
2
3
4
5
  1. Voicemail screen — scoped to the affected mailbox (1001). This is where you separate “didn’t record” from “didn’t deliver.”
  2. Recording: on — the mailbox is capturing messages, and the latest message recorded fine. So the recording half is healthy; the fault is in delivery.
  3. To-email: failing — voicemail-to-email is bouncing. This is the actual fault: messages exist in the portal but the email copy never arrives.
  4. Greeting plays, PIN set — the greeting is reachable and the mailbox PIN is set (and hashed, never shown). So callers do reach the mailbox and the user can retrieve by phone.
  5. Delivery target bounced — the destination [email protected] is rejecting mail. Fix the address (or the mailbox at the far end) and delivery resumes.
A voicemail mailbox that records correctly but whose voicemail-to-email delivery is bouncing.
ByondVoice — Administrator & Operations ManualCh. 23 · Runbooks
ByondByondVoice — Administrator & Operations Manual
Ch. 23 · Runbooks

23.5.1 Procedure — diagnose voicemail recording and delivery

  1. Split the problem. Decide which half is broken: did a message record (does it appear as visual voicemail)? Did it deliver (did the email arrive, can *98 retrieve it)? The Voicemail screen’s Recording and To-email KPIs answer both at a glance.
  2. If nothing records, check routing. A message can only record if the call reaches the mailbox. Confirm the call actually falls to voicemail — the no-answer/unreachable rung of the call-handling ladder, or DND, must point at the mailbox. If it does not, this is really a routing fault (§23.6, §23.7).
  3. Confirm the greeting plays. A reachable mailbox plays its greeting before recording. If callers hear nothing, the mailbox is not being reached; if they hear the greeting but no beep/record, check the mailbox is not full.
  4. Check mailbox capacity. A full mailbox cannot store new messages. Clear or archive old messages so there is room.
  5. For delivery failures, verify the email target. Open the mailbox and read the Deliver to email state. A bounced address is the fault — correct the address, then use Send test email to confirm.
  6. Check the user’s own settings. Voicemail-to-email and transcription are user-controllable in the portal. If a user says “no emails,” confirm they did not switch voicemail-to-email off themselves.
  7. For retrieval-by-phone failures, reset the PIN. PINs are hashed and never shown; if the user is locked out, Set PIN to a fresh value and have them change it. *98 then lets them in.
  8. Prove the full pipeline. Call the extension, let it go unanswered, leave a test message, and confirm all three outcomes: it appears in the portal, the email arrives, and *98 plays it back.
Voicemail fault — which half, and the fix
SymptomHalfCauseFix
No message recorded at allRecordingCall never reached the mailboxFix the no-answer/DND routing to voicemail (§23.7)
Caller hears nothing, no greetingRecordingMailbox not reached / not provisionedConfirm the box exists and routing lands on it
“Mailbox full”, no new messagesRecordingStorage at capacityClear or archive old messages
Message in portal, no emailDeliveryBounced / wrong email addressCorrect the address; send a test email
No email, user expected oneDeliveryVoicemail-to-email switched off by userRe-enable in the user portal settings
Can’t retrieve with *98DeliveryForgotten / wrong mailbox PINSet a fresh PIN; user changes it on first use
Worked example — Alice’s messages record but never email

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.

Recording and delivery are independent

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 ManualCh. 23 · Runbooks
ByondByondVoice — Administrator & Operations Manual
Ch. 23 · Runbooks

23.6 Runbook — an attendant or ring group won’t route

When 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.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Conferences5
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Ring group 6000 · Sales// call routing · ring groups · tenant Acme Corp
ENV: PRODSA
// call routing — ring group

Ring group 6000 · Sales

Members, hunt strategy, ring time and the overflow target.

Test ringEdit members
Strategy
simultaneous
ring all
Members
3
1 registered
Ring time
8s
then overflow
Overflow
VM 6000
target

Members · evaluated together

2 of 3 offline
#MemberExtStatus
1Alice Tan1001 registered
2Ben Ong1002 offline
3Cara Lee1003 offline
1
2
3
4
5
  1. Ring Groups — the active screen, scoped to pilot 6000 “Sales.” The pilot is the number callers reach; members are who it rings.
  2. Strategysimultaneous (ring all at once). With this strategy a call rings every registered member together; offline members simply do not ring.
  3. Members vs registered — three members, but only one registered. Two of the three cannot ring at all because their devices are offline (§23.2).
  4. Ring time & overflow — 8 seconds, then the call overflows to voicemail 6000. Too short a ring time can dump callers to overflow before anyone can answer.
  5. Per-member status — Alice is up; Ben and Cara are offline. The group is “not routing” only in the sense that two-thirds of it is unreachable — a registration fault wearing a routing costume.
A ring group that “won’t route” because two of its three members are offline — fix registration, not routing.
ByondVoice — Administrator & Operations ManualCh. 23 · Runbooks
ByondByondVoice — Administrator & Operations Manual
Ch. 23 · Runbooks

23.6.1 Procedure — diagnose a ring group or attendant that won’t route

  1. Reproduce internally. Dial the ring-group pilot (6000) or the attendant from an internal extension. If it misbehaves internally, the carrier is not involved — this is pure config. If only external callers fail to reach an attendant, that path is carrier-gated (§18); confirm the DID maps to the attendant.
  2. For a ring group, check member registration. Open the group and read the member list. Members shown offline cannot ring — a “dead” group is often just unregistered members (§23.2), not a routing fault.
  3. Check the strategy and order. Simultaneous rings all at once; sequential and round-robin ring in order — so member order matters. Confirm the strategy matches intent and reorder members if needed.
  4. Check the ring time and overflow. If the ring time is very short, callers overflow before anyone answers; if the overflow target is wrong, answered-by-nobody calls go to the wrong place. Lengthen the ring time and point overflow at the intended target (a voicemail box, another group, or an attendant).
  5. For an attendant, walk the menu. Open the attendant and trace each digit→action. A common fault is a menu key pointing at a stale or deleted destination, or a missing “no-input”/“invalid” fallback so callers hit a dead end.
  6. Confirm the published version. Attendants are edited in a builder and then published. An edit that was saved but not published does not take calls — verify the live version is the one you changed.
  7. Verify the greeting. A missing or silent greeting leaves callers unsure what to press. Confirm the greeting is uploaded and plays.
  8. Re-test the whole path. Use Test ring (groups) or dial the attendant and press each option, confirming each lands where the menu says it should.
Routing fault — ring groups and attendants
SymptomWhereCauseFix
Pilot rings nobodyRing groupAll members offlineRe-register the members (§23.2)
Only the first person ever ringsRing groupSequential strategy, wrong orderSwitch to simultaneous, or reorder members
Callers dumped to voicemail too fastRing groupRing time too shortLengthen ring seconds before overflow
Overflow goes to the wrong placeRing groupWrong overflow targetRepoint overflow to the intended destination
A menu key goes nowhereAttendantDigit maps to a stale/deleted targetRepoint the action; add invalid/no-input fallback
Edits have no effectAttendantChanges saved but not publishedPublish the new version
External callers can’t reach the attendantInbound DIDDID not mapped to the attendant (carrier-gated)Map the DID to the attendant (§8, §18)
Worked example — “the Sales line is dead”

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.

Publish, or it won’t route

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 ManualCh. 23 · Runbooks
ByondByondVoice — Administrator & Operations Manual
Ch. 23 · Runbooks

23.7 Runbook — forwarding won’t take effect

Call 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.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Conferences5
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Call handling · 1001 Alice Tan// hosted PBX · forwarding rules · tenant Acme Corp
ENV: PRODSA
// hosted PBX — call handling

Forwarding rules · 1001

DND, forward-all and the busy / no-answer / unreachable ladder, in priority order.

Save rules

Active rules · evaluated top-down

DND overriding
PriorityRuleTargetState
1Do Not Disturb→ voicemail on
2Forward all1002 off
3On no answer (20s)1002 set
4On busy→ voicemail set
5On unreachable→ voicemail set
DND (priority 1) is on, so callers go straight to voicemail and the no-answer forward at priority 3 never runs.
1
2
3
4
5
  1. Call handling — the per-extension forwarding rules for 1001. Rules are evaluated top-down by priority; a higher rule wins.
  2. DND is on (priority 1) — Do Not Disturb overrides everything and sends callers straight to voicemail. This is almost always why “my forward isn’t working.”
  3. Forward-all is off — were it on, it would ring its target immediately and also skip the ladder. Here it is off, so it is not the cause.
  4. No-answer forward (priority 3) — configured to ring 1002 after 20s — but it never runs while DND is on, because DND wins first.
  5. The busy / unreachable rungs — the rest of the fallback ladder, also masked by DND. Turn DND off and the ladder runs as intended.
Call-handling rules where a configured no-answer forward never fires because DND (higher priority) is on.
ByondVoice — Administrator & Operations ManualCh. 23 · Runbooks
ByondByondVoice — Administrator & Operations Manual
Ch. 23 · Runbooks

23.7.1 Procedure — diagnose forwarding that won’t take effect

  1. Check the overrides first. Open the user’s Call Handling and look at DND and Forward-all before anything else. DND on → callers go straight to voicemail; Forward-all on → callers ring that one target and the ladder never runs. One of these explains most cases.
  2. Confirm which rung you expect. The ladder rings the device, then the no-answer target after the ring time, then busy and unreachable targets, then voicemail. Be precise about which condition you are testing — “no answer” and “busy” are different rungs.
  3. Check the ring time. The no-answer forward only fires after the device’s ring time. If that time is long, the forward looks “broken” simply because the tester hangs up first. Shorten it to test.
  4. Validate the target. Confirm the forward target is reachable: an internal extension that is itself offline, or — for an external number — a destination that needs a carrier (carrier-gated, §18). Forwarding to the PSTN only works with a trunk connected.
  5. Confirm the rules were saved. A change typed but not saved does nothing. After editing, press Save rules and reload to confirm the live state.
  6. Mind whose rules they are. Call handling is per user and per extension; users can also set these from their own portal. Make sure you are editing the extension that actually receives the call, and that the user has not re-toggled DND themselves.
  7. Re-test each path. Test the device-busy path, the no-answer path (let it ring past the timer) and the unreachable path (device offline) separately, confirming each lands on its configured target.
Forwarding fault — why a rule doesn’t fire
SymptomCauseFix
All calls go to voicemail, forward ignoredDND is on (overrides the ladder)Turn DND off; re-test the ladder
Calls all ring one place, ladder skippedForward-all is onTurn Forward-all off (or accept it is intended)
No-answer forward never firesRing time longer than the test caller waitsShorten ring time; let it ring past the timer
Forward to an extension failsTarget extension is itself offlineRe-register the target (§23.2) or repoint
Forward to a mobile/landline failsExternal target is carrier-gatedConnect a carrier; confirm outbound is enabled (§18)
Change appears to do nothingRules not saved, or wrong extension editedSave rules; edit the extension that receives the call
Worked example — “my calls won’t forward to Ben”

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.

23.7.2 When to escalate — and what to capture first

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.

  1. Quote the build. The version and region from the rail footer (v1.0 · sg-south · build 2026.06).
  2. Name the tenant and identity. Tenant (Acme Corp), the affected extension(s) (1001), and the device type (sip / browser softphone).
  3. Give one concrete example. An exact call: the time, the two parties, and the CDR disposition (e.g. session timeout).
  4. State the isolation you did. “Internal 9196 works; external fails” or “all devices on the site offline” — this is the single most useful sentence in a ticket.
  5. List what you changed. The steps you already tried, so support does not repeat them.
Master index — symptom to runbook and primary screen
SymptomRunbookPrimary screen
Device offline / can’t call at all§23.2Extensions & Devices
One-way / no audio after answer§23.3Softphone media panel
Calls drop mid-conversation§23.4Call detail (CDR)
Voicemail won’t record / deliver§23.5Voicemail (mailbox)
Ring group / attendant misroutes§23.6Ring Groups / Auto-Attendants
Forwarding / DND not taking effect§23.7Call Handling (forwarding rules)
The two questions that solve most faults

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 ManualCh. 23 · Runbooks
ByondByondVoice — Administrator & Operations Manual
Ch. 24 · Deployment
Chapter 24

Deployment and white-label operations

Every 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.

What this chapter is, and is not

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.

24.1 The operator’s view of the running system

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 four operational components — what runs, and what each owns
ByondSBC (edge)
The session border controller (ByondSBC) is the front door on the public internet. It is the registrar every device points at, terminates TLS / secure WebSocket, enforces access control, and is where white-label SIP identity is served — a brand’s registrar host resolves here. First suspect for “not registered”.
registrar · TLS · brand SIP
Hosted PBX
A hosted ByondSwitch switches calls and renders routing at call time from the saved configuration: extensions, ring/hunt groups, auto-attendants, conferences, voicemail and each user’s call-handling rules. First suspect for “the call connected but went to the wrong place”.
ByondSwitch · call-time routing
Control plane (API)
The API behind all three surfaces. The single source of truth: it holds every object you create, authenticates console users, and authenticates SIP devices dynamically at registration. Everything you save in the console lands here first. First suspect for “the change didn’t apply”.
source of truth · config · auth
TURN relay
Relays voice media (RTP/SRTP) when a direct path cannot form — symmetric NAT, strict firewalls. Signalling never touches it. First suspect for “the call rings and connects but one side hears nothing”.
media relay · NAT traversal
The running fabric as four operational components. You operate the control plane; the edge, PBX and relay read from it.

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 ManualCh. 24 · Deployment
ByondByondVoice — Administrator & Operations Manual
Ch. 24 · Deployment

24.1.1 Symptom-to-component map

Read 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.

SymptomComponent to check firstWhy
A device shows not registeredByondSBC (edge) + control-plane credentialRegistration 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 unexpectedlyHosted 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 nothingTURN relay reachabilitySignalling worked; only the media path failed. The device cannot reach the relay it needs.
A brand’s portal / softphone will not loadEdge brand-serving: DNS → certificateThe brand host must resolve to the edge and present a valid certificate — see §24.4 and §24.5.
One brand affected; others fineBrand-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.

admin.byondvoice.com
Operate
Platform StatusOK
Tenancy
Resellers3
Tenants21
Carrier
Connectors2
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Platform Status// running fabric · all brands
ENV: PRODSA
// operate

Platform Status

Live state of the shared fabric serving every brand and tenant.

Refresh
Edge (SBC)
OK
registrar online
Hosted PBX
OK
routing live
Control plane
OK
API healthy
TURN relay
OK
media ready

Region & build

sg-south · v1.0 · build 2026.06
registered devices 37  ·  live calls 4  ·  brands served 3  ·  certificates valid 3/3
1
2
3
4
  1. Health & build footer — overall fabric health plus the running version and region (sg-south). Quote this build when raising a platform ticket.
  2. Environment chip ENV: PROD confirms you are on the live fabric, where every change reaches real calls.
  3. Component tiles — one per operational component (edge, PBX, control plane, TURN). This is the symptom map of §24.1.1 made visible.
  4. Region & coverage — the region the fabric runs in, with at-a-glance counts including brands served and certificates valid — the two white-label health figures.
Platform Status — the four operational components and the shared fabric’s region, build and brand coverage.
Always note the region and build first

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 ManualCh. 24 · Deployment
ByondByondVoice — Administrator & Operations Manual
Ch. 24 · Deployment

24.2 How a configuration change takes effect

This 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.

From “Save” to live — the on-demand propagation model
You saveconsole · control plane
Source of truthstored, tenant-scoped
Next eventa call · a REGISTER
Fabric reads itPBX / SBC apply
The propagation model. There is nothing to deploy; the fabric reads the saved value at the next call or registration.

Two consequences flow from this, and both are operationally valuable:

24.2.1 Change classes and when they bite

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.

ChangeRead atEffective when
Call-handling rule (DND, forward, follow-me)Call timeThe next inbound call to that extension
Ring/hunt group members, order, strategyCall timeThe next call to the group pilot
Auto-attendant menu / greeting (after publish)Call timeThe next call that enters the IVR
New / changed SIP device secretRegistrationThe next REGISTER — existing session persists until then
Extension reassignment / new deviceRegistration + call timeDevice must (re-)register; routing applies on next call
Carrier connector route (outbound/inbound)Call timeThe next external call once the connector is live
Brand domain / certificate / SIP hostConnection time + DNS/cert lifecycleSee §24.4–§24.6 — not instant; involves DNS and TLS
Worked example — Alice turns on do-not-disturb mid-shift

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 one exception is the white-label edge

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 ManualCh. 24 · Deployment
ByondByondVoice — Administrator & Operations Manual
Ch. 24 · Deployment

24.3 White-label at runtime — how one fabric serves many brands

You 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.

Two brands, one fabric — the edge selects identity by host
voice.nimbus.sgNimbus brand host
my.byondvoice.complatform host
Edgeselects brand by host
Shared fabricone PBX · one control plane
The same fabric serves Nimbus and the platform brand; the edge picks identity from the host on the request.

So a brand is really three runtime facts working together, all hung off the partner’s host:

The portal/softphone 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.

The certificate

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 SIP registrar host

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).

admin.byondvoice.com
Tenancy
Resellers3
White-label
Brand Serving3
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Brand Serving// white-label · reseller Nimbus Telecom
ENV: PRODSA
// white-label

Brand Serving — Nimbus Voice

How the running edge serves this brand: hosts, certificate and SIP identity.

Re-check

Runtime identity

serving
Portal host
voice.nimbus.sg
CNAME target
brand.byondvoice.com
Certificate
valid · renews auto
SIP registrar
sip.nimbus.sg
HostRoleState
voice.nimbus.sgPortal & softphone serving · HTTPS
sip.nimbus.sgSIP registrar (→ ByondSBC) resolving
1
2
3
4
  1. Brand Serving — a white-label group that shows, per brand, exactly how the live edge presents it. This is the operational companion to the reseller Branding screen of §5.3.
  2. Portal host & CNAME — the partner host and the platform target it must point at. The runtime view confirms the CNAME is in effect, not merely entered.
  3. Certificate & SIP registrar — the live TLS state and the brand’s registrar host. valid · renews auto is what healthy looks like.
  4. Host table — every host this brand uses and its current state: serving · HTTPS for web, resolving for SIP.
Brand Serving for Nimbus Voice — the running edge’s view of one brand’s hosts, certificate and SIP identity.
ByondVoice — Administrator & Operations ManualCh. 24 · Deployment
ByondByondVoice — Administrator & Operations Manual
Ch. 24 · Deployment

24.4 DNS as an operational concern

For 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.

24.4.1 The records a brand needs

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.

RecordHost (partner zone)Points atNote
CNAME (web)voice.nimbus.sgbrand.byondvoice.comPortal & softphone. Must be DNS-only, never CDN-proxied.
CNAME (SIP)sip.nimbus.sgByondSBC edge hostSIP registrar. DNS-only; proxying breaks SIP/TLS.
CNAME (TURN, optional)turn.nimbus.sgTURN relay hostOnly if the partner brands the relay host; DNS-only.
Never proxy SIP or TURN through a CDN

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.

24.4.2 Procedure — cut a brand over to a new domain safely

  1. Lower the TTL first. Several days ahead, ask the partner to drop the record’s TTL to a low value (e.g. 300 s). This shrinks the window during which old and new answers coexist on the day.
  2. Stage the new host. Add the new CNAME and let ByondVoice verify it and issue a certificate (§24.5) before cutover, so the new host is ready and serving.
  3. Announce to end users. Tell users the new URL ahead of time — anyone with the old host bookmarked, or the softphone PWA installed from it, must move (see the warning below).
  4. Cut over in a low-traffic window. Switch the live record to the new host. With a low TTL, resolvers pick up the change within minutes.
  5. Verify both planes. Confirm the portal loads over HTTPS and a device registers and a test call carries audio — web working does not prove SIP working.
  6. Restore the TTL. Once stable, raise the TTL back to a normal value to reduce lookup load.
Worked example — Nimbus moves from a temporary host

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.

Installed softphones are pinned to the host they were installed from

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 ManualCh. 24 · Deployment
ByondByondVoice — Administrator & Operations Manual
Ch. 24 · Deployment

24.5 Certificates — lifecycle, renewal and monitoring

Every 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.

admin.byondvoice.com
White-label
Brand Serving3
Certificates3
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Certificates// white-label · all brand hosts
ENV: PRODSA
// white-label

Certificates

TLS certificate state for every brand host. Issued and renewed automatically.

Valid
3
hosts healthy
Renewing
1
auto · < 30 days
At risk
0
action needed
HostBrandExpiresState
voice.nimbus.sgNimbus Voice61 days valid
sip.nimbus.sgNimbus Voice24 days renewing
portal.helios.exampleHelios Care CNAME removed
1
2
3
  1. Certificates view — one row per brand host, with days-to-expiry and live state, so a renewal that has silently stalled is visible long before it bites.
  2. Lifecycle KPIsValid, Renewing (auto, inside the renewal window) and At risk (needs a human). Healthy steady-state is everything Valid with the odd host Renewing.
  3. The failure to act on CNAME removed means the partner deleted the DNS record, so renewal cannot validate. This is the certificate failure you must chase, with the partner.
Certificates — automatic issuance and renewal, with the at-risk states an operator must watch.

24.5.1 The two ways automatic renewal fails — and what to do

  1. The partner removed or changed the CNAME. Automatic renewal proves control of the host via that DNS record; if it is gone, renewal cannot complete. Fix: have the partner restore the exact record shown in Brand Serving, then Re-check.
  2. The host was proxied through a CDN. A proxy can intercept the validation path and silently break renewal even while the site appears up. Fix: set the record back to DNS-only (§24.4.1), then Re-check.
Worked example — Helios’s certificate stops renewing

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.

Watch the Certificates view; do not wait for a complaint

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 ManualCh. 24 · Deployment
ByondByondVoice — Administrator & Operations Manual
Ch. 24 · Deployment

24.6 Per-tenant and per-brand identity at the edge

White-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.

Platform registrar

The default. Devices register to sbc.byondvoice.com over SIP/TLS, the softphone over secure WebSocket to the same SBC.

Brand registrar

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.

24.6.1 How credentials reach the edge

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.

Worked example — a Nimbus tenant’s desk phone

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.

A brand registrar is still DNS-only and still needs TLS

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.

24.7 Operating the platform well

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.

Try it — a two-minute brand health check

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.

Where this leaves you

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 ManualCh. 24 · Deployment
ByondByondVoice — Administrator & Operations Manual
Ch. 25 · Integration
Chapter 25

API and integration overview

Everything 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.

This is a conceptual overview, not the endpoint 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.

25.1 The integration surfaces

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.

1 · The control-plane API

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).

2 · The internal PBX hooks

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).

3 · The reseller automation surface

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).

The edge (for context only)

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.

SurfaceAudienceDriven byYou call it?Stability promise
Control-plane APIAdmin / reseller / tenant / userThe console, and your integrations yesVersioned & public (§ 25.6)
Internal PBX hooksByondSwitch ↔ control planeThe platform itself noPrivate; may change between builds
Reseller automationA reseller’s own systemsA reseller-scoped machine key + webhooks yesSame contract as the control-plane API
SBC edgeSIP / browser devicesDevice registration; auth against control plane noSIP standard at the edge
One base URL, one access model

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 ManualCh. 25 · Integration
ByondByondVoice — Administrator & Operations Manual
Ch. 25 · Integration

25.2 Authentication and scoping

Every 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.

Session token (interactive)

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.

Machine key (non-interactive)

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.

admin.byondvoice.com
ByondVoice Admin

Operator sign-in

// authenticate to the ByondVoice control plane
Username or email[email protected]
Password••••••••••
Email one-time code (MFA)4 8 1 9 0 2Required when MFA is enabled for your account.
Sign in
Protected · TLS 1.3 · session token issued
1
2
3
  1. Credentials — username/email and password identify the human. For a machine key there is no such screen; the secret is minted once under PlatformAPI & Integrations (§ 25.5) and presented in the header directly.
  2. MFA one-time code — when multi-factor is enabled, an emailed code is required to complete an interactive sign-in. Machine keys deliberately bypass MFA because there is no inbox to deliver to — which is exactly why they must be guarded like a password.
  3. Token issued — a successful sign-in returns a short-lived session token; the console stores it and sends it as Authorization: Bearer <token> on every subsequent request. Its claims (next figure) fix the caller’s scope.
Operator sign-in. A session token is issued on success; an integration would instead present a pre-minted machine key.

25.2.1 What the token carries

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.

TierSeesTypical useCan reach another tenant?
platformEvery reseller and tenantB’Yond operations, the Wholesale Meter yes (all)
resellerOnly tenants beneath that resellerReseller automation & white-label provisioning own tree only
tenantOne tenant’s full PBX configA customer’s own integration / CRM no
userOne extension’s own settingsThe self-service portal & softphone no
Worked example — least-privilege for a CRM

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.

Never widen scope to make an error go away

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 ManualCh. 25 · Integration
ByondByondVoice — Administrator & Operations Manual
Ch. 25 · Integration

25.3 The admin and tenant API behind the console

Every 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.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Conferences5
Carrier
Connectors1
Platform
API & Integrations›_
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
API & Integrations// platform · control-plane access
ENV: PRODSA
// platform · control-plane

API & Integrations

The single HTTPS surface the console and your integrations call. Manage keys, browse endpoints, wire webhooks.

Open referenceNew API key
Base URL
/v1
current version
Active keys
6
across tiers
Rate limit
600
req / min / key
Webhooks
3
endpoints subscribed

Resource families — control-plane API

versioned · /v1
FamilyPath prefixMirrors console screen
Tenancy/v1/tenantsTenants · Resellers
Numbers/v1/numbersSupply › Numbers
Extensions/v1/…/extensionsHosted PBX › Extensions
Routing/v1/…/ring-groupsCall Routing
1
2
3
4
5
6
  1. API & Integrations (active nav item) — under the Platform group. It is where keys are minted, the reference is opened, and webhooks are subscribed. A reseller sees a reseller-scoped version of this screen; a tenant sees only its own keys.
  2. Scope of the screen — the breadcrumb confirms you are managing control-plane access. Whatever you do here inherits your own tier, so a reseller can only mint keys no broader than reseller scope.
  3. New API key / Open referenceNew API key mints a machine credential (§ 25.5); Open reference launches the full, versioned endpoint catalogue (§ 25.6).
  4. Base URL & rate limit — the current API version (/v1) and the per-key request budget. Every path in the reference hangs off this prefix; exceed the budget and you receive 429 Too Many Requests.
  5. Webhooks — how many outbound event subscriptions are live. Webhooks turn the API from request/response into event-driven (§ 25.6).
  6. Resource families — the API is organised to mirror the console one-for-one: a screen you know maps to a path prefix you can guess. This is deliberate so the console is, in effect, living documentation.
API & Integrations — manage keys, browse the resource families and wire webhooks. The families mirror the console nav.

25.3.1 Procedure — make your first authenticated call

  1. Confirm the environment. Check the topbar shows ENV: PROD (or your sandbox). Read the Base URL KPI — here /v1.
  2. Hold a key of the right scope. Use a key whose tier matches the job (§ 25.2). To list one tenant’s extensions, a tenant key for that tenant is enough.
  3. Send the request. Call the resource under the base URL, presenting the key as a bearer token: GET/v1/tenants/acme-corp/extensions.
  4. Read the response. A 200 returns the collection as JSON; a 403 means the token’s scope does not cover the path; a 429 means you have exceeded the rate budget — back off and retry.
  5. Cross-check in the console. Open Hosted PBXExtensions & Devices for the same tenant — the rows match the JSON exactly, because both read the same control plane.
# 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 }
}
Worked example — create an extension by API

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 Hosted PBXExtensions & Devices 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.

Reads are paginated; writes return the object

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 ManualCh. 25 · Integration
ByondByondVoice — Administrator & Operations Manual
Ch. 25 · Integration

25.4 The internal PBX hooks — directory, CDR, voicemail

The 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.

admin.byondvoice.com — internal call-time hooks (conceptual)

1 · Directory hook (read)

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.

2 · CDR hook (write)

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.

3 · Voicemail hook (write)

on no-answer / DND
An unanswered call records a message; the hook stores the audio, runs transcription, raises a visual voicemail entry in the portal and fires voicemail-to-email. *98 retrieves the same mailbox by phone.
SIP/browser device → ByondSBC (edge) → ByondSwitch →→ control-plane hooks (1 read · 2,3 write)
  1. Directory hook (read) — the engine reads extensions, devices and the per-user call-handling ladder (DND, forward-all, busy/no-answer/unreachable, follow-me) at call time. Because it reads live config, edits made through the API or console take effect on the next call with no deploy.
  2. CDR hook (write) — the engine writes one record per call leg back to the control plane. You consume these as Recent Calls in the portal and as the metered minutes in Chapter 19; an integration reads them through the CDR family of the public API rather than touching the hook.
  3. Voicemail hook (write) — on no-answer or DND the engine records, transcribes and files a message, which surfaces as visual voicemail and as a voicemail-to-email message. Mailbox PINs are hashed and never returned.
The three internal hooks around one call: a directory read on the way in, a CDR write and (if unanswered) a voicemail write on the way out.

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.

HookDirectionFires whenYou consume it as
DirectoryPBX reads control planeEvery call, at setup(Indirect) — correct routing on the next call
CDRPBX writes control planeEach call leg endsRecent Calls · metered minutes · CDR API · call.completed webhook
VoicemailPBX writes control planeNo-answer / DND / unreachableVisual 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
}
Do not script against the internal hooks

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 ManualCh. 25 · Integration
ByondByondVoice — Administrator & Operations Manual
Ch. 25 · Integration

25.5 Automating reseller provisioning

The 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.

admin.byondvoice.com
Tenancy
Resellers4
Tenants31
Hosted PBX
Extensions & Devices42
Platform
API & Integrations›_
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
New API key// platform · reseller Nimbus Telecom
ENV: PRODSA

New API key

×
LabelNimbus CRM — provisioningA human name; identifies this key in the audit log.
Scope (tier)reseller
ResellerNimbus Telecom
Capabilitiestenancy:write · pbx:write · numbers:assignLeast privilege — grant only what the integration needs.
Secretsk_live_nimbus_9f2c…aB   reveal-onceShown once. Copy it now into your secret store; it cannot be retrieved again.
Cancel Create key
1
2
3
4
5
  1. API & Integrations (active) — the same screen as § 25.3, here opened by a platform operator to mint a key on behalf of a reseller. A reseller admin can mint their own keys too, but never broader than reseller scope.
  2. Label — a human name that appears in the audit log against every action the key takes. Name it for the integration (“Nimbus CRM — provisioning”) so a future investigator knows what it is.
  3. Scope & reseller — the heart of the dialog: tier = reseller, bound to Nimbus Telecom. Tokens from this key can create tenants under Nimbus and nothing under any other reseller.
  4. Capabilities — coarse grants that further narrow the key. tenancy:write to create tenants, pbx:write to provision extensions, numbers:assign to attach numbers. Omit anything the integration does not need.
  5. Reveal-once secret — the credential is shown once. Copy it straight into your secret manager; if it is lost you must rotate, not recover. Treat it like the SIP device secrets in Chapter 9.
Minting a reseller-scoped provisioning key for Nimbus Telecom. The secret is reveal-once; capture it immediately.

25.5.1 Procedure — provision a tenant end-to-end by API

  1. Mint the key. As above, create a reseller-scoped key for Nimbus Telecom with tenancy:write, pbx:write, numbers:assign; store the reveal-once secret in your vault.
  2. Create the tenant. POST /v1/resellers/nimbus/tenants with the customer’s name — e.g. {"name":"Globex Pte Ltd"}. The response carries the new tenant_id.
  3. Assign numbers. POST /v1/tenants/<id>/numbers to attach a DID from the reseller’s pool, e.g. +65 3159 0042 (carrier-gated — see Chapter 18).
  4. Provision starter extensions. Loop POST /v1/tenants/<id>/extensions for each seat; capture any reveal-once device secrets from each response.
  5. Send an idempotency key. Put a unique Idempotency-Key header on every create so a retried request never double-provisions (§ 25.6).
  6. Verify. Open TenancyTenants as the Nimbus operator — the new tenant, numbers and extensions are present, identical to a hand-built one.
# 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
Worked example — a self-service sign-up for Nimbus

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.

Carrier-gated steps need a connected trunk

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 ManualCh. 25 · Integration
ByondByondVoice — Administrator & Operations Manual
Ch. 25 · Integration

25.6 Operational disciplines and where to go next

An 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.

25.6.1 Idempotency, retries and rate limits

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.

StatusMeaningWhat to do
200 / 201 / 204Read OK · created · deletedProceed; a 201/200 returns the object, 204 is empty.
401 UnauthorizedMissing or invalid tokenCheck the Authorization header and that the key is not revoked/expired.
403 ForbiddenToken scope does not cover the pathStay inside your tree; do not escalate the key (§ 25.2).
404 Not FoundNo such resource in your scopeConfirm the id; a cross-tenant id reads as 404, not 403, by design.
409 ConflictDuplicate (e.g. extension exists)Treat as already-done if your intent was create-if-absent.
429 Too Many RequestsRate budget exceededBack off; honour Retry-After; spread load.

25.6.2 Versioning and webhooks

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.

EventFires whenTypical integration
tenant.createdA tenant is provisionedOpen a billing account in the reseller’s system.
call.completedA call leg ends (CDR written)Push the CDR to analytics / CRM activity.
voicemail.receivedA message is leftNotify a helpdesk; attach the transcript.
device.registeredA SIP/browser device comes onlineUpdate a live presence board.
number.portedA 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

25.6.3 Pointers, not a full reference

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:

The live API reference

Open it from PlatformAPI & IntegrationsOpen reference. It lists every path, field and status for your version — the single source of truth over anything in this manual.

The console as documentation

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.

The access model (Chapter 4)

Every integration question is ultimately a scoping question. Re-read Chapter 4 alongside § 25.2 before you mint a production key.

The architecture (Chapter 2)

For why the hooks behave as they do — SBC edge, ByondSwitch, the live control plane — Chapter 2 is the briefing behind § 25.4.

Try it — one read, in a sandbox, end to end

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 Hosted PBXExtensions & Devices. 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.

Rotate, audit, and scope down — always

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 ManualCh. 25 · Integration
ByondByondVoice — Administrator & Operations Manual
Ch. 26 · Day-two ops
Chapter 26

Day-two operations and best practices

Earlier 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.

26.1 The day-two mindset

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.

Make it self-documenting

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.

Treat PROD as load-bearing

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.

Prefer routine over heroics

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.

Leave an audit trail

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.

26.1.1 What “works without a carrier” means for day-two

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.

Conventions are cheap to adopt and expensive to retrofit

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 ManualCh. 26 · Day-two ops
ByondByondVoice — Administrator & Operations Manual
Ch. 26 · Day-two ops

26.2 Naming conventions

Almost 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.

26.2.1 A naming scheme for each object type

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.

ObjectRecommended patternExampleWhy
Extension (person)Full Name — real, as payroll knows themAlice TanCalling-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 DeskBrackets sort shared/role lines together and signal “not a person” at a glance.
SIP deviceOwner · type · locationAlice Tan · desk · HQ-L3An extension can have several devices; the description disambiguates which is the desk phone, the softphone, the DECT.
Ring groupTeam — strategySales — round-robinNames the business team and hints at behaviour, so a reader knows what the pilot number does.
Auto-attendantTenant context — purposeAcme — main receptionDistinguishes daytime / after-hours / holiday menus when a tenant has several.
Conference roomPurpose (owner)Sales standup (Alice Tan)Rooms outlive their reason; an owner makes orphans easy to retire.
ConnectorCarrier — region — roleNimbus SG — primary trunkEstates grow to several trunks; the name carries the carrier, region and whether it is primary or failover.
admin.byondvoice.com/#extensions
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Extensions & Devices// hosted PBX · tenant Acme Corp
ENV: PRODSA
// hosted PBX

Extensions & Devices

A consistently named estate reads top-to-bottom like documentation.

New extension
ExtNameDeviceStatus
1001Alice TanAlice Tan · desk · HQ-L3 registered
1002Ben OngBen Ong · softphone · mobile registered
1100[Reception] Front DeskFront Desk · desk · Lobby idle
1900[Lab] Echo test 9196 test
1
2
3
4
  1. Number column reads as a plan — people in the 10xx band, role lines in 11xx, lab/test in 19xx (§26.3). The numbers alone group the estate.
  2. Person names are real namesAlice Tan, not ext1 or asales; directory search, calling-name and voicemail greetings all draw from this field.
  3. Device descriptions disambiguateOwner · type · location tells you instantly which registration is the desk phone and which is the softphone.
  4. Role & lab lines are bracketed[Reception], [Lab] sort together and signal “not a person”, so they are never mistaken for a user during offboarding.
Extensions & Devices under a consistent naming scheme — the list documents itself.

26.2.2 Procedure — adopt and enforce a naming convention

  1. Write the scheme down. Record one pattern per object type (use the table in §26.2.1 as your starting house style) in your operations runbook, with two worked examples each.
  2. Apply it from object one. When you create an extension in Hosted PBXExtensions & Devices, fill the name to the pattern before saving — never “temporarily” leave it blank.
  3. Avoid forbidden characters and ambiguity. Keep labels plain ASCII where possible; avoid leading spaces, emoji and look-alike characters. Never encode a secret or a PIN in a name — names are visible to everyone.
  4. Backfill existing objects in one pass. For a tenant already live, schedule a single tidy-up to rename non-conforming objects (a rename is metadata only — it does not disturb routing or registrations).
  5. Audit it in the cadence. Add “names conform to scheme” to the weekly review (§26.7) so drift is caught at four objects, not forty.
Worked example — naming Acme’s new sales hire

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.

Name for the search box, not just the eye

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 ManualCh. 26 · Day-two ops
ByondByondVoice — Administrator & Operations Manual
Ch. 26 · Day-two ops

26.3 Extension numbering plans

An 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.

26.3.1 A recommended band layout

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.

BandPurposeExampleNotes
1000–1899People (personal extensions)1001 Alice Tan · 1002 Ben OngThe bulk of the plan. Allocate sparsely (e.g. by team in sub-bands) so a team can grow without renumbering.
1900–1999Lab / test / training lines1900 test deskClearly fenced off so test objects are never confused with real users at offboarding.
6000–6499Ring groups (hunt groups)6000 Sales · 6001 SupportPilot numbers people dial to reach a team. Keep distinct from personal lines.
7000–7499Auto-attendants (IVR menus)7000 Acme receptionThe menus DIDs land on. One per context (day / after-hours / holiday).
3000–3499Conference rooms3000 board roomDial-in rooms; pair with member/moderator PINs (§26.4).
* and 9-codesService / feature codes (reserved)*98 voicemail · 9196 echo testDo not allocate user extensions that collide with these. Treat them as immovable.
admin.byondvoice.com/#extensions/new
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Conferences5
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
New extension// hosted PBX · tenant Acme Corp
ENV: PRODSA

Create extension

×
Extension number1003People band 1000–1899 · next free is 1003
Display namePriya Nair
1003 is free · in the People band · no service-code clash
Band (from plan)People · 1000–1899Bands are a convention you enforce, not a console control — pick the right one.
VoicemailEnabled
Mailbox PINSet on first save (reveal-once)
CancelCreate extension
1
2
3
4
  1. Number chosen from the right band1003 is the next free People number; the helper shows the band and the next-free hint so allocation stays inside the plan.
  2. Collision & clash check — the banner confirms the number is free, sits in the intended band, and does not clash with a reserved service code such as *98.
  3. Band is a discipline, not a field — the plan lives in your runbook; the console will accept any free number, so the human must pick the band-correct one.
  4. Set the PIN on first save — the mailbox PIN is created here, reveal-once, never left at a default (§26.4).
Creating an extension inside the numbering plan — band-correct number, no service-code clash.
Never collide with service and emergency codes

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.

Worked example — carving Acme’s four-digit plan

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 ManualCh. 26 · Day-two ops
ByondByondVoice — Administrator & Operations Manual
Ch. 26 · Day-two ops

26.4 Voicemail and PIN hygiene

Voicemail 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.

26.4.1 The three secrets and how each is handled

SecretProtectsHow ByondVoice stores itYour rule
Voicemail / mailbox PINA user’s private messages (and *98 phone retrieval)Hashed — never displayed; only re-setSet a unique PIN at creation; rotate on handover; never reuse the extension number.
Conference PINs (member & moderator)Entry to, and control of, a conference roomHashed — never displayed; only re-setKeep member and moderator PINs different; rotate after any external/large meeting.
SIP device secretA device’s right to register and place callsEncrypted at rest; shown reveal-once at creationCapture it at creation into the device, then rely on rotation/re-provision — it cannot be shown again.
admin.byondvoice.com/#voicemail
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Conferences5
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Voicemail · 1001// hosted PBX · set mailbox PIN
ENV: PRODSA

Set mailbox PIN · 1001 Alice Tan

×
New PIN••••••6 digits · not sequential · not the extension number
Confirm PIN••••••
Rejected weak PINs: 0000 · 1234 · 1001 · 123456
Force change on first phone login
User must set their own PIN at first *98 retrieval
PIN is hashed on save — it can never be displayed, only reset
CancelSave PIN
1
2
3
4
  1. Strength rules at entry — the field guides toward a 6-digit, non-sequential PIN that is not the extension number; weak choices are rejected before save.
  2. Confirm to avoid lock-out — re-entry catches a typo that would otherwise leave the user unable to retrieve voicemail.
  3. Force first-login change — the admin sets a temporary PIN; the user is compelled to replace it at first *98 retrieval, so the admin never knows the user’s standing PIN.
  4. Hashed on save — the banner makes the contract explicit: the PIN is one-way hashed, so it can only ever be reset, never read back — the same applies to conference PINs.
Setting a mailbox PIN — strong by default, forced first-login change, hashed on save.

26.4.2 Procedure — set and rotate a mailbox PIN

  1. Open the mailbox. In Hosted PBXVoicemail select the box (e.g. 1001 Alice Tan) and choose Set PIN.
  2. Enter a strong PIN. Use a 6-digit, non-sequential value that is not the extension number, a repeated digit, or an obvious sequence. Confirm it.
  3. Force a first-login change. Leave Force change on first phone login on, so the user replaces your temporary PIN with one only they know.
  4. Save — it is now hashed. Select Save PIN. From this point the PIN cannot be displayed; if it is forgotten you re-set it, never recover it.
  5. Rotate on handover. Whenever a shared mailbox changes owner, or you suspect exposure, re-run this procedure to invalidate the old PIN immediately.
Never leave a default PIN, and never set the PIN to the extension number

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).

Worked example — rotating the shared Sales mailbox after a leaver

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 ManualCh. 26 · Day-two ops
ByondByondVoice — Administrator & Operations Manual
Ch. 26 · Day-two ops

26.5 Change management in PROD

Every 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.

26.5.1 The change classes — and how careful each demands

Change classExamplesBlast radiusDiscipline
CosmeticRename an extension; edit a device descriptionNone — metadata only; routing untouchedJust keep to the naming scheme. Safe any time.
AdditiveNew extension; new ring-group member; new conference roomLow — adds capability without removing anyTest the new object; existing routing is unaffected.
RoutingRepoint a DID; change ring strategy; edit an IVR menuMedium — alters where live calls goNote before-state; change in a low-traffic window; test an inbound call immediately.
DestructiveDelete an extension; release a number; publish an IVR over a working oneHigh — can drop calls or strand a numberConfirm intent in writing; have a rollback; do it in a maintenance window; verify after.
Carrier-edgeSubmit/cancel a port; change a connector’s credentialsHigh — involves an external party and may be slow to reverseFollow the carrier process (Chapter 21); never cancel the losing service early.
admin.byondvoice.com/#ring-groups/6000
Call Routing
Ring Groups3
Auto-Attendants2
Conferences5
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Ring Group · 6000 Sales// call routing · editing live config
ENV: PRODSA
// call routing — live edit

6000 · Sales — round-robin

Changes take effect on the next call. Note the before-state first.

editing PROD

Current (before) → proposed change

routing class
SettingBeforeAfter
Strategy round-robin simultaneous
Ring seconds2025
Members1001, 10021001, 1002, 1003
OverflowVM 6000VM 6000
Low-traffic window 18:30 SGT · rollback = restore round-robin / 20s / drop 1003
1
2
3
4
  1. PROD is named everywhere — the ENV: PROD badge and the “editing live config” subtitle keep you aware that this is the real system, not a sandbox.
  2. Edit state is flagged — the editing PROD pill signals an in-flight change to anyone glancing at the screen.
  3. Before → after is explicit — capturing the current values beside the proposed ones is what makes a clean rollback possible; never change without recording the before-state.
  4. Window & rollback are pre-agreed — the change is timed for a low-traffic window and the exact rollback (restore strategy / seconds / membership) is written down before saving.
A routing-class change to ring group 6000 — before-state captured, window and rollback agreed.

26.5.2 Procedure — make a safe change in PROD

  1. Classify the change. Decide which class it is (§26.5.1). Cosmetic and additive are low-risk; routing, destructive and carrier-edge demand the full ritual below.
  2. Record the before-state. Note the current values you are about to change — strategy, targets, members, routing — so you can restore them exactly.
  3. Pick the window. Schedule routing and destructive changes for a low-traffic window (after hours for a business tenant); confirm it with the customer for anything they will notice.
  4. Make one change at a time. Apply a single logical change, then save — do not batch unrelated edits, so that if something breaks you know exactly what did it.
  5. Test immediately. Exercise the affected path at once — dial the ring group, ring the DID, walk the IVR — before moving on. The engine is already live, so the test is real.
  6. Verify, then close out. Confirm the intended behaviour and that nothing adjacent broke; if not, execute the rollback. Record the change, who made it and the outcome.
There is no “deploy” and no undo — saved is live

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.

26.5.3 Rehearse risky changes in a sandbox

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.

Worked example — switching Sales to simultaneous ring, safely

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 ManualCh. 26 · Day-two ops
ByondByondVoice — Administrator & Operations Manual
Ch. 26 · Day-two ops

26.6 Onboarding and offboarding checklists

The 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.

admin.byondvoice.com/#extensions/1003
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Extension · 1003 Priya Nair// hosted PBX · onboarding checklist
ENV: PRODSA
// hosted PBX — new starter

1003 · Priya Nair

Run the same steps in the same order, every time.

4 of 6 complete
Onboarding stepDetailState
Extension created (band-correct)1003 · People band done
SIP device(s) provisioneddesk · softphone · reveal-once secret captured done
Voicemail enabled + PIN setforce change on first login done
Added to team ring group(s)6000 Sales done
Registration verifieddevice shows registered pending
Test call + voicemail leave/retrieveinternal + *98 to do
1
2
3
4
  1. Scoped to the new starter — the checklist hangs off the extension record itself, so onboarding state travels with the person it belongs to.
  2. Progress is visible 4 of 6 complete makes an unfinished onboarding obvious rather than silently half-done.
  3. Each step maps to a real action — create, provision, PIN, group, verify, test — in a fixed order, so the same things happen for every starter.
  4. It is not done until tested — registration and a live test call (internal + *98) are the final gates; an untested onboarding is an open ticket, not a finished one.
Onboarding checklist on a new extension — fixed steps, visible progress, finished only when tested.

26.6.1 New-user onboarding checklist

#StepWhereDone when
1Create extension with a band-correct number and real nameExtensions & Devices (§26.3)Number in the People band, name to scheme
2Provision SIP device(s); capture the reveal-once secret into each deviceExtension › DevicesSecret entered; device configured
3Enable voicemail and set a strong PIN (force first-login change)Voicemail (§26.4)Non-default PIN saved (hashed)
4Add to the right ring group(s) and any conference roomsRing Groups / ConferencesAppears in the team’s membership
5Set call-handling defaults & outbound caller-IDExtension › Call forwarding / portalDND off, sensible no-answer → VM
6Verify registration, then place a test call and leave/retrieve voicemailSoftphone / desk phone + *98Registered; call connects; VM works

26.6.2 Leaver offboarding checklist

#StepWhereDone when
1Repoint the person’s DID/role calls to their successor or teamNumbers / Ring Groups (§26.5)Calls no longer ring the leaver
2Remove from all ring groups, conferences and shared mailboxesRing Groups / ConferencesNot in any membership list
3Rotate any shared PINs the leaver knew (mailbox, conference)Voicemail / Conferences (§26.4)Old PIN hash invalidated
4De-register / delete the leaver’s SIP devicesExtension › DevicesNo device can register as them
5Handle the mailbox: export needed messages, then disableVoicemailMessages preserved per policy; box closed
6Disable or delete the extension once calls are re-homedExtensions & DevicesExtension inactive; change logged
Re-home calls before you delete — and revoke access first

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.

Worked example — offboarding Ben Ong cleanly

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 ManualCh. 26 · Day-two ops
ByondByondVoice — Administrator & Operations Manual
Ch. 26 · Day-two ops

26.7 A weekly and monthly operations cadence

The 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.

admin.byondvoice.com/#overview
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Carrier
Connectors1
Revenue
Wholesale Meter$
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Operations overview// estate health · weekly review
ENV: PRODSA
// estate health

Weekly review at a glance

Read the signals; act on the exceptions.

Registered
37/42
5 offline — check
Mailboxes w/o PIN
0
all protected
Reserved > 30d
2
review holds
Ports in flight
1
FOC in 3d
CheckSignalAction
Device registrations 5 offlineConfirm expected (leavers/spare) vs broken
Stale reservations 2 over 30dRe-confirm reason or release
Port orders 1 FOC soonPre-build routing before cutover
System banner operationalNo action
1
2
3
4
  1. System banner first — the sidebar’s ALL SYSTEMS OPERATIONAL is your at-a-glance health light; a daily glance here is the cheapest check there is.
  2. Registration ratio37/42 with five offline: the weekly job is to separate expected offline (spares, leavers) from broken (a real user who cannot register).
  3. Hygiene & hold KPIs — mailboxes-without-PIN should read 0; reservations older than 30 days are flagged so holds never become forgotten dead stock.
  4. Carrier edge — a port with an imminent FOC surfaces here so routing is pre-built before cutover (Chapter 21), folding the external party into the same rhythm.
A weekly review read from the overview — signals on the left, the exceptions that need action on the right.

26.7.1 The recommended cadence

RhythmDo thisCatches
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.

26.7.2 Day-two best-practice — quick reference

PracticeOne-line ruleSee
NamingOne pattern per object type, applied from object one, audited weekly.§26.2
NumberingDesign bands once; leave gaps; never collide with service/emergency codes.§26.3
PIN hygieneNo default PINs, ever; rotate on handover; PINs are hashed — reset, not recover.§26.4
Change in PRODSaved is live; capture the before-state and write the rollback before you save.§26.5
OnboardingSame steps, same order; not done until registered and test-called.§26.6.1
OffboardingRe-home calls before deleting; revoke devices and shared PINs at departure.§26.6.2
CadenceDaily glance, weekly review, monthly audit, quarterly DR test.§26.7.1
Reconcile the pool against the carrier every month

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.

Try it · run one full weekly review

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 ManualCh. 26 · Day-two ops
ByondByondVoice — Administrator & Operations Manual
Ch. 27 · Glossary
Chapter 27

Glossary and appendices

Every 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.

27.1 How to use this chapter

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.

Glossary

Alphabetical definitions of every term, abbreviation and acronym, each with a § cross-reference to the chapter that covers it (§ 27.2–27.4).

Status pills

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).

Quick reference

Shortcuts, feature codes (*98, 9196), default values and a “where do I find…” map (§ 27.6–27.7).

27.1.1 Conventions used in the glossary

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.

Headword ABBR.
A one- or two-sentence plain-language definition, written so it stands alone. Cross-references appear as “see § 9” for the chapter that covers the term in depth, and “cf. related term” where a sibling concept aids understanding.
Definitions describe ByondVoice, not the abstract protocol

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.

The glossary is also an index

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 ManualCh. 27 · Glossary
ByondByondVoice — Administrator & Operations Manual
Ch. 27 · Glossary

27.2 Glossary — A to F

The 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.

admin.byondvoice.com
Supply
Numbers14
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Conferences5
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Search// jump to any screen, number or term
ENV: PRODSA

Results for “ring group”

3 matches
screenRing GroupsCall Routing
objectSales · pilot 6000round-robin · 4 members
objectSupport · pilot 6010simultaneous · 3 members
// hint

Search matches features and data

Type a term to learn it, an extension or number to find it, or a tenant to scope to it.

1
2
3
4
  1. Navigation rail — the same grouped nav as every screen; the active Ring Groups item shows where the top result lives, under the Call Routing group.
  2. Global search — the ⌘K command bar present on every screen. It matches feature names, so a glossary term often resolves straight to its screen.
  3. Screen match — results tagged screen jump you to a console screen; the fastest way to see what a term means.
  4. Object matches — results tagged object are individual records (here, two ring groups with their pilot numbers and strategies) you can open directly.
Global search — the ⌘K command bar resolving a glossary term to its screen and matching records.
a1-hash
The pre-computed digest of a SIP credential (username, realm and secret) that the platform stores so a device can authenticate without the secret ever being held in clear. ByondVoice keeps device secrets encrypted at rest and shows them reveal-once; what persists for verification is the hash, not the password. See § 20; cf. reveal-once, registrar.
Auto-attendant IVR
An automated answering menu that greets a caller and routes them by the digit they press — “press 1 for Sales.” Built in the visual menu builder as a greeting plus a digit→action map, then published. Reaching one from an external number is carrier-gated; internal callers can always reach it. See § 14; cf. IVR, ring group.
Auto-provisioning
Bringing a SIP device online from a one-time token or URL instead of typing credentials by hand: the device fetches its own configuration and registers. Provisioning tokens and URLs are shown reveal-once. See § 10; cf. reveal-once, SIP device.
Blind transfer
Handing an in-progress call to another destination without first speaking to the recipient (an unattended transfer). Available from the softphone’s in-call controls. See § 16; cf. softphone.
CDR CALL DETAIL RECORD
The per-call fact — who called whom, when, in which direction and for how long. Today CDRs surface per user as the Recent Calls log; tenant-wide CDR reporting and export are on the roadmap. Not a billing or compliance evidence store. See § 22; cf. Recent Calls.
Connector
The configured integration to a carrier (a SIP trunk provider): its type, credentials, and the operations it enables — test, sync, number search, provision, release and port-in. A live connector is what gates outbound PSTN, inbound DIDs and external IVR access. See § 17; cf. SIP trunk, carrier-gated.
DID DIRECT INWARD DIALLING
A public phone number (e.g. +65 3159 0010) that routes inbound calls from the PSTN to a destination inside the tenant — an extension, ring group or auto-attendant. Numbers are held in the number pool and assigned, reserved or released; inbound delivery requires a connected carrier. See § 8; cf. number pool, connector.
DND DO NOT DISTURB
A per-user call-handling state that stops a line from ringing and sends callers straight to voicemail. Set by the user (portal Call Handling) or by an admin; the execution engine honours it live. See § 12; cf. call handling, voicemail.
Echo test
A diagnostic call to 9196 that plays your own audio back to you, confirming a device’s microphone, speaker and the media path end to end. Works internally with no carrier. See § 27.7; cf. TURN, media relay.
Extension
The internal number a user is reached on (e.g. 1001, “Alice Tan”) and the identity that SIP devices register against. Typically 3–5 digits; one extension may have several devices. The fundamental unit of the hosted PBX. See § 9; cf. SIP device, registrar.
Find-me / follow-me
A call-handling pattern that rings a sequence of destinations in turn to “find” the user — desk, then mobile, then a colleague — before falling through to voicemail. Configured as the sequential follow-me ladder in Call Handling. See § 12; cf. forward-all, fallback ladder.
Forward-all
A call-handling rule that immediately rings another destination instead of the user’s own devices — unconditional forwarding. Distinct from the conditional busy / no-answer / unreachable rules that fire only in those cases. See § 12; cf. find-me / follow-me, DND.
ByondVoice — Administrator & Operations ManualCh. 27 · Glossary
ByondByondVoice — Administrator & Operations Manual
Ch. 27 · Glossary

27.3 Glossary — G to R

This 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.

Fallback ladder
The ordered list of destinations a call tries when the primary device does not answer: the device, then each forward target in turn, then voicemail. Rendered live by the execution engine at call time from the saved call-handling rules. See § 12; cf. find-me / follow-me, execution engine.
Execution engine
The live routing layer (ByondSwitch, the hosted PBX) that renders each user’s call-handling rules and the ring/hunt groups at call time from the saved configuration. It is what makes DND, forward-all, the fallback ladder and ring groups actually route real calls, not just store settings. See § 12; cf. PBX, ring group.
Hosted PBX
The cloud telephone system itself — extensions, devices, voicemail and the call routing that connects them — delivered as a service rather than on-premises hardware. ByondVoice is a hosted PBX. See § 2; cf. PBX, UCaaS.
IVR INTERACTIVE VOICE RESPONSE
The general term for a menu that responds to caller key-presses; in ByondVoice an IVR is built and managed as an auto-attendant. The two words are used interchangeably. See § 14; cf. auto-attendant.
Media relay
The component that carries call audio and video (RTP / SRTP) and, on restrictive networks, relays it via TURN so the media still flows. Distinct from signalling, which the SBC handles. See § 2; cf. TURN, SRTP.
MFA MULTI-FACTOR AUTH
A second proof of identity at login — in ByondVoice, an email one-time code — layered on top of the password so a stolen password alone cannot sign in. See § 20; cf. one-time code.
Number pool
The tenant’s inventory of DIDs: numbers listed with their status, filtered, bulk-preloaded, and moved between assigned, reserved and released. The supply side of telephony, fed by a connector’s number search. See § 8; cf. DID, port-in.
PBX PRIVATE BRANCH EXCHANGE
A private telephone switch that connects an organisation’s internal extensions to one another and to outside lines. ByondVoice delivers this as a hosted PBX in the cloud. See § 2; cf. hosted PBX, extension.
Pilot number
The single number a caller dials to reach a ring group — e.g. 6000 for “Sales.” Dialling the pilot rings the group’s members per its strategy. See § 13; cf. ring group.
Port-in NUMBER PORTABILITY
Bringing an existing phone number from another provider onto ByondVoice so the customer keeps their number. Initiated through a connector and tracked as a lifecycle process with its own states. See § 21; cf. connector, DID.
PSTN PUBLIC SWITCHED TELEPHONE NETWORK
The global public telephone network reached through a carrier. Calling out to, or receiving calls from, the PSTN is carrier-gated; internal calling never touches it. See § 18; cf. carrier-gated, SIP trunk.
Rate card
The table of per-destination prices used to value usage — the cost or charge applied to a minute of calling to a given destination. Underpins the platform→reseller billing the Wholesale Meter previews and runs. See § 19; cf. wholesale meter, reseller.
Recent Calls
The per-user call log in the portal — the user’s own inbound, outbound and missed calls, with party, time and duration. The surface where call records appear for an individual today. See § 16; cf. CDR.
Registrar
The function, performed by ByondSBC at the edge, that accepts a device’s REGISTER, authenticates it against the control plane and records a time-limited binding — “this extension is reachable here, until this expiry.” The registrar is what makes a phone reachable. See § 22; cf. SBC, registration.
Reseller
A white-label partner (e.g. “Nimbus Telecom”) that sells ByondVoice under its own brand and owns a set of tenants beneath it. The middle tier of the hierarchy platform → reseller → tenant → users. See § 5; cf. tenant, wholesale meter.
Reveal-once
A security pattern where a secret — a SIP device password or a provisioning URL — is shown exactly once at creation and never again, because only its hash is stored. Copy it then; if lost, regenerate. See § 20; cf. a1-hash, auto-provisioning.
Ring group HUNT GROUP
A set of members reached through one pilot number, rung by a chosen strategy — simultaneous (all at once), sequential (in order) or round-robin (rotating) — for a set ring time, with an overflow target if no one answers. See § 13; cf. pilot number, overflow.
“Ring group” and “hunt group” are the same thing

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 ManualCh. 27 · Glossary
ByondByondVoice — Administrator & Operations Manual
Ch. 27 · Glossary

27.4 Glossary — S to Z

The 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.

SBC SESSION BORDER CONTROLLER
The edge element (ByondSBC, built on ByondSBC) that sits at the boundary of the network: SIP devices and softphones register through it, it authenticates them and is the first hop for signalling, and it is where the voice service is white-labelled. The registrar function lives here. See § 2; cf. registrar, edge.
SIP SESSION INITIATION PROTOCOL
The signalling protocol that sets up, modifies and tears down calls — the “dial tone and ringing” control layer, separate from the media that carries the audio. Devices speak SIP (over secure WebSocket for softphones) to register and place calls. See § 2; cf. SIP device, media relay.
SIP device
Any endpoint that registers to an extension and makes calls — a desk phone, a softphone, or an ATA for an analogue device. Nested under an extension, each with its own reveal-once secret; one extension can hold several. See § 9; cf. extension, softphone, registration.
SIP trunk
The carrier-provided channel that connects the platform to the PSTN for outbound and inbound calls. Configured as a connector; a live trunk is what gates external calling. See § 17; cf. connector, PSTN.
Softphone
The branded softphone delivered as an installable PWA at my.byondvoice.com/phone: it registers over secure WebSocket and offers two-way audio and video, mid-call video toggle and PiP, hold, blind transfer, conference, DTMF and mute, plus Chat, Contacts and History tabs and ring-while-locked notifications. See § 16; cf. SIP device, PWA.
SRTP SECURE RTP
The encrypted form of the real-time media stream — the audio and video of a call carried so it cannot be eavesdropped in transit. The secure counterpart to plain RTP. See § 2; cf. media relay, TURN.
Tenant
One customer organisation on the platform (e.g. “Acme Corp”): its own users, extensions, numbers, routing and voicemail, isolated from every other tenant. The unit most console screens are scoped to. The leaf-but-one of the hierarchy platform → reseller → tenant → users. See § 6; cf. reseller, user.
TURN TRAVERSAL USING RELAYS AROUND NAT
A relay that lets call media reach a device stuck behind a restrictive NAT or firewall by bouncing the stream through a server both sides can reach. ByondVoice uses TURN so phones on awkward networks still get two-way audio. See § 2; cf. media relay, NAT.
UCaaS UNIFIED COMMS AS A SERVICE
Cloud-delivered business communications — calling, voicemail, conferencing and presence — consumed as a subscription. ByondVoice is a UCaaS / hosted business phone system. See § 2; cf. hosted PBX.
User
A person with a line on a tenant: one or more extensions, a self-service portal account, and an API strictly scoped to their own extension(s). The leaf of the hierarchy. See § 7; cf. extension, tenant.
Visual voicemail
Voicemail presented as a list you can read and act on in the portal — play each message in the browser, read its transcript, mark read or delete — rather than dialling in to hear them in sequence. See § 11; cf. voicemail-to-email.
Voicemail-to-email
Delivery of each new voicemail to the user’s inbox — a notification with the message (and, when transcription is on, its text) — so they need not open the portal to know they have a message. See § 11; cf. visual voicemail.
Wholesale meter
The Revenue screen that measures platform→reseller usage and previews then runs the resulting billing — valuing each reseller’s consumption against the rate card. The platform’s own billing of its partners. See § 19; cf. reseller, rate card.
The four-tier hierarchy in one line

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 ManualCh. 27 · Glossary
ByondByondVoice — Administrator & Operations Manual
Ch. 27 · Pills

27.5 Status-pill reference

The 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.

admin.byondvoice.com
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
Auto-Attendants2
Carrier
Connectors1
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Status legend// the colour grammar, in one place
ENV: PRODSA
// orientation

How to read a pill

Colour carries meaning; the same grammar applies on every screen.

WhereHealthyAttentionFailed / 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
1
2
3
4
  1. Health banner — the sidebar footer is itself a pill in prose: green ALL SYSTEMS OPERATIONAL applies the same grammar at platform scope (§ 22.4).
  2. Green = healthy — registered, up, in, assigned, PROD: the state you want. Scan for the absence of green as fast as for the presence of red.
  3. Amber = attention — expired, degraded, reserved: transitional or partial states that warrant a look but are not yet a hard failure.
  4. Red / grey — red is a hard failure (unreachable, down, missed); grey is neutral or not-applicable (idle, released, n/a) and is often perfectly normal.
The status-pill colour grammar — one legend that decodes every badge in the console and portal.
ByondVoice — Administrator & Operations ManualCh. 27 · Pills
ByondByondVoice — Administrator & Operations Manual
Ch. 27 · Pills

27.5.1 Every pill, decoded

This 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.

PillAppears onMeaningAction?See
registeredExtensions & Devices; My DevicesDevice holds a current binding — reachable, can ring.None — healthy.§ 22
idleExtensions & DevicesKnown but not currently registered (e.g. a closed softphone).Usually none — normal.§ 22.2.1
expiredExtensions & DevicesWas registered; the binding lapsed and has not renewed.Check device power / network.§ 22.2.1
unreachableExtensions & DevicesNo device online for the extension at all.Confirm a device exists & is powered.§ 22.2.1
upService healthComponent is operational.None.§ 22.4
degradedService healthComponent impaired but not fully down.Open detail; classify blast radius.§ 22.4.1
downService healthComponent is not operational.Escalate with build & region.§ 22.4.3
inRecent Calls; HistoryInbound call.None — informational.§ 16
outRecent Calls; HistoryOutbound call.None — informational.§ 16
missedRecent Calls; HistoryInbound call not answered.User callback if needed.§ 16
assignedNumbersDID is allocated to a destination.None.§ 8
reservedNumbersDID held but not yet in service.Assign or release when decided.§ 8
releasedNumbersDID returned to the pool / carrier.None.§ 8, 21
publishedAuto-AttendantsIVR menu is live and reachable.None — expected when live.§ 14
draftAuto-AttendantsIVR edited but not yet published.Publish to activate.§ 14
ENV: PRODTopbar (every screen)Live environment — changes are real.Confirm before any change.§ 22.6
Grey is not always good, green is not always done

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.

27.5.2 Procedure — read a row of pills

  1. Identify the screen. The same colour can mean subtly different things on different screens; first note which screen you are on (the breadcrumb names it).
  2. Read colour before label. Green/amber/red/grey gives you severity in a glance; only then read the word for the specifics.
  3. Cross-check the context. Confirm the pill against the neighbouring signal — e.g. an expired registration against the health banner (one device vs. a platform fault, § 22.2.2).
  4. Act per the table. Use the Action? column above; most green and grey pills need nothing, amber a look, red a fix or an escalation.
Worked example — a single screen, four pills, one diagnosis

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 ManualCh. 27 · Pills
ByondByondVoice — Administrator & Operations Manual
Ch. 27 · Shortcuts

27.6 Keyboard & navigation appendix

The 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.

admin.byondvoice.com
Hosted PBX
Extensions & Devices42
Voicemail8
Call Routing
Ring Groups3
ALL SYSTEMS OPERATIONAL
v1.0 · sg-south · build 2026.06
Command bar// press ⌘K from anywhere
ENV: PRODSA

Jump to…

esc
alice 
extAlice Tan · 1001
pageExtensions & DevicesPBX
tenantAcme Corpscope
move openesc close
1
2
3
4
  1. The shortcut⌘K (or Ctrl+K) is shown in the search affordance on every screen; it opens the palette from anywhere, even mid-task.
  2. Type-ahead query — the palette matches as you type; here “alice” surfaces the matching extension at the top, ahead of pages and tenants.
  3. Result kinds — results are tagged ext, page or tenant so you can tell a record from a screen from a scope at a glance.
  4. Keyboard hints — the footer shows the in-palette keys: / to move, to open, esc to close — the whole flow is keyboard-only.
The ⌘K command bar — type-ahead jump to any record, screen or tenant without leaving the keyboard.
ByondVoice — Administrator & Operations ManualCh. 27 · Shortcuts
ByondByondVoice — Administrator & Operations Manual
Ch. 27 · Shortcuts

27.6.1 Console keyboard shortcuts

These 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.

ShortcutActionWhere
⌘K / Ctrl+KOpen the command bar — jump to a record, screen or tenant.Any screen
Move the selection through results / table rows.Command bar; lists
EnterOpen the highlighted result, or submit the focused form.Command bar; dialogs
EscClose 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+TabMove forward / back through fields in a form.Create & edit dialogs
+ / Ctrl+Save / confirm the current dialog.Create & edit dialogs

27.6.2 Softphone shortcuts

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.

KeyActionNote
09 * #Send DTMF tones during a call.For IVRs & conference PINs
mToggle mute.In-call
hHold / resume.In-call
vToggle video on / off (mid-call).Audio→video escalation
EscDecline an incoming call / dismiss the ringer.On ring
Answer the incoming call.On ring
Learn ⌘K first, the rest follow

If you adopt one habit from this appendix, make it ⌘K. An operator who jumps by typing — “⌘Kacme1001” — 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.

Worked example — reach an extension on a busy platform in seconds

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 ManualCh. 27 · Shortcuts
ByondByondVoice — Administrator & Operations Manual
Ch. 27 · Quick ref

27.7 Quick reference — codes, defaults and where to find things

This 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.

27.7.1 Feature codes (dial from any line)

Feature codes are short numbers a user dials on their device to reach a built-in service. They work internally with no carrier.

CodeReachesNotesSee
*98Voicemail retrieval by phoneDial-in alternative to visual voicemail; prompts for the mailbox PIN.§ 11
9196Echo testPlays your audio back — confirms mic, speaker and media path.§ 27.7.3
10011xxxAn internal extension3–5 digit extension numbers; the everyday internal dial.§ 9
6000A ring-group pilotExample: “Sales.” Dialling the pilot rings the group per its strategy.§ 13
3000A conference roomExample room; prompts for member or moderator PIN.§ 15
Extensions, pilots and rooms are per-tenant

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.

27.7.2 Defaults & conventions worth knowing

ItemTypical / defaultSee
Extension length3–5 digits (e.g. 1001)§ 9
Ring-group strategiessimultaneous · sequential · round-robin§ 13
DID format (example region)+65 3159 xxxx§ 8
Device secret visibilityreveal-once at creation; hashed thereafter§ 20
Voicemail / conference PINshashed; never displayed§ 11, 15
Login second factoremail one-time code (MFA), when enabled§ 20
Unanswered-call fallbackdevice → forward target(s) → voicemail§ 12
Region / build footerv1.0 · sg-south · build 2026.06§ 22.6

27.7.3 “Where do I find…?”

A task-to-location map across the three surfaces — the admin console, the user portal and the softphone.

I want to…Surface & locationSee
Create an extension / add a SIP deviceConsole Hosted PBXExtensions & Devices§ 9
Auto-provision a device by token / URLConsole — device’s provisioning action (reveal-once)§ 10
Assign / reserve / release a numberConsole SupplyNumbers§ 8
Build a ring group / IVR / conferenceConsole Call Routing → the matching screen§ 13–15
Connect a carrier / port a number inConsole CarrierConnectors§ 17, 21
Preview / run reseller billingConsole RevenueWholesale Meter§ 19
Set DND / forward-all / follow-mePortal ControlCall Handling§ 12, 16
Hear / read / delete voicemailPortal Voicemail; or dial *98§ 11, 16
Place a call / transfer / start videoSoftphone my.byondvoice.com/phone§ 16
Check a device’s registrationConsole Extensions & Devices; Portal My Devices§ 22
Worked example — verify a new phone end to end with the echo test

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 ManualCh. 27 · Quick ref
ByondByondVoice — Administrator & Operations Manual
Ch. 27 · End note

27.8 End-of-manual note

You 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.

27.8.1 Conventions used throughout

A quick recap of the visual grammar, so a reader arriving at any chapter reads it the same way.

Inline path
admin.byondvoice.com — a URL or surface
Mono value
1001 — a literal value or number
Key
⌘K — a keyboard key
Nav path
Hosted PBXVoicemail — a click-through
Pill
registered — a live status badge (§ 27.5)
Cross-ref
“see § 9” — a chapter / section pointer

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.

Today vs. roadmap is stated honestly

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.

27.8.2 Versioning — this manual and the platform

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.

When the screen and the manual disagree, trust the screen

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.

27.8.3 Where to go next

If you operate the platform

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).

If you support users

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.

The whole job, in one sentence

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.

ByondVoice — Administrator & Operations ManualCh. 27 · End note