Piper was never reachable on 10.0.57.15 — edge1's actual address is 10.0.57.17 (SSH config, project_edge1_sdcard memory). Every telephony prompt hit the 8s HttpClient timeout and fell back to the built-in sound map (vm-advopts, vm-goodbye, beep) instead of speaking the real workflow text. Verified from noc1: `curl http://10.0.57.17:8500/health` returns HTTP 200 in 6ms, `POST /tts` returns a 16kHz mono WAV in 606ms. Changes: - apps/telephony/telephony.yaml - `Tts.PiperUrl` → `http://10.0.57.17:8500` - NetworkPolicy egress allow → `10.0.57.17/32:8500` - Header comment now documents the POST /tts {"text":"..."} contract - telephony-web pod mounts `/shared-tts` from hostPath `/tmp/tts-audio` (rke2-agent1). This is where `AsteriskProvider.SpeakTextAsync` writes the synthesized .sln16 before calling ARI `Play sound:tts/<name>`. - apps/asterisk/deployment.yaml - Asterisk pod mounts the same hostPath at `/var/lib/asterisk/sounds/tts` so it can read and play what telephony-web wrote. Both deployments have `nodeSelector: kubernetes.io/hostname: rke2-agent1` so the hostPath is guaranteed to be the same directory. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6.5 KiB
6.5 KiB