CallBox · first of the agentic atoms

Give your software a phone line.

A small box. Your own SIM. Your code, an AI agent, or a person at a PC makes and answers real phone calls, reads and sends SMS, and brings back answers. Flat monthly cost, not per minute.

Schematic: one cellular call leg reaches the CallBox, which relays it through our cloud to any one of three endpoints — a person on a browser or desktop app, an AI agent, or your own code over webhooks and a live audio stream.
Schematic · enclosure not final

For SaaS teams, and anyone who builds

Put calling in your product.
Don't become a telco.

One integration and every one of your customers can have a phone agent — on their number, on their own SIM. No carrier contract, no per-minute line on your COGS, nothing in the middle that can price you.

We sell a box. The software is free, and it is built to be configured rather than rewritten.

01 / CONFIGURE

Change it without code

Dial plan, prompts, tools, who answers and when. The receptionist we ship is one plugin on the public API, with no private hooks — so anything it does, yours can do too.

02 / EXTEND

Down to the raw audio

A signed webhook when a call or text arrives. An MCP server, so an agent you already have drives the line as a tool. A live two-way audio stream once the on-board codec lands. Your providers, your keys — it answers with a live model today.

03 / OWN IT

Nobody in the middle

The relay is software you run. A metered platform cannot be self-hosted at any price — the phone leg is theirs. Here the SIM, the relay and the model are all yours.

One integration in your SaaS, through the deemwar-atoms-sdk, reaches many customer sites at once — each with its own SIM, its own box and its own number.
One integration · many lines, each its owner’s
deemwar-atoms-sdk
# the providers you already pay for — swap any of them
const line = new CallBox({ stt, llm, tts })

# answer inbound with your own agent
line.on("call.incoming", c => c.answer(myAgent))

# or dial out, and get a result back — not a recording
await line.call("+447700900123", "book a table for four at 8pm")
  → {"booked": true, "time": "20:30", "ref": "R41C"}

And the arithmetic

Flat beats metered.
In any currency.

Cloud telephony is priced per minute in every country on earth. A SIM card isn't. Put in what you pay per minute and what a flat mobile plan costs where you are.

1.0×

cheaper on the line, at 70 minutes of calls a day

Cloud telephony

your rate per minute

0

CallBox + your own SIM

your plan per month

15
Day 0 of 30· 0 minutes called· Difference 0
Break-even is about 10 minutes a day. Past that, one number keeps climbing and the other never moves. This is the line only. Whatever model you run costs the same whichever way the call arrives, which is precisely why it cancels out and the transport is the whole difference.

What it does

Calls out. Answers in.
Texts either way.

01 / OUTBOUND

It calls for you

Give it a goal in plain words — book the table, ask if it's in stock, confirm the order, ring these twelve people. It dials, talks to whoever picks up, and comes back with a structured answer, not a recording.

02 / INBOUND

A person picks up, or the agent does

The call rings in the browser or desktop app on the counter PC, and whoever is on duty answers it there like any other call. If nobody is on duty, the assistant takes it instead, handles the routine questions and texts you what happened. The page shows plainly which one is live, so you decide who answers — not a fallback you find out about later.

03 / MESSAGES

It texts, too

Half of real phone business ends in "I'll text you that." It reads incoming SMS, replies, and sends the address, the price or the booking reference as a follow-up — inside the same conversation.

Where it actually is

It held its first
conversation on 4 October.

You should hear the state of this from us rather than find it out after you buy. This page gets updated as it changes.

WORKS NOW

A real call, a real answer

The box placed a call, a person answered, and an AI held a three-turn conversation with them, about two minutes — it greeted them, heard what they said, and answered. Its words came out through the modem's own built-in voice that time. A fix later the same day got the AI speaking in its own voice, on shorter calls that came in to the box. It sends and receives text messages too, on our own firmware.

TODAY'S LIMIT

It takes turns

The box speaks, then listens, then speaks. It is not two-way at once, so a caller cannot interrupt it mid-sentence. Real-time two-way audio comes from an audio codec on the board, and that is in development.

NOT YET

The things that make it a product

The enclosure, the production board, the price. Specified, not built. There is nothing to pre-order and we are not taking money.

The deal, when there is one. You buy a box, once. The software is free and open — CLI, SDK, agent skill, MCP server, the plugin API, and the relay — so you can run the whole thing yourself and nobody is in the middle of your calls. No subscription to us. If you would rather someone else ran it, or answered the phone when it broke, that is a paid option and not a requirement. Partners sell and support locally, and earn on the ongoing relationship rather than on the sale. The hardware is made in India.

Build log

We're building this
in the open.

One entry per real milestone. What worked, one number, what broke, and what is still wrong. No entry goes up before the thing in it actually happened.

2026-10-04

First conversation with an AI on a real phone call

What worked
The box placed a call, a person answered, and an AI held a three-turn conversation with them: it greeted them, heard what they said, and answered. On that call the AI's words were spoken by the modem's own built-in voice — our fallback — because sending the model's audio into the modem was still failing. Later the same day, after the fix below, the box answered calls coming in and the AI spoke in its own voice. The whole path — driving the modem, handling the audio, and the link out to the model — is our own firmware running against a stock development board on a bench.
The number
2 minutes · 3 turns · on a live mobile network
(fallback voice; the own-voice calls after the fix were shorter, because we hung up early)
What broke
Plenty. The modem needs a different command to end a call than the standard says. It drops the first bytes of any file sent to it unless you wait after its prompt. One of its two serial channels can dial but cannot play audio. An idle model session timed out while waiting for the phone to ring, so now we connect only after pick-up.
Honest limits
This conversation is half-duplex. The box records, thinks, then speaks, so each turn takes several seconds and a caller cannot interrupt it. Real-time two-way audio needs an audio codec wired to the modem. The first one was ordered the same day.
Hear it
The AI's side of a later call that day, in its own voice. The caller is not in these — the box plays a file into the call, so only our half exists as audio. The voice is the model provider's synthetic voice, not something we built.

GREETING · 3s

Hello, this is CallBox. How can I help you today?

REPLY · 5s

I'm sorry, I didn't quite catch that. Could you please tell me again what you need?
Next
Wire the codec, stream call audio both ways, and hold the same conversation without the pauses. Then put it in a box with a power button and a reset button.

Early access & pilots

Be in the first batch.

Tell us which you are, and where. We ship market by market, in the order people ask. No spam, no newsletter — one email when there's something real to try.

I want to pilot one

For your product, your business, your clinic — or your own projects.

  • Your existing number, your own SIM
  • Flat monthly cost, not per minute
  • Early pricing for the first batch

I want to sell it

For installers, IT resellers, AV and CCTV shops, and integrators.

  • Demo hardware and full training
  • Revenue share, paid on recurring
  • Non-exclusive — no territory lock-in