Docs Carriers and PBXs
Telnyx
Verified with live trafficConnect a Telnyx number to your LiveKit agent. RelayDock registers with a Telnyx credentials connection, so Telnyx needs no address or IP from you.
Before you start
- A Telnyx account with at least one number.
- Your LiveKit project connected in RelayDock (Getting started, step 2).
- The name of the LiveKit agent that should answer.
In the Telnyx portal
- Create a SIP connection with credentials authentication and note its user name and password. Telnyx's SIP trunking guide walks through the portal.
- Assign your number to the connection.
- Telnyx then delivers calls for that number to the registered device: RelayDock.
In RelayDock
- Open Endpoints → Add endpoint and choose Registration.
- Under Provider template, choose Telnyx. The registrar, the transport and Telnyx's source addresses are filled in for you. Then set Transport to TCP (recommended).
- Enter the connection's credentials as SIP user name and Password, and your Telnyx number as Number in +E.164 format, for example
+12025550123. - Under LiveKit agent, enter the agent name, then review and create the endpoint.
Verify
- The endpoint shows Registered within a few seconds.
- Place a Test call; all four steps turn green.
- Choose Inbound → Listen for a call and call your Telnyx number from your phone.
Common problems
| What you see | Why | What to do |
|---|---|---|
| Registration fails with 401 or 403 | The SIP user name or password is wrong, or the account doesn't allow registration from RelayDock. | Update the password on the endpoint page; check that the account is active. |
| Registration times out (408, no response) | The registrar isn't reachable: wrong address, port or transport, or a firewall in between. | Check the registrar and transport. If your provider uses an allow list, add RelayDock's static IP. |
| Inbound check: the carrier's IP isn't allowed | The call came from an address that isn't on the endpoint. | Add the address the check shows to Carrier IP addresses (trunk) or Source IPs (registration). |
| Inbound check: the carrier dialed a number the endpoint doesn't have | The carrier sends the number in a different format, for example without the country code. | Add the number exactly as the check shows it, or change the dial format. |
| Inbound calls stop at 407 | The trunk expects digest authentication and the carrier sends a different user name or password. | Set the same digest user name and password on both sides, or clear them to rely on IP addresses only. |