VoiceOI
Twilio Elastic SIP Trunking

Twilio SIP Trunk for AI Voice Agents

This guide shows how to connect a Twilio SIP trunk to AI voice agents in VoiceOI: create an Elastic SIP Trunk in your own Twilio account, add it to the Carrier Manager, test it and attach it to an outbound campaign. Twilio carries the calls and bills the minutes; VoiceOI runs the bots and bills per bot.

How a Twilio SIP Trunk and VoiceOI Split the Work

VoiceOI uses your Twilio trunk the same way it uses any SIP carrier. Twilio connects the call to the phone network; VoiceOI handles everything that happens on the call.

In your Twilio account

  • The Elastic SIP Trunk and its termination SIP URI
  • Authentication: a credential list, an IP access control list, or both
  • Phone numbers and verified caller IDs
  • Calls-per-second settings and voice geographic permissions
  • Billing for minutes and phone numbers

In VoiceOI

  • The carrier entry: your trunk's sip.conf or pjsip.conf block in the Carrier Manager
  • The bot: a recorded-voice bot or an AI agent, built without code
  • The campaign: leads, pacing, calling windows and retries
  • Machine detection, do-not-call handling and transfers to closers
  • Recordings, transcripts, dispositions and per-bot billing

Twilio and Elastic SIP Trunking are products of Twilio Inc. You create and pay for the trunk in your own Twilio account.

Set Up a Twilio Elastic SIP Trunk for VoiceOI, Step by Step

Four steps in the Twilio Console, then four in VoiceOI. The Twilio steps follow Twilio's own documentation as reviewed in October 2026; if a console label has moved, Twilio's docs are the authority. The steps are described in text and no console screenshots are shown, because Twilio changes its labels often.

  1. In Twilio

    Create the trunk

    In the Twilio Console, go to Communications, then Elastic SIP Trunking. Open Trunks and click Create New Trunk, then give it a friendly name you'll recognize, such as “VoiceOI outbound”.

  2. In Twilio

    Set the termination SIP URI

    Under Termination, choose a SIP domain name unique to this trunk, in the form yourname.pstn.twilio.com. That is the address your calls are sent to on their way to the phone network.

  3. In Twilio

    Add authentication

    Twilio requires at least one method: a credential list (username and password) or an IP access control list. If you set both, Twilio enforces both. Twilio recommends credentials, because an IP list alone doesn't protect against some attacks. Keep the username and password for step 5. This page doesn't list VoiceOI's sending IP addresses, so if you need an IP access control list, ask sales for them first.

  4. In Twilio

    Choose your caller ID

    Twilio accepts only a caller ID that is a Twilio number on your account or a number verified in the Console, so buy a Twilio number or verify the one you'll show. Trial accounts can call only verified numbers. Origination settings are for receiving inbound calls, so this outbound setup doesn't need them.

  5. In VoiceOI

    Add the trunk in the Carrier Manager

    Add a carrier and paste a sip.conf or pjsip.conf block built from these Twilio values, then save it:

    • Host: your termination SIP URI, in the form yourname.pstn.twilio.com.
    • Username and password: the credential list from step 3.
    • Dialed numbers: E.164 with the plus sign (+1 and ten digits for a US number). Twilio rejects other formats.
  6. In VoiceOI

    Build the bot and test it in the simulator

    Build the script in the no-code voice bot builder, as a recorded-voice bot or an AI agent, and run it in the simulator before it calls anyone.

  7. In VoiceOI

    Place a live test call

    Upload a one-row CSV with your own phone number, set up the campaign to dial through the Twilio carrier and start it. Check that the call rings, shows your caller ID and appears in VoiceOI's call log, then review its recording and transcript. If it fails, the troubleshooting answers below cover the errors Twilio documents for outbound trunk calls.

  8. In VoiceOI

    Attach the trunk to your campaign

    Load your lead list, dial through the Twilio carrier and set pacing so new calls don't start faster than your trunk's calls-per-second limit; Twilio starts each trunk at 1 call per second per region. Add calling windows and retries, then launch.

Twilio steps from Twilio's Elastic SIP Trunking docs and calls-per-second guide, reviewed October 2026.

Other carriers and VICIdial

Twilio isn't required. Any SIP carrier is added the same way, as a block in the Carrier Manager; see the Telnyx SIP trunk for AI voice bots guide or the general SIP trunk for AI voice agents page, and use the SIP trunk selection guide to compare carriers on the same seven checks. If your floor already dials on VICIdial, the bots can join it as remote agents instead; see the VICIdial AI integration.

What the AI Voice Agent Does on Each Twilio Call

Twilio's job is carrying the call. What the person hears, and what your team gets afterwards, comes from the VoiceOI bot.

  • Hangs up when an answering machine picks up and logs the call as AM, instead of leaving a message.
  • Runs your script: a recorded-voice bot word for word, or an AI agent inside the questions and rules you set, at about a second per turn in testing.
  • Ends the call when someone asks not to be called, and records the outcome.
  • Can play an optional TCPA AI-voice disclosure.
  • Transfers qualified leads live to a human closer over SIP with AI-written notes; the bot doesn't stay on to introduce them. Live transfers come with the fronter and closer tiers, not the generative LG tiers.
  • Makes dispositions, recordings and transcripts available for review.

More on AI live transfer and answering machine detection for call centers.

Consent for AI-voice calls

A Twilio trunk doesn't change the consent rules. Since the FCC's February 2024 ruling, AI voices count as “artificial” under the TCPA (FCC news release), so telemarketing calls need prior express written consent, and your organization stays responsible. This isn't legal advice. See TCPA controls for AI voice bots and do-not-call (DNC) controls.

