Commit Graph
40 Commits
Author SHA1 Message Date
arystanbek 9d918af12a fix: bring aimaq host-override files (voice.py, persona env) back into git
Both services/ai_orchestrator_service/voice.py and the aimaq persona/DOMAIN
SCOPE prompt were bind-mounted straight from the host on the aimaq stack,
bypassing git and CI entirely since they were first hand-edited in prod.

voice.py: merged the host's live business logic (gas/aimaq domain keyword
list, off-domain Kazakh/Russian replies, disabled re-correction of an already
obtained name) with the timeout_seconds fix from 09bcf74 that never reached
aimaq because the bind mount blocked it.

aimaq.env.production: replaced the AI_OPERATOR_* env values (which were never
interpolated -- {agent_name}/{company_name} would have been read literally)
with the final resolved Zhanna/Kazakgaz Aimaq text including the DOMAIN SCOPE
clause, matching what was actually live on the host.
2026-08-30 07:45:35 +00:00
arys 82c89eff5a feat: give aimaq voice AI a Qazaqgaz Aimaq persona (Zhanna) and language-choice greeting
Parametrize ai_operator_default_config() via AI_OPERATOR_* env vars,
falling back to the existing hardcoded defaults so the other two stacks
(call-center, sales-call-center) that share this code are unaffected.

Set aimaq-only overrides matching the client-provided script (Скрипт
ии-оператора КГА.docx): agent renamed to Жанна, company to Казакгаз
Аймак, the voice greeting now asks the caller whether Russian or
Kazakh is more convenient before anything else, and the base system
prompt instructs the model to commit to whichever language the caller
picks for the rest of the call, ask how to address them, and confirm
there's nothing else before saying goodbye.
2026-08-30 12:22:00 +05:00
Hermes Agent 8c131440fc config: route voice_lab_ai / ivr_aimaq_ai_ru queues through L2 agent pool
deploy / deploy (push) Successful in 28s
Enables the new Routing Engine for the Tele2 Kazgaz DID +77476456048
(lands on queue 7100/voice_lab_ai): AI handoff now reserves a real L2
agent from the pool instead of the static extension redirect.
2026-08-29 13:37:30 +05:00
didar 6ef2e6b81f fix: update ElevenLabs voice IDs for Russian and Kazakh languages
deploy / deploy (push) Successful in 31s
2026-08-29 13:36:27 +05:00
didar 09bcf7457c feat: add AI_VOICE_AI_TIMEOUT_SECONDS for configurable voice timeout
deploy / deploy (push) Successful in 30s
2026-08-29 00:50:08 +05:00
didarandClaude Sonnet 5 b8c922c9cf fix: revert AI_VOICE_V2_STREAMING_TTS to disabled
deploy / deploy (push) Successful in 28s
Streaming TTS caused poor voice quality in live testing on Creator
plan too — not just a quota-era fluke. Reverting to non-streaming
synthesis until the root cause is understood.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-29 00:39:46 +05:00
didar 26d718b0ae feat: enable streaming TTS for improved voice interaction
deploy / deploy (push) Successful in 30s
2026-08-29 00:29:44 +05:00
didar d9437d8b21 feat: update ElevenLabs API keys and voice IDs for improved ASR and TTS functionality
deploy / deploy (push) Successful in 32s
2026-08-28 23:45:34 +05:00
didar b474c35608 feat: enhance acknowledgment responses for Kazakh and Russian languages
deploy / deploy (push) Successful in 33s
2026-08-28 15:12:19 +05:00
didarandClaude Sonnet 5 fadff59512 feat: reduce VAD trailing silence for faster voice bot response
deploy / deploy (push) Successful in 30s
Lower AI_VOICE_VAD_TRAILING_SILENCE_MS from 500 to 350 so the bot
starts responding sooner after the caller stops speaking.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-25 16:59:00 +05:00
didarandClaude Sonnet 5 7f03b26ef6 feat: switch ElevenLabs RU/KK voice to softer, younger female voice
deploy / deploy (push) Successful in 2m50s
Swap RU and KK TTS voice IDs to "Nataly Mi Soft voice" — a soft,
gentle, young female voice verified for Russian on eleven_turbo_v2_5.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-25 16:23:44 +05:00
didar 953268e1b8 feat: update ElevenLabs RU voice ID for improved TTS performance
deploy / deploy (push) Successful in 31s
2026-08-25 02:09:48 +05:00
didar f9793dc5f4 feat: enable emotive acknowledgments and update ElevenLabs TTS model ID for enhanced audio responses
deploy / deploy (push) Successful in 30s
2026-08-25 02:00:26 +05:00
didar 7ddc965292 fix: disable AI_VOICE_V2_STREAMING_TTS for improved stability
deploy / deploy (push) Successful in 30s
2026-08-25 01:50:31 +05:00
didar 2ea6e6f4bb feat: update AI voice settings for improved responsiveness and pacing
deploy / deploy (push) Successful in 31s
2026-08-25 01:42:10 +05:00
didar 6ccdaf9167 feat: update ElevenLabs TTS model ID and add prebuffering for improved audio streaming
deploy / deploy (push) Successful in 31s
2026-08-25 01:20:52 +05:00
didar 70ec9ab384 feat: retrieving back ElevenLabs TTS model ID to eleven_flash_v2_5
deploy / deploy (push) Successful in 30s
2026-08-25 01:09:26 +05:00
didar c399296165 feat: implement no-speech reprompt functionality with configurable parameters
deploy / deploy (push) Successful in 33s
2026-08-24 14:17:00 +05:00
didarandClaude Sonnet 5 75d9ed85a7 fix: force narrowband slin on AI audiosocket channel
deploy / deploy (push) Successful in 31s
AudioSocket was delivering 16kHz audio despite the telecom-kz trunk being
codec-restricted to alaw/ulaw, causing the 8k->16k ASR resample to double
an already-16kHz stream to an effective 32kHz labeled as 16000 Hz -
audible as slow, deep-pitched, unintelligible speech. Force
audioread/writeformat=slin before AudioSocket() so the channel always
delivers narrowband 8kHz, matching every rate assumption in the runtime.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-23 15:42:01 +05:00
didar c590528694 feat: add debug audio dump functionality for ElevenLabs ASR provider
deploy / deploy (push) Successful in 30s
2026-08-23 13:38:56 +05:00
didar 206b0bafe0 feat: update real-time commit strategy for ElevenLabs ASR to VAD
deploy / deploy (push) Successful in 30s
2026-08-23 13:05:58 +05:00
Codex 6d9b0ce98a feat: add aimaq production env file (TTS/ASR/LLM config in git)
deploy / deploy (push) Successful in 29s
2026-08-21 13:37:25 +00:00
didar ffa779ffa0 Move ai-voice-runtime-service host port off 9019 to avoid cross-tenant conflict
deploy / deploy (push) Canceled after 24h48m11s
A separate deployment on the same host (aimaq-call-center) already binds
127.0.0.1:9019, so this project's ai-voice-runtime-service could never
start there. Remap the host side to 9024 and point Asterisk's
AudioSocket target at the new port; the container still listens on 9019
internally.
2026-08-20 23:22:16 +05:00
arys f53af1f7dc sales fix 2026-05-09 09:16:06 +05:00
Yera All 770ba4e925 feat(voice): add elevenlabs realtime streaming asr 2026-04-18 20:15:44 +05:00
Yera All 25480fc903 fix(deploy): allow voice provider env overrides 2026-04-18 18:43:36 +05:00
Yera All feb0ce01e2 fix(asterisk): update telecom route and recording fallback 2026-04-17 12:16:51 +05:00
Yera All f66b289371 feat(voice): add Yandex streaming ASR 2026-04-17 01:06:45 +05:00
Yera All 5d40cfafd8 feat(voice): switch voice ASR to Yandex SpeechKit 2026-04-17 00:53:20 +05:00
Yera All 213057efeb Revert "feat(asterisk): add telecom.kz IP trunk for DID 87273901485"
This reverts commit 436821737e.
2026-04-16 01:27:34 +05:00
Yera AllandClaude Opus 4.6 436821737e feat(asterisk): add telecom.kz IP trunk for DID 87273901485
Wires the production number 87273901485 (SIP account 86205414@sip.telecom.kz)
into the voice stack as a no-registration IP trunk. Inbound INVITEs are
identified by source IP 92.46.61.21 and routed straight into the AI-first
entrypoint (7100), with the existing AudioSocket -> live operator fallback
preserved.

