Connect ElevenLabs to Bitcall (Outbound SIP Trunk)
Connect ElevenLabs to Bitcall (Outbound SIP Trunk)
Use Bitcall as the outbound SIP trunk for your ElevenLabs Conversational AI agent. Import a SIP trunk, set the address and digest auth, and place a test outbound call.

Before you begin
๐ก Heads-up: Bitcall is outbound-only today. ElevenLabs Conversational AI supports native SIP trunking (no Twilio middleman required), so you can point it straight at Bitcall for outbound calls. Inbound numbers (DIDs) are coming soon.
"ElevenLabs gives your agent its voice. Bitcall puts that voice on the phone โ outbound, worldwide." ๐ฃ๏ธ๐
๐งฐ What You'll Need
- An ElevenLabs account with a Conversational AI agent built and tested
- A Bitcall SIP account (username + password) โ see Set Up Your First SIP Account
- An outbound Caller ID (CLI) you're allowed to present
- A little Bitcall balance (prepaid)
๐ Step 1: Get Your Bitcall SIP Details
| Setting | Value |
|---|---|
| SIP address (host) | gateway.bitcall.io (enter without the sip: prefix) |
| Port / transport | 5060 UDP by default; TLS/TCP via the domain (recommended for ElevenLabs) |
| Auth | SIP username/password (digest) โ recommended |
ElevenLabs uses wideband audio (PCM 16 kHz) where the trunk supports it, and can fall back to G.711. Encrypt the media (SRTP) if you enable a TLS transport.
โ Step 2: Import the SIP Trunk in ElevenLabs
- In ElevenLabs, go to Conversational AI โ Phone Numbers โ Import Number from SIP Trunk.
- Configure the connection:
- Address:
gateway.bitcall.io(hostname only โ nosip:prefix) - Transport: TLS (or TCP) โ ElevenLabs recommends an encrypted transport
- Authentication: Digest โ enter your Bitcall SIP username and password (digest is recommended over IP ACL, which is harder to manage)
- Address:
- Click Import.
Prefer IP allowlisting instead? You can use ACL auth and whitelist ElevenLabs' signalling IPs in Bitcall (Trusted IP) โ but digest auth is simpler and the recommended path. See Trusted IP vs. SIP Credentials.
๐ญ Step 3: Set Your Caller ID + Assign the Agent
- The number you import is your outbound caller ID (not a Bitcall DID โ Bitcall is outbound-only). Manage CLI rules here: Change or Manage Your Caller ID.
- Assign your Conversational AI agent to the imported number.
๐ Step 4: Place a Test Outbound Call
Trigger an outbound call from the ElevenLabs dashboard or API (the SIP-trunk outbound-call endpoint). ๐ The agent dials out through Bitcall. ๐
๐ ๏ธ Troubleshooting Table
| Problem | Likely cause & fix |
|---|---|
| Trunk import fails / no registration | Wrong Address (drop the sip: prefix) or wrong digest credentials. Double-check username/password. |
| Connected but no / one-way audio | Media path issue or codec mismatch. If you enabled TLS, make sure SRTP is on; allow the negotiated codec (ulaw works as a fallback). See AI voice calls dropping after 30 seconds. |
401 / 403 rejected |
If using ACL auth, ElevenLabs' IPs aren't whitelisted in Bitcall; switch to digest auth or add the IPs. |
| 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
โ
Import a SIP trunk in ElevenLabs โ Address = gateway.bitcall.io (no sip:)
โ
Transport TLS/TCP, Digest auth with your Bitcall username/password
โ
Set your Caller ID, assign your agent, 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 Bland AI to Bitcall (Outbound SIP Trunk)
Connect LiveKit to Bitcall (Outbound SIP Trunk)
On This Page
Before you begin
๐งฐ What You'll Need
๐ Step 1: Get Your Bitcall SIP Details
โ Step 2: Import the SIP Trunk in ElevenLabs
๐ญ Step 3: Set Your Caller ID + Assign the Agent
๐ Step 4: Place a Test Outbound Call
๐ ๏ธ Troubleshooting Table
๐ง TL;DR Recap