voice_team@livekit:~/Downloads/livekit_local/gcp-l...
# ask-ai
p
voice_team@livekit:~/Downloads/livekit_local/gcp-livekit.10xds.live/sip$ cat outbound-trunk.json { "trunk": { "name": "twilio-outbound", "numbers": ["+12075219959"], "address": "livekit10xds2024.pstn.twilio.com", "authUsername": "livekit-sip", "authPassword": "LiveKit12310xDS" } } voice_team@livekit:~/Downloads/livekit_local/gcp-livekit.10xds.live/sip$ cat inbound-trunk.json { "trunk": { "name": "twilio-inbound", "numbers": ["+12075219959"], "allowed_addresses": ["54.172.60.0/23", "54.244.51.0/24"], "allowed_numbers": [], "auth_username": "", "auth_password": "" } } for inbound trunk, can i add address param as well?? so instead of using twilio if i am using another sip trunk provider, the other sip trunk provider will give username, password, domain and sip number so how can i integrate it??
t
Thanks for the config files — I’m responding to your question about whether you can add an
address
parameter to an inbound trunk and how to integrate a different SIP trunk provider that gives username, password, domain, and SIP number. Short answer: No — you cannot add an
address
field to an inbound trunk. Inbound trunks are for receiving calls, and LiveKit expects the SIP provider to send INVITEs to your LiveKit SIP endpoint. The
address
field is used only for outbound trunks. What to do depending on call direction • Inbound calls (Provider → LiveKit) ◦ Do not add
address
,
authUsername
, or
authPassword
to the inbound trunk. ◦ Configure the provider to forward incoming calls to your LiveKit SIP domain (the SIP URI you expose). ◦ In your
inbound-trunk.json
, set: ▪︎ `numbers`: the phone numbers you will receive. ▪︎ `allowed_addresses`: the IP ranges or CIDRs of your SIP provider so LiveKit will accept their INVITEs. ◦ Example inbound config:
Copy code
{
  "trunk": {
    "name": "provider-inbound",
    "numbers": [
      "+12075219959"
    ],
    "allowed_addresses": [
      "198.51.100.0/24",
      "203.0.113.0/24"
    ]
  }
}
• Key point: the SIP provider must be configured on their side to send calls to your LiveKit SIP endpoint. • Outbound calls (LiveKit → Provider) ◦ Use an outbound trunk. This is where
address
,
authUsername
, and
authPassword
belong. ◦ Provide the provider domain (address) and credentials so LiveKit can authenticate and send outbound SIP INVITEs to them. ◦ Example outbound config:
Copy code
{
  "trunk": {
    "name": "provider-outbound",
    "numbers": [
      "+12075219959"
    ],
    "address": "<http://sip.provider.com|sip.provider.com>",
    "authUsername": "your_username",
    "authPassword": "your_password"
  }
}
• Then create it with the CLI (for example):
lk sip outbound create outbound-trunk.json
Quick checklist for integrating another SIP provider • For inbound: give the provider your LiveKit SIP domain and ensure their destination/forwarding is set to it; add their IP ranges to
allowed_addresses
. • For outbound: create an outbound trunk in LiveKit with
address
+ auth fields and the numbers you’ll use as caller ID. • Don’t mix inbound/outbound fields —
address
and auth belong to outbound trunks only. If you want, I can: • Review your provider’s domain/credential details and suggest an exact outbound JSON you can use. • Help craft the exact
allowed_addresses
entry if you share the provider IP ranges. • Verify the LiveKit SIP endpoint you should give to the provider (share your deployment domain). Sources: sip | livekit/livekit_composite | DeepWiki | Agents telephony integration | LiveKit Documentation | Making calls overview | LiveKit Documentation | How VICIdial handles bridging, transfers, and SIP calls | LiveKit