Providers
Connect a real carrier to a phone configuration in Studio.
A phone configuration ("SIP trunk") connects one carrier account to Elizon. This is a Studio UI action (Studio → Phone Configurations → New), not part of the public API — see Introduction for why. This page covers what each supported provider actually needs, including the gotchas that aren't obvious from the carrier's own dashboard.
Twilio
- Inbound: a SIP Domain, backed by an IP Access Control List and Credential List Elizon manages for you.
- Outbound: an Elastic SIP Trunk with credential-based auth.
- Enter your Account SID and Auth Token in the Credentials step; Elizon provisions the rest.
Telnyx
- Inbound and outbound both use an FQDN connection, never a Credential Connection. Credential Connections are registration-based (they route to wherever a device last sent a SIP
REGISTER), and LiveKit's SIP trunk never registers — so a Credential Connection can never actually deliver a call either direction. - Outbound also requires a Telnyx Outbound Voice Profile (a billing/routing object Telnyx requires on any connection that dials out) — Elizon creates and attaches one automatically per trunk.
- Outbound requires a
user_namethat's unique across your entire Telnyx account — not just unique among your Elizon trunks. A generic value liketestwill likely collide with something else on the account and fail with"has already been taken". - Telnyx's own account tier can independently block calls regardless of your Elizon configuration: a zero balance blocks inbound termination, and destination-country whitelisting (new accounts are often restricted to calling only a couple of countries) blocks outbound calls to anywhere else — both require action in Telnyx's own dashboard/billing, not an Elizon setting.
Infobip
- Uses Infobip's Voice API (Configuration + Notification Profile + Subscription), separate from Infobip's "Call Routing" product.
- Call history for Infobip-routed calls is sourced from LiveKit's own call events, not Infobip's webhooks — Infobip's Call Routing delivery mechanism has no CDR/webhook mechanism of its own to hook into.
Custom (bring your own carrier)
Choose Custom when your carrier isn't one of the above. Elizon has no managed integration for it — you get a SIP destination to configure in your own carrier's dashboard, and the connection is entirely your carrier's responsibility to get right. The most common failure mode here isn't an Elizon misconfiguration — it's the carrier's own connection method:
Registration-based carriers don't work
Many carriers' "SIP login/password" is registration-based: your PBX is expected to send a
REGISTER request and hold an active session, and inbound/outbound calls are then routed to
wherever you last registered from. LiveKit's SIP trunk does not support REGISTER — it only
sends/receives stateless, digest-authenticated SIP. If your carrier's setup instructions mention
REGISTER anywhere (check their Asterisk/FreePBX sample config — a type=registration block is
the tell), that connection method cannot work with Elizon, regardless of how the credentials are
configured.
What does work for Custom, in order of preference:
- A stateless SIP trunk with digest auth (username/password) — no registration involved, the carrier just authenticates each request. This is what Twilio and Telnyx both use under the hood.
- IP-based authorization (the carrier trusts a fixed source IP instead of credentials) — only works if the IP sending calls to the carrier is actually fixed. On LiveKit Cloud, that's not guaranteed for most regions; on self-hosted LiveKit, it's your own server's IP, which is fixed by definition. See Introduction.
If your carrier only offers option 2 and you're still on LiveKit Cloud, hold off — it's a real infrastructure gap, not something to work around in configuration.