Skip to main content
Use your Unpod number as the SIP trunk for Ultravox outbound calls. You gather credentials from both dashboards, then Ultravox places the call through Unpod over SIP - reaching regular phone numbers worldwide. Prefer raw requests? See the API guide.
You need: an Unpod number on a Bridge, and an Ultravox account with an agent and an API key.
Treat your SIP username/password and API key as secrets - never paste them into shared docs or screenshots.

What you’ll collect

ServiceItemWhere
UltravoxAPI keyUltravox dashboard
UltravoxAgent IDUltravox dashboard
UnpodSIP domain / addressNumber’s trunk → Origin Endpoint
UnpodUsernameNumber’s trunk → Origin Endpoint
UnpodPasswordNumber’s trunk → Origin Endpoint
UnpodPhone numberTelephony → Numbers

Part 1 - Get your Ultravox agent + API key

1

Create an agent

In the Ultravox console, open Agents and create an agent (set its system prompt and voice). Copy its Agent ID - you’ll pass it in the call request.Ultravox - Agents page, create a new agent
2

Generate an API key

Generate an API key in the Ultravox console and copy it.Ultravox - API key

Part 2 - Get your Unpod SIP credentials

1

Connect your number

In Telephony, select your number (shown as Not Linked) and click Connect to set up its SIP trunk.Unpod - number Not Linked, Connect
2

Copy the origin-endpoint credentials

Open the trunk panel and under Origin Endpoint Details copy:
  • Address - your Unpod SIP domain (e.g. sip-lb1.unpod.tel).
  • Username and Password (under Authentication).
  • Your phone number in E.164 (e.g. +918071539111).
Unpod - trunk origin endpoint credentials

Part 3 - Place the call through Ultravox

Ultravox triggers the outbound call over your Unpod trunk. There’s no dashboard button for this - send one request to Ultravox’s Create Agent Call endpoint with the SIP details from Parts 1-2:
cURL
curl -X POST https://api.ultravox.ai/api/agents/YOUR_AGENT_ID/calls \
  -H "X-API-Key: YOUR_ULTRAVOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "medium": {
      "sip": {
        "outgoing": {
          "to": "sip:+919999999999@<your-unpod-sip-domain>",
          "from": "+918071539111",
          "username": "<unpod-username>",
          "password": "<unpod-password>"
        }
      }
    },
    "firstSpeakerSettings": { "user": {} }
  }'
  • to - destination number as a SIP URI at your Unpod domain.
  • from - your Unpod number (caller ID).
  • username / password - the Unpod origin-endpoint credentials.
The agent answers when the callee picks up. See the API guide for the full request/response and debugging.

Troubleshooting

SymptomLikely causeFix
SIP 403Auth rejectedRe-copy the Unpod Username/Password (case-sensitive)
SIP 407Proxy auth requiredConfirm username/password are sent in sip.outgoing
SIP 480Destination unavailableVerify the to number and that your Unpod number is active
Call never ringsWrong SIP domainUse the exact Address from the Unpod origin endpoint

Do it with code

Full request/response + SIP log debugging.

All platforms

Back to the integrations overview.