Virtual numbers.
Each row is one number plus how to answer it. Inbound calls whose DID matches number are routed to the configured handler.
Mode:
- TTS — Microsoft SAPI speaks the Text verbatim and hangs up. URL-in-text is supported (see below).
- AI receptionist — full-duplex conversation. Caller talks to the model, model talks back as synthesised audio. Configure System prompt, voice, language, and the API key under the row. Text remains optional — if the WebSocket fails, the bridge falls back to playing it as SAPI.
You can also point an inbound route at one of these numbers to play the message instead of ringing a CodeB Webphone.
Start ms is the silence prefix before audio begins (default 1500 ms / 1.5 s). Carriers need ~500 ms to stabilise the media path after answer; less than that and the first syllable is clipped. Bump higher for slow trunks. (Applies to TTS mode; AI receptionist mode times in from the model's first audio chunk.)
Loop repeats the rendered audio back-to-back until Max sec is reached — useful for hold music, on-hold announcements, or queue messages. (TTS mode only.)
URL in text: if the text contains an http(s):// URL, the bridge fetches it on every call and splices the response into the surrounding text. If the response is text/plain, the URL is replaced by the body. If HTML or fetch fails, the URL itself is read aloud in its place.
Saved numbers are auto-added to the FraudGuard NumberWhitelist. Changes are written to App_Data/<tenant>/appsettings.json; the bridge picks them up within a few seconds via hot reload.
| Number | Name | Mode | Text / SAPI fallback | Start ms | Max sec | Loop | |
|---|---|---|---|---|---|---|---|
| No virtual numbers configured yet. Click “Add row” to create one. | |||||||
Operator secret (HMAC) is read from sessionStorage codeb_admin_secret — the OIDC bearer is used first; the HMAC is the break-glass path. Same gate as other admin pages.