AI Bridge setup guide
AI Bridge sends inbound phone calls straight to your AI voice assistant - for example OpenAI Realtime, VAPI, Retell AI, Google Gemini Live, or another SIP voice provider.
There are no menus and no ring-group members. A caller dials your Crazytel number, and Crazytel connects them to the AI assistant you configured.
Typical setup time: about 10 minutes after your AI provider is ready.
What you need first
- A Crazytel MyAccount login.
- A Crazytel phone number you can route (or another product that can send calls to AI Bridge, such as Premium IVR or a Ring Group).
- An account with your AI provider, already able to receive voice calls.
Your AI provider may also charge separately. Crazytel bills $0.0025 per minute inbound, only while a call is connected to your AI provider. There is no monthly subscription.
Quick start (3 steps)
- Create an AI Bridge and point it at your AI provider.
- In Number Manager, set that number's voice route to Premium AI Bridge and choose the bridge by name.
- Call the number and check Call history.
The rest of this guide walks through each step, then covers OpenAI, VAPI, Retell, and Gemini Live in more detail.
Step 1 - Create an AI Bridge
- In MyAccount, open Products > AI Bridge.
- Click Create AI Bridge.
- Enter a Name you will recognise later, such as
Sales AI Assistant. This name is what you pick in Number Manager and other products. - Leave Enabled on.
- Set Max concurrent calls to how many callers you want this bridge to handle at once. Extra callers are rejected. Start with
1if you are testing. - Choose an AI provider:
- SIP destination - OpenAI Realtime, VAPI, Retell, and most other voice platforms.
- Google AI Studio (Gemini Live) - Gemini over Crazytel's connection. No SIP URI required.
- Fill in the provider fields using the matching section below.
- Click Create AI Bridge.
You can pause a bridge later by turning Enabled off. That rejects new calls without deleting the bridge or its call history.
Step 2 - Route a number to the AI Bridge
Creating the bridge does not send calls to it. You still need to point a number (or another product) at it.
- Open Number Manager.
- Edit the number you want callers to dial.
- Set Voice route to Premium AI Bridge.
- Select this AI Bridge by name.
- Save.
Inbound calls on that number now go to the AI provider configured on the bridge.
You can also send calls to an AI Bridge from Premium IVR, Ring Groups, Time Conditions, Queues, Announcements, or Recording Box. In those destination lists, pick the AI Bridge by name.
Step 3 - Test the call
- Dial the routed number from another phone.
- Confirm the AI assistant answers and you can hear each other.
- In MyAccount, open Products > AI Bridge, then Call history.
- Find the test call. A successful connection shows as Bridged.
If the call is rejected or fails, use Troubleshooting below.
Connect OpenAI Realtime
Use this when your assistant lives in OpenAI's Realtime API.
In OpenAI first
- Open your OpenAI project settings and copy the Project ID. It starts with
proj_. - Create an OpenAI webhook for incoming Realtime SIP calls (
realtime.call.incoming). - Your own server must accept that webhook quickly. If it does not, OpenAI often answers then hangs up within a few seconds, or the call times out.
Crazytel's Webhook URL on the AI Bridge form is not this OpenAI webhook. That field is only for Crazytel to notify you when a call finishes.
In the AI Bridge form
| Field | What to enter |
|---|---|
| AI provider | SIP destination |
| Destination URI | sip:proj_YOUR_PROJECT_ID@sip.api.openai.com;transport=tls |
| SIP transport | TLS (recommended) |
| Offer PCMU first | On |
| SIP auth username / password | Leave blank |
Replace proj_YOUR_PROJECT_ID with your real project ID, including the proj_ prefix.
For OpenAI European data residency, use:
sip:proj_YOUR_PROJECT_ID@sip-eu.api.openai.com;transport=tls
Keep SIP transport on TLS.
OpenAI's published SIP format uses sip: plus ;transport=tls. If your OpenAI project page shows a sips: URI instead, you can paste that - keep TLS selected.
Connect VAPI
VAPI uses SIP with username and password. Set VAPI up first, then fill in the Crazytel form.
On the AI Bridge settings page, How to VAPI opens the same checklist.
In VAPI first
- Go to Phone Numbers > SIP Trunks > Add credential. Note the Credential ID, Auth username, and Auth password.
- Add a BYO phone number and link it to that credential. Note the number in digits-only international form, for example
61400111222for0400 111 222. - Assign a VAPI Assistant to that phone number.
In the AI Bridge form
| Field | What to enter |
|---|---|
| AI provider | SIP destination |
| Destination URI | {phone}@{credential-id}.sip.vapi.ai |
| SIP transport | UDP |
| Offer PCMU first | On |
| SIP auth username | Auth username from the VAPI credential |
| SIP auth password | Auth password from the VAPI credential |
| SIP auth realm | Leave blank unless calls fail with an auth error |
Example destination:
61400111222@f3293d06-....sip.vapi.ai
The phone number must sit before @. A host-only URI is rejected by VAPI.
EU VAPI region: use .sip.eu.vapi.ai instead of .sip.vapi.ai.
SIP passwords are write-only. After you save, Crazytel never shows the password again. Leave the field blank on later edits to keep the saved password.
Connect Retell AI
Retell answers inbound calls at one shared SIP hostname. The number you imported into Retell must sit before the @ so Retell knows which agent should answer.
In Retell first
- Import your number into Retell under Phone Numbers (import a number via SIP trunk) and assign it to your agent.
- Set the imported number's inbound settings in Retell per its SIP trunking guide (the source IPs it accepts calls from, or credentials if you use them).
- Note the number in E.164 with the leading
+, for example+61756199529.
In the AI Bridge form
| Field | What to enter |
|---|---|
| AI provider | SIP destination |
| Destination URI | sip:+61756199529@sip.retellai.com - your imported number, with the + |
| SIP transport | TCP (UDP also works; TLS uses port 5061) |
| Offer PCMU first | On |
| SIP auth username / password | Leave blank - Retell does not challenge inbound calls |
A host-only value such as sip:sip.retellai.com is incomplete. Retell cannot tell which number or agent the call is for, so it drops the call straight away. That is the classic "completed in about 1 second" fault.
Your own SIP trunk username and password are for outbound calls on your trunk. They do not go in the AI Bridge SIP auth fields.
Connect Google Gemini Live
Use this when the assistant should run through Google AI Studio.
- Set AI provider to Google AI Studio (Gemini Live).
- Choose one of these:
- Paste a Google AI Studio API key to use Google's official Live endpoint, or
- Paste a Studio/app WebSocket URL (
wss://...). You can leave the API key blank if you use a custom URL.
- Optionally set:
- Model - leave blank to use Crazytel's current Live default.
- Voice - for example
Kore. - Instructions - how the assistant should speak and what it should do.
- Language - for example
en-AU.
- Save.
API keys are write-only. After save, the form shows API key saved. Leave the key field blank on later edits to keep the stored key.
Gemini Live on AI Bridge is talk-only in this release. Call transfers are not available yet.
Connect another SIP voice provider
If your provider is not listed above (for example ElevenLabs, a custom SIP bot, or xAI/Grok):
- Set AI provider to SIP destination.
- Paste the complete SIP or SIPS address your provider gave you. It must include the user part before
@(a number, project ID, or account ID). A bare hostname with nothing before the@is incomplete and calls will fail. - Set SIP transport to what they require:
- TLS for modern secure SIP (including OpenAI).
- UDP for many SIP trunks, including typical VAPI trunks.
- TCP only if the provider requires it.
- Leave Offer PCMU first on unless the provider tells you to use a different codec first.
- Fill in SIP authentication only if the provider challenges outbound calls with a username and password.
ElevenLabs uses sip:+61756199529@sip.rtc.elevenlabs.io:5060 (TCP) or port 5061 with TLS - the number is imported into ElevenLabs first.
If a new provider does not connect out of the box, email helpdesk@crazytel.com.au with the subject AI Bridge - Custom Integration Request. Crazytel can review the routing and add support.
Optional settings
None of these are required for a first test call.
Caller ID
This controls the number your AI provider sees.
- Pass caller ID on - the original caller's number is sent through. Some AI providers reject unknown numbers.
- Override outbound caller ID - every call presents one of your verified or purchased Crazytel numbers. Pick it from the list. You cannot type a free-form number.
- Caller ID prefix - text shown as the name on the answering side, such as
Sales:. It does not change the number.
If the AI provider rejects the caller ID, turn on override and choose a verified number.
Alerts and webhooks
- Alert email - comma-separated addresses that receive a notice when a call completes.
- Webhook URL - Crazytel posts call events to your HTTPS endpoint (started, bridged, completed, failed, rejected).
- Webhook secret - optional signing secret. Write-only; store it somewhere safe when you set it.
This Crazytel webhook is separate from any webhook your AI provider asks you to host.
Gemini Live can also send a conversation summary event. SIP bridges stay lifecycle-only (started / bridged / completed).
Holidays
After the bridge is saved, open the Holidays tab.
Add a date, a name (for example Christmas Day), and an optional different destination for that day. Dates use the timezone set on the bridge (default Australia/Sydney).
Leave the override route on the AI Bridge default if you only want a labelled date and no routing change.
Pause or delete
- Turn Enabled off to stop new calls and keep the bridge.
- Delete AI Bridge permanently stops routing. Call history remains, but you must create a new bridge and re-route the number.
Troubleshooting
| What you see | What to check |
|---|---|
| Call history shows Completed after about 1 second, or connects then drops straight away | The Destination URI is probably incomplete or rejected by the AI provider. It needs the full user@host shape: Retell sip:+number@sip.retellai.com, OpenAI sip:proj_...@sip.api.openai.com, VAPI number@credential.sip.vapi.ai. Also confirm the number is imported and assigned to an agent at the provider. |
| Number rings, but no AI assistant | Number Manager voice route is Premium AI Bridge, and the correct bridge name is selected. The bridge is Enabled. |
| Call rejected immediately | Bridge is enabled. Max concurrent calls is high enough. You selected this bridge (not a different one) on the number. |
| OpenAI connects then drops after a few seconds | Your OpenAI realtime.call.incoming webhook must accept the call quickly. This is configured in OpenAI, not in Crazytel. |
| OpenAI never answers (about 60 seconds) | Destination URI uses your proj_ ID. Transport is TLS. Your OpenAI webhook is reachable. |
| VAPI 403 / rejected | Destination must be {phone}@{credential-id}.sip.vapi.ai. Recheck SIP auth username and password. Transport must be UDP, not TLS. |
| Couldn't connect over TLS | Confirm the provider host and that they support TLS. VAPI should use UDP. |
| One-way audio or no speech | Keep Offer PCMU first on. |
| Provider rejects the caller ID | Turn on Override outbound caller ID and pick a verified or purchased number. |
| Gemini will not save | Paste an AI Studio API key, or a wss:// WebSocket URL. |
Call history statuses that help:
- Bridged - Crazytel connected the caller to the AI provider.
- Rejected - Crazytel did not send the call (disabled bridge, missing route, or concurrent-call limit).
- Failed - the AI destination did not complete the connection.
Frequently asked questions
Do I paste a Crazytel SIP address into OpenAI or VAPI?
No. Create the AI Bridge in MyAccount, then route your Crazytel number to it by name. Your provider's SIP address goes into the AI Bridge destination field.
Can one number go to AI Bridge, and another number go somewhere else?
Yes. Routing is per number in Number Manager.
Can an IVR menu send callers to an AI assistant?
Yes. In the IVR destination list, choose the AI Bridge by name.
Does Crazytel charge for the AI provider?
No. Crazytel charges $0.0025 per inbound minute while the call is bridged. OpenAI, VAPI, Google, and other providers bill their own usage.
Why use AI Bridge instead of a raw SIP URI on the number?
AI platforms often need TLS, digest authentication, or special media settings. AI Bridge is built for those connections and is updated as providers change.
Need help?
In Products > AI Bridge, use How to set up AI Bridge for the three-step reminder, or Why AI Bridge? for an overview.
If a call is not bridging or routing is not taking effect, email helpdesk@crazytel.com.au with the subject AI Bridge - Support Request. Include the AI Bridge name, the number you dialled, and the approximate time of the test call.
