Saltar al contenido principal

Guía de Operaciones

📖 Volver a la Documentación Principal

Este documento cubre las características de monitoreo y gestión operativa disponibles en el Panel de Control.

Documentación Relacionada

Documentación Principal

Herramientas de Monitoreo y Pruebas

Procesamiento de Llamadas y Servicios

Interfaces de Integración


Operaciones

Esta sección cubre las características de monitoreo y gestión operativa disponibles en el Panel de Control de OmniTAS.

Tabla de Contenidos

Vista de Suscriptores

La vista de Suscriptores proporciona monitoreo en tiempo real de las registraciones de suscriptores IMS almacenadas en la base de datos de registración SIP de Sofia.

Acceso: Navega a /subscribers en el Panel de Control

Características

  • Lista de Registraciones: Ver todas las registraciones de suscriptores activas
  • Detalles de Registración: Haz clic en cualquier registración para ver detalles completos que incluyen:
    • Usuario SIP y Dominio
    • URI de Contacto
    • Estado de registración y expiración
    • Información de red (IP, puerto, nombre de host)
    • Detalles de autenticación
    • Ubicación de la torre celular (cuando esté disponible a través de P-Access-Network-Info)
      • MCC/MNC, Tipo de Radio, TAC/LAC, ID de Celda
      • Coordenadas geográficas y rango de cobertura
      • Vista de mapa interactivo impulsada por datos de OpenStreetMap y OpenCellID

Fuente de Datos

Los datos de registración se consultan directamente de la base de datos de registración de Sofia, proporcionando visibilidad en tiempo real sobre el estado de conexión de los suscriptores. Las ubicaciones de las torres celulares se resuelven utilizando la base de datos de OpenCellID cuando los suscriptores proporcionan encabezados P-Access-Network-Info en sus mensajes SIP REGISTER.

Casos de Uso

  • Monitorear registraciones activas de suscriptores
  • Verificar el estado de conexión de los suscriptores
  • Solucionar problemas de registración
  • Auditar la conectividad de los suscriptores

Registros de Detalle de Llamadas (CDR)

La vista CDR proporciona acceso a los registros de detalle de llamadas almacenados por TAS para fines de facturación, solución de problemas y análisis.

Acceso: Navega a /cdr en el Panel de Control

Características

  • Vista Paginada: Navega a través de los registros de llamadas (100 por página con controles de Anterior/Siguiente)
  • Búsqueda Avanzada: Búsqueda potente con soporte para coincidencias exactas, inversas/exclusiones y múltiples términos
  • Selección de Columnas: Personaliza qué campos mostrar
    • Haz clic en el botón "Columnas" para abrir el modal de selección de columnas
    • Selecciona/deselecciona columnas individuales
    • Acciones rápidas Seleccionar Todo / Deseleccionar Todo
    • La selección persiste entre sesiones (guardada en localStorage del navegador)
    • Muestra el contador "X / Y columnas"
  • Columnas Ordenables: Haz clic en cualquier encabezado de columna para ordenar (ascendente/descendente)
    • Indicadores visuales (▲ ascendente, ▼ descendente)
    • Columna ordenada resaltada en azul
    • Se restablece a la página 1 cuando cambian los criterios de ordenación
  • Múltiples Opciones de Filtro:
    • Búsqueda de Texto: Busca en todos los campos con operadores avanzados
    • Filtro de Rango de Fechas: Filtra por fecha y hora de inicio/fin (selector de fecha y hora)
    • Filtro Específico de Campo: Filtra por valor exacto de campo (causa de colgado, ID de llamada, destino, contexto)
    • Visualización de Filtros Activos: Chips visuales muestran los filtros activos actualmente
    • Limpiar Todo: Eliminación de todos los filtros activos con un clic
  • Información Detallada: Haz clic en cualquier fila de CDR para expandir y ver todos los campos:
    • Partes de la llamada (nombre/número de ID de llamada, número de destino)
    • Tiempos (inicio, respuesta, fin)
    • Duración y segundos facturados
    • Causa de colgado (codificada por colores: verde=normal, amarillo=cancelado, rojo=error)
    • UUIDs de llamada (A-leg y B-leg)
    • Contexto y código de cuenta
    • Todos los campos de la base de datos disponibles en orden alfabético
  • Causas de Colgado Codificadas por Color:
    • 🟢 Verde: NORMAL_CLEARING
    • 🟡 Amarillo: Llamadas canceladas
    • 🔴 Rojo: Condiciones de error
  • Conteo Total: Visualización en tiempo real del total de registros coincidentes
  • Diseño Responsivo: Los filtros se ajustan adecuadamente en pantallas más pequeñas

Cómo Usar

  1. Visualización Básica:

    • La página se carga con los últimos 100 registros CDR (ordenados por start_stamp de forma descendente)
    • El conteo total de registros se muestra en la esquina superior derecha
    • Usa los botones Anterior / Siguiente para navegar entre páginas
    • Haz clic en cualquier fila para expandir y ver todos los campos
  2. Personalizar Columnas:

    • Haz clic en el botón "Columnas" en la esquina superior derecha
    • El modal muestra todos los campos disponibles
    • Marca/desmarca campos para mostrar/ocultar columnas
    • Usa "Seleccionar Todo" o "Deseleccionar Todo" para selección rápida
    • La configuración se guarda automáticamente en el navegador
    • Cierra el modal para aplicar los cambios
  3. Ordenar Datos:

    • Haz clic en cualquier encabezado de columna para ordenar por ese campo
    • Primer clic: Descendente (▼)
    • Segundo clic: Ascendente (▲)
    • Tercer clic: De vuelta a descendente
    • La columna ordenada se resalta en azul
  4. Buscar Registros:

    • Ingresa la consulta de búsqueda en el cuadro "Buscar"
    • Soporta operadores avanzados (ver Sintaxis de Búsqueda a continuación)
    • Busca en múltiples campos: caller_id_number, destination_number, uuid, caller_id_name, hangup_cause
    • Haz clic en "Aplicar" para ejecutar la búsqueda
  5. Filtrar por Rango de Fechas:

    • Usa los selectores de fecha y hora "Fecha de Inicio" y "Fecha de Fin"
    • Ambas fechas son requeridas para el filtrado por fecha
    • Soporta selección de fecha y hora
    • Haz clic en "Aplicar" para filtrar
  6. Filtrar por Campo Específico:

    • Selecciona el campo del desplegable "Seleccionar Campo para Filtrar":
      • Causa de Colgado
      • ID de Llamante
      • Destino
      • Contexto
    • Ingresa el valor exacto en "Ingresar Valor de Filtro"
    • Haz clic en "Aplicar" para filtrar
  7. Combinar Filtros:

    • Todos los filtros se pueden usar simultáneamente:
      • Búsqueda de texto + Rango de fechas + Filtro de campo funcionan juntos
    • Los filtros activos se muestran como chips debajo del formulario de filtro
    • Haz clic en "Limpiar Todo" para eliminar todos los filtros de una vez
  8. Ver Detalles:

    • Haz clic en cualquier fila de CDR para expandir
    • Muestra todos los campos de la base de datos en un diseño de cuadrícula
    • Los campos se muestran en orden alfabético
    • La causa de colgado está codificada por colores para una identificación rápida
    • Haz clic en la fila nuevamente para colapsar

Sintaxis de Búsqueda Avanzada

El cuadro de búsqueda soporta una potente sintaxis de consulta para un filtrado preciso de registros a través de múltiples campos simultáneamente.

Cómo Funciona la Búsqueda:

El motor de búsqueda verifica todos los campos buscables en cada registro CDR. Un registro se incluye en los resultados cuando coincide con tus criterios de búsqueda en cualquiera de estos campos:

  • caller_id_number
  • destination_number
  • uuid
  • caller_id_name
  • hangup_cause

