Skip to main content
The Calling Engine is a programmable realtime voice runtime. It owns the rails nobody sane builds twice: phone numbers, SIP/PSTN carriage, the media gateway, STT routing, in-house TTS, the voice model router, voice profiles, VAD and barge-in. It runs in production at roughly 5 lakh calls a month. It is Unpod’s distribution wedge and its trusted infrastructure anchor - and it is exactly one Transport channel of the Core Engine, not the substrate. The durable record of who was called and what happened lives in communication state; the Calling Engine’s job is to reach the human and hand the conversation to your code as text. Your agent sees text in, text out. Everything between the caller’s audio and that text - transcription, synthesis, turn detection, interruption handling, carrier failover - is the engine’s problem, not yours. The developer surface for all of this today is the Speech Stack.

The primitives

On the spine

The Calling Engine sits in the Transport layer: it reaches the human. A call arrives on a number (or a stream opens from an app), the engine resolves who is on the line, and the conversation runs as one interaction. When the call ends, the engine writes the transcript, recording, and metrics, and the interaction reports a structured outcome. Post-call webhooks fire so the rest of your system - and yours alone - reacts to what happened. See Hooks and events.

What stays hidden

You never see STT/TTS routing internals or the RTP/media topology. Which recognition provider handled a given utterance, how the voice model router failed over mid-call, where media servers sit and how packets move between them - these change constantly as the rails improve, and exposing them would turn every upgrade into your migration. You pick a voice profile; the engine owns the rest.

Status

Production. Owned voice rails carrying roughly 5 lakh calls a month. Numbers, inbound and outbound calls, transfers, recordings and transcripts, and post-call webhooks all carry production traffic today. Browser/app streams run via the hosted Playground; the embeddable Web SDK is not yet published.

Go deeper

Speech Stack

The developer surface of the Calling Engine - how a call flows.

Call lifecycle

From ring to hangup: states, turns, transfers, and hangup causes.

Numbers

Provision numbers or bring your own; attach them to your agent.

Outbound calls

Place calls programmatically through the same pipeline.

Telephony

SIP, PSTN, and carrier-level details.

Phone quickstart

A number answered by your agent, end to end.