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>
This commit is contained in:
Yera All
2026-04-16 01:19:06 +05:00
co-authored by Claude Opus 4.6
parent 0d7e833a0d
commit 436821737e
5 changed files with 82 additions and 0 deletions
+18
View File
@@ -8,6 +8,7 @@ DEPLOY_DIR="${DEPLOY_DIR:-/home/gitlab-runner/deploy/call-center}"
APP_IMAGE_NAME="${APP_IMAGE_NAME:-call-center-app}"
APP_IMAGE_TAG="${APP_IMAGE_TAG:-${CI_COMMIT_SHORT_SHA:-latest}}"
COMPOSE_FILE="${COMPOSE_FILE:-$DEPLOY_DIR/deployment/docker-compose.server.yml}"
ASTERISK_COMPOSE_FILE="${ASTERISK_COMPOSE_FILE:-$DEPLOY_DIR/deployment/docker-compose.asterisk.server.yml}"
HEALTHCHECK_URL="${HEALTHCHECK_URL:-http://127.0.0.1:8080/health}"
HEALTHCHECK_TIMEOUT_SECONDS="${HEALTHCHECK_TIMEOUT_SECONDS:-120}"
@@ -131,3 +132,20 @@ fi
wait_for_health
docker ps --filter "name=^call-center-app$" --format 'table {{.Names}}\t{{.Image}}\t{{.Status}}'
# ---------------------------------------------------------------------------
# Asterisk PBX container.
#
# The asterisk compose file is kept separate because it uses network_mode:host
# and a dedicated Dockerfile. Source-based deploy now also brings it up so the
# voice channel (SIP trunks, WebRTC softphones) stays in sync with the rest of
# the platform on every push to the default branch.
# ---------------------------------------------------------------------------
if [[ -f "$ASTERISK_COMPOSE_FILE" ]]; then
echo "Deploying Asterisk PBX via $ASTERISK_COMPOSE_FILE"
"${COMPOSE_CMD[@]}" -f "$ASTERISK_COMPOSE_FILE" config -q
"${COMPOSE_CMD[@]}" -f "$ASTERISK_COMPOSE_FILE" up -d --build --force-recreate
docker ps --filter "name=^call-center-asterisk$" --format 'table {{.Names}}\t{{.Image}}\t{{.Status}}'
else
echo "Asterisk compose file not found at $ASTERISK_COMPOSE_FILE, skipping" >&2
fi