> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ouraicalling.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SIP provider guides

> Provider-specific inbound routing, authentication, signaling IPs, and test steps

Use these guides when a carrier sends an existing number to the platform by SIP. Provider settings and signaling networks can change; the source pages below were checked on **22 August 2026**. Re-check the linked provider source before changing a production trunk.

## The rule that prevents most inbound failures

The platform SIP FQDN is the **destination** for the provider's INVITE. It is not an authentication method. Configure both sides:

1. Copy the platform SIP URI from **Settings → Phone numbers → Add SIP integration**.
2. Route the provider's number to that FQDN.
3. Create the platform trunk with the **exact DID** the provider sends. Use `+E.164` unless the provider guide explicitly says otherwise. A SIP extension is not a wildcard.
4. Choose **SIP username/password** only when the provider documents digest authentication toward the destination. Otherwise choose **Provider source IPs** and enter the provider's current SIP-signaling IPs or CIDRs.
5. Keep outbound credentials and the provider termination host separate from inbound authentication.

<Warning>
  Never use RTP/media ranges as Provider source IPs, never copy an IP list from another carrier, and never remove the exact DID to make matching broader.
</Warning>

## Supported guides

| Provider                                                        | Platform inbound authentication | Source of signaling addresses                                  |
| --------------------------------------------------------------- | ------------------------------- | -------------------------------------------------------------- |
| [Easybell](/telephony/providers/easybell)                       | Provider source IPs             | Published networks; observed addresses are labelled separately |
| [Twilio](/telephony/providers/twilio)                           | Provider source IPs             | Global Twilio signaling CIDRs                                  |
| [Telnyx](/telephony/providers/telnyx)                           | Provider source IPs             | Two addresses for the selected inbound region                  |
| [Plivo](/telephony/providers/plivo)                             | SIP username/password preferred | Origination-URI digest or Plivo signaling CIDRs                |
| [Wavix](/telephony/providers/wavix)                             | Provider source IPs             | Current Wavix portal gateway list                              |
| [Sinch](/telephony/providers/sinch)                             | Provider source IPs             | Sinch Elastic SIP Trunking CIDRs                               |
| [DIDLogic](/telephony/providers/didlogic)                       | Provider source IPs             | Current DIDLogic gateway table                                 |
| [Vonage](/telephony/providers/vonage)                           | Provider source IPs             | Vonage SIP source subnets                                      |
| [Bandwidth](/telephony/providers/bandwidth)                     | Provider source IPs             | Account-specific trunk-group addresses                         |
| [Other and custom providers](/telephony/providers/other-custom) | Confirm with the provider       | Never infer from a saved hostname                              |

## Prove the setup

Call the exact DID from an external phone. The setup is only confirmed when a new **inbound** item appears in **Calls**, the assigned assistant joins, and two-way audio works. Ringing, a delay, or a provider-side call duration alone does not prove that the call reached the platform.

Sources: [LiveKit inbound trunks](https://docs.livekit.io/telephony/accepting-calls/inbound-trunk/), [LiveKit provider quickstarts](https://docs.livekit.io/telephony/start/providers/). Accessed 22 August 2026.
