Last updated May 26, 2026

v1.0.0 http://localhost:8080/v1

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

VariableDefaultDescription
INSTANCE_ID(auto-generated UUID)Instance identifier included in all API responses and webhook events
HTTP_ADDR:8080REST API listen address
SIP_BIND_IP127.0.0.1IPv4 address advertised in SDP, Contact, and Via headers (and used as the listen address when SIP_LISTEN_IP is empty)
SIP_LISTEN_IP(same as SIP_BIND_IP)UDP socket bind IP. Accepts 127.0.0.1, 0.0.0.0, ::, or any literal v4/v6 address
SIP_BIND_IPV6(empty = v4-only)IPv6 address advertised in SDP/Contact/Via for IPv6 calls. Set this for IPv6-only or dual-stack deployments
SIP_LISTEN_IPV6(same as SIP_BIND_IPV6)Optional separate IPv6 socket bind address (used when running with both 0.0.0.0 and a specific v6 literal)
SIP_PORT5060SIP listen port
SIP_HOSTvoiceblenderSIP User-Agent name
ICE_SERVERSstun:stun.l.google.com:19302STUN/TURN URLs for WebRTC ICE, comma-separated
RECORDING_DIR/tmp/recordingsLocal directory for recording output files
LOG_LEVELinfoLog verbosity: debug, info, warn, error
WEBHOOK_URLGlobal webhook URL for event delivery (fallback when no per-leg or per-room webhook is set)
WEBHOOK_SECRETHMAC-SHA256 signing secret for the global webhook
ELEVENLABS_API_KEYAPI key for ElevenLabs TTS, STT, and Agent provider
VAPI_API_KEYAPI key for VAPI Agent provider
S3_BUCKETS3 bucket name for recording uploads
S3_REGIONus-east-1AWS region for S3
S3_ENDPOINTCustom S3-compatible endpoint (e.g. MinIO)
S3_PREFIXKey prefix applied to all S3 objects
TTS_CACHE_ENABLEDfalseEnable disk-backed TTS audio cache; cached audio persists across restarts
TTS_CACHE_DIR/tmp/tts_cacheDirectory for cached TTS audio files (used when TTS_CACHE_ENABLED=true)
TTS_CACHE_INCLUDE_API_KEYfalseInclude API key in TTS cache key; set true if different keys map to different voice clones
SIP_JITTER_BUFFER_MS0SIP ingress jitter buffer target delay in ms (0 = disabled passthrough). Applies to every SIP leg.
SIP_JITTER_BUFFER_MAX_MS300Maximum 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_DIALfalseWhen 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.