Skip to content
OSOKORO

Connecting a Twilio or Telnyx number to an AI agent

Why bring-your-own-SIP beats a bundled number, what the carrier still owns, and the failure modes worth knowing before you point a live line at anything.

Published Aug 22, 20265 minutes to read

Most AI phone products sell you a number. Osokoro Phone does not — you bring a SIP number you already own, from Twilio, Telnyx, Plivo, or anyone else who speaks SIP.

That is a deliberate architectural choice with real consequences in both directions, and it is worth understanding before you decide whether it suits you.

What bring-your-own actually buys

The number is portable because it was never ours. If you leave, you change where the SIP trunk points. You do not port a number, you do not update anything customer-facing, and you do not have a conversation with us about it. For a number printed on a van or a shopfront, that property is worth more than any feature.

No minutes markup. We do not resell termination and we do not mark up your carrier. You pay Twilio what Twilio charges you, and you pay us 23 cents a minute for the AI service. Two bills, neither of which is hiding the other.

Your existing routing survives. Business-hours rules, failover, forwarding, the number you already give out — all of it stays where it is. The agent becomes one destination among whatever else you have configured, rather than a system you migrate onto.

What it costs you

Setup is not a signup form. You need a carrier account, a number, and a SIP trunk configured to point at us — and in this beta, number provisioning is done by an operator rather than by you in a dashboard. Numbers are read-only to customers today.

So the honest version is: this is a configuration conversation, not a self-serve flow. If you wanted to be answering calls in ten minutes with a number the vendor handed you, this is the wrong product right now.

What the carrier still owns

This trips people up, so it is worth being explicit about the boundary.

Your carrier owns the number, the inbound termination, the emergency-calling obligations, the regulatory registration for the number's country, and the bill for all of it. Depending on who you use and what kind of number it is, expect inbound to be somewhere in the region of a cent a minute plus a small monthly rental — get the real figure from your own invoice, because we cannot see it and would be guessing.

We own what happens after the call is answered: the realtime speech model, the agent's instructions, the search tools, the transfer, and the per-minute AI charge.

Two bills, one call. If the line is silent, work out which side of that boundary the silence is on before debugging the other one.

The configuration, in outline

Per organisation, set by owners or admins — members see it read-only:

  • Business name and instructions. The whole of what the agent knows about you, plus whatever you put in a searchable document collection.
  • First words. The greeting, spoken before the agent thinks. This exists because a model that has to reason before saying anything produces a pause at the moment a caller is deciding whether the line is dead.
  • Voice, and a language hint. One of en, es-MX, es-ES, pt-BR, pt-PT, or blank for auto-detect. Note en-US is not accepted — the list is exact.
  • Transfer number, in international format. One number. The model cannot choose it.
  • Maximum call length. Five minutes by default, ten maximum.
  • Business hours, a recording-disclosure toggle, a web-research toggle, and an enabled toggle.

Failure modes worth knowing before you point a live line at this

A call that never connects is not billed, and a connected call of eleven seconds is. The minimum billable unit is one whole minute. If you are testing, every hang-up costs 23 cents.

The call ends on a timer. At the configured maximum, a real hangup is issued. It does not fade out or apologise. If you set five minutes and your calls need six, callers get cut off mid-sentence, and you will hear about it from them rather than from a dashboard.

Search has a ceiling of twenty per call, after which the agent hangs up. That is a circuit breaker: a model on its twentieth search in one phone call is not converging. If you see calls ending early, check whether the agent is being asked things your document collection cannot answer.

Abandoned calls are marked failed after twenty minutes. A call that never reaches a terminal state is reconciled rather than left open forever.

There are no transcripts to debug with. No recordings, no caller numbers. What you get is a content-free journal row — status, duration, turn count, search count, pricing version, cost estimate — deleted after thirty days. Debugging a bad call means reproducing it, not reading it. That is a privacy decision with a real operational cost, and it is the one most likely to annoy a developer.

The transfer is one number, on purpose

The agent can hand a caller to a person. It cannot decide which person; the destination is server configuration and the model is told to use it, never to pick one.

That reads like a missing feature and is a security property. A model that can choose a forwarding number can be talked into choosing a different one by a caller who wants it to — persuade the system to route a call somewhere, then answer that call yourself. Removing the choice removes the attack.

If you need sales and support routed differently, that is two numbers and two agents, not one clever one. I would rather tell you that than ship a routing feature with a social-engineering hole in it.

What is not there

No outbound. No dialer. No callback queue. No CRM, calendar, Stripe, Shopify or Zendesk integration. No account, order or booking lookup. No identity verification or OTP. No shared call inbox. No API for any of the above.

And it is not safe for regulated data: your business knowledge lives in collections hosted by xAI, whose model runs the call, and zero data retention is arranged per xAI team rather than per key.

Status

Private beta, approved by a person, one business at a time. Production metering is still gated and the published rate is proposed rather than a billing commitment. If your carrier is already Twilio or Telnyx and your calls are mostly the same eight questions, the configuration above is most of the work.

Read next

All writing