Connect by JBRH Open Connect

Phone for the Owner and for a customer

The phone channel is one implementation with two doors. A customer workspace configures its line, tunes the voice, supervises a live call and reads its own call records through the same modules the operator uses; the routers differ, not the behaviour. What stays operator-only is the platform ledger and running the voice fleet itself.

Status
Available What this means
Audience
both
Channels
phone
In the app
#/phone, #/calls
Last verified
Product version
6.3.2

What is identical#

CapabilityOwnerCustomer workspace
Configuring the line — provider, hours, routing, permissionsYesYes, over its own channel_routes rows
The Voice Lab: engine and steering settings, test calls, reviewYesYes
Connect's own text-to-speech settings, on the Behaviour sectionYesYes
Human voice profiles and profile resolutionYesYes
The live supervisor panelYesYes, on its own calls
The browser softphone lineYesYes, per person
Call records, transcripts, summaries, outcomes, follow-upsYesYes, scoped to the workspace
Line health signalsYesYes, for its own line

"Identical" here means the same code, not a similar screen. A customer workspace is not using a reduced copy of the Voice Lab; it is using the Voice Lab, with its own workspace as the scope.

One body, two doors#

The pattern that keeps them identical is deliberate and worth naming: behaviour lives in a module both routers call, and each router adds only the route. The voice settings, the supervisor and the Lab are shared modules; the operator's router and the customer router are thin.

Where a customer path needs to differ — a different URL shape, a different scope — the difference is a rewrite in the tenant adaptation layer rather than a second implementation. The failure this prevents is the one every two-audience product eventually has: a feature that works for the operator and quietly returns a permission error for everybody else, with no code anywhere that says so.

What stays with the operator#

The per-call cost profiler
GET /api/usage/voice reports what was measured and what was not for an individual call. Like the rest of the ledger it belongs to the platform operator — it is about running the platform, not about using Connect.
Fleet operations
Worker capacity, drain windows, the service unit, the heartbeat file. A customer workspace sees the consequences through line health; it does not size the fleet.
Provider and carrier accounts
Which provider carries the PSTN leg, and which capabilities that account has enabled. A customer workspace inherits the answers through the capability check rather than configuring them.
Cross-workspace views
Anything that reads several workspaces at once. There is no version of this for a customer, by construction rather than by permission.

The distinction the status vocabulary draws is exactly this one: available_owner means running in production and deliberately for the operator, not a capability a customer is waiting for.

What a workspace's plan changes#

Plans change limits, not behaviour. Allowances, capacity and what a workspace may spend on voice are recorded against the workspace and the line rather than expressed as different code paths, which is why raising one changes what is permitted without changing how anything works.

The practical consequence for a customer: a line that stops placing calls is far more often a limit than a fault, and the refusal is recorded with its reason. Reading the reason first saves the investigation.

Reading a report about one audience#

A report that something is missing on one side is a question about both. The pattern behind almost every asymmetry here is a route added to one router without the corresponding rewrite for the other, or a check that reads a setting outside the owning workspace — a real defect of that second kind once verified a number outside any workspace scope, so the workspace-scoped credentials read as empty and every real call was refused before pickup.

That is why the useful first question about a phone problem is not "what broke" but "which audience, and does the other one see it too".

Questions#

Does a customer workspace get a cut-down voice agent?

No. The engines, the conversation layer, the profiles, the Lab and the supervisor are the same modules. What differs is scope — a workspace sees its own lines, calls and people — and the operator-only ledger and fleet controls.

Can a customer workspace choose the realtime engine?

The engine is a setting on the workspace, so yes, subject to whatever the workspace's limits allow. Both engines are reachable through the same configuration surface for both audiences.

Why is the per-call cost profiler operator-only?

Because it is a platform-operations instrument rather than a customer feature — it reports what a call cost to run and, importantly, what could not be measured. Customer workspaces see their usage through the ordinary usage surfaces.