Connect AI voice platforms
Before you start, you need:
- An active SF Trunk and its FQDN (
{{LABEL}}.sft.superfone.co.in). See Getting Started. - At least one Superfone number attached to the trunk. See Inbound calls.
- If your platform filters by source address, the addresses in Network addresses to allowlist.
Connecting a standards-based PBX or SBC instead? See the example configurations on the Outbound Calls page.
Anyone who knows your FQDN and one of your attached numbers can place calls on your trunk. Keep it out of public config, screenshots and support tickets. See Outbound calls.
ElevenLabs Agents
- Go to Deploy > Phone Numbers > Import a number, and select SIP Trunk.
- Name it (for example, "Superfone") and enter the phone number — one of your numbers attached to the trunk, in E.164, for example
{{YOUR_SUPERFONE_NUMBER}}. - Inbound config: set Media Encryption to
Disabled. - Outbound config — Address: your trunk FQDN,
{{LABEL}}.sft.superfone.co.in. - Outbound config: set Media Encryption to
Disabled. - Outbound config — Codecs: select only
PCMAandPCMU. UnselectG.722— SF Trunk does not support it. - Transport:
UDP(default). If you hit connection issues, tryTCPon both this setting and the matching Superfone trunk setting below. SF Trunk does not support TLS — do not select it here. - Save. This creates the connection between your ElevenLabs agent and your Superfone trunk.
- Open the phone number again and assign an agent to handle inbound calls. Use the Outbound call button there to test — always dial in full E.164,
+91{{NUMBER}}.
On your Superfone trunk, set:
| Field | Value |
|---|---|
customer_sip_host | sip.rtc.elevenlabs.io |
customer_sip_port | 5060 |
customer_sip_transport | udp (try tcp if you have issues — match whatever you set in step 7) |
Vapi
Vapi's gateway form needs a numeric IP for any gateway with inbound calls enabled, and accepts a domain only when inbound is off. Set up two separate gateways:
Gateway #1 — inbound (calls from Superfone to Vapi)
| Field | Value |
|---|---|
| IP Address / Domain | Superfone's SIP signalling address — see Network addresses to allowlist |
| Port | 5060 |
| Netmask | 32 |
| Outbound Protocol | UDP |
| Allow inbound calls | ✅ |
| Allow outbound calls | ⬜ |
Gateway #2 — outbound (calls from Vapi to your trunk)
| Field | Value |
|---|---|
| IP Address / Domain | {{LABEL}}.sft.superfone.co.in |
| Port | 5060 |
| Netmask | 32 |
| Outbound Protocol | UDP |
| Allow inbound calls | ⬜ |
| Allow outbound calls | ✅ |
On the phone number's Advanced Settings, turn on "Enable leading plus for outbound calls" — SF Trunk requires E.164 numbers with a leading +, and calls will be refused with 400 Bad Request without this.
If Vapi also filters inbound media by address, allow Superfone's media (RTP) address and port range from Network addresses to allowlist.
On your Superfone trunk, set:
| Field | Value |
|---|---|
customer_sip_host | 44.229.228.186 (US region) or 63.182.83.170 (EU region) |
customer_sip_port | 5060 |
customer_sip_transport | udp |
Bolna
In Bolna's Create/Edit SIP Trunk wizard:
- Basics: platform
Custom. - Authentication: auth type
IP-Based. Enter Superfone's SIP signalling address — see Network addresses to allowlist — as the trusted source IP. - Gateways: address = your trunk FQDN,
{{LABEL}}.sft.superfone.co.in, port5060. - Advanced:
| Setting | Value |
|---|---|
| Allowed Codecs | ulaw,alaw |
| Disallowed Codecs | all |
| Transport Protocol | UDP |
| SIP OPTIONS Ping Interval | 60 |
| RTP Symmetric | On |
| Force rport | On |
| Enable Inbound Calling | On |
| Prepend + to Outbound Numbers | On |
| Trunk Active | On |
- Review and save.
If Bolna also filters inbound media by address, allow Superfone's media (RTP) address and port range from Network addresses to allowlist.
On your Superfone trunk, set:
| Field | Value |
|---|---|
customer_sip_host | sip.bolna.ai |
customer_sip_port | 5060 |
customer_sip_transport | udp |
Retell
- Go to Phone Numbers, and import or add a number.
- Enter your Superfone number, in E.164, for example
{{YOUR_SUPERFONE_NUMBER}}. - Termination URI: your trunk FQDN,
{{LABEL}}.sft.superfone.co.in. This is the address Retell sends calls to when your number places an outbound call. - Click Test SIP Connection.
- Once connected, open the number and assign an agent to handle inbound calls.
On your Superfone trunk, set:
| Field | Value |
|---|---|
customer_sip_host | sip.retellai.com |
customer_sip_port | 5060 |
customer_sip_transport | tcp (Retell's recommended transport; udp also works) |
Retell routes inbound calls by the dialled number, not by source IP, so there is nothing to whitelist on Retell's side. Superfone has no IP-ACL setting on the trunk either — this integration needs no IP list in either direction.
Next Steps
- Troubleshooting: fix a connection that isn't working
- Limits and billing: wallet balance and capacity limits