Loading config…
The mock CRM the bot reads at call start (greet by name + car, service
due, lead). Edit a phone number here so it matches the number your
campaign will dial, then place the call. Changes are live immediately
(in-memory — reset when mock_autovyn restarts).
| ID | First | Last | Phone | Vehicle model | Reg. no | Campaign reason |
|---|
| ID | Name | Phone | Model interest | Status |
|---|
Initiates an outbound SIP call via the aidialer + dialer_adapter
stack. Brain handles STT/LLM/TTS. Audio plays on the customer's
phone, not in your browser. Watch the dialer_adapter logs for
dialer_start_call_sent / call_started /
call_connected.
Number format: this dialer instance (sip-client-212.ngrok.app)
wants the international 00<cc><number> form
(e.g. 00918527545450 for an Indian number). Other
formats (E.164 +91…, raw 91…) get
rejected with not_found or failed.
Even with the correct format, the dev trunk currently terminates
with NormalClearing — the SIP call attempt reaches
the trunk but the trunk doesn't ring the destination (likely
needs real outbound credits / route on the dialer team's side).
Record one utterance with your mic. We send the audio to the new UDP TyvraDuplex server (Architecture v2 §3), it transcribes via Chirp, runs the LLM, synthesizes the reply, streams audio back as SERVER_AUDIO frames. The result plays here. This is NOT the full v2 client (that lives over WebTransport) — it's a test harness so you can validate the protocol stack with your own voice before the browser-side client lands.
HTTP harness = record-then-upload, server-side runs the same
CLI client.
Live (WS) = the real browser TyvraDuplex client: this page
encodes 40-byte frames in JavaScript, streams CLIENT_AUDIO over
WebSocket → server bridges to UDP — full-duplex, hypotheses + bot
audio arrive frame-by-frame. WebTransport upgrade is transport-only
(same wire format).
Change how the bot listens, thinks and speaks for a tenant. Plain switches — no code. Changes go live within ~1 minute, no restart. Hover the ⓘ for what each does.
Sampled post-call reviews from Qwen 2.5 across 7 personas
(compliance, sales, empathy, cultural, language, resolution,
efficiency). The realtime call path is unaffected — Coach reads
tyvra:events:call_completed off Redis Streams and
writes to coach_assessments. Use Force assess
to bypass the sampler for supervisor review of a specific call.
Click a row in the list.
Synchronously runs Qwen on the named call regardless of sample rate. Blocks until the model finishes (~5–30 s).
Tenant defaults drive every call that does not explicitly override
language, dialect, domain, or
voice. Coach + feature flags here are hot-editable; the
brain re-reads on next call (Redis cache TTL 60 s).
Per-tenant LLM system prompts + escalation/resolution keywords + RAG
hookup. Hot-editable; brain picks up changes within 60 s (Redis cache).
Every save creates a versioned snapshot in domain_history.
XTTS-v2 zero-shot voice clones from these reference WAVs. Drop or record
a 5–15 s conversational clip per language/dialect bucket;
after upload, restart the host TTS service (the command appears below
every save) and the bot speaks with that voice.
Synthesise sample text with one of the saved voices. After restarting the TTS host service this will use the newest embeddings.
IndicF5 clones a voice from a reference WAV — one 10–30 s clip per persona. Each dialect can map to a different reference voice. Bootstrap instantly from GCP Neural2, upload your own recording, or record directly here. Changes take effect on the next call (no restart needed).
Picks a Neural2 voice for the selected dialect/gender, synthesises a reference clip from GCP and registers it. Bot calls after this will use that voice character.
Click Start, then speak naturally. The system detects when you stop talking (~0.8 s of silence) and runs the full pipeline, then plays the response. Listening auto-resumes after the bot finishes speaking. Click Stop to end.
Live mic on EC2: run on your laptop
bash tools/deploy/local_mic_tunnel.sh <EC2-IP>
then open http://127.0.0.1:7860 (not the EC2 IP).
Record with mic, or upload a WAV (works on http://EC2-IP without mic permission).
No transcript yet.
Sends prompt directly to the LLM server using the tenant's configured AI model from Bot Settings.
Language hi needs Devanagari text (e.g. आप कैसे हैं). English text → use en.
Record or upload WAV → STT → LLM → TTS. ~45–90 s end-to-end on the dev stack.