Pular para o conteúdo principal

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

Ferramentas de Monitoramento e Teste

Processamento de Chamadas e Serviços

Interfaces de Integração


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

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
  • Contagem Total: Exibição em tempo real do total de registros correspondentes
  • Layout Responsivo: Filtros se ajustam adequadamente em telas menores

Como Usar

  1. Visualização Básica:

    • A página carrega com os últimos 100 registros CDR (ordenados por start_stamp em 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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_number
  • destination_number
  • uuid
  • caller_id_name
  • hangup_cause

Operadores de Pesquisa (podem ser combinados):

  1. 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 com OR
    • Exemplo: 61480 corresponde a "61480123456", "55561480999", etc.
  2. 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 com OR
    • Exemplo: "911" corresponde apenas exatamente a "911", não a "9115" ou "1911"
  3. 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 com AND
    • Exemplo: !NORMAL exclui qualquer registro com "NORMAL" em qualquer campo
  4. 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 com AND
    • Exemplo: !"NORMAL_CLEARING" exclui registros onde qualquer campo é exatamente "NORMAL_CLEARING"
  5. 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 AND em SQL
    • Exemplo: "911" AND "12345" encontra registros com "911" em um campo E "12345" em outro

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:

ConsultaComo FuncionaResultado
61480Pesquisa contém em todos os camposTodos os registros com "61480" em qualquer lugar (chamador, destino, UUID, etc.)
"911"Correspondência exata em todos os camposRegistros onde qualquer campo é exatamente "911"
!NORMAL_CLEARINGPesquisa inversa contémExclui registros com "NORMAL_CLEARING" em QUALQUER campo (chamadas falhadas)
!"NORMAL_CLEARING"Inverso exatoExclui 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 61480Inverso contém "NORMAL" E contém "61480"Chamadas não normais envolvendo "61480"
!"ANSWER" AND !NORMALInverso exato "ANSWER" E inverso contém "NORMAL"Exclui chamadas atendidas e qualquer coisa com "NORMAL"
61480 AND !NORMAL_CLEARINGConté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_CLEARING para 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_list não estiver definido: Todos os campos de CDR disponíveis são exibidos por padrão
  • Se cdrs_field_list estiver 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
  1. Verifique se há erros de digitação nos termos de pesquisa
  2. Tente remover aspas para uma pesquisa mais ampla
  3. Verifique se o termo existe em campos pesquisáveis
  4. Verifique se o intervalo de datas não é muito restritivo
Muitos Resultados
  1. Adicione mais termos AND para restringir
  2. Use correspondência exata com aspas
  3. Aplique filtros de intervalo de datas
  4. Use filtros específicos de campo
Resultados Inesperados
  1. Lembre-se de que a pesquisa se aplica a TODOS os campos pesquisáveis
  2. Verifique se o termo aparece em um campo inesperado (como UUID)
  3. Use correspondência exata para evitar correspondências parciais
  4. 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
  • 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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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ívelCorQuando UsadoExemplo
ConsoleRoxoMensagens específicas do consoleSaída de console de alta prioridade do FreeSWITCH
AlertaVermelhoAção imediata necessáriaFalha de componente do sistema
CríticoVermelhoCondições críticasConexão com o banco de dados perdida
ErroVermelho ClaroCondições de erroFalha ao processar chamada, configuração inválida
AvisoAmareloCondições de avisoFunção obsoleta usada, tentativa de nova
NotíciaCianoEventos normais notáveisConfiguração recarregada, serviço iniciado
InfoAzulMensagens informativasChamada conectada, solicitação Diameter enviada
DebugCinzaMensagens de nível de depuraçãoEntrada/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 :elixir ou :freeswitch como 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

  1. 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 sms ou call
      • SMS padrão para EVENT_REQUEST (tipo 4)
      • Chamada padrão para INITIAL_REQUEST (tipo 1)
    • Direção: out para MO ou in para MT
  2. Configurar Tipo de CCR:

    • Request-Type: Selecione o tipo de CCR:
      • 1 — INITIAL_REQUEST - Iniciar uma nova sessão
      • 2 — UPDATE_REQUEST - Reautorização em meio à sessão
      • 3 — TERMINATION_REQUEST - Encerrar a sessão e relatar uso
      • 4 — EVENT_REQUEST - Evento único (SMS, evento imediato)
    • Request-Number: Começa em 1, incremente para cada solicitação na mesma sessão
  3. 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)
  4. Opções Avançadas:

    • Destination-Host: Direcione um nó OCS específico (opcional)
    • Username: Substitua o identificador do assinante (opcional)
  5. 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

  1. 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
  2. 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...
  3. 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

  1. 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
    • Número de Telefone: O número a ser traduzido
      • Exemplos: +61400111222, 0400111222, 61400111222
    • Disposição: (Opcional) Contexto da chamada para regras condicionais
      • Exemplos: originate, route, emergency
  2. 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
  3. 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

  1. 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
  2. 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
  3. 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
  4. 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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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

  1. Ver Lista de Modelos:

    • A página carrega com todos os arquivos .xml do diretório de modelos
    • Ordenados alfabeticamente pelo nome do arquivo
    • Mostra timestamp de modificação para cada arquivo
  2. 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
  3. 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 <!-- ... -->

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 .xml sã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 /logs para 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 .xml listados
  • 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

  1. Insira o Comando:

    • Digite o comando ESL na caixa de entrada
    • Exemplos:
      • status - Mostra o status do FreeSWITCH
      • show channels - Lista chamadas ativas
      • uuid_dump <uuid> - Despeja todas as variáveis para uma chamada
      • sofia status - Mostra o status do perfil SIP
      • reloadxml - Recarrega o dialplan XML
      • version - Mostra a versão do FreeSWITCH
  2. 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
  3. 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
  4. 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

ComandoDescriçãoSaída de Exemplo
statusStatus do sistema e tempo de atividadeInformações de execução do FreeSWITCH
show channelsLista todas as chamadas ativasLista de canais ou "0 total"
show callsResumo de chamadas ativasResumo da contagem de chamadas
uuid_dump <uuid>Todas as variáveis para uma chamadaDespejo completo de variáveis
uuid_kill <uuid>Desligar chamada específica"+OK" ou erro
sofia statusStatus do perfil SIPLista de perfis e estados
sofia status profile <name>Detalhes de perfil específicoContagem de registros, etc
reloadxmlRecarregar dialplan XMLConfirmação "+OK"
versionInformações da versão do FreeSWITCHString da versão
global_getvar <var>Obter variável globalValor da variável
api helpLista de comandos disponíveisReferê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 status e show 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.