Glossary
Terms as this documentation uses them. Where a word means something different in telephony and in voice AI, both are here, because CallAgent is both.
The primitives
Assistant — a versioned bundle of prompt, transcriber, model, voice, tools and plans. The unit a call runs. →
Assistant version — an immutable snapshot of an assistant, created by publishing. A call pins the version it started with. Carries a config_hash.
Squad — several assistants sharing one call, with explicit handoffs between them. →
Tool — a function the model may call mid-conversation. 25 types. →
MCP server — an external tool server attached whole, with per-tool risk levels. →
Knowledge base — documents chunked, embedded and retrieved at conversation time. →
Call — one conversation and everything it produced: transcript, messages, events, metrics, costs, artifacts. AI and human legs share one record.
Leg — one party's connection to a call. A transferred call has more than one.
Artifact — a file a call produced: a recording, a transcript JSON, an event dump. →
The pipeline
Turn — one exchange: the caller speaks, the assistant answers.
Transport — how audio reaches the gateway. A Twilio media stream, a FreeSWITCH channel, a browser WebRTC session.
STT / transcriber — speech to text. Streams partial hypotheses as the caller talks.
Partial — an interim transcript, revised as more audio arrives. Final — the transcriber's committed version of an utterance.
Endpointing — deciding the caller has finished. The stage nobody expects and everybody feels. →
Barge-in — the caller talking over the assistant, and the assistant stopping.
Acknowledgement phrase — a whole utterance ("mm-hmm", "right") that does not count as an interruption.
Interruption phrase — a phrase ("stop", "hold on") that interrupts immediately, skipping every other gate.
Echo guard — rejecting the assistant's own audio, arriving back through the carrier, as if it were the caller speaking.
TTS — text to speech.
Chunker — splits the model's token stream at clause boundaries so synthesis starts before the model finishes writing.
TTFT — time to first token from the model. TTFA — time to first audio from the voice. Both are what the caller feels; the totals are what you are billed for.
Speech to speech (S2S) — giving the model audio directly, skipping STT and TTS. Configurable in CallAgent and not wired up.
Fallback chain — an ordered list of providers for a stage. Index 0 first, maximum two fallbacks.
Circuit breaker — taking a repeatedly failing provider out of rotation instead of retrying it into the ground.
Telephony
PSTN — the ordinary public telephone network.
SIP — the signalling protocol that sets up and tears down calls. It carries no audio.
RTP — the protocol that carries the audio. A working SIP exchange with no RTP is a connected call with silence, and it is the most common SIP problem there is.
Trunk — the relationship with a carrier: credentials or an IP allowlist, codecs, number formatting, limits. →
Gateway (SIP) — one host under a trunk. Several give failover. Not to be confused with the voice gateway, which is CallAgent's own media process.
REGISTER — the SIP message a trunk sends to say "I am here, send me calls". A registering trunk keeps that dialog alive; an IP-authenticated one does not register at all.
DID — Direct Inward Dialling: an inbound number on a trunk.
E.164 — the international number format: + then country code then the number. +40712345678.
DTMF — the tones a keypad makes. rfc2833 sends them as RTP events (reliable); inband sends them as audio (fragile under transcoding); info sends SIP INFO messages.
Media stream — a carrier feature that forks the call's audio to a WebSocket. How a Twilio call reaches the AI pipeline.
AMD — answering-machine detection.
Codec — how audio is compressed. PCMU/PCMA are G.711 µ-law and A-law, 8 kHz, the telephony default. CallAgent normalises everything to 16 kHz mono PCM internally.
SBC — Session Border Controller, the box a carrier puts at its edge.
Caller ID presentation — the number shown to the person you call. You may only present a number your organization owns.
Contact centre
Queue — callers waiting, with a distribution strategy and an SLA. →
Operator — a person who takes calls. Called an agent elsewhere; this documentation says operator throughout.
Offer — a call presented to an operator. It expires; an expired offer is a no_answer.
Distribution strategy — how the next operator is chosen. Nine of them.
Penalty — a per-queue-member tier. The first sort key in every strategy: penalty tiers are exhausted before the strategy's own rule applies within a tier.
Skill — a competency with a proficiency. Matching fails closed: a missing mandatory skill excludes an operator entirely.
Wrap-up — after-call work. A server-side deadline, not a browser countdown.
Disposition — the outcome an operator records during wrap-up.
Blind transfer — hand the call over and hang up. Warm (consultative) transfer — speak to the destination first. Warm transfer needs FreeSWITCH; there is no Twilio equivalent.
Handover — the assistant giving the call to a human. The caller is never re-dialled — the existing leg is redirected or bridged.
Briefing — the transcript, summary, intent and context handed to the operator at handover, frozen when the caller entered the queue.
Listen / whisper / barge — a supervisor hearing a call, speaking to the operator only, or joining it. Audio is not proven.
Service level — the percentage of calls answered within service_level_seconds.
ASA — average speed of answer. AHT — average handle time.
IVR — the "press 1 for sales" menu. A published node graph, 16 node types.
Ring group — several operators rung together or in sequence.
Time condition — routing by weekly hours, holidays and a manual override.
Platform
Organization — the tenant. Every API key belongs to exactly one, and there is no organization_id parameter anywhere in the API to tamper with.
ULID — the id format: 26 Crockford base-32 characters, sortable by creation time. 01M1ZKWXMFRDX6TK3QYR2EV9VY.
Scope — a permission on an API key, resource.verb. assistant.read, recording.delete. resource.* grants the group. An empty scope list means everything.
Client token — a short-lived JWT a browser gets in exchange for a public key. Bounded to one organization, one assistant, one session.
Idempotency key — makes retrying a create safe. On POST /calls it is enforced by a unique index, so a retry returns the original call rather than dialling twice.
Event id — the stable identifier on a webhook delivery, repeated across retries and redeliveries. The thing to dedupe on. Not the delivery id.
Snapshot — the frozen configuration handed to the gateway at call setup. Nothing in it changes during the call.
Wire format — the camelCase contract shape the gateway receives, which is not the snake_case shape the REST API accepts. Converted between by the control plane.
Unpriced — a cost row with a real quantity, cost = 0 and priced: false, produced when the registry has no verified price. A visible gap rather than a guess.
Margin floor — a minimum platform margin per billable minute, topped up when the per-component margins do not reach it.
Ledger — the insert-only credit record. Balances are a cache of it; the ledger is authoritative by definition.
Zero data retention (ZDR) — nulling conversation content while keeping the call's identity, duration, costs and metrics.
Redaction — two different things. Secret redaction masks credential-shaped values in logs and webhook payloads. PII redaction masks card numbers and similar in transcripts, at finalisation, and never touches audio.
Words this documentation avoids
Agent — ambiguous between an AI assistant and a human operator. This documentation says assistant and operator.
Bot — not used.
Verified — used only in the provider SDK's narrow sense: a wire format reviewed against vendor documentation. It does not mean tested against a live vendor.