Operadores de Búsqueda (se pueden combinar):

  1. Búsqueda Contiene (por defecto):

    • Sintaxis: término (sin comillas)
    • Coincide: Registros donde cualquier campo contiene el término en cualquier parte
    • SQL: Usa LIKE '%término%' en todos los campos buscables unidos con OR
    • Ejemplo: 61480 coincide con "61480123456", "55561480999", etc.
  2. Coincidencia Exacta:

    • Sintaxis: "término" (con comillas dobles)
    • Coincide: Registros donde cualquier campo es exactamente igual al término
    • SQL: Usa = 'término' en todos los campos buscables unidos con OR
    • Ejemplo: "911" coincide solo con exactamente "911", no "9115" o "1911"
  3. Inversa/Excluir:

    • Sintaxis: !término (prefijo de signo de exclamación, sin comillas)
    • Coincide: Registros donde ningún campo contiene el término
    • SQL: Usa NOT LIKE '%término%' en todos los campos buscables unidos con AND
    • Ejemplo: !NORMAL excluye cualquier registro con "NORMAL" en cualquier campo
  4. Exacta Inversa/Excluir:

    • Sintaxis: !"término" (signo de exclamación + comillas dobles)
    • Coincide: Registros donde ningún campo es exactamente igual al término
    • SQL: Usa != 'término' en todos los campos buscables unidos con AND
    • Ejemplo: !"NORMAL_CLEARING" excluye registros donde cualquier campo es exactamente "NORMAL_CLEARING"
  5. Múltiples Términos con AND:

    • Sintaxis: término1 AND término2 (AND insensible a mayúsculas)
    • Coincide: Registros que coinciden con todos los términos (cada término puede coincidir con diferentes campos)
    • Cada término se procesa con su propio operador (comillas, !, etc.)
    • Los términos se combinan con AND en SQL
    • Ejemplo: "911" AND "12345" encuentra registros con "911" en un campo Y "12345" en otro

Lógica de Ejecución de Búsqueda:

Para cada registro CDR:
Para búsqueda normal (sin !):
- Verifica si CUALQUIER campo contiene/igual al término → Incluir si es VERDADERO
- SQL: field1 LIKE '%término%' OR field2 LIKE '%término%' OR ...

Para búsqueda inversa (!):
- Verifica si TODOS los campos NO contienen/igual al término → Incluir si es VERDADERO
- SQL: field1 NOT LIKE '%término%' AND field2 NOT LIKE '%término%' AND ...

Para búsquedas AND:
- Cada término se evalúa por separado
- Todas las condiciones de término deben ser VERDADERAS → Incluir si es VERDADERO
- SQL: (término1_condiciones) AND (término2_condiciones) AND ...

Ejemplos de Búsqueda Compleja:

ConsultaCómo FuncionaResultado
61480Búsqueda contiene en todos los camposTodos los registros con "61480" en cualquier parte (llamante, destino, UUID, etc.)
"911"Coincidencia exacta en todos los camposRegistros donde cualquier campo es exactamente "911"
!NORMAL_CLEARINGBúsqueda inversa contieneExcluye registros con "NORMAL_CLEARING" en CUALQUIER campo (llamadas fallidas)
!"NORMAL_CLEARING"Inversa exactaExcluye registros donde cualquier campo es exactamente "NORMAL_CLEARING"
"911" AND "12345"Exacto "911" Y exacto "12345"Registros con ambos valores (por ejemplo, llamante="12345", destino="911")
!NORMAL AND 61480Inversa contiene "NORMAL" Y contiene "61480"Llamadas no normales que involucran "61480"
!"ANSWER" AND !NORMALInversa exacta "ANSWER" Y inversa contiene "NORMAL"Excluye llamadas respondidas y cualquier cosa con "NORMAL"
61480 AND !NORMAL_CLEARINGContiene "61480" Y inversa contiene "NORMAL_CLEARING"Llamadas fallidas que involucran "61480"

Casos de Uso Prácticos:

  • Encontrar un número específico: 61480123456 - La búsqueda contiene encuentra coincidencias parciales
  • Encontrar llamadas de emergencia exactas: "911" - Solo llamadas a exactamente "911"
  • Todas las llamadas fallidas: !NORMAL_CLEARING - Excluye llamadas exitosas
  • Llamadas fallidas de un llamante específico: "61480123456" AND !NORMAL - Combina llamante exacto con inversa
  • Excluir números de prueba: !test AND !demo - Búsquedas inversas múltiples
  • Depuración compleja: 61480 AND !"ANSWER" AND !CANCEL - Contiene un término, excluye exactos y parciales otros

Fuente de Datos

Los datos CDR se consultan directamente de la base de datos SQLite de CDR de TAS.

El esquema puede variar entre implementaciones según requisitos específicos.

Opciones de Exportación de CDR

Importante: Los registros CDR pueden ser exportados en varios formatos para soportar la integración con sistemas de facturación, plataformas de análisis y herramientas de informes.

El esquema de base de datos CDR y los formatos de exportación son específicos de la implementación. Al configurar tu sistema, solicita los formatos de salida CDR específicos que necesitas a tu ingeniero de integración. Los formatos de exportación comunes incluyen:

  • CSV (Valores Separados por Comas)
  • JSON (para integración API)
  • XML
  • Acceso directo a la base de datos
  • Exportaciones con formato personalizado

Tu ingeniero de integración puede configurar mecanismos de exportación de CDR adaptados a tus requisitos operativos y de facturación.

Casos de Uso

  • Solución de Problemas de Llamadas: Busca llamadas específicas por número o UUID para depurar problemas
  • Conciliación de Facturación: Filtra por rango de fechas para coincidir con períodos de facturación
  • Análisis de Calidad: Filtra por causa de colgado para identificar patrones problemáticos
  • Auditoría de Llamadas de Emergencia: Busca "911" para verificar el manejo de llamadas de emergencia
  • Soporte al Cliente: Busca llamadas de clientes específicos por ID de llamante o destino
  • Análisis de Patrones: Ordena por duración o tiempos para identificar anomalías
  • Cumplimiento y Registro: Filtros de rango de fechas para informes regulatorios
  • Análisis de Llamadas Fallidas: Usa !NORMAL_CLEARING para encontrar todas las llamadas fallidas
  • Informes Basados en Contexto: Filtra por contexto para analizar flujos de llamadas específicos

Configuración

Columnas Visibles por Defecto

Puedes configurar qué campos CDR son mostrados por defecto en la Vista en Vivo configurando cdrs_field_list en tu config/runtime.exs:

config :tas,
cdrs_field_list: [
"caller_id_number",
"destination_number",
"start_stamp",
"duration",
"hangup_cause"
]

Comportamiento:

  • Si cdrs_field_list no está configurado: Todos los campos CDR disponibles se muestran por defecto
  • Si cdrs_field_list está configurado: Solo se muestran los campos especificados por defecto, pero todos los demás campos siguen estando disponibles en el selector de columnas
  • Si un campo en la lista no existe en los datos CDR, se omitirá automáticamente
  • Los nombres de campo pueden especificarse como cadenas o átomos
  • Los usuarios pueden seleccionar manualmente columnas adicionales del selector de columnas en cualquier momento

Casos de Uso:

  • Establecer una vista predeterminada limpia con solo los campos esenciales visibles
  • Reducir la sobrecarga de información para nuevos usuarios
  • Estandarizar el diseño inicial de columnas entre todos los usuarios
  • Mantener ocultos los campos avanzados por defecto pero aún accesibles

Ejemplo de Configuración:

