SIP trunk

SIP trunking for AI voice agents on your own carrier

Point your carrier's origination at Cartesia, link the trunk, import the number and assign an agent, and you keep your numbers and rates.

create-provider.sh
curl -X POST "https://api.cartesia.ai/agents/phone-numbers/providers" \
  -H "X-API-Key: $CARTESIA_API_KEY" \
  -H "Cartesia-Version: 2026-08-14" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "sip_trunk",
    "label": "Primary carrier trunk",
    "inbound": {
      "credentials": { "username": "carrier-inbound", "password": "your-sip-password" },
      "media_encryption": "allowed"
    },
    "outbound": {
      "address": "sip.example.com",
      "transport": "tls",
      "destination_country": "US",
      "media_encryption": "required",
      "credentials": { "username": "cartesia-outbound", "password": "your-sip-password" }
    }
  }'

What a SIP trunking AI voice agent can do

What teams build when they put Cartesia and SIP trunking together.

Your numbers, your rates

Agent calling rates apply. Cartesia adds a telephony fee only on numbers it provisions, so a trunk number pays your carrier's rates.

Inbound and outbound

Inbound calls route to the agent assigned to the dialed number. Outbound calls go out through your carrier's SIP endpoint.

Cold transfers by REFER

The agent can transfer to a phone number or SIP URI. If the carrier rejects the transfer, Cartesia keeps the call connected.

Cartesia SIP settings

These values come from Cartesia's SIP trunking guide.

Origination URI (TLS)
sip:sip.cartesia.ai;transport=tls
Origination URI (TCP)
sip:sip.cartesia.ai;transport=tcp
Inbound access control
Digest credentials, allowed source addresses, allowed caller numbers, or a mix. Set at least one of the three.
Outbound address
The carrier host that receives Cartesia's INVITE, as host or host:port with no sip: prefix. Default port 5060 for TCP and 5061 for TLS.
Media encryption
disabled, allowed or required. Required needs SRTP enabled at the carrier too.
Transfers
Cold transfer over SIP REFER to E.164 numbers and SIP URIs. Your carrier must support REFER to the destination type.
Caller ID on outbound
Set by your carrier.

More code for SIP trunking

Digest authentication in both directions. Replace the host and credentials with the values you set at your carrier.

import-number.sh
curl -X POST "https://api.cartesia.ai/agents/phone-numbers" \
  -H "X-API-Key: $CARTESIA_API_KEY" \
  -H "Cartesia-Version: 2026-08-14" \
  -H "Content-Type: application/json" \
  -d '{
    "label": "Support line",
    "number": "+14155551234",
    "provider": { "id": "YOUR_PROVIDER_ID" }
  }'

Set it up

A SIP trunk you set up at your carrier and link to Cartesia. It works for any carrier with a SIP trunk, and the other telephony pages here use it. Vendor details read in October 2026.

  1. Point origination at Cartesia

    At your carrier, set the trunk's origination URI to the TLS or TCP address listed under Cartesia SIP settings.

  2. Restrict who can send calls

    Configure digest credentials, or your carrier's signaling IP ranges as allowed addresses.

  3. Link the trunk to Cartesia

    Create a provider with your inbound and outbound settings in the Playground or with the create-provider call on this page.

  4. Import a number and assign an agent

    Import the number against the provider, then assign it to an agent from its detail page.

Before you build

Encryption is set on both sides

Choosing TLS and required media encryption in Cartesia does not turn on SRTP at your carrier. Enable secure trunking there as well.

Allowlisting Cartesia

If your carrier or firewall restricts SIP by address, ask Cartesia support for the static IP ranges to allow.

Enterprise-grade security

  • HIPAA compliant badge

    HIPAA compliant

  • SOC 2 Type 2 badge

    SOC 2 Type 2

  • GDPR badge

    GDPR

SIP trunking AI voice agent FAQs

Can I connect a SIP trunk to an AI voice agent?

Yes. Set your carrier's origination URI to sip:sip.cartesia.ai;transport=tls or transport=tcp, link the trunk to Cartesia as a provider, then import each number and assign an agent. Inbound calls reach the agent on the dialed number, and outbound calls go out through your carrier.

What do I need to connect my carrier?

A trunk at your carrier with the numbers on it, and one way to restrict who can send calls. That can be digest credentials, allowed source addresses or allowed caller numbers. For outbound calls you also need your carrier's SIP host and credentials. If your carrier allowlists by address, ask Cartesia support for its static IP ranges.

Which carriers work?

Any carrier that can send SIP calls to Cartesia and accept them from it. Telnyx, Plivo and Vonage have their own setup pages. Numbers in a Twilio account can be linked without a trunk, as the Twilio page shows.

Can the agent transfer calls over a SIP trunk?

Yes, as a cold transfer over SIP REFER to an E.164 number or a SIP URI, such as your PBX. Your carrier has to support REFER to that destination type. If the carrier rejects the transfer, Cartesia keeps the call connected.

Does a SIP trunk cost extra?

Not from Cartesia. Cartesia adds a telephony fee only on numbers it provisions, so a trunk number pays your carrier's rates for the line. Agents run at $0.03/min, plus LLM usage.

What is a SIP trunk?

A connection that carries calls between your carrier and another system over the internet. The SIP trunking guide covers how trunks work, codecs, transfers and common problems.

Get started today

Talk to an expert.

Connect with a member of our team and learn how Cartesia can help you build world-class voice experiences.

Contact Sales

Start building.

Access our models via API and bring a voice agent into production in minutes.

Try Cartesia