Voice System Übersicht
Das Voice System ist das Herzstück von JustCall. Es ermöglicht natürliche Telefonbestellungen durch KI.
Komponenten
Flow eines Anrufs
- Eingehender Anruf: Twilio empfängt Anruf und ruft
twilio-incomingEdge Function - Session erstellen: Edge Function erstellt
call_sessionund gibt TwiML zurück - Media Stream: Twilio verbindet WebSocket zum Voice Server
- OpenAI Verbindung: Voice Server verbindet zu OpenAI Realtime API
- Konversation: Audio wird bidirektional gestreamt
- Tool Calls: OpenAI ruft Tools auf (Menu, Delivery, Order)
- Bestellung speichern: Worker verarbeitet Order via Redis Queue
- Anruf beenden: Goodbye-Nachricht und Hangup
Wichtige Dateien
| Datei | Beschreibung |
|---|---|
voice-server/src/index-unified.ts | Hauptserver |
voice-server/src/openai-client.ts | OpenAI Integration |
voice-server/src/tool-client.ts | Tool Execution |
voice-server/src/worker.ts | Background Worker |
supabase/functions/twilio-incoming/ | TwiML Generator |
Konfiguration pro Restaurant
Jedes Restaurant kann eigene Voice-Einstellungen haben:
| Setting | Beschreibung | Default |
|---|---|---|
voice | OpenAI Stimme (alloy, echo, cedar, etc.) | cedar |
transcription_model | Whisper Modell | whisper-1 |
voice_mode | openai, hybrid, deepgram | openai |
logging_level | normal, debug, verbose | normal |