Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.vobiz.ai/llms.txt

Use this file to discover all available pages before exploring further.

Setting up outbound calls with Ultravox and Vobiz is straightforward: send Ultravox a request to start a call along with your Vobiz credentials, and Ultravox handles the rest.

What you’ll build

A programmatic outbound calling integration where Ultravox places calls through your Vobiz SIP trunk, with the Ultravox AI agent driving the conversation once the call is answered.

Prerequisites

  • Ultravox account with API key and an agent → Ultravox dashboard
  • Vobiz account with a SIP trunk → Vobiz Console
  • A Vobiz phone number to use as caller ID

Step 1: Gather your credentials

You need three pieces of information to connect the two systems.
SourceItemWhere to getValue / description
UltravoxAPI keyUltravox keysYOUR_API_KEY
UltravoxAgent IDUltravox dashboardYOUR_AGENT_ID
VobizSIP domainVobiz trunksYOUR_DOMAIN.sip.vobiz.ai
VobizUsernameVobiz trunksYOUR_USERNAME
VobizPasswordVobiz trunksYOUR_PASSWORD
VobizFrom numberVobiz numbers+91XXXXXXXXXX

Step 2: Place an outbound call

Unlike inbound calls, you don’t need to add a URI to Vobiz. Send a POST request to Ultravox, and Ultravox pushes the call to Vobiz.
curl -X POST "https://api.ultravox.ai/api/agents/YOUR_AGENT_ID/calls" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "medium": {
      "sip": {
        "outgoing": {
          "to": "sip:+919XXXXXXXXX@YOUR_VOBIZ_DOMAIN.sip.vobiz.ai",
          "from": "YOUR_VOBIZ_NUMBER",
          "username": "YOUR_VOBIZ_USERNAME",
          "password": "YOUR_VOBIZ_PASSWORD"
        }
      }
    },
    "firstSpeakerSettings": { "user": {} }
  }'

Step 3: Critical parameters explained

  • to - destination URI. Format: sip:NUMBER@VOBIZ_DOMAIN.
  • from - your caller ID. Most SIP providers (including Vobiz) reject the call if this doesn’t match a number you actually purchased from them.
  • firstSpeakerSettings: { "user": {} } - required for outbound calls. It tells the AI to wait for the human to say “hello” before speaking, so the AI doesn’t finish its greeting while the call is still connecting.

Step 4: Call lifecycle

  1. Request - you run the curl. Ultravox returns a callId immediately.
  2. Invite - Ultravox sends a SIP INVITE to your Vobiz domain using your credentials.
  3. Ringing - the destination phone starts ringing. SIP billing starts now.
  4. Connect - the user picks up and says “hello”.
  5. Conversation - Ultravox detects the speech and the AI agent starts the conversation.

Troubleshooting

If the call doesn’t ring, use this API to see why Vobiz rejected it:
# Replace CALL_ID with the ID returned by the create-call request
curl -X GET "https://api.ultravox.ai/api/calls/CALL_ID/sip/logs" \
  -H "X-API-Key: YOUR_API_KEY"
Common SIP error codes:
CodeMeaning
403 ForbiddenWrong username/password or your IP isn’t allowed.
407 Proxy Authentication RequiredNormal - Ultravox should handle it automatically using your password.
480 Temporarily UnavailableThe destination number is busy or turned off.

Next steps