Guia de Operações
📖 Voltar à Documentação Principal
Este documento cobre os recursos de monitoramento e gerenciamento operacional disponíveis no Painel de Controle.
Documentação Relacionada
Documentação Principal
- 📋 README Principal - Visão geral e início rápido
- 🔧 Guia de Configuração - Referência de configuração do sistema
- 📊 Referência de Métricas - Métricas e monitoramento do Prometheus
Ferramentas de Monitoramento e Teste
- 🧪 HLR & Simulador de Chamadas - Ferramentas de teste para HLR e simulação de chamadas
- 👥 Servidor de Conferência IMS - Gerenciamento e monitoramento de conferências
- 📈 Métricas de Dialplan - Métricas específicas de dialplan
Processamento de Chamadas e Serviços
- 🔀 Configuração de Dialplan - Referência de roteamento de chamadas e dialplan
- 👥 Interface Sh - Teste de dados de assinantes
- 💳 Cobrança Online - Teste de OCS
- 🔢 Tradução de Números - Teste de tradução de números
- 📞 Correio de Voz - Gerenciamento de correio de voz
Interfaces de Integração
- 📡 SS7 MAP - Teste HLR/MAP
- ⚙️ Serviços Suplementares - Chamadas de emergência, encaminhamento de chamadas
Operações
Esta seção cobre os recursos de monitoramento e gerenciamento operacional disponíveis no Painel de Controle do OmniTAS.
Índice
- Visão de Assinantes
- Registros de Detalhes de Chamadas (CDR)
- Monitoramento de Chamadas Ativas
- Servidor de Conferência IMS
- Status do Gateway
- Status do Par Diameter
- Visualizador de Logs
- Banco de Dados de Torres de Celular
- Simulador de Chamadas
- Teste HLR/MAP
- Outras Visões
Visão de Assinantes
A visão de Assinantes fornece monitoramento em tempo real das inscrições de assinantes IMS armazenadas no banco de dados de registro SIP Sofia.
Acesso: Navegue até /subscribers no Painel de Controle
Recursos
- Lista de Inscrições: Veja todas as inscrições de assinantes ativas
- Detalhes da Inscrição: Clique em qualquer inscrição para ver detalhes completos, incluindo:
- Usuário SIP e Realm
- URI de Contato
- Status e expiração da inscrição
- Informações da rede (IP, porta, nome do host)
- Detalhes de autenticação
- Localização da torre de celular (quando disponível via P-Access-Network-Info)
- MCC/MNC, Tipo de Rádio, TAC/LAC, ID da Célula
- Coordenadas geográficas e faixa de cobertura
- Visualização de mapa interativo alimentada por dados do OpenStreetMap e OpenCellID
Fonte de Dados
Os dados de registro são consultados diretamente do banco de dados de registro Sofia, proporcionando visibilidade em tempo real sobre o status de anexação dos assinantes. As localizações das torres de celular são resolvidas usando o banco de dados OpenCellID quando os assinantes fornecem cabeçalhos P-Access-Network-Info em suas mensagens SIP REGISTER.
Casos de Uso
- Monitorar inscrições de assinantes ativas
- Verificar o status de anexação do assinante
- Solucionar problemas de inscrição
- Auditar a conectividade do assinante
Registros de Detalhes de Chamadas (CDR)
A visão CDR fornece acesso aos registros de detalhes de chamadas armazenados pelo TAS para fins de faturamento, solução de problemas e análise.
Acesso: Navegue até /cdr no Painel de Controle
Recursos
- Visualização Pagina: Navegue pelos registros de chamadas (100 por página com controles Anterior/Próximo)
- Busca Avançada: Busca poderosa com suporte para correspondência exata, inversa/exclusão e múltiplos termos
- Seleção de Colunas: Personalize quais campos exibir
- Clique no botão "Colunas" para abrir o modal de seleção de colunas
- Selecione/deselecione colunas individuais
- Ações rápidas Selecionar Tudo / Deselecionar Tudo
- A seleção persiste entre sessões (salva no localStorage do navegador)
- Mostra contador "X / Y colunas"
- Colunas Ordenáveis: Clique em qualquer cabeçalho de coluna para ordenar (crescente/decrescente)
- Indicadores visuais (▲ crescente, ▼ decrescente)
- Coluna ordenada destacada em azul
- Reseta para a página 1 quando a ordenação muda
- Múltiplas Opções de Filtro:
- Busca de Texto: Pesquise em todos os campos com operadores avançados
- Filtro de Intervalo de Datas: Filtre por data e hora de início/fim (seletor de data/hora)
- Filtro Específico de Campo: Filtre por valor exato de campo (causa de desligamento, ID do chamador, destino, contexto)
- Exibição de Filtro Ativo: Chips visuais mostram filtros atualmente ativos
- Limpar Tudo: Remoção com um clique de todos os filtros ativos
- Informações Detalhadas: Clique em qualquer linha de CDR para expandir e ver todos os campos:
- Partes da chamada (nome/número do ID do chamador, número de destino)
- Carimbos de data/hora (início, resposta, fim)
- Duração e segundos faturados
- Causa do desligamento (codificada por cor: verde=normal, amarelo=cancelado, vermelho=erro)
- UUIDs da chamada (perna A e perna B)
- Código de contexto e conta
- Todos os campos disponíveis no banco de dados em ordem alfabética
- Causas de Desligamento Codificadas por Cor:
- 🟢 Verde:
NORMAL_CLEARING - 🟡 Amarelo: Chamadas canceladas
- 🔴 Vermelho: Condições de erro
- 🟢 Verde:
- Contagem Total: Exibição em tempo real do total de registros correspondentes
- Layout Responsivo: Filtros se ajustam adequadamente em telas menores
Como Usar
-
Visualização Básica:
- A página carrega com os últimos 100 registros CDR (ordenados por
start_stampem ordem decrescente) - A contagem total de registros é mostrada no canto superior direito
- Use os botões Anterior / Próximo para navegar entre as páginas
- Clique em qualquer linha para expandir e ver todos os campos
- A página carrega com os últimos 100 registros CDR (ordenados por
-
Personalizar Colunas:
- Clique no botão "Colunas" no canto superior direito
- O modal mostra todos os campos disponíveis
- Marque/desmarque campos para mostrar/ocultar colunas
- Use "Selecionar Tudo" ou "Deselecionar Tudo" para seleção rápida
- As configurações são salvas automaticamente no navegador
- Feche o modal para aplicar as alterações
-
Ordenar Dados:
- Clique em qualquer cabeçalho de coluna para ordenar por aquele campo
- Primeiro clique: Decrescente (▼)
- Segundo clique: Crescente (▲)
- Terceiro clique: Volta para decrescente
- Coluna ordenada destacada em azul
-
Pesquisar Registros:
- Digite a consulta de pesquisa na caixa "Pesquisar"
- Suporta operadores avançados (veja a Sintaxe de Pesquisa abaixo)
- Pesquisa em vários campos:
caller_id_number,destination_number,uuid,caller_id_name,hangup_cause - Clique em "Aplicar" para executar a pesquisa
-
Filtrar por Intervalo de Datas:
- Use os seletores de data/hora "Data de Início" e "Data de Fim"
- Ambas as datas são necessárias para filtragem por data
- Suporta seleção de data e hora
- Clique em "Aplicar" para filtrar
-
Filtrar por Campo Específico:
- Selecione o campo no dropdown "Selecionar Campo para Filtrar":
- Causa do Desligamento
- ID do Chamador
- Destino
- Contexto
- Digite o valor exato em "Digite o Valor do Filtro"
- Clique em "Aplicar" para filtrar
- Selecione o campo no dropdown "Selecionar Campo para Filtrar":
-
Combinar Filtros:
- Todos os filtros podem ser usados simultaneamente:
- Busca de texto + Intervalo de datas + Filtro de campo funcionam juntos
- Filtros ativos são mostrados como chips abaixo do formulário de filtro
- Clique em "Limpar Tudo" para remover todos os filtros de uma vez
- Todos os filtros podem ser usados simultaneamente:
-
Ver Detalhes:
- Clique em qualquer linha de CDR para expandir
- Mostra todos os campos do banco de dados em um layout de grade
- Campos exibidos em ordem alfabética
- Causa do desligamento codificada por cor para identificação rápida
- Clique na linha novamente para colapsar
Sintaxe de Pesquisa Avançada
A caixa de pesquisa suporta uma sintaxe de consulta poderosa para filtragem precisa de registros em vários campos simultaneamente.
Como a Pesquisa Funciona:
O mecanismo de pesquisa verifica todos os campos pesquisáveis em cada registro CDR. Um registro é incluído nos resultados quando corresponde aos seus critérios de pesquisa em qualquer desses campos:
caller_id_numberdestination_numberuuidcaller_id_namehangup_cause
Operadores de Pesquisa (podem ser combinados):
-
Pesquisa Contém (padrão):
- Sintaxe:
termo(sem aspas) - Corresponde: Registros onde qualquer campo contém o termo em qualquer lugar dentro dele
- SQL: Usa
LIKE '%termo%'em todos os campos pesquisáveis unidos comOR - Exemplo:
61480corresponde a "61480123456", "55561480999", etc.
- Sintaxe:
-
Correspondência Exata:
- Sintaxe:
"termo"(com aspas duplas) - Corresponde: Registros onde qualquer campo é exatamente igual ao termo
- SQL: Usa
= 'termo'em todos os campos pesquisáveis unidos comOR - Exemplo:
"911"corresponde apenas exatamente a "911", não a "9115" ou "1911"
- Sintaxe:
-
Inverso/Excluir:
- Sintaxe:
!termo(prefixo de exclamação, sem aspas) - Corresponde: Registros onde nenhum campo contém o termo
- SQL: Usa
NOT LIKE '%termo%'em todos os campos pesquisáveis unidos comAND - Exemplo:
!NORMALexclui qualquer registro com "NORMAL" em qualquer campo
- Sintaxe:
-
Inverso Exato/Excluir:
- Sintaxe:
!"termo"(exclamação + aspas duplas) - Corresponde: Registros onde nenhum campo é exatamente igual ao termo
- SQL: Usa
!= 'termo'em todos os campos pesquisáveis unidos comAND - Exemplo:
!"NORMAL_CLEARING"exclui registros onde qualquer campo é exatamente "NORMAL_CLEARING"
- Sintaxe:
-
Múltiplos Termos com AND:
- Sintaxe:
termo1 AND termo2(AND sem distinção entre maiúsculas e minúsculas) - Corresponde: Registros que correspondem a todos os termos (cada termo pode corresponder a campos diferentes)
- Cada termo é processado com seu próprio operador (aspas, !, etc.)
- Termos são combinados com
ANDem SQL - Exemplo:
"911" AND "12345"encontra registros com "911" em um campo E "12345" em outro
- Sintaxe:
Lógica de Execução da Pesquisa:
Para cada registro CDR:
Para pesquisa normal (sem !):
- Verifique se QUALQUER campo contém/igual ao termo → Inclua se VERDADEIRO
- SQL: field1 LIKE '%termo%' OR field2 LIKE '%termo%' OR ...
Para pesquisa inversa (!):
- Verifique se TODOS os campos NÃO contêm/igual ao termo → Inclua se VERDADEIRO
- SQL: field1 NOT LIKE '%termo%' AND field2 NOT LIKE '%termo%' AND ...
Para pesquisas AND:
- Cada termo é avaliado separadamente
- Todas as condições de termos devem ser VERDADEIRAS → Inclua se VERDADEIRO
- SQL: (condições_termo1) AND (condições_termo2) AND ...
Exemplos de Pesquisa Complexa:
| Consulta | Como Funciona | Resultado |
|---|---|---|
61480 | Pesquisa contém em todos os campos | Todos os registros com "61480" em qualquer lugar (chamador, destino, UUID, etc.) |
"911" | Correspondência exata em todos os campos | Registros onde qualquer campo é exatamente "911" |
!NORMAL_CLEARING | Pesquisa inversa contém | Exclui registros com "NORMAL_CLEARING" em QUALQUER campo (chamadas falhadas) |
!"NORMAL_CLEARING" | Inverso exato | Exclui registros onde qualquer campo é exatamente "NORMAL_CLEARING" |
"911" AND "12345" | Exato "911" E exato "12345" | Registros com ambos os valores (por exemplo, chamador="12345", destino="911") |
!NORMAL AND 61480 | Inverso contém "NORMAL" E contém "61480" | Chamadas não normais envolvendo "61480" |
!"ANSWER" AND !NORMAL | Inverso exato "ANSWER" E inverso contém "NORMAL" | Exclui chamadas atendidas e qualquer coisa com "NORMAL" |
61480 AND !NORMAL_CLEARING | Contém "61480" E inverso contém "NORMAL_CLEARING" | Chamadas falhadas envolvendo "61480" |
Casos de Uso Práticos:
- Encontrar número específico:
61480123456- Pesquisa contém encontra correspondências parciais - Encontrar chamadas de emergência exatas:
"911"- Apenas chamadas para exatamente "911" - Todas as chamadas falhadas:
!NORMAL_CLEARING- Exclui chamadas bem-sucedidas - Chamadas falhadas de um chamador específico:
"61480123456" AND !NORMAL- Combina chamador exato com inverso - Excluir números de teste:
!test AND !demo- Múltiplas pesquisas inversas - Depuração complexa:
61480 AND !"ANSWER" AND !CANCEL- Contém um termo, exclui exatos e parciais outros
Fonte de Dados
Os dados de CDR são consultados diretamente do banco de dados SQLite CDR do TAS.
O esquema pode variar entre implantações com base em requisitos específicos.
Opções de Exportação de CDR
Importante: Os registros CDR podem ser exportados em vários formatos para suportar integração com sistemas de faturamento, plataformas de análise e ferramentas de relatórios.
O esquema do banco de dados CDR e os formatos de exportação são específicos da implantação. Ao configurar seu sistema, solicite os formatos de saída CDR específicos que você precisa ao seu engenheiro de integração. Os formatos de exportação comuns incluem:
- CSV (Valores Separados por Vírgula)
- JSON (para integra�o de API)
- XML
- Acesso direto ao banco de dados
- Exportações formatadas personalizadas
Seu engenheiro de integração pode configurar mecanismos de exportação de CDR adaptados às suas necessidades operacionais e de faturamento.
Casos de Uso
- Solução de Problemas de Chamadas: Pesquise chamadas específicas por número ou UUID para depurar problemas
- Reconciliação de Faturamento: Filtre por intervalo de datas para corresponder a períodos de faturamento
- Análise de Qualidade: Filtre por causa de desligamento para identificar padrões de problemas
- Auditoria de Chamadas de Emergência: Pesquise por "911" para verificar o manuseio de chamadas de emergência
- Suporte ao Cliente: Procure chamadas específicas de clientes por ID do chamador ou destino
- Análise de Padrões: Ordene por duração ou carimbos de data/hora para identificar anomalias
- Conformidade e Registro: Filtros de intervalo de datas para relatórios regulatórios
- Análise de Chamadas Falhadas: Use
!NORMAL_CLEARINGpara encontrar todas as chamadas falhadas - Relatórios Baseados em Contexto: Filtre por contexto para analisar fluxos de chamadas específicos
Configuração
Colunas Visíveis Padrão
Você pode configurar quais campos de CDR são exibidos por padrão na Visualização ao definir cdrs_field_list em seu config/runtime.exs:
config :tas,
cdrs_field_list: [
"caller_id_number",
"destination_number",
"start_stamp",
"duration",
"hangup_cause"
]
Comportamento:
- Se
cdrs_field_listnão estiver definido: Todos os campos de CDR disponíveis são exibidos por padrão - Se
cdrs_field_listestiver definido: Apenas os campos especificados são exibidos por padrão, mas todos os outros campos permanecem disponíveis no seletor de colunas - Se um campo na lista não existir nos dados de CDR, ele será automaticamente ignorado
- Os nomes dos campos podem ser especificados como strings ou átomos
- Os usuários podem selecionar manualmente colunas adicionais do seletor de colunas a qualquer momento
Casos de Uso:
- Defina uma visualização padrão limpa com apenas campos essenciais visíveis
- Reduza a sobrecarga de informações para novos usuários
- Padronize o layout inicial de colunas entre todos os usuários
- Mantenha campos avançados ocultos por padrão, mas ainda acessíveis
Exemplo de Configuração:
# Mostre apenas informações essenciais de chamadas por padrão
cdrs_field_list: [
"start_stamp",
"caller_id_number",
"destination_number",
"duration",
"billsec",
"hangup_cause"
]
Nota: Esta configuração define as colunas visíveis por padrão. Todos os campos de CDR permanecem disponíveis no seletor de "Colunas" - os usuários podem mostrar/ocultar manualmente qualquer campo que precisem.
Acesso à API / Programático
Para análise automatizada de CDR, a API subjacente do Elixir suporta todos os recursos de pesquisa:
# Exemplos de API Elixir
Tas.Cdr.get_filtered_records(search: "911")
Tas.Cdr.get_filtered_records(search: "\"911\"")
Tas.Cdr.get_filtered_records(search: "!NORMAL_CLEARING")
Tas.Cdr.get_filtered_records(search: "\"911\" AND \"12345\"")
Veja lib/cdr/cdr.ex para a documentação completa da API.
Solução de Problemas
Nenhum Resultado Encontrado
- Verifique se há erros de digitação nos termos de pesquisa
- Tente remover aspas para uma pesquisa mais ampla
- Verifique se o termo existe em campos pesquisáveis
- Verifique se o intervalo de datas não é muito restritivo
Muitos Resultados
- Adicione mais termos AND para restringir
- Use correspondência exata com aspas
- Aplique filtros de intervalo de datas
- Use filtros específicos de campo
Resultados Inesperados
- Lembre-se de que a pesquisa se aplica a TODOS os campos pesquisáveis
- Verifique se o termo aparece em um campo inesperado (como UUID)
- Use correspondência exata para evitar correspondências parciais
- Verifique a lógica inversa (AND vs OR)
Dicas
- Seleção de Colunas: Oculte colunas não utilizadas para se concentrar em dados relevantes e melhorar o desempenho
- Combinar Filtros: Use pesquisa + intervalo de datas + filtro de campo juntos para consultas precisas
- Desempenho do Intervalo de Datas: Intervalos de datas mais restritos retornam resultados mais rapidamente para grandes bancos de dados
- Ordenar para Análise: Ordene por duração para encontrar chamadas longas/curtas, ou por carimbo de data/hora para ver padrões de chamadas
- Chips de Filtro Ativo: Use chips visuais para verificar quais filtros estão atualmente ativos
- Configurações Persistentes: Seleções de colunas são salvas por navegador, útil para diferentes tarefas de análise
- Codificação por Cor: Escaneie rapidamente as causas de desligamento - verde é bom, vermelho precisa de investigação
- Detalhes Expansíveis: Clique nas linhas para ver todos os campos sem sobrecarregar a visualização principal
- Operadores de Pesquisa: Domine a sintaxe de pesquisa para filtragem poderosa:
- Use aspas para correspondências exatas:
"911" - Use
!para excluir:!NORMAL_CLEARING - Combine com AND:
"61480" AND !NORMAL
- Use aspas para correspondências exatas:
- Paginação: Lembre-se de que os filtros persistem entre páginas - use a paginação para revisar grandes conjuntos de resultados
Monitoramento de Chamadas Ativas
A visão Chamadas Ativas mostra informações em tempo real sobre chamadas em andamento através do sistema.
Acesso: Navegue até /calls no Painel de Controle
Recursos
- Status em Tempo Real: Visualização ao vivo das sessões de chamadas ativas
- Detalhes da Chamada: Veja variáveis de canal e informações de estado da chamada
- Rastreamento de UUID: Monitore identificadores de chamadas tanto da perna A quanto da perna B
Servidor de Conferência IMS
O Servidor de Conferência IMS fornece capacidades de conferência multiparte em conformidade com os padrões IMS da 3GPP (RFC 4579, RFC 4575, TS 24.147).
Acesso: Navegue até /conference no Painel de Controle
Documentação: Veja o Guia do Usuário do Servidor de Conferência IMS para documentação detalhada
Recursos
- Monitoramento em Tempo Real: Visualização ao vivo de conferências ativas e participantes
- Painel de Estatísticas da Conferência:
- Contagem de conferências ativas
- Total de participantes em todas as conferências
- Contagem de conferências de vídeo
- Contagem de conferências bloqueadas
- Detalhes de configuração do servidor (domínio, MNC/MCC, max participantes)
- Lista de Conferências: Veja todas as conferências ativas com:
- ID da conferência e URI SIP
- Contagem atual de participantes
- Identidade do criador da conferência
- Detalhes da Conferência: Clique em qualquer conferência para expandir e visualizar:
- Informações completas da conferência (estado, status de vídeo, status bloqueado, status de gravação)
- Lista completa de participantes com funções e estados
- Status de vídeo dos participantes
- Ações de Controle da Conferência:
- Bloquear/Desbloquear conferências para controlar o acesso
- Ativar/Desativar vídeo para conferências
- Atualizações de status em tempo real com feedback de ação
- Atualização Automática: Atualização automática configurável (padrão: 5 segundos) para monitoramento em tempo real
Gerenciamento do Console OmniTAS
Todas as operações de conferência também estão disponíveis através do console OmniTAS usando o comando ims_conference:
ims_conference list # Lista todas as conferências ativas
ims_conference info <conf_id> # Mostra detalhes da conferência
ims_conference stats # Mostra estatísticas do servidor
ims_conference lock <conf_id> # Bloqueia uma conferência
ims_conference unlock <conf_id> # Desbloqueia uma conferência
ims_conference video <conf_id> on|off # Controla o vídeo
ims_conference record <conf_id> start|stop # Controla a gravação
ims_conference add <conf_id> <sip_uri> # Adiciona participante
ims_conference remove <conf_id> <uuid> # Remove participante
ims_conference destroy <conf_id> # Termina a conferência
Casos de Uso
- Monitoramento Operacional: Visibilidade em tempo real de conferências ativas e uso de recursos
- Gerenciamento de Capacidade: Monitore contagens de participantes e uso de vídeo para gerenciar largura de banda
- Solução de Problemas: Diagnostique problemas de acesso à conferência, problemas de conexão de participantes
- Controle de Conferência: Bloqueie conferências para privacidade, gerencie vídeo para controlar largura de banda
- Conformidade: Monitore e grave conferências para conformidade regulatória
Conformidade com 3GPP
O servidor de conferência implementa especificações-chave de conferência IMS da 3GPP:
- TS 24.147: Conferência usando subsistema de rede central IM
- RFC 4579: Controle de Chamada SIP - Conferência para Agentes de Usuário
- RFC 4575: Pacote de Evento SIP para Estado de Conferência
- RFC 5239: Estrutura para Conferência Centralizada
Status do Gateway
Monitore o status e a saúde dos gateways/troncos SIP conectados ao TAS.
Acesso: Navegue até /gw no Painel de Controle
Recursos
- Status de Registro: Veja o estado de registro do gateway
- Estatísticas de Chamadas: Acompanhe chamadas de entrada/saída e falhas
- Monitoramento de Ping: Tempos de ping SIP OPTIONS e acessibilidade
- Detalhes do Gateway: Informações completas de configuração e status
Métricas Monitoradas
- Status de registro SIP
- Tempo de ping (tempo médio de resposta SIP OPTIONS)
- Tempo de atividade (segundos desde a reinicialização do perfil)
- Chamadas de Entrada / Chamadas de Saída
- Chamadas Falhadas de Entrada / Chamadas Falhadas de Saída
- Último tempo de ping e frequência
Status do Par Diameter
Monitore a conectividade do par Diameter para interfaces Sh e Ro.
Acesso: Navegue até /diameter no Painel de Controle
Recursos
- Status do Par: Estado de conexão para cada par configurado
- Suporte a Aplicativos: Veja aplicativos Diameter suportados (Sh, Ro)
- Status do Watchdog: Monitoramento do watchdog Diameter
Visualizador de Logs do Sistema
Visualizador de logs unificado em tempo real para logs do Backend do TAS (Elixir) e logs de Processamento de Chamadas do TAS (FreeSWITCH).
Acesso: Navegue até /logs no Painel de Controle
Recursos
- Fluxo de Log Unificado: Veja logs do Backend do TAS e do Processamento de Chamadas em uma única interface
- Atualizações em Tempo Real: Streaming ao vivo de mensagens de log à medida que ocorrem (atualização automática a cada 1 segundo)
- Níveis de Log Codificados por Cor:
- 🟣 Console - Mensagens do console (roxo/magenta)
- 🔴 Alerta/Critico - Problemas urgentes que requerem atenção imediata (vermelho)
- 🟠 Erro - Condições de erro (vermelho claro)
- 🟡 Aviso - Mensagens de aviso (amarelo)
- 🔵 Notícia - Mensagens informativas notáveis (ciano)
- 🔵 Info - Mensagens informativas gerais (azul)
- ⚪ Debug - Registro de depuração/verbose (cinza)
- Insígnias de Fonte:
- 🔵 Backend do TAS - Logs da aplicação Elixir (insígnia azul)
- 🟣 Processamento de Chamadas do TAS - Logs do FreeSWITCH (insígnia roxa)
- Indicadores de Borda Esquerda: Borda esquerda codificada por cor correspondente ao nível de log para escaneamento visual rápido
- Múltiplos Filtros:
- Filtro de Fonte: Todas as Fontes / Backend do TAS / Processamento de Chamadas do TAS
- Filtro de Nível: Todos / Console / Alerta / Crítico / Erro / Aviso / Notícia / Info / Debug
- Busca de Texto: Pesquisa em tempo real por palavras-chave em mensagens de log
- Pausar/Retomar: Congele o streaming de logs para analisar entradas específicas sem perder o contexto
- Limpar Logs: Remova todas as entradas de log atuais da exibição
- Contador de Logs: Mostra logs filtrados vs logs totais (por exemplo, "Mostrando 150 de 500 logs")
- Comportamento de Tail: Mantém as últimas 500 entradas de log para desempenho
- Exibição de Metadados: Nome do arquivo e número da linha para referências de código-fonte (quando disponível)
- Visualização Rolável: Contêiner de altura fixa com rolagem automática para os logs mais recentes
Como Usar
-
Visualização Básica:
- A página carrega com as últimas 500 entradas de log de ambas as fontes
- Os logs aparecem em tempo real à medida que são gerados
- Os logs mais recentes aparecem no topo
- Atualiza automaticamente a cada 1 segundo
-
Filtrar por Fonte:
- Selecione no dropdown "Fonte":
- Todas as Fontes - Mostra logs do Backend do TAS e do Processamento de Chamadas
- Backend do TAS - Apenas logs da aplicação Elixir
- Processamento de Chamadas do TAS - Apenas logs do FreeSWITCH/dialplan
- O filtro é aplicado imediatamente
- Selecione no dropdown "Fonte":
-
Filtrar por Nível de Log:
- Selecione no dropdown "Nível":
- Todos - Mostra todos os níveis de log
- Console até Debug - Mostra apenas aquele nível específico
- Útil para se concentrar em erros ou depurar problemas específicos
- Selecione no dropdown "Nível":
-
Pesquisar por Palavras-chave:
- Digite na caixa "Pesquisar logs..."
- Pesquisa sem distinção entre maiúsculas e minúsculas em mensagens de log
- Filtra em tempo real à medida que você digita
- Combina com filtros de fonte e nível
-
Pausar/Retomar Stream:
- Clique no botão "Pausar" (laranja) para congelar as atualizações de log
- O indicador "PAUSADO" aparece no cabeçalho
- Revise entradas de log específicas sem novos logs interrompendo
- Clique no botão "Retomar" (verde) para reiniciar o streaming ao vivo
-
Limpar Logs:
- Clique no botão "Limpar" (vermelho) para remover todos os logs exibidos
- Limpa tanto os logs do Backend do TAS quanto os logs do Processamento de Chamadas
- Novos logs aparecerão à medida que forem gerados
-
Ler Entradas de Log:
- Carimbo de Data/Hora: Mostra a hora no formato HH:MM:SS.milissegundos
- Insígnia de Fonte: Indica Backend do TAS (azul) ou Processamento de Chamadas (roxo)
- Nível de Log: Nível codificado por cor entre colchetes [ERRO], [INFO], etc.
- Arquivo/Linha: Localização do código-fonte (quando disponível)
- Mensagem: O conteúdo real da mensagem de log
Níveis de Log Explicados
| Nível | Cor | Quando Usado | Exemplo |
|---|---|---|---|
| Console | Roxo | Mensagens específicas do console | Saída de console de alta prioridade do FreeSWITCH |
| Alerta | Vermelho | Ação imediata necessária | Falha de componente do sistema |
| Crítico | Vermelho | Condições críticas | Conexão com o banco de dados perdida |
| Erro | Vermelho Claro | Condições de erro | Falha ao processar chamada, configuração inválida |
| Aviso | Amarelo | Condições de aviso | Função obsoleta usada, tentativa de nova |
| Notícia | Ciano | Eventos normais notáveis | Configuração recarregada, serviço iniciado |
| Info | Azul | Mensagens informativas | Chamada conectada, solicitação Diameter enviada |
| Debug | Cinza | Mensagens de nível de depuração | Entrada/saída de função, valores de variável |
Casos de Uso
- Solução de Problemas em Tempo Real: Monitore logs durante chamadas ativas para depurar problemas
- Investigação de Erros: Filtre por níveis de Erro/Critico para encontrar problemas
- Análise de Fluxo de Chamadas: Pesquise por Call-ID ou número de telefone para rastrear o caminho da chamada
- Monitoramento de Desempenho: Observe avisos e erros durante testes de carga
- Depuração de Integração: Filtre Backend do TAS para ver mensagens Diameter/Sh/Ro
- Depuração de Dialplan: Filtre Processamento de Chamadas do TAS para ver roteamento de chamadas do FreeSWITCH
- Monitoramento de Saúde do Sistema: Mantenha logs abertos para observar anomalias
- Desenvolvimento e Teste: Use nível de Debug para ver comportamento detalhado da aplicação
Dicas
- Combinar Filtros: Use Fonte + Nível + Pesquisa juntos para filtragem precisa
- Exemplo: Fonte="Backend do TAS" + Nível="Erro" + Pesquisa="Diameter" → Encontre erros Diameter
- Pausar Antes de Pesquisar: Pause o stream antes de digitar a consulta de pesquisa para evitar rolagem de logs
- Use Debug com Sabedoria: O nível de Debug é verboso - filtre para fonte específica para reduzir ruído
- Escaneamento por Cor: Escaneie rapidamente as bordas esquerdas - bordas vermelhas indicam problemas
- Insígnias de Fonte: Insígnias azuis (Backend) para lógica de aplicativo, Insígnias roxas (Processamento de Chamadas) para chamadas
- Precisão do Carimbo de Data/Hora: Carimbos de milissegundos ajudam a correlacionar eventos entre sistemas
- Referências de Arquivo: Clique/anote referências de arquivo:linha para pular para o código-fonte
- Limpar Regularmente: Limpe logs ao mudar contextos de investigação para clareza
- Pesquisar por UUIDs: Pesquise por Call-ID/UUID para seguir uma chamada específica por todo o sistema
- Pesquisa de Emergência: Pesquise "911" ou "emergência" para encontrar rapidamente o manuseio de chamadas de emergência
Detalhes Técnicos
- Limite de Log: Máximo de 500 logs exibidos (os mais antigos são descartados quando o limite é atingido)
- Taxa de Atualização: Atualização automática a cada 1000ms (1 segundo)
- Pesquisa: Correspondência de substring sem distinção entre maiúsculas e minúsculas no campo de mensagem apenas
- Filtragem Vazia: Filtra automaticamente mensagens de log vazias/placeholders
- Detecção de Fonte: Logs marcados com
:elixirou:freeswitchcomo fonte - Ordenação: Logs ordenados por carimbo de data/hora em ordem decrescente (mais recentes primeiro)
- PubSub: Logs do Elixir entregues via Phoenix PubSub para atualizações em tempo real
- Logs do FreeSWITCH: Coletados via Event Socket Interface (ESI) log listener
Banco de Dados de Torres de Celular
Gerencie e consulte o banco de dados de localização de torres de celular OpenCellID para serviços de emergência e recursos baseados em localização.
Acesso: Navegue até /cell_towers no Painel de Controle
Recursos
- Estatísticas do Banco de Dados: Veja registros totais, cobertura por país/rede
- Pesquisa e Consulta:
- Pesquise por MCC (Código do País Móvel)
- Pesquise por MNC (Código da Rede Móvel)
- Pesquise por tipo de rádio (GSM, UMTS, LTE)
- Pesquise por string de localização
- Gerenciamento do Banco de Dados:
- Importar dados de torres de celular
- Rebaixar o conjunto de dados mais recente do OpenCellID
- Veja o status e progresso da importação
- Resolução de Localização: Resolva IDs de células para coordenadas geográficas
Casos de Uso
- Determinação de localização de chamadas de emergência
- Rastreamento de localização de assinantes (com consentimento)
- Análise de cobertura de rede
- Solução de problemas de questões de localização em roaming
- Manutenção do banco de dados de torres de celular
Fonte de Dados
Os dados de torres de celular são obtidos do OpenCellID (https://opencellid.org/), um projeto colaborativo da comunidade para criar um banco de dados gratuito de localizações de torres de celular em todo o mundo.
Simulador de Chamadas
Ferramenta interativa de simulação de chamadas para testar a lógica do dialplan sem fazer chamadas reais.
Acesso: Navegue até /simulator no Painel de Controle
Documentação Detalhada: Veja doc/HLR_AND_CALL_SIMULATOR.md
Recursos
- Simular Tipos de Chamadas: Teste chamadas MO, MT e de Emergência
- Parâmetros Configuráveis:
- Números de origem e destino
- Endereço IP de origem (para simular SBC/CSCF)
- Forçar disposição específica da chamada
- Ignorar autorização OCS para testes mais rápidos
- Resultados Abrangentes:
- Saída completa de variáveis do dialplan
- Resultados de consulta Sh/HLR
- Resultado de autorização OCS
- Resultados de consulta SS7 MAP (se aplicável)
- XML do dialplan gerado
- Processamento Passo a Passo: Veja cada etapa do processamento da chamada
Casos de Uso
- Testar alterações no dialplan antes da implantação
- Verificar o provisionamento de assinantes
- Depurar problemas de roteamento de chamadas
- Treinar funcionários sobre o fluxo de chamadas
- Validar integração OCS/HLR
- Testar o manuseio de chamadas de emergência
Teste HLR/MAP
Teste operações SS7 MAP, incluindo Send Routing Info (SRI) e Provide Roaming Number (PRN) queries.
Acesso: Navegue até /hlr no Painel de Controle
Documentação Detalhada: Veja doc/HLR_AND_CALL_SIMULATOR.md
Recursos
- Consulta SRI: Teste Send Routing Info para roteamento de chamadas
- Consulta PRN: Teste Provide Roaming Number para assinantes em roaming
- Resultados Reais: Consultas reais ao gateway MAP configurado
- Exibição de Resposta: Veja MSRN, endereço MSC e status de encaminhamento
- Tratamento de Erros: Exibição clara de erros e timeouts do MAP
Casos de Uso
- Verificar conectividade HLR
- Testar alocação de números em roaming
- Depurar roteamento de chamadas para assinantes em roaming
- Validar configuração do gateway MAP
- Solucionar problemas de encaminhamento de chamadas
Teste OCS
Teste operações de Credit-Control-Request (CCR) Diameter Ro (Cobrança Online) diretamente contra seu OCS.
Acesso: Navegue até /ocs_test no Painel de Controle
Recursos
- Tipos de CCR Flexíveis: Envie solicitações INITIAL, UPDATE, TERMINATION ou EVENT
- Simulação de Sessão: Reutilize o mesmo Call ID para simular um ciclo de vida completo da sessão
- Seleção de Tipo de Evento: Teste tanto cobrança SMS (baseada em eventos) quanto chamada (baseada em sessão)
- Controle de Direção: Teste tanto cenários de saída (MO) quanto de entrada (MT)
- Parâmetros Opcionais: Especifique Destination-Host e Username para testes avançados
- Resultados em Tempo Real: Veja respostas completas de CCA (Credit-Control-Answer)
Como Usar
-
Insira Parâmetros de Teste:
- Called MSISDN: O número de destino (por exemplo,
61400123456) - Calling MSISDN: O número de origem (por exemplo,
61400987654) - Tipo de Evento: Escolha
smsoucall- SMS padrão para EVENT_REQUEST (tipo 4)
- Chamada padrão para INITIAL_REQUEST (tipo 1)
- Direção:
outpara MO ouinpara MT
- Called MSISDN: O número de destino (por exemplo,
-
Configurar Tipo de CCR:
- Request-Type: Selecione o tipo de CCR:
1 — INITIAL_REQUEST- Iniciar uma nova sessão2 — UPDATE_REQUEST- Reautorização em meio à sessão3 — TERMINATION_REQUEST- Encerrar a sessão e relatar uso4 — EVENT_REQUEST- Evento único (SMS, evento imediato)
- Request-Number: Começa em 1, incremente para cada solicitação na mesma sessão
- Request-Type: Selecione o tipo de CCR:
-
Teste de Sessão:
- Call ID: Identificador único gerado automaticamente para correlação
- Clique em "Novo ID" para gerar um novo Call ID para um novo teste
- Mantenha o mesmo Call ID para simular uma sessão completa:
- Primeira solicitação: INITIAL_REQUEST (tipo 1, número 1)
- Meio da sessão: UPDATE_REQUEST (tipo 2, número 2, 3, 4...)
- Última solicitação: TERMINATION_REQUEST (tipo 3, número N+1)
-
Opções Avançadas:
- Destination-Host: Direcione um nó OCS específico (opcional)
- Username: Substitua o identificador do assinante (opcional)
-
Executar e Revisar:
- Clique em "Executar CCR" para enviar a solicitação
- Veja a resposta completa de CCA com todos os AVPs
- Verifique o código de resultado, unidades concedidas e tempo de validade
- O timestamp da última execução é mostrado no canto superior direito
Casos de Uso
- Teste de Conectividade OCS: Verifique a conexão e autenticação Diameter Ro
- Lógica de Controle de Crédito: Teste alocação, consumo e cenários de exaustão de crédito
- Teste de Fluxo de Sessão: Simule o ciclo de vida completo da chamada (INITIAL → UPDATE → TERMINATION)
- Validação de Tarifação: Verifique as taxas de cobrança corretas para diferentes faixas de números
- Teste de Failover: Teste a redundância do OCS direcionando um Destination-Host específico
- Depuração de Integração: Solucione problemas de integração do OCS com inspeção detalhada de AVP
- Preparação para Teste de Carga: Valide o comportamento do OCS antes de testes de carga
- Desvio de Números de Emergência: Verifique se números de emergência desviam corretamente a cobrança
Dicas
- Use o mesmo Call ID com Request-Numbers incrementais para testar a continuidade da sessão
- Monitore logs do OCS simultaneamente para correlacionar solicitações de teste
- Teste solicitações UPDATE para verificar a lógica de reautorização em meio à sessão
- Verifique se as solicitações de TERMINATION encerram corretamente as sessões e previnem vazamentos
- Teste a exaustão de crédito enviando solicitações UPDATE após consumir unidades concedidas
Teste da Interface Sh
Teste operações de User-Data-Request (UDR) Diameter Sh para recuperar dados de perfil de assinante do HSS.
Acesso: Navegue até /sh_test no Painel de Controle
Recursos
- Múltiplas Referências de Dados: Consulte mais de 20 tipos diferentes de dados de assinantes
- Consultas HSS Reais: Solicitações Diameter Sh ao seu HSS configurado
- Exibição Completa de Resposta: Veja dados XML completos do assinante e AVPs
- Rastreamento de Sessão: Mostra nome do host HSS, realm e ID da sessão
- Tratamento de Erros: Exibição clara de códigos de resultado Diameter e condições de erro
Como Usar
-
Insira a Identidade Pública:
- Identidade Pública: A Identidade Pública IMS do assinante
- Formato:
sip:61400123456@ims.mncXXX.mccXXX.3gppnetwork.org - Também pode usar o formato
tel:+61400123456
-
Selecione a Referência de Dados: Escolha o tipo de dados de assinante a ser recuperado:
- RepositoryData (0): Perfil completo do assinante
- IMSPublicIdentity (10): Lista de identidades públicas
- IMSUserState (11): Estado de registro
- S-CSCFName (12): S-CSCF atribuído
- InitialFilterCriteria (13): iFC gatilhos para servidores de aplicação
- LocationInformation (14): Localização atual
- ChargingInformation (16): Endereços P-Charging
- MSISDN (17): Número de telefone
- IMSI (32): Identidade Internacional do Assinante Móvel
- IMSPrivateUserIdentity (33): Identidade privada do usuário
- E muitos mais...
-
Executar e Revisar:
- Clique em "Buscar Dados SH" para enviar a solicitação UDR
- Veja a resposta completa do User-Data-Answer (UDA)
- Verifique o XML do perfil do assinante, dados de serviço e regras iFC
- Metadados da sessão mostram qual HSS respondeu
Casos de Uso
- Verificação de Assinante: Confirme se o assinante está provisionado no HSS
- Depuração de iFC: Revise Critérios de Filtro Inicial e pontos de gatilho
- Solução de Problemas de Registro: Verifique o estado do usuário e a atribuição do S-CSCF
- Configuração de Cobrança: Verifique Endereços de Função de Cobrança P
- Teste de Conectividade HSS: Valide a conexão Diameter Sh
- Validação de Perfil: Garanta que o perfil de serviço correto esteja atribuído
- Teste de Integração: Teste a integração do HSS após alterações de provisionamento
- Análise de Roaming: Verifique informações de localização e rede servidora
Dicas
- Use IMSPublicIdentity (10) para ver todos os aliases de um assinante
- Use RepositoryData (0) para obter o perfil completo do assinante em uma única consulta
- Verifique IMSUserState (11) para confirmar se um assinante está registrado
- InitialFilterCriteria (13) mostra quais servidores de aplicação serão acionados
- O ID da sessão pode ser usado para correlacionar consultas nos logs do HSS
- Respostas de erro incluem códigos de resultado Diameter (por exemplo, 5001 = Usuário Desconhecido)
Teste de Tradução de Números
Teste regras e formatação de tradução de números sem fazer chamadas reais.
Acesso: Navegue até /translate no Painel de Controle
Recursos
- Tradução em Tempo Real: Tradução automática à medida que você digita
- Suporte a Códigos de País: Teste diferentes contextos de código de país
- Ciente da Disposição: Aplique diferentes regras com base na disposição da chamada
- Resultados Ao Vivo: Feedback imediato com o número traduzido
- Informações de Depuração: Veja valores de retorno brutos para solução de problemas
Como Usar
-
Configurar Parâmetros:
- Código do País: O contexto de discagem (por exemplo,
AU,US,NZ)- Padrão para o valor configurado em
Tas.Config.number_translate()[:country_code] - Aceita formatos:
AU,:AU,au
- Padrão para o valor configurado em
- Número de Telefone: O número a ser traduzido
- Exemplos:
+61400111222,0400111222,61400111222
- Exemplos:
- Disposição: (Opcional) Contexto da chamada para regras condicionais
- Exemplos:
originate,route,emergency
- Exemplos:
- Código do País: O contexto de discagem (por exemplo,
-
Teste de Tradução:
- Insira valores no formulário
- A tradução é executada automaticamente à medida que você digita
- Ou clique em "Traduzir" para acionar manualmente
- Veja o resultado traduzido imediatamente
-
Revisar Resultados:
- Traduzido: Mostra a saída formatada do número
- Erro: Exibe erros de validação ou falhas de tradução
- Retorno bruto (depuração): Mostra a tupla Elixir completa para depuração
Casos de Uso
- Desenvolvimento de Dialplan: Teste regras de formatação de números antes da implantação
- Validação de Formato: Verifique se a conversão E.164 está funcionando corretamente
- Teste de Código de País: Garanta o tratamento correto de prefixos internacionais
- Detecção de Números de Emergência: Verifique se os números de emergência estão sendo identificados corretamente
- Tratamento de Códigos Curtos: Teste códigos de serviço especiais (correio de voz, etc.)
- Preparação de Troncos: Formate números corretamente para requisitos do tronco SIP
- Lógica de Disposição: Teste diferentes regras para cenários MO vs MT
- Solução de Problemas de Tradução: Solucione problemas de por que números específicos falham no roteamento
Dicas
- Teste tanto o formato local (
0400111222) quanto o formato internacional (+61400111222) - Verifique se números de emergência (
000,112) são detectados corretamente - Use o campo de disposição para testar diferentes cenários de chamadas (MO, MT, emergência)
- Verifique se códigos curtos e números internos são tratados adequadamente
- A saída de depuração mostra o valor de retorno bruto - útil para investigar problemas
- Teste casos extremos como zeros à frente, prefixos internacionais e caracteres especiais
Gerenciamento de Correio de Voz
Gerencie e ouça mensagens de correio de voz armazenadas no sistema.
Acesso: Navegue até /voicemail no Painel de Controle
Recursos
- Lista Completa de Correio de Voz: Veja todas as mensagens de correio de voz em todas as caixas de correio
- Reprodução no Navegador: Ouça gravações de correio de voz diretamente na interface da web
- Detalhes da Mensagem: Veja nome de usuário, UUID, carimbos de data/hora, caminhos de arquivos e metadados
- Funcionalidade de Exclusão: Remova mensagens de correio de voz individuais
- Atualização Automática: Botão de atualização para recarregar os dados mais recentes do correio de voz
- Colunas Dinâmicas: Exibe automaticamente todos os campos disponíveis do banco de dados
Como Usar
-
Ver Lista de Correio de Voz:
- A página carrega automaticamente com todos os registros de correio de voz
- A tabela mostra todos os campos do banco de dados de correio de voz
- Os carimbos de data/hora são automaticamente formatados a partir de valores epoch
- Os caminhos de arquivos são encurtados para legibilidade
-
Ouvir Mensagens:
- Clique no botão "▶ Reproduzir" ao lado de qualquer correio de voz
- O player de áudio aparece com controles (reproduzir, pausar, buscar, volume)
- Suporta formatos WAV, MP3 e OGG
- Clique em "Parar" para fechar o player de áudio
-
Excluir Mensagens:
- Clique no botão "Excluir" para remover um correio de voz
- O prompt de confirmação previne exclusões acidentais
- A página atualiza automaticamente após a exclusão bem-sucedida
-
Atualizar Dados:
- Clique no botão "Atualizar" no canto superior direito para recarregar a lista de correio de voz
- Útil após novas mensagens de correio de voz serem deixadas
Detalhes da Mensagem Exibidos
A tabela mostra dinamicamente todos os campos disponíveis, tipicamente incluindo:
- Nome de Usuário: Proprietário da caixa de correio
- UUID: Identificador único da mensagem
- Epoch Criado: Quando a mensagem foi deixada (formatada automaticamente para data/hora legível)
- Epoch Lido: Quando a mensagem foi acessada (se aplicável)
- Caminho do Arquivo: Localização do arquivo de áudio
- Metadados adicionais do banco de dados de correio de voz
Casos de Uso
- Suporte ao Assinante: Ouça mensagens de correio de voz para solução de problemas
- Teste de Entrega de Correio de Voz: Verifique se as mensagens de correio de voz estão sendo armazenadas corretamente
- Gerenciamento de Mensagens: Limpe mensagens antigas ou de teste de correio de voz
- Solução de Problemas de Gravação: Verifique caminhos de arquivos e verifique se os arquivos de áudio existem
- Manutenção da Caixa de Correio: Monitore armazenamento e uso de correio de voz
- Garantia de Qualidade: Revise mensagens gravadas para qualidade de áudio
Dicas
- Os caminhos de arquivos são automaticamente encurtados para mostrar apenas a parte relevante
- Os carimbos de tempo epoch são automaticamente convertidos para formato legível por humanos
- Um banco de dados de correio de voz vazio mostra "Nenhum registro de correio de voz encontrado"
- A reprodução de áudio usa o elemento de áudio HTML5 - suportado em todos os navegadores modernos
- A confirmação de exclusão previne a remoção acidental de mensagens importantes
Gerenciamento de Prompts TTS
Gerencie prompts de áudio gerados por Texto para Fala (TTS) usados em todo o sistema.
Acesso: Navegue até /prompts no Painel de Controle
Recursos
- Exibição de Configurações de Prompt: Veja a voz TTS atual, formato de resposta e instruções
- Status de Gravação: Veja quais prompts existem e quais estão faltando
- Detalhes do Arquivo: Veja tamanho do arquivo, hora de modificação e caminho para cada prompt
- Reprodução no Navegador: Ouça prompts diretamente na interface da web
- Gerar Faltantes: Crie automaticamente todos os arquivos de prompt que estão faltando
- Regravar Individual: Regenerate um prompt específico com configurações atualizadas
- Regravar Todos: Regenerate todos os prompts (útil após mudar voz ou configurações)
Como Usar
-
Revisar Configurações de Prompt:
- Voz: Voz TTS sendo usada (por exemplo,
alloy,nova,shimmer) - Formato de Resposta: Formato de áudio (por exemplo,
wav,mp3,opus) - Instruções: Instruções especiais passadas para o mecanismo TTS
- Voz: Voz TTS sendo usada (por exemplo,
-
Verificar Status de Gravação:
- Texto: O texto do prompt a ser falado
- Caminho Relativo: Onde o arquivo de áudio está armazenado
- Existe: Verde "Sim" se o arquivo existir, Amarelo "Não" se estiver faltando
- Tamanho: Tamanho do arquivo em bytes/KiB/MiB
- Modificado: Último timestamp de modificação
-
Gerar Prompts:
- Gerar Faltantes: Cria apenas prompts que ainda não existem
- Útil para configuração inicial ou após adicionar novos prompts
- Regravar Todos: Regenera todos os prompts independentemente da existência
- Útil após mudar voz, formato ou instruções
- Use com cautela, pois regenera tudo
- Gerar Faltantes: Cria apenas prompts que ainda não existem
-
Gerenciar Prompts Individuais:
- ▶ Reproduzir: Ouça o prompt (apenas habilitado se o arquivo existir)
- 🔄 Regravar: Regenerate apenas este prompt
- Útil se um prompt soar incorreto
- Usa a voz e configurações atuais
-
Ouvir Prompts:
- Clique em "▶ Reproduzir" para ouvir o prompt
- O player de áudio aparece na parte inferior com controles completos
- Clique em "Parar" para fechar o player
Configuração de Prompt
Os prompts são configurados na configuração da sua aplicação:
config :tas, :prompts,
voice: "nova",
response_format: "wav",
instructions: "Fale claramente e profissionalmente.",
recordings: [
%{path: "/sounds/en/us/callie/voicemail/vm-enter_id.wav",
text: "Por favor, insira seu ID de caixa de correio seguido de cerquilha"},
# ... mais prompts
]
Casos de Uso
- Configuração Inicial: Gere todos os prompts após a instalação do sistema
- Mudanças de Voz: Regravar todos os prompts com uma voz TTS diferente
- Melhoria de Qualidade: Corrija prompts individuais que não soam corretos
- Atualizações de Formato: Regenerate prompts em formato de áudio diferente (wav → mp3)
- Atualizações de Texto: Regravar após mudar o texto do prompt na configuração
- Teste de TTS: Visualize como os prompts soarão antes da implantação
- Solução de Problemas de Reprodução: Verifique se os arquivos de prompt existem e são acessíveis
- Gerenciamento de Armazenamento: Verifique tamanhos de arquivos e gerencie uso de disco
Dicas
- Use "Gerar Faltantes" para configuração inicial - não sobrescreverá prompts existentes
- Use "Regravar Todos" após mudar voz ou formato na configuração
- A "Regravação" individual é útil para iterar sobre prompts específicos
- Ouça os prompts antes da implantação para garantir qualidade
- Formatos de resposta maiores (wav) têm melhor qualidade, mas usam mais espaço em disco
- O campo de instruções pode guiar o mecanismo TTS para tom e ritmo
- A regravação pode levar tempo se você tiver muitos prompts - tenha paciência
- Os prompts são armazenados no diretório de sons do FreeSWITCH para fácil acesso
Modelos XML de Dialplan
Veja e inspecione modelos XML de dialplan do FreeSWITCH usados para roteamento de chamadas.
Acesso: Navegue até /routing no Painel de Controle
Recursos
- Lista de Modelos: Veja todos os modelos XML de dialplan do diretório
priv/templates/ - Detalhes do Arquivo: Veja nome do arquivo e timestamp da última modificação para cada modelo
- Realce de Sintaxe: Exibição colorida de XML para fácil leitura
- Tags em teal
- Atributos em azul claro
- Valores em laranja/tan
- Comentários em verde
- Visualização Expansível: Clique em qualquer modelo para visualizar seu conteúdo XML completo
- Visualização Somente Leitura: Inspeção segura sem risco de modificação acidental
- Conteúdo Rolável: Modelos grandes rolam dentro de um contêiner de altura fixa (máx. 600px)
Como Usar
-
Ver Lista de Modelos:
- A página carrega com todos os arquivos
.xmldo diretório de modelos - Ordenados alfabeticamente pelo nome do arquivo
- Mostra timestamp de modificação para cada arquivo
- A página carrega com todos os arquivos
-
Inspecionar Modelo:
- Clique em qualquer linha para expandir e visualizar o conteúdo XML
- O modelo é exibido com realce de sintaxe
- Clique novamente para colapsar
-
Ler Conteúdo XML:
- Tags (teal): Nomes de elementos XML como
<extension>,<condition> - Atributos (azul claro): Nomes de atributos como
name=,field= - Valores (laranja): Valores de atributos como
"public","destination_number" - Comentários (verde): Comentários XML
<!-- ... -->
- Tags (teal): Nomes de elementos XML como
Casos de Uso
- Revisar Lógica do Dialplan: Inspecione regras de roteamento e modelos de fluxo de chamadas
- Solução de Problemas de Roteamento de Chamadas: Entenda quais modelos são usados para diferentes tipos de chamadas
- Verificar Sintaxe do Modelo: Verifique a estrutura XML antes da implantação
- Treinamento e Documentação: Compartilhe conteúdos de modelos com membros da equipe
- Auditoria de Mudanças: Compare timestamps de modificação para rastrear atualizações
- Desenvolvimento de Modelos: Referencie modelos existentes ao criar novos
Dicas
- Os modelos são carregados de
priv/templates/dentro da aplicação TAS - Apenas arquivos
.xmlsão exibidos - Os modelos são somente leitura através da interface da web
- Timestamps de modificação ajudam a identificar mudanças recentes
- Use esta visualização para verificar se os modelos correspondem às suas expectativas de dialplan
- O realce de sintaxe torna XML complexo mais fácil de analisar visualmente
- Combine com a visualização
/logspara correlacionar o comportamento de roteamento com modelos
Detalhes Técnicos
- Localização: Modelos armazenados no diretório
priv/templates/ - Formato: Formato XML de dialplan do FreeSWITCH
- Extensão de Arquivo: Apenas arquivos
.xmllistados - Ordenação: Alfabética pelo nome do arquivo
- Realce de Sintaxe: Colorização do lado do cliente usando padrões regex
- Altura Máxima de Exibição: 600px com rolagem para arquivos grandes
Executor de Comandos ESL
Execute comandos do FreeSWITCH Event Socket Layer (ESL) diretamente da interface da web.
Acesso: Navegue até /command no Painel de Controle
Recursos
- Execução de Comandos: Execute qualquer comando ESL/API do FreeSWITCH
- Saída Ao Vivo: Veja os resultados dos comandos em tempo real
- Histórico de Comandos: Dropdown de comandos recentes (últimos 10 comandos)
- Pronto para Auto-Completar: Entrada em monoespaço para entrada precisa de comandos
- Tratamento de Erros: Exibição clara de erros e exceções de comandos
- Sem Auto-Execução: Selecionar histórico preenche a entrada, mas requer clique explícito em "Executar"
Como Usar
-
Insira o Comando:
- Digite o comando ESL na caixa de entrada
- Exemplos:
status- Mostra o status do FreeSWITCHshow channels- Lista chamadas ativasuuid_dump <uuid>- Despeja todas as variáveis para uma chamadasofia status- Mostra o status do perfil SIPreloadxml- Recarrega o dialplan XMLversion- Mostra a versão do FreeSWITCH
-
Executar Comando:
- Clique no botão "Executar" para executar
- O botão mostra "Executando…" enquanto executa
- Não é possível executar múltiplos comandos simultaneamente
-
Ver Saída:
- Os resultados aparecem na seção "Saída" abaixo
- Comandos bem-sucedidos mostram resposta bruta
- Erros prefixados com "ERRO:"
- A saída é rolável com altura máxima de 600px
- Fonte monoespaçada para dados alinhados
-
Usar Histórico de Comandos:
- Comandos recentes aparecem no dropdown após a primeira execução
- Selecione do dropdown "Recent:" para preencher o campo de entrada
- O histórico mantém os últimos 10 comandos únicos
- O comando mais recente no topo
- Selecionar histórico NÃO executa automaticamente (medida de segurança)
Comandos Comuns
| Comando | Descrição | Saída de Exemplo |
|---|---|---|
status | Status do sistema e tempo de atividade | Informações de execução do FreeSWITCH |
show channels | Lista todas as chamadas ativas | Lista de canais ou "0 total" |
show calls | Resumo de chamadas ativas | Resumo da contagem de chamadas |
uuid_dump <uuid> | Todas as variáveis para uma chamada | Despejo completo de variáveis |
uuid_kill <uuid> | Desligar chamada específica | "+OK" ou erro |
sofia status | Status do perfil SIP | Lista de perfis e estados |
sofia status profile <name> | Detalhes de perfil específico | Contagem de registros, etc |
reloadxml | Recarregar dialplan XML | Confirmação "+OK" |
version | Informações da versão do FreeSWITCH | String da versão |
global_getvar <var> | Obter variável global | Valor da variável |
api help | Lista de comandos disponíveis | Referência de comandos |
Casos de Uso
- Depuração de Chamadas: Obtenha informações detalhadas sobre chamadas ativas com
uuid_dump - Status do Sistema: Verifique a saúde do FreeSWITCH com
statuseshow calls - Solução de Problemas SIP: Inspecione perfis SIP com
sofia status - Recarregar Dialplan: Aplique alterações de configuração com
reloadxml - Ações de Emergência: Desligue chamadas travadas com
uuid_kill - Inspeção de Variáveis: Verifique variáveis globais ou de canal
Solução de Problemas
Assinantes Não Aparecendo
- Verifique se o OmniTAS está em execução
- Verifique se o perfil Sofia está ativo:
sofia status profile internal - Verifique se o caminho do banco de dados na configuração corresponde ao local real do banco de dados
Registros CDR Não Aparecendo
- Confirme se o módulo CDR do OmniTAS está carregado
- Verifique se o banco de dados CDR existe no caminho configurado
- Verifique a configuração do módulo CDR no OmniTAS
Considerações de Desempenho
- Grandes bancos de dados CDR (>1M registros) podem exigir indexação adicional para desempenho ideal
- Considere arquivar registros CDR antigos periodicamente
- Consultas de registro de assinantes são tipicamente rápidas, pois o banco de dados de registro é pequeno
Configuração
Controle de Acesso
O Painel de Controle deve ser implantado atrás de controles de acesso apropriados (firewall, VPN, autenticação), pois fornece visibilidade sobre a atividade dos assinantes e registros de chamadas.