SIP TRUNKING

    SIP trunking for AI voice agents

    Vobiz SIP trunking connects your AI voice agent, PBX or contact center to the phone network over standard SIP. Bring your own carrier, use ours, or run both.

    Works with Vapi, Retell AI, LiveKit, ElevenLabs, OpenAI Realtime and 3CX.

    Talk to an engineer

    10min

    to first call

    Sub-80ms

    one-way latency

    43

    fields on every call record

    15M+

    calls a day

    How it works

    From API key to a live SIP trunk in four calls

    No ticket, no provisioning window. Everything below is available in the console or over the REST API.

    API key1234Live SIP trunk
    01Create a trunkPOST /trunks
    Namesupport-agents
    TypeInbound
    Max concurrent calls10
    SIP domainsdhgndkvrnfs….sip.vobiz.aiActive
    01Create a trunkPOST /trunksBASH
    1# Create a trunk: returns trunk_id and its SIP domain2curl -X POST https://api.vobiz.ai/api/v1/Account/$AUTH_ID/trunks \3-H "X-Auth-ID: $AUTH_ID" \4-H "X-Auth-Token: $AUTH_TOKEN"5678
    Full SIP trunking quickstart

    Built for voice AI

    Single-hop media relay over SIP trunk for natural turn-taking latency

    A conversational turn has roughly 500ms end to end before a pause feels unnatural, and it has to cover speech-to-text, the model, text-to-speech and the network.
    On Vobiz, media crosses exactly one internal relay.

    Shown at 1/8 speed
    Carrier / BYOCPSTN · SIPMedia Engine1 HOPYour agentSTT · LLM · TTS
    Conversational turn500ms
    NetworkSpeech-to-text · model · text-to-speechNetworkPause feels unnatural
    0100200300400500 ms
    One-way latency
    Sub-80ms
    Speech onset
    50ms
    Signal-to-noise
    38.4dB
    Vobiz internal measurements.How the single-hop architecture works

    Routing and failover

    Configurable SIP trunk failover

    On the Vobiz network, calls fall back across multiple carriers automatically, per leg, while the call is being set up.

    voice-agent-prodOrigination URIs
    Origination URIPriorityShare of calls
    URI A1If priority 1 fails
    URI B2

    Lower priority is tried first; if it fails, the next one takes the call. URIs at the same priority split traffic by weight, so a URI at 20 carries twice the calls of one at 10.

    Calls-per-second limits — flood protection on new call attempts, set per trunk.

    Disable without deleting — take a trunk out of service and keep its credentials, allowlist and routes intact.

    Security and access control

    Role and IP-based access controls for human and AI agents

    Sub-accounts and the partner API

    Digest credentials

    — username and password auth for AI agents, softphones and anything behind NAT. Passwords are write-only and never returned by the API.

    Digest
    username••••••••
    passwordwrite-only

    IP and CIDR allowlists

    — accept traffic only from your SBC, PBX or carrier ranges.

    SBC
    PBX
    carrier ranges

    Both at once

    — require an allowlisted IP and valid credentials for defense in depth.

    allowlisted IP
    valid credentials

    Tenant isolation

    — sub-accounts with separate credentials, billing and number pools, so one customer’s trunks never touch another’s.

    Integrations

    A SIP trunk for Vapi, Retell AI, LiveKit and every platform you run

    Connect over standard SIP. Nothing on the platform side changes. Keep the orchestration you chose and bring the carrier underneath it.

    See all integrations
    PlatformHow it connectsSetup guide
    VapiSIP trunk, inbound and outbound/integrations/vapi/↗
    Retell AISIP trunk, inbound and outbound/integrations/retell-ai/↗
    LiveKitSIP trunk, inbound and outbound/integrations/↗
    ElevenLabsAgentsSIP trunk, inbound and outbound/integrations/↗
    OpenAIRealtimeSIP trunk/integrations/↗
    3CXand other PBXsStandard SIP trunk/integrations/↗
    Pipecat·DograhDograh·custom pipelinesWebSocket audio streams, not SIPAudio Streams docs↗

    US compliance and number reputation

    Outbound calls that get answered, not labelled spam

    Vobiz runs number health as an operated service: CNAM registration and spam label monitoring on managed numbers.

    Call detail records

    Observability

    Know whether a bad call was the trunk, the carrier or the model

    Every call detail record carries 43 fields — MOS, jitter, packet loss, negotiated codec, which side hung up and why. Fetch by call_id, filter per sub-account, or export to CSV. Trunk webhooks report each call’s start and hangup, including billed seconds and MOS.

    Call detail records
    Trunk webhooks
    1. CallInitiated
    2. Negotiated codec
    3. MOSJitterPacket loss
    4. Which side hung upWhy they hung up
    5. Hangup"Billsec"3"MOS"4.5
    Call detail record43 fields
    GET/api/v1/Account/{auth_id}/cdr/{call_id}
    {  "data": {    "mos": 4.5,    "jitter": 0,    "packet_loss": 0,    "codec": "PCMU",    "hangup_source": "Caller",    "hangup_cause": "NORMAL_CLEARING",    …  }}
    ⚲ Fetch by call_id▽ Filter per sub-account↓ Export to CSV

    Related

    Get started

    Your first SIP trunk
    in ten minutes

    Create a trunk, point your agent at it, place a call.
    No ticket, no sales call, no commitment.

    Book a demo

    FAQ

    SIP trunking questions