# Mostrar solo información de llamada esencial por defecto
cdrs_field_list: [
"start_stamp",
"caller_id_number",
"destination_number",
"duration",
"billsec",
"hangup_cause"
]

Nota: Esta configuración establece las columnas visibles por defecto. Todos los campos CDR siguen estando disponibles en el selector de "Columnas" - los usuarios pueden mostrar/ocultar manualmente cualquier campo que necesiten.

Acceso a API / Programático

Para análisis automatizado de CDR, la API subyacente de Elixir soporta todas las características de búsqueda:

# Ejemplos de API de 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\"")

Consulta lib/cdr/cdr.ex para la documentación completa de la API.

Solución de Problemas

No Se Encontraron Resultados
  1. Verifica si hay errores tipográficos en los términos de búsqueda
  2. Intenta eliminar las comillas para una búsqueda más amplia
  3. Verifica que el término exista en los campos buscables
  4. Asegúrate de que el rango de fechas no sea demasiado restrictivo
Demasiados Resultados
  1. Agrega más términos AND para reducir
  2. Usa coincidencia exacta con comillas
  3. Aplica filtros de rango de fechas
  4. Usa filtros específicos de campo
Resultados Inesperados
  1. Recuerda que la búsqueda se aplica a TODOS los campos buscables
  2. Verifica si el término aparece en un campo inesperado (como UUID)
  3. Usa coincidencia exacta para evitar coincidencias parciales
  4. Verifica la lógica inversa (AND vs OR)

Consejos

  • Selección de Columnas: Oculta columnas no utilizadas para centrarte en datos relevantes y mejorar el rendimiento
  • Combina Filtros: Usa búsqueda + rango de fechas + filtro de campo juntos para consultas precisas
  • Rendimiento del Rango de Fechas: Rango de fechas más estrecho devuelve resultados más rápido para bases de datos grandes
  • Ordena para Análisis: Ordena por duración para encontrar llamadas largas/cortas, o por timestamp para ver patrones de llamadas
  • Chips de Filtros Activos: Usa chips visuales para verificar qué filtros están activos actualmente
  • Configuraciones Persistentes: Las selecciones de columnas se guardan por navegador, útil para diferentes tareas de análisis
  • Codificación por Color: Escanea rápidamente las causas de colgado - verde es bueno, rojo necesita investigación
  • Detalles Expandibles: Haz clic en filas para ver todos los campos sin desordenar la vista principal
  • Operadores de Búsqueda: Domina la sintaxis de búsqueda para un filtrado potente:
    • Usa comillas para coincidencias exactas: "911"
    • Usa ! para excluir: !NORMAL_CLEARING
    • Combina con AND: "61480" AND !NORMAL
  • Paginación: Recuerda que los filtros persisten entre páginas - usa paginación para revisar grandes conjuntos de resultados

Monitoreo de Llamadas Activas

La vista de Llamadas Activas muestra información en tiempo real sobre las llamadas en curso a través del sistema.

Acceso: Navega a /calls en el Panel de Control

Características

  • Estado en Tiempo Real: Vista en vivo de sesiones de llamadas activas
  • Detalles de Llamadas: Ver variables de canal e información del estado de la llamada
  • Seguimiento de UUID: Monitorea tanto los identificadores de llamada A-leg como B-leg

Servidor de Conferencias IMS

El Servidor de Conferencias IMS proporciona capacidades de conferencias multiparte en cumplimiento con los estándares IMS de 3GPP (RFC 4579, RFC 4575, TS 24.147).

Acceso: Navega a /conference en el Panel de Control

Documentación: Consulta la Guía del Usuario del Servidor de Conferencias IMS para documentación detallada

Características

  • Monitoreo en Tiempo Real: Vista en vivo de conferencias activas y participantes
  • Tablero de Estadísticas de Conferencias:
    • Conteo de conferencias activas
    • Total de participantes en todas las conferencias
    • Conteo de conferencias de video
    • Conteo de conferencias bloqueadas
    • Detalles de configuración del servidor (dominio, MNC/MCC, max participantes)
  • Lista de Conferencias: Ver todas las conferencias activas con:
    • ID de conferencia y URI SIP
    • Conteo actual de participantes
    • Identidad del creador de la conferencia
  • Detalles de Conferencia: Haz clic en cualquier conferencia para expandir y ver:
    • Información completa de la conferencia (estado, estado de video, estado bloqueado, estado de grabación)
    • Lista completa de participantes con roles y estados
    • Estado de video de los participantes
  • Acciones de Control de Conferencia:
    • Bloquear/Desbloquear conferencias para controlar el acceso
    • Habilitar/Deshabilitar video para conferencias
    • Actualizaciones de estado en tiempo real con retroalimentación de acciones
  • Auto-Actualización: Actualización automática configurable (predeterminada: 5 segundos) para monitoreo en tiempo real

Gestión de Consola de OmniTAS

Todas las operaciones de conferencia también están disponibles a través de la consola de OmniTAS utilizando el comando ims_conference:

ims_conference list                    # Listar todas las conferencias activas
ims_conference info <conf_id> # Mostrar detalles de la conferencia
ims_conference stats # Mostrar estadísticas del servidor
ims_conference lock <conf_id> # Bloquear una conferencia
ims_conference unlock <conf_id> # Desbloquear una conferencia
ims_conference video <conf_id> on|off # Controlar video
ims_conference record <conf_id> start|stop # Controlar grabación
ims_conference add <conf_id> <sip_uri> # Agregar participante
ims_conference remove <conf_id> <uuid> # Eliminar participante
ims_conference destroy <conf_id> # Terminar conferencia

Casos de Uso

  • Monitoreo Operativo: Visibilidad en tiempo real de conferencias activas y uso de recursos
  • Gestión de Capacidad: Monitorear conteos de participantes y uso de video para gestionar el ancho de banda
  • Solución de Problemas: Diagnosticar problemas de acceso a conferencias, problemas de conexión de participantes
  • Control de Conferencias: Bloquear conferencias para privacidad, gestionar video para controlar el ancho de banda
  • Cumplimiento: Monitorear y grabar conferencias para cumplimiento regulatorio

Cumplimiento de 3GPP

El servidor de conferencias implementa especificaciones clave de conferencias IMS de 3GPP:

  • TS 24.147: Conferencias utilizando el subsistema de red central IM
  • RFC 4579: Control de Llamadas SIP - Conferencias para Agentes de Usuario
  • RFC 4575: Paquete de Evento SIP para Estado de Conferencia
  • RFC 5239: Marco para Conferencias Centralizadas

Estado del Gateway

Monitorea el estado y la salud de los gateways/troncos SIP conectados a TAS.

Acceso: Navega a /gw en el Panel de Control

Características

  • Estado de Registración: Ver estado de registración del gateway
  • Estadísticas de Llamadas: Rastrear llamadas entrantes/salientes y fallos
  • Monitoreo de Ping: Tiempos de ping SIP OPTIONS y conectividad
  • Detalles del Gateway: Información completa de configuración y estado

Métricas Monitoreadas

  • Estado de Registración SIP
  • Tiempo de ping (tiempo promedio de respuesta SIP OPTIONS)
  • Tiempo de actividad (segundos desde el reinicio del perfil)
  • Llamadas Entrantes / Llamadas Salientes
  • Llamadas Fallidas Entrantes / Llamadas Fallidas Salientes
  • Último tiempo de ping y frecuencia

Estado del Par de Diámetro

Monitorea la conectividad del par de Diámetro para interfaces Sh y Ro.

Acceso: Navega a /diameter en el Panel de Control