The Asterisk container was also never started by the source-based CI deploy
(only the registry-based path brought it up). Patch scripts/deploy_gitlab.sh
to also run docker-compose.asterisk.server.yml so the voice channel stays in
sync with the rest of the platform on every push to the default branch.

- deployment/asterisk/pjsip.conf: add telecom-kz aor/auth/endpoint/identify
- deployment/asterisk/entrypoint.sh: inject ASTERISK_TELECOM_KZ_PASSWORD
- deployment/asterisk/extensions.conf: new [from-telecom] context -> 7100
- .env.production.template: document ASTERISK_TELECOM_KZ_PASSWORD
- scripts/deploy_gitlab.sh: also bring up the asterisk compose file

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 01:19:06 +05:00
Yera All 6b8f5d069b feat(ai): add rolling conversation summary memory 2026-04-13 11:59:43 +05:00
Yera All a5b402f329 fix(deploy): pass sidecar app module at container runtime 2026-04-12 14:26:24 +05:00
Yera All 9386b8f9b9 feat(voice): add streaming asr sidecar for v2 duplex 2026-04-12 01:38:30 +05:00
Yera All b75b76fae6 feat(voice): add duplex streaming v2 pipeline 2026-04-11 17:38:21 +05:00
Yera All 05dc31855d feat(voice): add controlled emotive ack layer 2026-04-11 02:14:53 +05:00
Yera All c39fad7e2d feat(voice): add phase 1.1 partial asr fast ack 2026-04-11 01:24:21 +05:00
Yera All 1ff8fd7102 docs: recreate documentation structure with updated specs 2026-04-06 23:19:24 +05:00
Your Name 6cebd8216c Automate source deployment on main 2026-04-04 03:10:08 +05:00
Yera All 5374c202d9 Initial import with GitLab CI/CD and registry deploy flow 2026-04-02 17:05:45 +05:00