Last updated April 16, 2026
VoiceBlender bridges SIP and WebRTC voice calls with multi-party audio mixing, real-time speech-to-text, text-to-speech, AI agent integration, recording, and webhook-based event delivery.
Configuration
| Variable | Default | Description |
|---|---|---|
INSTANCE_ID | (auto-generated UUID) | Instance identifier included in all API responses and webhook events |
HTTP_ADDR | :8080 | REST API listen address |
SIP_BIND_IP | 127.0.0.1 | IP used in SDP, Contact, and Via headers |
SIP_LISTEN_IP | (same as SIP_BIND_IP) | UDP socket bind IP |
SIP_PORT | 5060 | SIP listen port |
SIP_HOST | voiceblender | SIP User-Agent name |
ICE_SERVERS | stun:stun.l.google.com:19302 | STUN/TURN URLs for WebRTC ICE, comma-separated |
RECORDING_DIR | /tmp/recordings | Local directory for recording output files |
LOG_LEVEL | info | Log verbosity: debug, info, warn, error |
WEBHOOK_URL | — | Global webhook URL for event delivery (fallback when no per-leg or per-room webhook is set) |
WEBHOOK_SECRET | — | HMAC-SHA256 signing secret for the global webhook |
ELEVENLABS_API_KEY | — | API key for ElevenLabs TTS, STT, and Agent provider |
VAPI_API_KEY | — | API key for VAPI Agent provider |
S3_BUCKET | — | S3 bucket name for recording uploads |
S3_REGION | us-east-1 | AWS region for S3 |
S3_ENDPOINT | — | Custom S3-compatible endpoint (e.g. MinIO) |
S3_PREFIX | — | Key prefix applied to all S3 objects |
TTS_CACHE_ENABLED | false | Enable disk-backed TTS audio cache; cached audio persists across restarts |
TTS_CACHE_DIR | /tmp/tts_cache | Directory for cached TTS audio files (used when TTS_CACHE_ENABLED=true) |
TTS_CACHE_INCLUDE_API_KEY | false | Include API key in TTS cache key; set true if different keys map to different voice clones |
SIP_JITTER_BUFFER_MS | 0 | SIP ingress jitter buffer target delay in ms (0 = disabled passthrough). Applies to every SIP leg. |
SIP_JITTER_BUFFER_MAX_MS | 300 | Maximum depth of the SIP ingress jitter buffer in ms. Frames beyond this are dropped oldest-first to catch up after a stall. |
SIP_REFER_AUTO_DIAL | false | When true, accept incoming SIP REFER requests and automatically originate the transferred call. Default-deny: stays off unless the SIP edge is locked down (IP allow-lists, digest auth) because auto-dialing arbitrary Refer-To URIs is a classic toll-fraud vector. Outbound transfers initiated via the REST API are unaffected by this flag. |