Developer
⌘K
Dashboard
Phone Numbers GUIDE

Bring Your Own SIP Trunk

Register your own DID for outbound calling, then optionally enable inbound.

Bring Your Own SIP Trunk

Use your own DID and SIP carrier with Tabbly for outbound calling, and optionally inbound calling on the same number.

How it works

  • Outbound: Tabbly creates an outbound SIP trunk from your SIP host + credentials and stores it on your phone number.
  • Inbound: You enable inbound on a voice agent that has that number. Then point your carrier at Tabbly’s SIP URI so calls reach the agent.

Part A — Outbound setup

  1. In the dashboard, open Phone Numbers.
  2. Click Bring your own SIP Trunk.
  3. Enter:
    • Phone number — E.164 DID (e.g. +918031272518)
    • SIP address — your carrier SIP host / IP
    • Username / password — outbound SIP auth to your carrier
    • Destination country — ISO country (e.g. IN)
  4. On success, the number appears in Phone Numbers with:
    • Source: Your own SIP
    • Outbound: Configured
  5. Assign the number to a voice agent. Outbound campaigns and test calls use this number’s trunk.

Verify outbound

  • Phone Numbers table: Outbound = Configured
  • Place a test call / run a campaign; callee sees your DID as caller ID

Common outbound errors

Issue What to do
Number already registered for your org Use another DID or the existing row
Trunk create failed Check SIP host/credentials with your carrier
Save failed after trunk create Contact support with the trunk id shown in the error

Part B — Inbound setup (after outbound)

Outbound registration only enables dialing out. To receive calls on the same number, complete inbound setup after the number is assigned to an agent.

  1. Ensure the number is assigned to the agent that should receive calls (one inbound DID → one agent).
  2. Enable inbound:
  3. Configure your carrier / SBC to send inbound calls for this DID to Tabbly:
Field Value
SIP URI sip:1860s6xf959.sip.livekit.cloud
Host 1860s6xf959.sip.livekit.cloud
Transport TCP
Called number Same E.164 DID registered in Tabbly
  1. Test: call the DID from a mobile/landline → agent should answer.
  2. Confirm Phone Numbers: Inbound = Configured.

After agent prompt/tools change

Refresh inbound metadata: Refresh Inbound Metadata or use the refresh action on the inbound setup page.

Disable inbound

Disable Inbound or disable from the inbound setup page. Outbound remains available unless you remove the number.

Best practices

  • Register outbound before enabling inbound.
  • Prefer separate DIDs if one agent is outbound-only and another is inbound-only (callbacks follow the inbound agent).
  • Do not reuse a DID already inbound-configured elsewhere (Tabbly blocks a DID that already has full inbound config).
  • Keep DID format consistent (E.164 with +).

Related APIs