Self-hosted appliance
On-premise voice AI, running entirely on your own GPU
Some conversations cannot leave the building. Telenow ships as a single-tenant appliance you install on your own server: the orchestrator, the speech models and the language model all run on your GPU, your SIP trunk comes into the box, and no part of the call path calls a third-party API. It is a design-partner programme today — and this page tells you exactly what has been measured and what has not.
Last updated 2026-09-06
What actually ships
One file, one command
The appliance is a single tarball of roughly 14 GB with a SHA-256 checksum. Copy it to the server — a USB stick is a perfectly good delivery mechanism — verify the checksum, unpack it and run the installer. There is no package repository to add and no registry to log in to.
Genuinely offline
Nothing is pulled at install time, because everything is shipped: container images, model weights and the web app all travel inside the bundle. The server needs no Docker Hub account, no Hugging Face token, no GitHub access and no route to the internet at all.
Three services, plus infrastructure you can replace
An orchestrator serving the application and the web UI, a GPU model server for speech, and a pinned vLLM for the language model — with Postgres 16 and Redis 7 bundled for convenience. Point the installer at your own RDS, Cloud SQL, ElastiCache or Valkey instead and the bundled containers are never created.
A binary, not a source drop
What lands on your server is a compiled, stripped binary stamped with the build’s git SHA. No source ships. If your procurement requires source escrow, raise it in the scoping call — it is a contract conversation, not a product feature.
What it needs from your infrastructure team
One nominal 24 GB card is the target: the installer checks for at least 22 000 MiB of VRAM, driver 535 or newer, and 60 GB free both on the filesystem and on Docker’s data root. Telephony is a SIP trunk terminated on the box. Two different numbers govern how many calls it will take at once, and it matters which one binds: the default RTP port range admits roughly fifty simultaneous media sessions, but the installer also writes an admission cap of ten concurrent calls, and the cap is the lower of the two — call eleven is refused with “server at capacity” however wide the port range is. Ten is a deliberately conservative starting value rather than a result; the installer’s own note says to set it from a p95-versus-concurrency ramp measured on the hardware in front of you, which is one of the things a design-partner installation is for.
- 1Get the bundle onto the box
Transfer the tarball however your change process allows, and verify the published SHA-256 checksum before you unpack anything.
- 2Unpack and install
Unpack the archive and run the installer as root. It preflights the GPU, driver, disk and CPU, loads the container images from the bundle, and mounts the model directory read-only — nothing is downloaded at runtime.
- 3Wire in telephony and identity
Point your SIP trunk at the box, choose whether to run the bundled Postgres and Redis or your own, and decide which optional planes — WhatsApp, campaigns, email — this deployment is allowed to have.
- 4Place a real call
Build an agent, dial it from a handset on your own network, and read the transcript and recording back out of the local database. That call is the acceptance test, and on a first installation we do it with you.
What runs on your GPU
The whole voice path is local. Speech recognition uses Whisper large-v3-turbo with an AI4Bharat IndicConformer fallback for Indian languages; synthesis is our own Indic TTS engine; reasoning runs a quantised Qwen3-8B served by a pinned vLLM; and the knowledge base, if you keep it enabled, is served by a local embedding model. On a 24 GB card the budgeted allocation adds up to roughly 19 GB with the rest as headroom — a planning table rather than a load-test result, since vLLM is pinned to a fixed fraction of the card instead of being left to claim what it likes, which is why the card size in the requirements is a floor rather than a suggestion.
- Speech to text — Whisper large-v3-turbo, with an IndicConformer fallback for Indic audio.
- Text to speech — our own Indic engine, the same one behind the hosted platform’s in-house voices.
- Language model — Qwen3-8B, AWQ-quantised, served by a version-pinned vLLM.
- Knowledge base — a local embedding model for retrieval; it ships enabled and it does cost VRAM you might want elsewhere on a 24 GB card.
- Audio, transcripts, recordings and the language model all stay on your hardware. No third-party API is called by the call path.
What is proven, and what is not
The appliance has not yet been installed end to end on a customer’s hardware. We are not going to call it proven on a page a bank’s infrastructure team is reading, so here is the actual line between what has been measured and what has not.
Measured on a real L40S
The vLLM configuration and its flags, tool-calling on the quantised Qwen3-8B, 1536-dimension embeddings, Indic retrieval passing four of four cases including cross-lingual, and the language model and embedder co-resident at 21.1 GiB. That is dated, on-hardware evidence, not a spec sheet.
Not yet verified
That the bundle installs cleanly on your specific hardware, and that a call completes end to end on the appliance. Which also means no concurrency figure for this box is a measurement: it ships capped at ten simultaneous calls as a conservative starting value, and finding the real number is a load test we run on your hardware. That is precisely what a design-partner installation exists to establish, and we would rather say it here than discover it with you in week three.
The hosted platform is a separate question
The cloud platform runs live calls today, in production, for paying customers. The appliance is the same codebase with the cloud-only planes switched off — which is a strong starting point and still not the same thing as a proven installation.
So this is a design-partner engagement
A scoping call, a hardware check against the list above, and an installation we do alongside your team. Not a download button, and not a price list — until it has run a real call on real hardware, selling it any other way would be dishonest.
What is switched off on the appliance
An appliance is not the SaaS product with a different logo. Everything that only makes sense in a multi-tenant cloud is compiled out of the deployment profile rather than merely hidden, and the routes behind those surfaces return 404 rather than 403.
- Billing, usage metering, the reseller and client planes, impersonation, admin operations, the app marketplace, the public marketing site, the demo and affiliate surfaces: all off.
- WhatsApp, outbound campaigns and email are opt-in per deployment — a bank buying a voice appliance does not automatically get a WhatsApp sender.
- A local operations console for your own team, and a support bundle that carries environment-variable names and presence but never their values.
- Background workers that only exist for the hosted plane — key health checks, tenant export and purge — do not run here.
Related
If an appliance is more than this project needs today, the same platform runs hosted with recognition and synthesis on models we host ourselves — which takes third-party AI vendors out of the audio path without taking a server delivery into your data centre. Talk to us either way; we will tell you which one your requirement actually calls for.
Frequently asked questions
Has this been deployed in production anywhere?+
Not yet, end to end on customer hardware — and we are telling you that on the marketing page rather than in week three of a POC. The components have been verified on a real L40S: the vLLM configuration, tool-calling on the quantised language model, 1536-dimension embeddings, Indic retrieval including cross-lingual, and the model and embedder co-resident at 21.1 GiB. What has not been proven is a full install on your hardware and a call completing on the box. We are taking design partners for exactly that, and the engagement is priced and scoped as one.
Does the server need internet access?+
No. Container images and model weights ship inside the bundle, the model directory is mounted read-only and nothing is downloaded at runtime, and the local web server is deliberately configured so it never reaches out for a certificate. It will sit happily in a network segment with no egress at all. We describe that as running fully offline, which is a description of how the install works rather than a badge — no certification stands behind it and we do not imply one.
Can we use our own Postgres and Redis?+
Yes. Switch the installer to external mode and supply your own connection strings — RDS, Cloud SQL, ElastiCache, Valkey, or your own instances — and the bundled Postgres and Redis containers are never created. Teams with an existing database standard usually do exactly this.
What is the concurrency ceiling on one box?+
As installed, ten concurrent voice calls. The installer writes an admission cap of ten and the orchestrator enforces it at call setup, so the eleventh simultaneous call is refused with “server at capacity” — WhatsApp, Instagram and chat sessions are not counted against it, because they carry no audio. You may also see roughly fifty quoted for this box: that is the default RTP port range, an upper bound on simultaneous media sessions derived from port arithmetic, and widening the range on its own moves nothing, because the admission cap is what binds. Neither number has been observed under load. No call has yet run end to end on the appliance, so nothing about its concurrency has been measured — and the installer’s own comment says the cap belongs to a p95-versus-concurrency ramp taken on the hardware in question, which is work a design-partner installation does with you rather than a figure we can hand you now. Both the live count and the cap are on the local operations console, because a box sitting at its ceiling otherwise looks perfectly healthy while refusing every call.
Is anything sent to OpenAI, Anthropic or ElevenLabs?+
Not by the appliance’s own stack — recognition, synthesis and reasoning all run locally. Be aware of the honest caveat: the platform still lets an operator configure a cloud model or speech key, because some deployments want that option. If your requirement is that audio cannot leave under any configuration, that is a lockdown we will walk your team through, not something we would ask you to take on trust.
How do updates work?+
The same way installs do: a new bundle with a new checksum, unpacked and installed through the same path, with the models mounted read-only as before. Updates are a change your team schedules, not something that arrives on its own — which is usually the point of buying an appliance in the first place. Cadence and support terms are agreed in the design-partner contract rather than promised on a marketing page.
Do our recordings and transcripts stay inside our data centre?+
Yes — that is the entire proposition. Audio, transcripts, recordings and the language model all live on your hardware, in your database, on your storage. Nothing about a call leaves the building unless you connect it to something that takes it out.
We are not ready for an appliance. Is there a middle option?+
There is, and it is worth being precise about where it stops. On the hosted platform you can run recognition and synthesis on models we host ourselves, so audio never reaches a third-party speech vendor, with all customer data stored in AWS Mumbai. The language model there is a different matter: it is a vendor you choose, or an OpenAI-compatible endpoint you run yourself, and unless you supply your own the transcript of each turn does leave for it. Running the language model on hardware you control is the specific thing the appliance adds. Plenty of regulated teams start hosted and revisit the appliance once the use case has proven itself.
Talk to us about a design-partner installation
Sign up free and get $1.01 in credit — no card required. Connect your number, pick a template, and go live in minutes.