What the runtime owns
Give the runtime an agent definition and a live audio stream, and it takes ownership of the whole conversational loop:Turn detection
Decides when the caller has finished a turn and when they’ve barged in over
the agent — with hold-and-confirm so a backchannel (“mhm”, “yeah”) never
cuts the agent off.
Model orchestration
Runs the pipeline: either a cascade (speech-to-text → language model →
text-to-speech) or a duplex speech-to-speech model that does all three
in one streaming session.
Tool calling
Lets the model call your HTTP endpoints and MCP tools mid-conversation,
feeds the results back, and keeps the caller engaged while a tool runs.
Session lifecycle
Owns the session from connect to teardown — idle watchdog, re-engage
prompts, token and duration budgets, and a hard max-session ceiling.
Two pipeline shapes
The runtime drives a conversation one of two ways. You choose per agent, and you can mix providers within a cascade.- Cascade (ASR → LLM → TTS)
- Duplex (speech-to-speech)
Three specialised models in a chain. The caller’s audio is transcribed, the
text goes to a language model, and the model’s reply is spoken back. You get
the widest provider choice and full control of each stage.Mix and match — for example transcription from Deepgram, reasoning from your
LLM of choice, speech from ElevenLabs or Cartesia. A local on-device VAD
marks turn boundaries, so backchannels never wake the model.
Wire your own ASR / LLM / TTS
Set the provider and model for each stage.
Cloud duplex providers (OpenAI Realtime, Gemini Live) are supported today.
Serving your own duplex model on-prem is newer — see
self-hosted inference for
what is production-ready versus still being hardened.
Two paths: ours, or your own
The runtime and the transport are decoupled. Decide how much of the stack you want TeleQuick to own:Use the TeleQuick runtime
The built-in runtime drives the conversation end-to-end. You supply an agent
definition and provider credentials; turn detection, tool calling, and
session lifecycle are handled for you. Start here for most agents.
Keep your own runtime
Already have a conversation engine — a LiveKit or Pipecat pipeline, your own
orchestration? Use TeleQuick as transport only: it delivers audio in
and carries your audio out, and your runtime owns the turns.
Where the runtime gets its audio
The runtime is transport-agnostic. The same conversational loop drives a call no matter how the caller reached you:| Caller | Arrives as | Inside the runtime |
|---|---|---|
| Phone (PSTN / SIP trunk) | G.711 (PCMU/PCMA) at 8 kHz | decoded to PCM16 |
| Browser / mobile app | Opus over QUIC | decoded and resampled to PCM16 |
Configure it
Every agent is a config document — pipeline shape, per-stage providers and models, turn-detection tuning, tools, and budgets. You edit it in the console atagent.telequick.dev or through the control-plane API, and the gateway
hot-reloads runtime tunables without dropping in-flight calls.
Runtime configuration reference
Every knob: models, turn detection, codecs, budgets, and guardrails.
Next steps
The TeleQuick Agent Runtime
Pipelines, providers, and turn-taking out of the box.
Turn detection & barge-in
Tune when the agent listens, talks, and yields the floor.
Tool calling
Give the agent HTTP and MCP tools mid-conversation.
Session lifecycle
From connect to teardown, and the guardrails that bound it.