Architecture

How it works

Written for whoever on your side will ask the hard questions. This is the actual architecture, including the parts that are trade-offs rather than wins.

The pipeline

What happens during a call

  1. 1

    The call arrives

    Audio is carried over a real-time media server that we run, not a third-party call platform. It handles the network problems that make voice hard: packet loss, jitter, and callers on bad mobile connections.

  2. 2

    Speech becomes text, while they are still talking

    Transcription is streaming. The agent starts forming a response before the caller has finished the sentence, which is most of the difference between a natural reply and an awkward pause.

  3. 3

    The agent decides, and looks things up

    A language model works out what the caller wants. When the answer lives in your systems, it calls your API mid-conversation and answers from what comes back rather than from what it remembers.

  4. 4

    It replies, and it can act

    The response is spoken in the voice chosen for that agent. Where the conversation calls for it, the agent takes the action too: placing the order, booking the slot, ending the call cleanly.

Where it runs

Your infrastructure, your choice of models

Call handling is always yours

The media server, the agent process and the call records run on infrastructure you control. That part never depends on someone else staying up.

Where the AI runs is a switch

By default the speech and language models are hosted services, which is the faster and higher-quality option today. The alternative is running all three models on your own machine, chosen when audio genuinely may not leave the building. Both are supported and both are kept working.

English and Arabic

Each agent is built for one language, with transcription and a voice matched to it. That is a deliberate choice: a single multilingual configuration is measurably worse at Arabic than a dedicated one.

Trade-offs

On speed, honestly

The usual assumption is that local models are slower. Measured from our own machines, they are not: a local model can begin responding faster than a round trip to a hosted provider.

Hosted services still win, for two reasons that have nothing to do with raw model speed. Their transcription is streaming, so it works while the caller is still speaking; a local model has to wait for silence before it can start, and that dead time is paid on every single turn. And for following instructions and calling tools correctly, which is most of what a voice agent does, the larger hosted models are simply better.

So we default to hosted, and switch to local when the privacy requirement is real. It is one setting, not a rebuild.

After the call

You can see what happened

Every call is on the record

Full transcript, a written summary of what the caller wanted and what happened, and the audio itself where you want it kept.

Costed per call

Each conversation is priced by component (transcription, language model, speech) against a rate table. You can see what a call cost, not just what the monthly bill was.

Latency you can inspect

Turn-by-turn timings, so when a conversation felt slow there is a number showing where the time went.

Bring us your hardest question

We would rather answer it now than in month three.

Get in touch