sparse-artist-79061
09/10/2025, 5:37 AMtall-airline-16756
09/10/2025, 5:37 AMtall-airline-16756
09/10/2025, 5:38 AMsparse-artist-79061
09/10/2025, 5:40 AMtall-airline-16756
09/10/2025, 5:41 AMsparse-artist-79061
09/10/2025, 5:42 AMtall-airline-16756
09/10/2025, 5:42 AMversion: '3.7'
services:
redis:
image: redis:6
container_name: redis
ports:
- "6379:6379"
livekit-server:
image: livekit/livekit-server:latest
container_name: livekit-server
ports:
- "7880:7880" # WebSocket signaling
- "7881:7881" # HTTP API
- "50000-60000:50000-60000/udp" # WebRTC media
environment:
- LIVEKIT_API_KEY=your_api_key
- LIVEKIT_API_SECRET=your_api_secret
- REDIS_URL=<redis://redis:6379>
sip-server:
image: livekit/sip-server:latest
container_name: sip-server
ports:
- "5060:5060/udp" # SIP signaling
environment:
- SIP_API_KEY=your_api_key
- SIP_API_SECRET=your_api_secret
- LIVEKIT_WS_URL=<ws://livekit-server:7880>
- REDIS_URL=<redis://redis:6379>
networks:
default:
name: livekit-network
If you're interested in adding a UI dashboard, you would need to deploy it separately because there isn’t a specific dashboard configuration included here. Typically, the dashboard connects to the LiveKit Server’s WebSocket endpoint. Please feel free to reach out if you have any questions or need help setting that up—I’m here to assist you!
Sources: Self-hosted SIP server | LiveKit Docs | Deploy to a VM | LiveKit Docs | test/integration/livekit_test.gosparse-artist-79061
09/11/2025, 6:19 AMtall-airline-16756
09/11/2025, 6:20 AMvjnxecm0tjk.sip.livekit.cloud
) as the destination.
• Outbound Trunk: On the LiveKit side, create an outbound trunk using Plivo’s SIP URI along with your authentication credentials. Then, use the CreateSIPParticipant
API to kick off outbound calls.
• Dispatch Rules: Setting up dispatch rules in LiveKit can help you route incoming calls to specific rooms or even create unique rooms for each caller—whatever fits your needs best.
• Authentication: Plivo takes care of authenticating inbound calls via the SIP endpoint, and LiveKit handles outbound call authentication with SIP credentials (username/password).
• Security: For peace of mind, you can enable TLS/SRTP to keep signaling and media secure.
Since Plivo is officially supported by LiveKit, there are detailed setup guides ready for you. If you’d like, I’m here to walk you through any specific part of the setup step-by-step—just let me know!sparse-artist-79061
09/11/2025, 6:21 AMtall-airline-16756
09/11/2025, 6:21 AMlivekit-cli create-sip-trunk --request outbound-trunk.json
2. Initiate an Outbound Call:
Next, use the CreateSIPParticipant
API or CLI to place a call. Here's an example command:`livekit-cli create-sip-participant \
--room <room-name> \
--trunk-id <outbound-trunk-id> \
--call-to "+15105550123"`This will send an INVITE to Plivo, which then dials the number you specified.
3. Ensure Proper Authentication:
LiveKit will use the SIP credentials (username and password) you provided in the trunk configuration to authenticate with Plivo.
4. Optional Security:
If your setup requires it, you can enable TLS/SRTP for secure signaling and media to keep your calls safe.
If you have any questions or would like me to help you with a particular step, please don’t hesitate to ask. I’m here to help!sparse-artist-79061
09/11/2025, 6:22 AMsparse-artist-79061
09/11/2025, 6:44 AM