Ir para o conteúdo

Supervisor web (PHP)

Visão geral

Interface web Lorentz CTI Supervisor (supervisor/):

  • PHP 8.2.26 + Apache (container php:8.2.26-apache-bookworm)
  • SQL Server via sqlsrv / ADODB
  • Comandos CTI via TCP 3000 → LorentzCTI
  • Módulos: CTI, SAC, relatórios, PowerDialing

Deploy

cd ~/lorentz-vps-stack
./scripts/render-config.sh
docker compose up -d --build supervisor

URL: http://<IP>:8080/ (porta definida em SUPERVISOR_HTTP_PORT).

Estrutura montada no container

/var/www/html/          ← ../supervisor (bind mount)
/var/www/html/att_config.php          ← config/runtime (ro)
/var/www/html/api/att_config.php      ← config/runtime (ro)
/var/lorentz/LorentzCTI.ini           ← config/runtime (ro)
/var/www/html/uploads/                ← volume persistente
/var/www/html/log/                    ← volume persistente

Configuração

att_config.php

Gerado de config/templates/att_config.php.template:

Constante Descrição
EW_SQLSERVER sqlserver (hostname Compose)
EW_SQLSERVER_DB LorentzCTI
EW_PHOENIX_SERVER lorentz-cti
EW_PHOENIX_PORTA 3000
EW_SERVER_URL URL pública Supervisor

Sincronizar api/att_config.php

O script render-config.sh copia o mesmo arquivo para api/att_config.php.

API JWT

Edite manualmente supervisor/api/config.php:

  • JWT_SECRET — trocar em produção
  • CORS_ALLOWED_ORIGINS — restringir domínio

Login

Usuários em SAC_FUNCIONARIO (SQL Server), autenticação MD5 legada.

Usuário admin de emergência: constantes EW_ADMIN_* em att_config.php.

Composer (se necessário)

cd ~/omnichannel/supervisor
composer install --no-dev
cd api && composer install --no-dev

Dependências já podem existir em vendor/.

Permissões

O entrypoint ajusta uploads/ e log/ para www-data.

Validação

curl -sI http://127.0.0.1:8080/login.php
docker exec lorentz-supervisor curl -sI http://127.0.0.1/login.php
docker compose logs supervisor

Integração Phoenix (TCP 3000)

Supervisor envia pacotes STX/ETX via Telnet — exemplos em att_ajax.php:

chr(3) + "26;" + ... + chr(7)   # captura chamada

Requer LorentzCTI escutando na porta 3000 e resolvível como lorentz-cti dentro da rede Docker.

Teste de conectividade do container Supervisor

docker exec lorentz-supervisor bash -c 'timeout 2 bash -c "</dev/tcp/lorentz-cti/3000" && echo OK'

ConfigServer (INI centralizado)

Alternativa documentada em supervisor/docs/CONFIGSERVER-README.md:

  • INI em /var/lorentz/LorentzCTI.ini (já montado)
  • Incluir configserver.php no fluxo se migrar de att_config.php

Documentação adicional

  • 16-atualizacao-supervisor-web.mdalterações no código PHP e patch para suporte
  • supervisor/README.md
  • supervisor/docs/DEPLOYMENT.md
  • supervisor/docs/INSTALLATION.md
  • supervisor/docs/02_cti_integration.md

Gap conhecido

att_phoenix.php é referenciado em vários módulos mas pode estar ausente do repositório — funções PowerDialing avançadas podem depender desse arquivo proprietário.