Tone docs

Vobiz

Point a Vobiz SIP trunk at Tone. Digest or IP identity, and the number format that usually needs changing.

Vobiz is an Indian carrier that sells SIP termination and DIDs directly, including to resellers. If your numbers live there, this is how you route them to a Tone agent.

Not yet validated end to end by Tone against a live Vobiz account. The configuration below follows Vobiz's published trunk shape and standard SIP, and every Tone-side field is exact — but we have not yet run a call through a production Vobiz trunk ourselves. If you are doing this, tell support@usetone.ai what you hit and we will fold it back into this page.

Before you start

  • A Vobiz account with your DIDs provisioned, and trunk credentials or an IP allowlist from them.
  • A Tone organization with KYC verified and SIP trunking enabled by Tone support.

What to ask Vobiz for

Vobiz provisions trunks through their support or account team. Send them, in one message:

  • Inbound to Tone — the SIP host to deliver your DIDs to (sip.usetone.ai), the transport (TLS/5061, or TCP/5060), and Tone's signalling IPs from your trunk's page in the dashboard.
  • Outbound from Tone — their termination host, port and transport, plus either a username and password for Tone to present, or their confirmation that they have allowlisted Tone's IPs.
  • The caller IDs they will accept on outbound, and whether they validate against the DIDs on the account.
  • The number format they expect on the request URI — +91…, 91… or 0…. Ask explicitly; it is the single most common cause of a first failed call in India.

Create the trunk in Tone

Vobiz can identify itself either way. Digest is the safer default if their signalling address is not strictly fixed:

POST /v1/sip-trunks
{
  "name": "Vobiz primary",
  "inboundAuth": "both",
  "ipAcl": ["203.0.113.16/28"],
  "outboundHost": "sbc.vobiz.example",
  "outboundPort": 5061,
  "outboundTransport": "tls",
  "outboundAuthUsername": "…",
  "outboundAuthPassword": "…",
  "outboundNumberFormat": "e164",
  "callerIdPolicy": "did",
  "codecs": ["PCMA", "PCMU"],
  "maxConcurrent": 20
}

inboundAuth: "both" requires the source IP and valid digest credentials. Use it when you have both; drop to digest if their addresses move, or ip_acl if they cannot present credentials.

The response carries the digest username and password once. Paste them into the Vobiz trunk immediately — Tone cannot show them again, only rotate them (POST /v1/sip-trunks/{id}/credentials/rotate, which invalidates the old pair at once).

Then import each DID:

POST /v1/sip-trunks/{id}/numbers
{ "e164": "+912233445566", "agentId": "…" }

Registration

Tone does not register to your carrier and does not need your carrier to register to it. If Vobiz's default provisioning is registration-based, ask for a static (IP- or credential- authenticated) trunk instead. A trunk that expects REGISTER from Tone will simply never come up.

Testing

  1. POST /v1/sip-trunks/{id}/test — an OPTIONS ping to their SBC, with reachability and RTT.
  2. Call a DID from a mobile.
  3. POST /v1/calls with the DID as numberId.

When it does not work

What you seeWhy
Inbound 403 from ToneSource IP not in ipAcl, credentials wrong, or the trunk is still pending_verification.
Inbound 404 from ToneThe DID was never imported with POST /v1/sip-trunks/{id}/numbers, or it was imported on a different trunk.
Outbound rejected, number formatSwitch outboundNumberFormat to national0 (leading zero, no +91) or national.
Outbound rejected, caller IDVobiz is validating From against the account's DIDs. Keep callerIdPolicy: "did".
One-way audioTheir SBC is not sending media to the address in Tone's SDP. Confirm they allow RTP from Tone's IPs on UDP 16384–32768.

Not this page

Tone's own Vobiz-sourced numbers — where Tone sells you a number that Vobiz operates and forwards to a hosted platform — are a different product, and Tone sits outside the media path there. See Tone Media Streams.

Was this page helpful?

On this page