Connect Bland AI to Bitcall (Outbound SIP Trunk)
Connect Bland AI to Bitcall (Outbound SIP Trunk)
Use Bitcall as the outbound SIP trunk for your Bland AI voice agent. Step-by-step: enable SIP, add an outbound trunk in the SIP wizard, configure TLS/SRTP, and test.

Before you begin
💡 Heads-up: Bitcall is outbound-only today. Bland's SIP is an enterprise feature — you'll ask Bland support to enable the
SIPentitlement first. And Bland is strict on security: TLS signalling + SRTP media are required, and UDP is not accepted. Inbound numbers (DIDs) are coming soon.
"Bland runs the agent. Bitcall is the outbound trunk — over a secure, encrypted leg." 🤖🔒📞
🧰 What You'll Need
- A Bland account with the
SIPentitlement enabled (contact Bland support) - A Bitcall SIP account (username + password) — see Set Up Your First SIP Account
- Your Bitcall TLS endpoint — Bland requires TLS, so confirm your TLS host/port with Bitcall support before you start (⚠️ don't use the plain UDP:5060 setup here)
- An outbound Caller ID (CLI) you're allowed to present, in E.164
- A little Bitcall balance (prepaid)
🔑 Step 1: Enable SIP in Bland
Ask Bland support to turn on the SIP entitlement for your organization, then open the SIP Trunks dashboard at app.bland.ai/dashboard/sip-trunks.
➕ Step 2: Add an Outbound Trunk (SIP Setup Wizard)
Click Add trunk → the wizard walks you through:
- Direction → choose Outbound
- Destination → your Bitcall SIP endpoint, e.g.
sip:gateway.bitcall.io:5061;transport=tls(use your confirmed Bitcall TLS host/port) - Auto-Discovery → let Bland probe and detect transport/codecs
- Firewall → whitelist Bland's static IPs (the wizard lists them) in Bitcall
- Authentication → IP-based (whitelist Bland's IPs — recommended) or registration / call credentials (your Bitcall SIP username/password)
- Numbers → add your outbound Caller ID number(s), E.164
- Test Call → verify the INVITE → 200 OK flow
🔐 Step 3: Configure the Bitcall Side
Because Bland mandates encryption, set your Bitcall trunk to present TLS and SRTP (see Trusted IP vs. SIP Credentials):
| Requirement | Bland's rule | Bitcall side |
|---|---|---|
| Signalling | TCP over TLS 1.2+ only (no UDP) | Use your Bitcall TLS endpoint (confirm host/port with support) |
| Media | SRTP (AES_CM_128_HMAC_SHA1_80) | Bitcall supports SRTP — enable it |
| Auth | IP-based or SIP REGISTER digest | Whitelist Bland's IPs (Trusted IP) or use SIP credentials |
| Codecs | PCMU / PCMA (G.711) | Allow ulaw/alaw |
| DTMF | RFC 2833 | Supported |
🎭 Step 4: Set Your Caller ID (CLI)
The number you attach is your outbound caller ID (not a Bitcall DID — Bitcall is outbound-only). Caller-ID behavior depends on destination/operator rules: Change or Manage Your Caller ID.
🚀 Step 5: Place an Outbound Call
Use your SIP number as the from value in a standard Bland call:
curl -X POST https://api.bland.ai/v1/calls \
-H "Authorization: Bearer YOUR_BLAND_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"task": "Say hi to the nice person!",
"from": "YOUR_OUTBOUND_CALLER_ID",
"phone_number": "NUMBER_YOU_ARE_CALLING"
}'
📞 The agent now dials out through Bitcall over a secure leg. 🎉
🛠️ Troubleshooting Table
| Problem | Likely cause & fix |
|---|---|
| Trunk won't connect / handshake fails | You're using UDP or plain TCP — Bland requires TLS. Use your Bitcall TLS endpoint and ensure TLS 1.2+. |
| Connected but no audio | SRTP not enabled, or codec mismatch. Enable SRTP and allow ulaw/alaw on the Bitcall trunk. |
403 / auth rejected |
Bland's IPs aren't whitelisted in Bitcall (IP auth), or wrong SIP credentials (registration auth). |
| Call drops after ~30–60 seconds | RTP inactivity during the agent's thinking gaps → RTP keepalives + raise the timeout. See AI voice calls dropping after 30 seconds. |
| Caller ID wrong / missing | CLI rules vary by destination. See Change or Manage Your Caller ID. |
🧠 TL;DR Recap
✅ Enable the SIP entitlement in Bland (support)
✅ Add an outbound trunk → destination = your Bitcall TLS endpoint
✅ Bitcall side: TLS + SRTP, allow ulaw/alaw, whitelist Bland IPs or use credentials
✅ Attach your Caller ID, top up, place a test call ☕
Related: SIP trunking for AI voice agents (full explainer) · AI voice calls dropping after 30 seconds · Trusted IP vs. SIP Credentials
Connect Dograh to Bitcall (Outbound Calling via Asterisk)
Connect ElevenLabs to Bitcall (Outbound SIP Trunk)
On This Page
Before you begin
🧰 What You'll Need
🔑 Step 1: Enable SIP in Bland
➕ Step 2: Add an Outbound Trunk (SIP Setup Wizard)
🔐 Step 3: Configure the Bitcall Side
🎭 Step 4: Set Your Caller ID (CLI)
🚀 Step 5: Place an Outbound Call
🛠️ Troubleshooting Table
🧠 TL;DR Recap