◆
Voice
STREAM SERVER DOWN
// TWILIO VOICE + MEDIA STREAMS
VOICE STREAM SERVER (port 3337)
Process
DOWN
STT (Deepgram)
OFF
TTS (OpenAI)
OFF
Port
3337
To enable full voice:
Add to .env on jarvis-db: DEEPGRAM_API_KEY=... OPENAI_API_KEY=...
Restart: launchctl stop com.jarvis.voice-stream && launchctl start com.jarvis.voice-stream
TWILIO VOICE ACCOUNTS
No Twilio accounts configured. Add one in Channels.
TWILIO CONFIGURATION
Voice Webhook URL (Twilio Console → Phone Number → Voice)
https://<tunnel>/api/channels/twilio/<accountId>/voice
TwiML Flow: Answer + Stream
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say>Hello, this is Jarvis. How can I help?</Say>
<Connect>
<Stream url="wss://YOUR_TUNNEL:3337/media" />
</Connect>
</Response>SMS/WhatsApp Webhook URL
https://<tunnel>/api/channels/twilio/<accountId>
CALL FLOW
1. Caller dials Twilio number
2. Twilio POSTs to voice webhook → returns TwiML with Gather or Connect/Stream
3a. Gather mode (simple): Twilio transcribes speech and POSTs SpeechResult → Claude answers → TTS via Say
3b. Stream mode (low latency): Twilio streams μ-law audio to WS :3337 → Deepgram STT → Claude → OpenAI TTS → back to Twilio
4. Response sent via outbound message or TwiML redirect