Características

  • Estado del Par: Estado de conexión para cada par configurado
  • Soporte de Aplicaciones: Ver aplicaciones de Diámetro soportadas (Sh, Ro)
  • Estado del Vigilante: Monitoreo del vigilante de Diámetro

Visor de Registros del Sistema

Visor de registros unificado en tiempo real para los registros de TAS Backend (Elixir) y TAS Call Processing (FreeSWITCH).

Acceso: Navega a /logs en el Panel de Control

Características

  • Flujo de Registros Unificado: Ver registros de TAS Backend y Call Processing en una sola interfaz
  • Actualizaciones en Tiempo Real: Transmisión en vivo de mensajes de registro a medida que ocurren (actualización automática cada 1 segundo)
  • Niveles de Registro Codificados por Color:
    • 🟣 Consola - Mensajes de consola (púrpura/magenta)
    • 🔴 Alerta/Critico - Problemas urgentes que requieren atención inmediata (rojo)
    • 🟠 Error - Condiciones de error (rojo claro)
    • 🟡 Advertencia - Mensajes de advertencia (amarillo)
    • 🔵 Aviso - Mensajes informativos notables (cian)
    • 🔵 Info - Mensajes informativos generales (azul)
    • Depuración - Registro de depuración/verbose (gris)
  • Insignias de Fuente:
    • 🔵 TAS Backend - Registros de aplicación Elixir (insignia azul)
    • 🟣 TAS Call Processing - Registros de FreeSWITCH (insignia púrpura)
  • Indicadores de Borde Izquierdo: Borde izquierdo codificado por color que coincide con el nivel de registro para una rápida exploración visual
  • Múltiples Filtros:
    • Filtro de Fuente: Todas las Fuentes / TAS Backend / TAS Call Processing
    • Filtro de Nivel: Todos / Consola / Alerta / Crítico / Error / Advertencia / Aviso / Info / Depuración
    • Búsqueda de Texto: Búsqueda de palabras clave en tiempo real a través de mensajes de registro
  • Pausar/Reanudar: Congelar la transmisión de registros para analizar entradas específicas sin perder contexto
  • Limpiar Registros: Eliminar todas las entradas de registro actuales de la pantalla
  • Contador de Registros: Muestra registros filtrados vs registros totales (por ejemplo, "Mostrando 150 de 500 registros")
  • Comportamiento de Tail: Mantiene las últimas 500 entradas de registro para rendimiento
  • Visualización de Metadatos: Nombre de archivo y número de línea para referencias de código fuente (cuando estén disponibles)
  • Vista Desplazable: Contenedor de altura fija con desplazamiento automático para los últimos registros

Cómo Usar

  1. Visualización Básica:

    • La página se carga con las últimas 500 entradas de registro de ambas fuentes
    • Los registros aparecen en tiempo real a medida que se generan
    • Los registros más recientes aparecen en la parte superior
    • Se actualiza automáticamente cada 1 segundo
  2. Filtrar por Fuente:

    • Selecciona del desplegable "Fuente":
      • Todas las Fuentes - Mostrar registros de TAS Backend y Call Processing
      • TAS Backend - Solo registros de aplicación Elixir
      • TAS Call Processing - Solo registros de FreeSWITCH/dialplan
    • El filtro se aplica inmediatamente
  3. Filtrar por Nivel de Registro:

    • Selecciona del desplegable "Nivel":
      • Todos - Mostrar todos los niveles de registro
      • Consola a Depuración - Mostrar solo ese nivel específico
    • Útil para centrarse en errores o depurar problemas específicos
  4. Buscar Palabras Clave:

    • Escribe en el cuadro "Buscar registros..."
    • Búsqueda insensible a mayúsculas a través de mensajes de registro
    • Filtra en tiempo real a medida que escribes
    • Se combina con filtros de fuente y nivel
  5. Pausar/Reanudar Transmisión:

    • Haz clic en el botón "Pausar" (naranja) para congelar las actualizaciones de registro
    • El indicador "PAUSADO" aparece en el encabezado
    • Revisa entradas de registro específicas sin que nuevos registros interrumpan
    • Haz clic en el botón "Reanudar" (verde) para reiniciar la transmisión en vivo
  6. Limpiar Registros:

    • Haz clic en el botón "Limpiar" (rojo) para eliminar todos los registros mostrados
    • Limpia tanto los registros de TAS Backend como los de Call Processing
    • Nuevos registros aparecerán a medida que se generen
  7. Leer Entradas de Registro:

    • Marca de Tiempo: Muestra la hora en formato HH:MM:SS.milliseconds
    • Insignia de Fuente: Indica TAS Backend (azul) o Call Processing (púrpura)
    • Nivel de Registro: Nivel codificado por color entre corchetes [ERROR], [INFO], etc.
    • Archivo/Línea: Ubicación del código fuente (cuando esté disponible)
    • Mensaje: El contenido real del mensaje de registro

Niveles de Registro Explicados

NivelColorCuándo Se UsaEjemplo
ConsolaPúrpuraMensajes específicos de consolaSalida de consola de FreeSWITCH de alta prioridad
AlertaRojoAcción inmediata requeridaFallo de componente del sistema
CríticoRojoCondiciones críticasConexión a la base de datos perdida
ErrorRojo ClaroCondiciones de errorFallo al procesar llamada, configuración inválida
AdvertenciaAmarilloCondiciones de advertenciaFunción obsoleta utilizada, intento de reintento
AvisoCianEventos normales notablesConfiguración recargada, servicio iniciado
InfoAzulMensajes informativosLlamada conectada, solicitud Diameter enviada
DepuraciónGrisMensajes de nivel de depuraciónEntrada/salida de función, valores de variables

Casos de Uso

  • Solución de Problemas en Tiempo Real: Monitorea registros durante una llamada activa para depurar problemas
  • Investigación de Errores: Filtra por niveles de Error/Critico para encontrar problemas
  • Análisis de Flujo de Llamadas: Busca por Call-ID o número de teléfono para rastrear el camino de la llamada
  • Monitoreo de Rendimiento: Observa advertencias y errores durante pruebas de carga
  • Depuración de Integración: Filtra TAS Backend para ver mensajes Diameter/Sh/Ro
  • Depuración de Dialplan: Filtra TAS Call Processing para ver el enrutamiento de llamadas de FreeSWITCH
  • Monitoreo de Salud del Sistema: Mantén los registros abiertos para observar anomalías
  • Desarrollo y Pruebas: Usa el nivel de Depuración para ver el comportamiento detallado de la aplicación

Consejos

  • Combina Filtros: Usa Fuente + Nivel + Búsqueda juntos para un filtrado preciso
    • Ejemplo: Fuente="TAS Backend" + Nivel="Error" + Búsqueda="Diameter" → Encuentra errores de Diameter
  • Pausa Antes de Buscar: Pausa la transmisión antes de escribir la consulta de búsqueda para evitar que los registros se desplacen
  • Usa Depuración Con Sabiduría: El nivel de depuración es detallado - filtra a una fuente específica para reducir el ruido
  • Escaneo por Color: Escanea rápidamente los bordes izquierdos - los bordes rojos indican problemas
  • Insignias de Fuente: Insignias azules (Backend) para lógica de aplicación, Insignias púrpuras (Call Processing) para llamadas
  • Precisión de Marca de Tiempo: Las marcas de tiempo en milisegundos ayudan a correlacionar eventos entre sistemas
  • Referencias de Archivo: Haz clic/anota referencias de archivo:línea para saltar al código fuente
  • Limpieza Regular: Limpia los registros al cambiar de contexto de investigación para mayor claridad
  • Buscar por UUIDs: Busca por Call-ID/UUID para seguir una llamada específica a través de todo el sistema
  • Búsqueda de Emergencia: Busca "911" o "emergencia" para encontrar rápidamente el manejo de llamadas de emergencia

