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>
- Remove duplicate function definitions with hardcoded "AI-оператор" strings
(ai_voice_runtime, ai_orchestrator, voice_name_config, voice.py)
- Remove unreachable dead code after return in ai_voice_runtime
- Add SQL LIMIT to 17 unbounded queries across 12 services to prevent OOM
- Move Python-side filtering to SQL WHERE in reporting_service
- Downgrade 19 logger.warning to logger.info for normal-flow events in media_runtime
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When a new voice session starts and the customer already has a trusted
display_name on file (e.g. from a previous call), automatically set
name_status to 'name_obtained' so the AI greets them by name instead
of asking again.