Twilio SIP Trunk Costs: Per-Minute AI vs Per-Bot AI

Every Twilio setup has two cost layers: Twilio's charges for minutes and numbers, and whatever runs the AI. Twilio's US price list shows termination to the 48 states (Zone 1) at $0.0100 a minute and local numbers at $1.15 a month, with unlimited call concurrency included. Those Twilio charges are the same whichever AI layer sits on top.

Per-minute voice-AI platforms add a charge to every connected minute. Vapi lists $0.05 a minute for hosting, with transcription, LLM and voice models passed through at cost on top. Retell lists $0.07 to $0.31 a minute for AI voice agents and doesn't charge for SIP trunking or custom telephony. VoiceOI bills per bot per month instead, with no per-minute AI fee. Bots are priced per bot per month by tier: Hosted SIP tiers list from $45 to $155 and VICIdial / Asterisk tiers from $25 to $135, before volume discounts of up to 60%; the pricing page shows the tier that fits your setup.

Concurrency is priced differently too. Vapi lists 4 concurrent calls without a paid Success Package and $10 per extra line per month; Retell lists its first 20 concurrent calls free, then $8 per concurrent call per month. On VoiceOI, you pay per bot (seat), and volume discounts count concurrent bots.

Example monthly cost for one line at two call volumes
Cost line1,000 connected minutes5,000 connected minutes
Twilio termination, 48 states (Zone 1), in either setup$10$50
Vapi hosting fee, before model costs$50 plus models$250 plus models
Retell AI voice agents, stated range$70 to $310$350 to $1,550
VoiceOI, SIP Simple Fronter list price (the lowest Hosted SIP tier; other tiers cost more)$45 per bot, flat$45 per bot, flat

The example assumes every minute bills at the listed rate. Real bills depend on destinations, rounding, model choice, add-ons and discounts. VoiceOI's tiers differ in what they include (question limits, closer notes, live transfers), so compare the tier you would actually use. Speech recognition comes in two tiers: the Standard Voice Engine, included at no extra cost, and the Advanced Voice Engine for longer conversations, listed at 2 Workers Free (then $15/worker).

Rates from Twilio's US Elastic SIP Trunking pricing (the page says it is current as of August 2026), Vapi's pricing page and Retell AI's pricing page, all reviewed October 2026. Run your own numbers with the AI calling cost per minute guide, or see the voice AI cost comparison and AI voice bot pricing.

Connect Your Twilio SIP Trunk to VoiceOI

Add the trunk in the Carrier Manager, build a bot without code and place a test call to your own phone first.

Twilio SIP Trunk Troubleshooting and FAQs

The errors Twilio documents for outbound trunk calls, what they mean, and how billing and scope work.

My test call gets a 403 Forbidden error. What is wrong?

Twilio returns 403 Forbidden when a call arrives from an IP address that is not on the trunk's IP access control list, or when the username or password does not match its credential list. Check that the credentials in your carrier block match the credential list exactly. If you use an IP access control list instead, make sure the address the call comes from is on it.

Why does Twilio reject calls with 400 Invalid Phone Number?

Twilio needs every dialed number in E.164 format with the plus sign, for example +12125550123 for a US number, rather than 10 or 11 digits on their own. Check how numbers are formatted in your carrier settings.

What does 403 Invalid Caller ID mean?

The caller ID on the call is not a Twilio number on your account or a verified caller ID. On a trial account, both the number you call and the caller ID have to be verified.

How do I fix 503 Trunk CPS limit exceeded?

New calls are starting faster than the trunk's calls-per-second (CPS) setting allows; by default that is 1 call per second per trunk per region. You can set a trunk's CPS between 1 and 5 in the Twilio Console. Above 5, Twilio's sales team handles it, and extra CPS per region carries a monthly fee. Until then, lower the pacing on your campaign.

Why can I only run four calls at once?

Twilio limits trial accounts to 4 concurrent calls and returns 503 Trunk concurrent call limit exceeded beyond that; upgraded accounts without an approved Business Profile can hit the same error. Upgrade the account and get the Business Profile approved, or run fewer bots at once until then.

Why do calls to another country fail with 403 No International Authorization?

The destination country isn't enabled in your Twilio account's Voice Geographic Permissions. Enable the countries you actually call, and only those.

Why are calls declined with 603 Decline?

Twilio uses 603 when the account is not active, for example closed or suspended for lack of funds or for breaking its Terms of Service or Acceptable Use Policy. Check your balance and account status in the Twilio Console.

Does VoiceOI charge per minute on top of Twilio?

No. VoiceOI charges a prepaid price per bot per month with no per-minute AI fee. Bots are priced per bot per month by tier: Hosted SIP tiers list from $45 to $155 and VICIdial / Asterisk tiers from $25 to $135; the pricing page shows which applies to your setup. Twilio bills your account for minutes and numbers.

Can the AI voice agent answer calls to my Twilio number?

No. VoiceOI uses the trunk for outbound calls: bots dial your leads and transfer qualified ones to your closers. It isn't an inbound receptionist or a call-routing IVR, so you don't need Twilio's Origination settings.

Can I use Telnyx or another carrier instead of Twilio?

Yes. Telnyx and other SIP carriers are added the same way, as a sip.conf or pjsip.conf block in the Carrier Manager.

Error codes and causes from Twilio's SIP trunking troubleshooting guide and calls-per-second guide, reviewed October 2026.

Sources for Carrier and Vendor Details

Third-party details on this page come from these pages, reviewed October 2026. Prices, limits and console labels change often, so check the source before you rely on them.

Chat with us