Detalles Técnicos

  • Límite de Registros: Se muestran un máximo de 500 registros (los más antiguos se descartan cuando se alcanza el límite)
  • Tasa de Actualización: Actualización automática cada 1000ms (1 segundo)
  • Búsqueda: Coincidencia de subcadenas insensible a mayúsculas en el campo de mensaje solamente
  • Filtrado Vacío: Filtra automáticamente mensajes de registro vacíos/placeholder
  • Detección de Fuente: Registros etiquetados con :elixir o :freeswitch como fuente
  • Ordenación: Registros ordenados por marca de tiempo descendente (más recientes primero)
  • PubSub: Registros de Elixir entregados a través de Phoenix PubSub para actualizaciones en tiempo real
  • Registros de FreeSWITCH: Recogidos a través de la Interfaz de Socket de Evento (ESI) oyente de registros

Base de Datos de Torres de Celular

Gestiona y consulta la base de datos de ubicación de torres de celular OpenCellID para servicios de emergencia y características basadas en ubicación.

Acceso: Navega a /cell_towers en el Panel de Control

Características

  • Estadísticas de la Base de Datos: Ver registros totales, cobertura por país/red
  • Búsqueda y Consulta:
    • Buscar por MCC (Código de País Móvil)
    • Buscar por MNC (Código de Red Móvil)
    • Buscar por tipo de radio (GSM, UMTS, LTE)
    • Buscar por cadena de ubicación
  • Gestión de la Base de Datos:
    • Importar datos de torres de celular
    • Volver a descargar el conjunto de datos más reciente de OpenCellID
    • Ver estado y progreso de importación
  • Resolución de Ubicación: Resolver IDs de celdas a coordenadas geográficas

Casos de Uso

  • Determinación de ubicación de llamadas de emergencia
  • Seguimiento de ubicación de suscriptores (con consentimiento)
  • Análisis de cobertura de red
  • Solucionar problemas de ubicación de roaming
  • Mantenimiento de la base de datos de torres de celular

Fuente de Datos

