feat(call): integrate LiveKit for voice and video calling
Replace the manual WebRTC signaling implementation with LiveKit SFU. This includes: - Adding LiveKit service, handler, and configuration. - Updating Docker Compose to include LiveKit server, Redis, and PostgreSQL. - Refactoring `CallService` and `WSHandler` to support LiveKit room readiness instead of raw SDP/ICE relaying. - Adding new API endpoints for LiveKit token generation and webhooks. - Removing deprecated WebRTC configuration and manual signaling DTOs.
This commit is contained in:
32
configs/livekit.yaml
Normal file
32
configs/livekit.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
# LiveKit Server Configuration
|
||||
# See https://docs.livekit.io/realtime/server/config/ for all options
|
||||
|
||||
port: 7880
|
||||
rtc:
|
||||
tcp_port: 7881
|
||||
udp_port: 7882
|
||||
use_external_ip: false
|
||||
# Enable TURN/TLS relay for restrictive networks
|
||||
port_range_start: 7881
|
||||
port_range_end: 7882
|
||||
node_ip: 127.0.0.1
|
||||
|
||||
keys:
|
||||
devkey: u1sLYiHWe4HIr3KrJrvknIleoHdgHdDqSjfkBvRs2AlA
|
||||
|
||||
logging:
|
||||
level: info
|
||||
|
||||
# Redis for distributed state (required)
|
||||
redis:
|
||||
address: livekit-redis:6379
|
||||
|
||||
# PostgreSQL for persistent storage (rooms, participants, egress)
|
||||
db:
|
||||
address: postgres://postgres:postgres@livekit-postgres:5432/livekit?sslmode=disable
|
||||
|
||||
# Webhook for call history persistence
|
||||
# webhook:
|
||||
# urls:
|
||||
# - http://app:8080/api/v1/calls/webhook
|
||||
# api_key: devkey
|
||||
Reference in New Issue
Block a user