Skip to main content

Overview

Time to complete
~15 minutes
Difficulty
Beginner-Friendly (No Code)
Goal
Connect AI to a real phone
This guide shows how to integrate LiveKit with Vobiz to enable outbound calling and inbound answering for your AI agents.
Integration flow:
OUTBOUND
Your App
LiveKit
Vobiz
Phone Network
INBOUND
Phone Network
Vobiz
LiveKit
AI Agent

Prerequisites

Before you start:
Vobiz Account with active balance → Create account
LiveKit Account with project → Sign up
LiveKit AI Agent built → LiveKit Agents docs

Part 1: Vobiz setup

Create a SIP trunk
SIP Trunk Overview
  1. Log in to the Vobiz Console
  2. In the left sidebar, navigate to SIP Trunk > Outbound Trunks > Trunks
  3. Click + Create Trunk
  4. Enter a Trunk Name (for example, “LiveKit Integration”) and an optional Description
  5. Under Authentication & Linking, select a Credential from the Credentials List (or click + Create New Credential if you don’t have one)
  6. Click + Create Trunk at the bottom right to save
Trunk Details After creating the trunk, copy your credentials from the Authentication & Linking section:
You now have a dedicated bridge ready for voice traffic.
Keep these handy - you’ll paste them into your LiveKit code in Part 3.
Get a phone number
Purchase a phone number for outbound caller ID or inbound calls. See phone numbers.

Part 2: LiveKit setup

Get LiveKit credentials
  1. Go to the LiveKit Cloud Dashboard and select your project.
  2. Go to Settings > API Keys.
  3. You need these three values:
.env

Part 3: Connect LiveKit to Vobiz (outbound)

For a complete working example, see the LiveKit Vobiz Outbound Repository.
Initialize the LiveKit API client
Create an outbound trunk
Connect LiveKit to your Vobiz SIP trunk using the credentials from Part 1:
Your LiveKit project is now securely linked to the Vobiz network.
Field mapping from Vobiz → LiveKit:

Part 4: Make outbound calls

Call flow:
  1. LiveKit creates the call via Vobiz
  2. The person answers and joins the LiveKit room as a participant
  3. Your AI agent joins the same room
  4. The conversation begins

Part 5: Configure inbound calling

For a complete working example, see the LiveKit Vobiz Inbound Repository.
  1. In the LiveKit Cloud Dashboard, go to Settings > Project and find the SIP URI field.
  2. Update your Vobiz trunk to route inbound calls to LiveKit. See Update Trunk.
    Remove the sip: prefix when entering the destination in Vobiz. LiveKit shows sip:your-sip-uri.sip.livekit.cloud but you enter your-sip-uri.sip.livekit.cloud.
  3. In the LiveKit dashboard, go to Telephony > Trunks and click Create new trunk > Inbound. Configure:
    • Phone Numbers: Your Vobiz number (for example, +918071387434)
    • Allowed Addresses: 0.0.0.0/0 (restrict this in production)
    Click Create and save the Trunk ID.
  4. Go to Telephony > Dispatch Rules and click Create new dispatch rule. Configure:
    • Rule Type: Individual
    • Room Prefix: call-
    • Match Trunks: Select your inbound trunk
    Expand the Agent dispatch section and set Agent Name to voice-assistant (must match your agent exactly). Click Create.

Part 6: SIP call transfer

The LiveKit Voice Agent supports cold transfer via SIP REFER.
  • Say “Transfer me” or “Transfer me to a live agent” → transfers to the default configured number
  • Say “Transfer me to +1 555 000 1234” → transfers to the requested number
The agent constructs the SIP URI (sip:+15550001234@<your-sip-domain>) and initiates the transfer automatically.
Transfer troubleshooting

Troubleshooting

Outbound calls
Call doesn’t connect:
  • Verify address in the LiveKit trunk matches your exact Vobiz sip_domain
  • Check that credentials (auth_username, auth_password) match exactly
  • Common mistake: using sip.vobiz.ai instead of your specific domain
SIP 401 Unauthorized:
  • Verify credentials in Vobiz Console under Trunks
  • Ensure the LiveKit trunk uses the same credentials
Insufficient balance:
Inbound calls
Call disconnects immediately:
  • Confirm inbound_destination has the sip: prefix removed
  • Verify your Vobiz phone number is added to the LiveKit inbound trunk
  • Check that allowed_addresses is set to 0.0.0.0/0 in the LiveKit trunk
Agent doesn’t answer:
  • Confirm the agent is running
  • Verify the dispatch rule has “Agent dispatch” configured
  • Check that the agent name matches exactly (for example, voice-assistant)
  • Confirm the dispatch rule is linked to the correct inbound trunk

Quick reference

Credentials mapping
Common errors

Resources

Vobiz LiveKit Example repositories Support
Integration complete!Your LiveKit agents can now make and receive calls through Vobiz.