SIP Trunk Setup for LiveKit Agents
Use Voyced as an external SIP provider
This guide explains how to configure a Voyced SIP trunk in LiveKit, allowing your AI voice agent to place telephone calls through your existing Voyced service.
LiveKit supports external SIP trunks using username and password authentication for outbound calls.
LiveKit does not currently support SIP REGISTER. Therefore, direct inbound calling through Voyced's standard registration-based connection method is not supported.
Outbound calling requires a successful test to confirm Voyced accepts authenticated SIP INVITE requests without prior registration.
What You’ll Need
Before you begin, make sure you have:
-
Access to your LiveKit Cloud dashboard
-
An active LiveKit project with telephony access
-
A configured LiveKit AI voice agent
-
Permission to create SIP trunks
-
An active Voyced telephone number
-
Your Voyced SIP details:
-
Account / telephone number:
Your-Voyced-DID -
Service password:
YourServicePassword -
SIP server:
sip.voyced.eu
-
For command-line testing, you will also need the LiveKit CLI installed on your own computer or application server.
Requirements Before You Begin
-
Your Voyced account must be active.
-
Your Voyced account must have sufficient calling credit and simultaneous call capacity.
-
Your LiveKit project must have telephony enabled.
-
SIP signalling uses UDP port
5060. -
SIP authentication uses the Voyced username and service password.
-
Use full international telephone number format without a leading
+when sending calls to Voyced. -
Recommended codecs:
-
PCMA / G.711 A-law
-
PCMU / G.711 μ-law
-
LiveKit supports outbound SIP authentication but does not perform SIP REGISTER.
If your Voyced account requires registration before accepting outbound calls, the direct connection will not work.
Voyced normally accepts connections without IP whitelisting. No configuration changes or scripts are required on Voyced servers.
SIP Trunk Setup Steps
1. Log in to LiveKit
-
Log in to your LiveKit account.
-
Select your LiveKit project.
-
Open Telephony.
-
Navigate to SIP trunks.
This is where LiveKit manages external telephone provider connections.
2. Create a New SIP Trunk
-
Click Create new trunk.
-
Select Outbound for the trunk direction.
-
Open the JSON editor tab.
Enter the following configuration:
{
"name": "Voyced SIP Trunk",
"address": "sip.voyced.eu",
"numbers": [
"Your-Voyced-DID"
],
"transport": "SIP_TRANSPORT_UDP",
"auth_username": "Your-Voyced-DID",
"auth_password": "YourServicePassword",
"media": {
"only_listed_codecs": true,
"codecs": [
{
"name": "PCMA"
},
{
"name": "PCMU"
}
]
}
}
Replace Your-Voyced-DID with your actual Voyced telephone number before saving.
The SIP server address must contain only:
sip.voyced.eu
Do not add sip: before the hostname.
LiveKit uses the address to send outbound SIP INVITE requests.
The auth_username and auth_password fields provide SIP authentication when Voyced challenges an outgoing call.
The numbers field identifies the telephone number authorised for outbound caller ID.
Click Create.
3. Verify SIP Trunk Settings
After creating your trunk, open its configuration and confirm:
| Field | Value |
|---|---|
| Trunk Name | Voyced SIP Trunk |
| SIP Server | sip.voyced.eu |
| Transport | UDP |
| SIP Port | 5060 |
| Authentication Username | Your-Voyced-DID |
| Authentication Password | YourServicePassword |
| Caller ID Number | Your-Voyced-DID |
| Codec 1 | PCMA |
| Codec 2 | PCMU |
LiveKit normally uses port 5060 for unencrypted SIP over UDP.
The configured codecs restrict the audio offer to the two standard G.711 formats.
LiveKit's standard outbound trunk configuration does not contain a SIP registration option.
Saving the trunk does not confirm a successful connection to Voyced.
4. Configure Your AI Voice Agent
LiveKit Agents supports AI voice applications built using its Agent Builder or developer tools.
If you already have a working AI agent, continue to the next step.
Otherwise:
-
Open your LiveKit Cloud project.
-
Navigate to Agents.
-
Select Deploy new agent.
-
Open Agent Builder.
-
Configure your agent:
-
Agent name
-
Language
-
Voice
-
Instructions
-
Opening message
-
-
Test your agent in the browser.
-
Deploy your agent.
Example:
| Field | Value |
|---|---|
| Agent Name | Voyced Reception |
| Language | English |
| Opening Message | Thank you for calling. How may I help you today? |
Your agent must be running and available to join a LiveKit room before it handles telephone calls.
5. Prepare Outbound Calling
LiveKit places outbound telephone calls by creating a SIP participant in a LiveKit room.
The SIP participant represents the external telephone connection.
Before starting a call:
-
Confirm your Voyced outbound trunk exists.
-
Confirm your AI agent is deployed.
-
Confirm the agent is available.
-
Obtain the outbound SIP trunk ID.
To locate your outbound trunk:
-
Open Telephony → SIP trunks.
-
Select Voyced SIP Trunk.
-
Copy the trunk ID.
Example placeholder:
YOUR_VOYCED_TRUNK_ID
Keep this ID available for the outbound calling test.
6. Configure an Outbound Test Call
For command-line testing, use the LiveKit CLI on your own computer or application server.
First, authenticate the CLI with your LiveKit Cloud project:
lk cloud auth
Select the correct project.
Create a room and dispatch your AI agent:
lk dispatch create \
--new-room \
--agent-name my-agent
Replace my-agent with the actual dispatch name of your deployed agent.
Copy the room name returned by LiveKit.
Next, create a file named:
voyced-call.json
Enter:
{
"sip_number": "Your-Voyced-DID",
"sip_trunk_id": "YOUR_VOYCED_TRUNK_ID",
"sip_call_to": "442012345678",
"room_name": "YOUR_ROOM_NAME",
"participant_identity": "voyced-test",
"participant_name": "Voyced Test Call",
"wait_until_answered": true
}
Replace:
-
Your-Voyced-DIDwith your actual Voyced number -
YOUR_VOYCED_TRUNK_IDwith your LiveKit trunk ID -
YOUR_ROOM_NAMEwith the room created earlier -
442012345678with a valid telephone number you are authorised to call
Use the full international telephone number without a leading +.
LiveKit's published examples commonly use plus-prefixed numbers. The digits-only format required by Voyced must be accepted by LiveKit and preserved in the outbound SIP request. If LiveKit rejects the format, stop and confirm the supported number handling before continuing.
7. Place the Outbound Test Call
Run:
lk sip participant create voyced-call.json
LiveKit will attempt to connect the telephone call through the configured Voyced SIP trunk.
The expected outbound route is:
LiveKit AI Agent
|
v
LiveKit SIP Service
|
v
sip.voyced.eu
|
v
Destination Telephone
If the destination answers and the SIP connection succeeds, the telephone caller joins the LiveKit room.
The AI agent must also be present in the same room to participate in the conversation.
If the call fails, check the LiveKit telephony logs before changing the trunk configuration.
8. Configure Inbound Calling
LiveKit normally receives inbound calls when a telephone provider sends SIP INVITE requests to its SIP service.
For conventional external SIP providers, LiveKit uses:
-
An inbound SIP trunk
-
A SIP dispatch rule
-
A LiveKit room
-
An AI agent
The dispatch rule determines which agent or room receives the incoming telephone call.
However, LiveKit's SIP service does not support SIP REGISTER.
The standard Voyced connection method requires the external telephone system to register with Voyced using:
| Field | Value |
|---|---|
| SIP Server | sip.voyced.eu |
| Username | Your-Voyced-DID |
| Password | YourServicePassword |
LiveKit cannot currently perform this registration.
Creating an inbound trunk or dispatch rule in LiveKit does not resolve the missing registration functionality.
Therefore, inbound calling through this direct Voyced SIP account connection is not supported.
Do not configure SIP URI forwarding as an alternative.
Testing Your Setup
Outbound Test
-
Confirm your LiveKit AI agent is running.
-
Confirm the Voyced outbound trunk exists.
-
Start a test call using your configured SIP trunk.
-
Verify the destination telephone rings.
-
Answer the call.
Check:
-
LiveKit sends the call to
sip.voyced.eu. -
Voyced accepts the SIP authentication.
-
The destination number is correct.
-
The correct caller ID appears.
-
Two-way audio works.
-
The AI agent responds normally.
If these checks succeed, outbound calling works with the tested account and configuration.
Inbound Test
Direct inbound calling requires SIP registration to Voyced.
LiveKit does not currently support SIP REGISTER.
A successful outbound test does not establish inbound compatibility.
Troubleshooting
Outbound Trunk Does Not Connect
Check:
-
SIP server is
sip.voyced.eu -
Username is
Your-Voyced-DID -
Password is
YourServicePassword -
Transport is UDP
-
SIP port is
5060 -
Trunk ID is correct
-
Voyced account is active
Confirm whether the failure relates to SIP authentication or the absence of registration.
401 or 407 Error
These responses normally indicate an SIP authentication challenge.
An initial authentication challenge is expected.
Check:
-
Authentication username
-
Service password
-
Authentication realm
-
Whether LiveKit sends another SIP request containing the authentication response
Repeated authentication failures indicate that the connection details or authentication method need attention.
403 Error
Check:
-
SIP authentication
-
Voyced account status
-
Outbound calling permissions
-
Caller ID authorisation
-
Any account restrictions
Voyced does not normally require IP whitelisting.
404 Error
Check:
-
Destination telephone number
-
International number format
-
SIP Request-URI
-
SIP trunk ID
-
Outbound route
-
Which server returned the response
A 404 error might originate from LiveKit, Voyced or another system involved in the call.
408 Request Timeout
Check:
-
DNS resolution of
sip.voyced.eu -
SIP connectivity
-
UDP port 5060
-
Network response times
-
Destination availability
488 Not Acceptable Here
This normally indicates that the proposed session parameters are unacceptable.
Check:
-
PCMA support
-
PCMU support
-
SDP codec negotiation
-
Media encryption requirements
The initial Voyced configuration should offer PCMA and PCMU.
One-Way Audio
Check:
-
RTP connectivity
-
SDP media addresses
-
NAT handling
-
Firewall settings
-
Audio codec negotiation
LiveKit Cloud manages its own public media infrastructure.
For self-hosted LiveKit installations, the SIP server must also advertise the correct public media address and allow RTP traffic.
Outbound Calls Fail Despite Correct Credentials
LiveKit supports authenticated SIP INVITE requests but does not support conventional SIP registration.
If Voyced requires a successful SIP REGISTER before accepting the call, correct authentication credentials alone will not establish the connection.
Inbound Calls Do Not Arrive
LiveKit does not currently support the SIP REGISTER method required for the standard Voyced inbound connection.
Changing the dispatch rule or AI agent assignment will not resolve this limitation.
Final Tips
-
Always use your Voyced SIP account details.
-
Keep the SIP server set to
sip.voyced.eu. -
Use
Your-Voyced-DIDas the SIP authentication username. -
Use
YourServicePasswordas the SIP password. -
Voyced does not normally require IP whitelisting.
-
Use full international numbers without a leading
+when sending calls to Voyced. -
Do not use SIP URI forwarding.
-
Never run scripts or make configuration changes on Voyced servers.
-
Use PCMA and PCMU for initial audio compatibility testing.
-
Test outbound SIP authentication before deploying your AI agent for telephone calls.
-
Do not assume inbound compatibility because outbound calls succeed.
LiveKit supports external SIP trunks with username/password authentication for outbound calls. Its lack of SIP REGISTER support prevents a complete direct connection using Voyced's standard registration-based method.
Full outbound compatibility remains subject to successful authentication and calling tests with Voyced.
Last updated: 27/10/2026
© Voyced
All information provided is copyrighted and purely informative in nature. It is maintained by Voyced with the greatest of care using reliable sources only.
Given the fast evolution of the telecom sector, Voyced does not offer any guarantee about the accuracy and completeness of the information offered.
We explicitly do not give anyone permission to use this information in any other way than to inform themselves about what (legal) requirements there may be and they need to comply with when registering Services and/or DIDs with Voyced.