Los datos de torres de celular se obtienen de OpenCellID (https://opencellid.org/), un proyecto comunitario colaborativo para crear una base de datos gratuita de ubicaciones de torres de celular en todo el mundo.


Simulador de Llamadas

Herramienta de simulación de llamadas interactiva para probar la lógica del plan de marcado sin realizar llamadas reales.

Acceso: Navega a /simulator en el Panel de Control

Documentación Detallada: Consulta doc/HLR_AND_CALL_SIMULATOR.md

Características

  • Simular Tipos de Llamadas: Probar llamadas MO, MT y de Emergencia
  • Parámetros Configurables:
    • Números de origen y destino
    • Dirección IP de origen (para simular SBC/CSCF)
    • Forzar una disposición de llamada específica
    • Saltar autorización OCS para pruebas más rápidas
  • Resultados Completos:
    • Salida completa de variables del plan de marcado
    • Resultados de búsqueda Sh/HLR
    • Resultado de autorización OCS
    • Resultados de consulta SS7 MAP (si corresponde)
    • XML del plan de marcado generado
  • Procesamiento Paso a Paso: Ver cada etapa del procesamiento de la llamada

Casos de Uso

  • Probar cambios en el plan de marcado antes de la implementación
  • Verificar la provisión de suscriptores
  • Depurar problemas de enrutamiento de llamadas
  • Capacitar al personal en el flujo de llamadas
  • Validar la integración OCS/HLR
  • Probar el manejo de llamadas de emergencia

Pruebas HLR/MAP

Prueba operaciones MAP de SS7 incluyendo consultas de Envío de Información de Enrutamiento (SRI) y Proporcionar Número de Roaming (PRN).

Acceso: Navega a /hlr en el Panel de Control

Documentación Detallada: Consulta doc/HLR_AND_CALL_SIMULATOR.md

Características

  • Consulta SRI: Probar Envío de Información de Enrutamiento para enrutamiento de llamadas
  • Consulta PRN: Probar Proporcionar Número de Roaming para suscriptores en roaming
  • Resultados Reales: Consultas reales al gateway MAP configurado
  • Visualización de Respuestas: Ver MSRN, dirección MSC y estado de reenvío
  • Manejo de Errores: Visualización clara de errores y tiempos de espera de MAP

Casos de Uso

  • Verificar conectividad HLR
  • Probar la asignación de números de roaming
  • Depurar el enrutamiento de llamadas a suscriptores en roaming
  • Validar la configuración del gateway MAP
  • Solucionar problemas de desvío de llamadas

Pruebas OCS

Prueba operaciones de Control de Crédito (CCR) de Diámetro Ro (Carga en Línea) directamente contra tu OCS.

Acceso: Navega a /ocs_test en el Panel de Control

Características

  • Tipos de CCR Flexibles: Enviar solicitudes de INICIAL, ACTUALIZACIÓN, TERMINACIÓN o EVENTO
  • Simulación de Sesiones: Reutiliza el mismo ID de Llamada para simular un ciclo de vida completo de la sesión
  • Selección de Tipo de Evento: Probar tanto SMS (basado en eventos) como Llamadas (basadas en sesiones)
  • Control de Dirección: Probar tanto escenarios salientes (MO) como entrantes (MT)
  • Parámetros Opcionales: Especificar Destination-Host y Nombre de Usuario para pruebas avanzadas
  • Resultados en Tiempo Real: Ver respuestas completas de CCA (Respuesta de Control de Crédito)

Cómo Usar

  1. Ingresar Parámetros de Prueba:

    • MSISDN Llamado: El número de destino (por ejemplo, 61400123456)
    • MSISDN Llamante: El número de origen (por ejemplo, 61400987654)
    • Tipo de Evento: Elegir sms o call
      • SMS predeterminado a EVENT_REQUEST (tipo 4)
      • Llamada predeterminada a INITIAL_REQUEST (tipo 1)
    • Dirección: out para MO o in para MT
  2. Configurar Tipo de CCR:

    • Request-Type: Selecciona el tipo de CCR:
      • 1 — INITIAL_REQUEST - Iniciar una nueva sesión
      • 2 — UPDATE_REQUEST - Reautorización a mitad de sesión
      • 3 — TERMINATION_REQUEST - Finalizar sesión e informar uso
      • 4 — EVENT_REQUEST - Evento único (SMS, evento inmediato)
    • Request-Number: Comienza en 1, incrementa para cada solicitud en la misma sesión
  3. Pruebas de Sesión:

    • ID de Llamada: Identificador único autogenerado para correlación
    • Haz clic en "Nuevo ID" para generar un nuevo ID de Llamada para una nueva prueba
    • Mantén el mismo ID de Llamada para simular una sesión completa:
      • Primera solicitud: INITIAL_REQUEST (tipo 1, número 1)
      • A mitad de sesión: UPDATE_REQUEST (tipo 2, número 2, 3, 4...)
      • Solicitud final: TERMINATION_REQUEST (tipo 3, número N+1)
  4. Opciones Avanzadas:

    • Destination-Host: Dirigir a un nodo OCS específico (opcional)
    • Nombre de Usuario: Sobrescribir el identificador del suscriptor (opcional)
  5. Ejecutar y Revisar:

    • Haz clic en "Ejecutar CCR" para enviar la solicitud
    • Ver la respuesta completa de CCA con todos los AVPs
    • Verifica el código de resultado, unidades concedidas y tiempo de validez
    • La marca de tiempo de la última ejecución se muestra en la esquina superior derecha

Casos de Uso

  • Pruebas de Conectividad OCS: Verificar la conexión y autenticación de Diámetro Ro
  • Lógica de Control de Crédito: Probar escenarios de asignación, consumo y agotamiento de crédito
  • Pruebas de Flujo de Sesión: Simular el ciclo de vida completo de la llamada (INICIAL → ACTUALIZACIÓN → TERMINACIÓN)
  • Validación de Tarifas: Verificar las tarifas de carga correctas para diferentes rangos de números
  • Pruebas de Failover: Probar la redundancia de OCS dirigiendo a Destination-Host específico
  • Depuración de Integración: Solucionar problemas de integración de OCS con inspección detallada de AVP
  • Preparación para Pruebas de Carga: Validar el comportamiento de OCS antes de las pruebas de carga
  • Bypass de Números de Emergencia: Verificar que los números de emergencia omitan la carga correctamente

Consejos

  • Usa el mismo ID de Llamada con números de solicitud incrementales para probar la continuidad de la sesión
  • Monitorea los registros de OCS simultáneamente para correlacionar las solicitudes de prueba
  • Prueba solicitudes UPDATE para verificar la lógica de reautorización a mitad de sesión
  • Verifica que las solicitudes de TERMINACIÓN cierren correctamente las sesiones y prevengan fugas
  • Prueba el agotamiento de crédito enviando solicitudes UPDATE después de consumir unidades concedidas

Pruebas de Interfaz Sh

Prueba operaciones de Solicitud de Datos de Usuario (UDR) de Diámetro Sh para recuperar datos del perfil del suscriptor del HSS.

Acceso: Navega a /sh_test en el Panel de Control

Características

  • Múltiples Referencias de Datos: Consultar más de 20 tipos diferentes de datos de suscriptores
  • Consultas HSS Reales: Solicitudes de Diámetro Sh en vivo a tu HSS configurado
  • Visualización Completa de Respuestas: Ver datos completos de suscriptores en XML y AVPs
  • Seguimiento de Sesiones: Muestra el nombre de host del HSS, dominio y ID de sesión
  • Manejo de Errores: Visualización clara de códigos de resultado de Diámetro y condiciones de error

Cómo Usar

  1. Ingresar Identidad Pública:

    • Identidad Pública: La Identidad Pública IMS del suscriptor
    • Formato: sip:61400123456@ims.mncXXX.mccXXX.3gppnetwork.org
    • También se puede usar el formato tel:+61400123456
  2. Seleccionar Referencia de Datos: Elige el tipo de datos de suscriptor a recuperar:

    • RepositoryData (0): Perfil completo del suscriptor
    • IMSPublicIdentity (10): Lista de identidades públicas
    • IMSUserState (11): Estado de registración
    • S-CSCFName (12): S-CSCF asignado
    • InitialFilterCriteria (13): iFC disparadores para servidores de aplicaciones
    • LocationInformation (14): Ubicación actual
    • ChargingInformation (16): Direcciones P-Carga
    • MSISDN (17): Número de teléfono
    • IMSI (32): Identidad Internacional de Suscriptor Móvil
    • IMSPrivateUserIdentity (33): Identidad de usuario privada
    • Y muchos más...
  3. Ejecutar y Revisar:

    • Haz clic en "Obtener Datos SH" para enviar la solicitud UDR
    • Ver la respuesta completa de User-Data-Answer (UDA)
    • Verifica el XML del perfil del suscriptor, datos de servicio y reglas iFC
    • Los metadatos de la sesión muestran qué HSS respondió

Casos de Uso

  • Verificación de Suscriptores: Confirmar que el suscriptor está provisionado en el HSS
  • Depuración de iFC: Revisar Criterios de Filtro Inicial y puntos de activación
  • Solución de Problemas de Registración: Verificar estado de usuario y asignación de S-CSCF
  • Configuración de Carga: Verificar Direcciones de Función de Carga P
  • Pruebas de Conectividad HSS: Validar la conexión de Diámetro Sh
  • Validación de Perfil: Asegurar que el perfil de servicio correcto esté asignado
  • Pruebas de Integración: Probar la integración del HSS después de cambios de provisión
  • Análisis de Roaming: Verificar información de ubicación y red de servicio

Consejos

  • Usa IMSPublicIdentity (10) para ver todos los alias de un suscriptor
  • Usa RepositoryData (0) para obtener el perfil completo del suscriptor en una sola consulta
  • Verifica IMSUserState (11) para confirmar si un suscriptor está registrado
  • InitialFilterCriteria (13) muestra qué servidores de aplicación serán activados
  • El ID de sesión se puede usar para correlacionar consultas en los registros del HSS
  • Las respuestas de error incluyen códigos de resultado de Diámetro (por ejemplo, 5001 = Usuario Desconocido)

Pruebas de Traducción de Números

Prueba reglas y formatos de traducción de números sin realizar llamadas reales.

Acceso: Navega a /translate en el Panel de Control

Características

  • Traducción en Tiempo Real: Traduce automáticamente a medida que escribes
  • Soporte de Código de País: Prueba diferentes contextos de código de país
  • Consciente de Disposición: Aplica diferentes reglas según la disposición de la llamada
  • Resultados en Vivo: Retroalimentación inmediata con el número traducido
  • Información de Depuración: Ver valores de retorno en bruto para solucionar problemas

Cómo Usar

  1. Configurar Parámetros:

    • Código de País: El contexto de marcado (por ejemplo, AU, US, NZ)
      • Predeterminado al valor configurado en Tas.Config.number_translate()[:country_code]
      • Acepta formatos: AU, :AU, au
    • Número de Teléfono: El número a traducir
      • Ejemplos: +61400111222, 0400111222, 61400111222
    • Disposición: (Opcional) Contexto de llamada para reglas condicionales
      • Ejemplos: originate, route, emergency
  2. Probar Traducción:

    • Ingresa valores en el formulario
    • La traducción se ejecuta automáticamente a medida que escribes
    • O haz clic en "Traducir" para activar manualmente
    • Ver el resultado traducido inmediatamente
  3. Revisar Resultados:

    • Traducido: Muestra el número de salida formateado
    • Error: Muestra errores de validación o fallos de traducción
    • Valor de retorno en bruto (depuración): Muestra la tupla completa de Elixir para depuración

Casos de Uso

  • Desarrollo de Plan de Marcado: Probar reglas de formato de números antes de la implementación
  • Validación de Formato: Verificar que la conversión E.164 esté funcionando correctamente
  • Pruebas de Código de País: Asegurar el manejo correcto de prefijos internacionales
  • Detección de Números de Emergencia: Verificar que los números de emergencia estén correctamente identificados
  • Manejo de Códigos Cortos: Probar códigos de servicio especiales (buzón de voz, etc.)
  • Preparación de Troncos: Formatear números correctamente para requisitos de tronco SIP
  • Lógica de Disposición: Probar diferentes reglas para escenarios MO vs MT
  • Solución de Problemas de Traducción: Solucionar por qué números específicos fallan en el enrutamiento

Consejos

  • Prueba tanto el formato local (0400111222) como el formato internacional (+61400111222)
  • Verifica que los números de emergencia (000, 112) sean detectados correctamente
  • Usa el campo de disposición para probar diferentes escenarios de llamada (MO, MT, emergencia)
  • Verifica que los códigos cortos y números internos sean manejados adecuadamente
  • La salida de depuración muestra el valor de retorno en bruto - útil para investigar problemas
  • Prueba casos límite como ceros a la izquierda, prefijos internacionales y caracteres especiales

Gestión de Buzones de Voz

Gestiona y escucha mensajes de voz almacenados en el sistema.

Acceso: Navega a /voicemail en el Panel de Control

Características

  • Lista Completa de Buzones de Voz: Ver todos los mensajes de voz en todos los buzones
  • Reproducción en el Navegador: Escuchar grabaciones de buzón de voz directamente en la interfaz web
  • Detalles del Mensaje: Ver nombre de usuario, UUID, marcas de tiempo, rutas de archivos y metadatos
  • Funcionalidad de Eliminación: Eliminar mensajes de voz individuales
  • Auto-Actualización: Botón de actualización para recargar los últimos datos de buzón de voz
  • Columnas Dinámicas: Muestra automáticamente todos los campos de la base de datos disponibles

Cómo Usar

  1. Ver Lista de Buzones de Voz:

    • La página se carga automáticamente con todos los registros de buzón de voz
    • La tabla muestra todos los campos de la base de datos de buzón de voz
    • Las marcas de tiempo se formatean automáticamente a partir de valores de época
    • Las rutas de archivos se acortan para mayor legibilidad
  2. Escuchar Mensajes:

    • Haz clic en el botón "▶ Reproducir" junto a cualquier mensaje de voz
    • Aparece el reproductor de audio con controles (reproducir, pausar, buscar, volumen)
    • Soporta formatos WAV, MP3 y OGG
    • Haz clic en "Detener" para cerrar el reproductor de audio
  3. Eliminar Mensajes:

    • Haz clic en el botón "Eliminar" para quitar un mensaje de voz
    • El aviso de confirmación previene eliminaciones accidentales
    • La página se actualiza automáticamente después de una eliminación exitosa
  4. Actualizar Datos:

    • Haz clic en el botón "Actualizar" en la esquina superior derecha para recargar la lista de buzones de voz
    • Útil después de que se dejen nuevos mensajes de voz

Detalles del Mensaje Mostrados

La tabla muestra dinámicamente todos los campos disponibles, típicamente incluyendo:

  • Nombre de Usuario: Propietario del buzón
  • UUID: Identificador único del mensaje
  • Época Creada: Cuando se dejó el mensaje (formateado automáticamente a fecha/hora legible)
  • Época Leída: Cuando se accedió al mensaje (si corresponde)
  • Ruta de Archivo: Ubicación del archivo de audio
  • Metadatos adicionales de la base de datos de buzón de voz

Casos de Uso

  • Soporte a Suscriptores: Escuchar mensajes de voz para solucionar problemas
  • Pruebas de Entrega de Buzón de Voz: Verificar que los mensajes de voz se estén almacenando correctamente
  • Gestión de Mensajes: Limpiar mensajes de voz antiguos o de prueba
  • Solución de Problemas de Grabación: Verificar rutas de archivos y confirmar que existan archivos de audio
  • Mantenimiento de Buzones: Monitorear almacenamiento y uso de buzones de voz
  • Aseguramiento de Calidad: Revisar mensajes grabados por calidad de audio

Consejos

  • Las rutas de archivos se acortan automáticamente para mostrar solo la porción relevante
  • Las marcas de tiempo de época se convierten automáticamente a formato legible para humanos
  • Una base de datos de buzón de voz vacía muestra "No se encontraron registros de buzón de voz"
  • La reproducción de audio utiliza el elemento de audio HTML5 - compatible en todos los navegadores modernos
  • La confirmación de eliminación previene la eliminación accidental de mensajes importantes

Gestión de Prompts TTS

Gestiona los prompts de audio generados por Texto a Voz (TTS) utilizados en todo el sistema.

Acceso: Navega a /prompts en el Panel de Control

Características

  • Visualización de Configuración de Prompts: Ver voz TTS actual, formato de respuesta e instrucciones
  • Estado de Grabación: Ver qué prompts existen y cuáles faltan
  • Detalles de Archivo: Ver tamaño de archivo, tiempo de modificación y ruta para cada prompt
  • Reproducción en el Navegador: Escuchar prompts directamente en la interfaz web
  • Generar Faltantes: Crear automáticamente todos los archivos de prompts que faltan
  • Regrabar Individual: Regenerar un prompt específico con configuraciones actualizadas
  • Regrabar Todos: Regenerar todos los prompts (útil después de cambiar voz o configuraciones)

Cómo Usar

  1. Revisar Configuración de Prompts:

    • Voz: Voz TTS que se está utilizando (por ejemplo, alloy, nova, shimmer)
    • Formato de Respuesta: Formato de audio (por ejemplo, wav, mp3, opus)
    • Instrucciones: Instrucciones especiales pasadas al motor TTS
  2. Verificar Estado de Grabación:

    • Texto: El texto del prompt a ser hablado
    • Ruta Relativa: Donde se almacena el archivo de audio
    • Existe: Verde "Sí" si el archivo existe, Amarillo "No" si falta
    • Tamaño: Tamaño del archivo en bytes/KiB/MiB
    • Modificado: Marca de tiempo de la última modificación
  3. Generar Prompts:

    • Generar Faltantes: Crea solo los prompts que aún no existen
      • Útil para configuración inicial o después de agregar nuevos prompts
    • Regrabar Todos: Regenera todos los prompts independientemente de su existencia
      • Útil después de cambiar voz, formato o instrucciones
      • Usar con precaución ya que regenera todo
  4. Gestionar Prompts Individuales:

    • ▶ Reproducir: Escuchar el prompt (solo habilitado si el archivo existe)
    • 🔄 Regrabar: Regenerar solo este prompt
      • Útil si un prompt suena incorrecto
      • Usa la voz y configuraciones actuales
  5. Escuchar Prompts:

    • Haz clic en "▶ Reproducir" para escuchar el prompt
    • Aparece el reproductor de audio en la parte inferior con controles completos
    • Haz clic en "Detener" para cerrar el reproductor

Configuración de Prompts

Los prompts se configuran en la configuración de tu aplicación:

config :tas, :prompts,
voice: "nova",
response_format: "wav",
instructions: "Habla claramente y profesionalmente.",
recordings: [
%{path: "/sounds/en/us/callie/voicemail/vm-enter_id.wav",
text: "Por favor, ingresa tu ID de buzón seguido de la almohadilla"},
# ... más prompts
]

Casos de Uso

  • Configuración Inicial: Generar todos los prompts después de la instalación del sistema
  • Cambios de Voz: Regrabar todos los prompts con una voz TTS diferente
  • Mejora de Calidad: Corregir prompts individuales que no suenan bien
  • Actualizaciones de Formato: Regenerar prompts en un formato de audio diferente (wav → mp3)
  • Actualizaciones de Texto: Regrabar después de cambiar el texto del prompt en la configuración
  • Pruebas de TTS: Previsualizar cómo sonarán los prompts antes de la implementación
  • Solución de Problemas de Reproducción: Verificar que los archivos de prompts existan y sean accesibles
  • Gestión de Almacenamiento: Verificar tamaños de archivo y gestionar uso de disco

Consejos

  • Usa "Generar Faltantes" para la configuración inicial - no sobrescribirá los prompts existentes
  • Usa "Regrabar Todos" después de cambiar la voz o el formato en la configuración
  • La "Regrabación" individual es útil para iterar sobre prompts específicos
  • Escucha los prompts antes de la implementación para asegurar calidad
  • Los formatos de respuesta más grandes (wav) tienen mejor calidad pero usan más espacio en disco
  • El campo de instrucciones puede guiar al motor TTS sobre tono y ritmo
  • La regrabación puede tardar si tienes muchos prompts - ten paciencia
  • Los prompts se almacenan en el directorio de sonidos de FreeSWITCH para fácil acceso

Plantillas XML del Plan de Marcado

Ver e inspeccionar las plantillas XML del plan de marcado de FreeSWITCH utilizadas para el enrutamiento de llamadas.

Acceso: Navega a /routing en el Panel de Control

Características

  • Lista de Plantillas: Ver todas las plantillas XML de archivos del directorio priv/templates/
  • Detalles del Archivo: Ver nombre de archivo y marca de tiempo de última modificación para cada plantilla
  • Resaltado de Sintaxis: Visualización de XML codificada por colores para una fácil lectura
    • Etiquetas en cian
    • Atributos en azul claro
    • Valores en naranja/tan
    • Comentarios en verde
  • Vista Expandible: Haz clic en cualquier plantilla para ver su contenido XML completo
  • Vista Solo Lectura: Inspección segura sin riesgo de modificación accidental
  • Contenido Desplazable: Plantillas grandes se desplazan dentro de un contenedor de altura fija (máx. 600px)

Cómo Usar

  1. Ver Lista de Plantillas:

    • La página se carga con todos los archivos .xml del directorio de plantillas
    • Ordenados alfabéticamente por nombre de archivo
    • Muestra la marca de tiempo de modificación para cada archivo
  2. Inspeccionar Plantilla:

    • Haz clic en cualquier fila para expandir y ver el contenido XML
    • La plantilla se muestra con resaltado de sintaxis
    • Haz clic nuevamente para colapsar
  3. Leer Contenido XML:

    • Etiquetas (cian): Nombres de elementos XML como <extension>, <condition>
    • Atributos (azul claro): Nombres de atributos como name=, field=
    • Valores (naranja): Valores de atributos como "public", "destination_number"
    • Comentarios (verde): Comentarios XML <!-- ... -->

Casos de Uso

  • Revisar Lógica del Plan de Marcado: Inspeccionar reglas de enrutamiento y plantillas de flujo de llamadas
  • Solucionar Problemas de Enrutamiento de Llamadas: Entender qué plantillas se utilizan para diferentes tipos de llamadas
  • Verificar Sintaxis de Plantilla: Comprobar la estructura XML antes de la implementación
  • Capacitación y Documentación: Compartir contenidos de plantillas con miembros del equipo
  • Auditoría de Cambios: Comparar marcas de tiempo de modificación para rastrear actualizaciones
  • Desarrollo de Plantillas: Referenciar plantillas existentes al crear nuevas

Consejos

  • Las plantillas se cargan desde priv/templates/ dentro de la aplicación TAS
  • Solo se muestran archivos con extensión .xml
  • Las plantillas son de solo lectura a través de la interfaz web
  • Las marcas de tiempo de modificación ayudan a identificar cambios recientes
  • Usa esta vista para verificar que las plantillas coincidan con tus expectativas de plan de marcado
  • El resaltado de sintaxis facilita la lectura visual de XML complejo
  • Combina con la vista /logs para correlacionar el comportamiento de enrutamiento con las plantillas

Detalles Técnicos

  • Ubicación: Plantillas almacenadas en el directorio priv/templates/
  • Formato: Formato XML del plan de marcado de FreeSWITCH
  • Extensión de Archivo: Solo se listan archivos .xml
  • Ordenación: Alfabética por nombre de archivo
  • Resaltado de Sintaxis: Colorización del lado del cliente utilizando patrones regex
  • Altura Máxima de Visualización: 600px con desplazamiento para archivos grandes

Ejecutar Comandos ESL

Ejecuta comandos de FreeSWITCH Event Socket Layer (ESL) directamente desde la interfaz web.

Acceso: Navega a /command en el Panel de Control

Características

  • Ejecución de Comandos: Ejecuta cualquier comando API de ESL/FreeSWITCH
  • Salida en Vivo: Ver resultados de comandos en tiempo real
  • Historial de Comandos: Desplegable de comandos recientes (últimos 10 comandos)
  • Listo para Autocompletar: Entrada en monoespacio para una entrada precisa de comandos
  • Manejo de Errores: Visualización clara de errores y excepciones de comandos
  • Sin Auto-Ejecución: Seleccionar del historial llena la entrada pero requiere clic explícito en "Ejecutar"

Cómo Usar

  1. Ingresar Comando:

    • Escribe el comando ESL en el cuadro de entrada
    • Ejemplos:
      • status - Mostrar estado de FreeSWITCH
      • show channels - Listar llamadas activas
      • uuid_dump <uuid> - Volcar todas las variables para una llamada
      • sofia status - Mostrar estado del perfil SIP
      • reloadxml - Recargar XML del plan de marcado
      • version - Mostrar versión de FreeSWITCH
  2. Ejecutar Comando:

    • Haz clic en el botón "Ejecutar" para ejecutar
    • El botón muestra "Ejecutando…" mientras se ejecuta
    • No se pueden ejecutar múltiples comandos simultáneamente
  3. Ver Salida:

    • Los resultados aparecen en la sección "Salida" a continuación
    • Comandos exitosos muestran respuesta en bruto
    • Errores precedidos por "ERROR:"
    • La salida es desplazable con altura máxima de 600px
    • Fuente monoespaciada para datos alineados
  4. Usar Historial de Comandos:

    • Los comandos recientes aparecen en el desplegable después de la primera ejecución
    • Selecciona del desplegable "Recientes:" para llenar el campo de entrada
    • El historial mantiene los últimos 10 comandos únicos
    • El comando más reciente en la parte superior
    • Seleccionar del historial NO auto-ejecuta (característica de seguridad)

Comandos Comunes

ComandoDescripciónSalida de Ejemplo
statusEstado del sistema y tiempo de actividadInformación de FreeSWITCH en ejecución
show channelsListar todas las llamadas activasLista de canales o "0 total"
show callsResumen de llamadas activasResumen del conteo de llamadas
uuid_dump <uuid>Todas las variables para una llamadaVolcado completo de variables
uuid_kill <uuid>Colgar llamada específica"+OK" o error
sofia statusEstado del perfil SIPLista de perfiles y estados
sofia status profile <name>Detalles de perfil específicoConteo de registraciones, etc.
reloadxmlRecargar XML del plan de marcadoConfirmación "+OK"
versionInformación de versión de FreeSWITCHCadena de versión
global_getvar <var>Obtener variable globalValor de variable
api helpListar comandos disponiblesReferencia de comandos

Casos de Uso

  • Depuración de Llamadas: Obtener información detallada sobre una llamada activa con uuid_dump
  • Estado del Sistema: Comprobar la salud de FreeSWITCH con status y show calls
  • Solución de Problemas SIP: Inspeccionar perfiles SIP con sofia status
  • Recarga de Plan de Marcado: Aplicar cambios de configuración con reloadxml
  • Acciones de Emergencia: Colgar llamadas atascadas con uuid_kill
  • Inspección de Variables: Verificar variables globales o de canal

Solución de Problemas

Suscriptores No Mostrados

  • Verifica que OmniTAS esté en ejecución
  • Comprueba que el perfil de Sofia esté activo: sofia status profile internal
  • Verifica que la ruta de la base de datos en la configuración coincida con la ubicación real de la base de datos

Registros CDR No Aparecen

  • Confirma que el módulo CDR de OmniTAS esté cargado
  • Verifica que la base de datos CDR exista en la ruta configurada
  • Verifica la configuración del módulo CDR en OmniTAS

Consideraciones de Rendimiento

  • Bases de datos CDR grandes (>1M registros) pueden requerir indexación adicional para un rendimiento óptimo
  • Considera archivar registros CDR antiguos periódicamente
  • Las consultas de registración de suscriptores son típicamente rápidas ya que la base de datos de registración es pequeña

Configuración

Control de Acceso

El Panel de Control debe implementarse detrás de controles de acceso apropiados (cortafuegos, VPN, autenticación) ya que proporciona visibilidad sobre la actividad de los suscriptores y los registros de llamadas.