{{ snack.type==='success'?'✓':snack.type==='error'?'✕':'ℹ' }} {{ snack.msg }}
🏢

Portaria AI

Painel de Gerenciamento

{{ loginError }}

Portaria AI v2.0 · SuportTech IA

{{ b.label }}

{{ pageTitle }}

AMI Redis
{{ now }}

Dashboard

{{ currentUser.role==='superadmin' ? 'Visão geral do sistema' : 'Visão geral do seu condomínio' }}

{{ s.icon }}
{{ stats[s.key] ?? '—' }}
{{ s.label }}
Chamadas por dia
Últimos {{ chartDays }} dias
Decisões
Distribuição total
Chamadas recentes
📋
Nenhuma chamada registrada ainda
Data/Hora Condomínio Visitante Apartamento Morador Decisão
{{ fmtDate(l.created_at) }} {{ l.client_name || '—' }} {{ l.visitor_name || '—' }} {{ l.destination_apt || '—' }} {{ l.resident_name || '—' }} {{ decisionLabel(l.decision) }}

Condomínios

{{ clients.length }} condomínio(s) cadastrado(s)

🏢
Nenhum condomínio cadastrado
{{ c.name }}
{{ c.slug }}
📷 {{ c.active?'Ativo':'Inativo' }}
{{ c.extension_count }}
Ramais
{{ c.resident_count }}
Moradores
{{ c.calls_today }}
Hoje
🤖{{ c.ai_name }} 📞{{ c.portaria_extension || '—' }}
🏢
{{ currentClient.name }}
{{ currentClient.slug }} · IA: {{ currentClient.ai_name }}
📊 Visão Geral
👥 Moradores
📞 Ramais
📷 Câmeras
⚙️ Configurações
{{ s.icon }}
{{ clientStats[s.key] ?? '—' }}
{{ s.label }}
Últimas chamadas
Sem chamadas registradas
Data/HoraVisitanteAptoMoradorDecisão
{{ fmtDate(l.created_at) }} {{ l.visitor_name || '—' }} {{ l.destination_apt || '—' }} {{ l.resident_name || '—' }} {{ decisionLabel(l.decision) }}
{{ residents.length }} morador(es)
👤
Nenhum morador cadastrado
NomeApartamentoRamalTelefoneModo
{{ r.name }} Apto {{ r.apartment }} {{ r.extension_number || '—' }} {{ r.phone || '—' }} CallbackDireto
📡
Configuração SIP para Dispositivos
Use estas informações para configurar softphones e interfones IP
Servidor SIP (IP)
{{ sipInfo.host || '—' }}
IP público do PBX
DNS / FQDN
{{ sipInfo.dns || sipInfo.domain || sipInfo.host || '—' }}
Use o DNS OU o IP acima
Porta SIP
5060 (UDP)
Protocolo padrão SIP/UDP
Registro / Outbound Proxy
{{ sipInfo.dns || sipInfo.host || '—' }}:5060
Servidor de registro SIP
Hikvision DS-KH6110-WE1: Em Rede → SIP, configure o Servidor SIP com o DNS acima (pbx.suporttechcuritiba.com.br) ou o IP, porta 5060. Usuário SIP = número do ramal, senha = coluna abaixo.
Abertura de porta: O sistema envia DTMF # automaticamente ao autorizar acesso. Verifique em Configurações → Intercomunicador → Controle Remoto que o código de abertura é #.
⚠️
Atenção: Hikvision DS-KH6110-WE1
A tela 6110 da Hikvision apresenta problemas para esse tipo de projeto (falha intermitente no áudio ao atender chamadas da Portaria AI). Recomendamos não utilizar esse modelo — prefira um telefone IP padrão ou outro modelo de intercomunicador para o ramal do morador.
{{ extensions.length }} ramal(is)
📞
Nenhum ramal cadastrado
NúmeroLabelTipoSenha SIPStatus
{{ e.number }} {{ e.label }} {{ e.ext_type==='portaria'?'Portaria':'Resid.' }} {{ e.password }} {{ e.registered ? 'Registrado' : 'Offline' }}
📷
Plano Câmeras RTSP Ativo
Configure a URL RTSP de cada câmera/dispositivo para transmissão ao vivo durante chamadas.
RamalLabelURL RTSPStatus
{{ e.number }} {{ e.label }} Configurado Sem câmera
ℹ️ Em breve: Quando o morador receber a chamada da portaria, poderá ver o vídeo ao vivo da câmera diretamente no aplicativo. A integração WebRTC/RTSP estará disponível na próxima versão.
Configurações do Condomínio

Usuários do Sistema

Gerencie acesso de administradores

👤
Nenhum usuário encontrado
UsuárioEmailPerfilCondomínioÚltimo acessoStatus
{{ u.username?.[0]?.toUpperCase() }}
{{ u.username }}
{{ u.email || '—' }} {{ u.role==='superadmin'?'Super Admin':'Admin' }} {{ u.client_name || '—' }} {{ u.last_login ? fmtDate(u.last_login) : 'Nunca' }} {{ u.active?'Ativo':'Inativo' }}

Histórico de Chamadas

{{ logsTotal }} registros encontrados

Chamadas filtradas por dia
📋
Nenhuma chamada encontrada
Data/Hora Condomínio Visitante Apartamento Morador Motivo Decisão
{{ fmtDate(l.created_at) }} {{ l.client_name || '—' }} {{ l.visitor_name || '—' }} {{ l.destination_apt || '—' }} {{ l.resident_name || '—' }} {{ l.reason || '—' }} {{ decisionLabel(l.decision) }}
Página {{ logPage }} de {{ Math.ceil(logsTotal/logPageSize) }}

Configurações do Sistema

Chaves de API, conexão Asterisk e status

Status do Sistema
Asterisk AMI
{{ health.ami ? 'Conectado e funcional' : 'Desconectado — verifique configurações' }}
Redis Cache
{{ health.redis ? 'Operacional' : 'Indisponível' }}
Chaves de API
Integrações de IA e voz
Conexão Asterisk/Issabel
Configurações do PBX
Alterar Minha Senha

VPN / Rede Privada

WireGuard — 10.200.1.0/24 — dispositivos em rede interna sem redirecionamento de portas

{{ vpnPeers.filter(p=>p.connected).length }}
Dispositivos Online
{{ vpnPeers.length }}
Total de Peers
10.200.1.1
Servidor VPN (SuportTech)
Peers da Rede VPN
StatusDispositivoIP VPNEndpoint Real Último HandshakeRX / TX
{{ p.connected ? 'Online' : 'Offline' }}
{{ p.label || '(sem nome)' }}
{{ p.pubkey.substring(0,20) }}...
{{ p.vpn_ip || '—' }} {{ p.endpoint || '—' }} {{ vpnFormatHandshake(p.latest_handshake) }} {{ vpnFormatBytes(p.rx_bytes) }} / {{ vpnFormatBytes(p.tx_bytes) }}
Nenhum peer cadastrado
Endereços Fixos da Infraestrutura
Servidor VPN (SuportTech): 10.200.1.1 — 204.157.108.4
Gateway LAN do Condo: 10.200.1.2 → 10.10.1.0/24
Portaria AI (API): 10.200.1.3 — 104.234.200.93
Issabel PBX: 10.200.1.4 — 38.210.209.51
💡 Para usar ISAPI ou RTSP de um dispositivo, configure o IP VPN dele no campo URL do painel de cada condomínio. Exemplo: http://10.10.1.233/ISAPI/AccessControl/RemoteControl/door/0