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
- 📋 README Principal - Descripción general y guía rápida
- 🔧 Guía de Configuración - Referencia de configuración del sistema
- 📊 Referencia de Métricas - Métricas y monitoreo de Prometheus
Herramientas de Monitoreo y Pruebas
- 🧪 Simulador de HLR y Llamadas - Herramientas de prueba para HLR y simulación de llamadas
- 👥 Servidor de Conferencias IMS - Gestión y monitoreo de conferencias
- 📈 Métricas del Plan de Marcado - Métricas específicas del plan de marcado
Procesamiento de Llamadas y Servicios
- 🔀 Configuración del Plan de Marcado - Enrutamiento de llamadas y referencia del plan de marcado
- 👥 Interfaz Sh - Pruebas de datos de suscriptores
- 💳 Carga en Línea - Pruebas de OCS
- 🔢 Traducción de Números - Pruebas de traducción de números
- 📞 Buzón de Voz - Gestión de buzones de voz
Interfaces de Integración
- 📡 SS7 MAP - Pruebas de HLR/MAP
- ⚙️ Servicios Suplementarios - Llamadas de emergencia, desvío de llamadas
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
- Registros de Detalle de Llamadas (CDR)
- Monitoreo de Llamadas Activas
- Servidor de Conferencias IMS
- Estado del Gateway
- Estado del Par de Diámetro
- Visor de Registros
- Base de Datos de Torres de Celular
- Simulador de Llamadas
- Pruebas HLR/MAP
- Otras Vistas
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
- 🟢 Verde:
- 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
-
Visualización Básica:
- La página se carga con los últimos 100 registros CDR (ordenados por
start_stampde 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
- La página se carga con los últimos 100 registros CDR (ordenados por
-
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
-
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
-
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
-
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
-
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
- Selecciona el campo del desplegable "Seleccionar Campo para Filtrar":
-
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
- Todos los filtros se pueden usar simultáneamente:
-
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_numberdestination_numberuuidcaller_id_namehangup_cause
Operadores de Búsqueda (se pueden combinar):
-
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 conOR - Ejemplo:
61480coincide con "61480123456", "55561480999", etc.
- Sintaxis:
-
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 conOR - Ejemplo:
"911"coincide solo con exactamente "911", no "9115" o "1911"
- Sintaxis:
-
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 conAND - Ejemplo:
!NORMALexcluye cualquier registro con "NORMAL" en cualquier campo
- Sintaxis:
-
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 conAND - Ejemplo:
!"NORMAL_CLEARING"excluye registros donde cualquier campo es exactamente "NORMAL_CLEARING"
- Sintaxis:
-
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
ANDen SQL - Ejemplo:
"911" AND "12345"encuentra registros con "911" en un campo Y "12345" en otro
- Sintaxis:
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:
| Consulta | Cómo Funciona | Resultado |
|---|---|---|
61480 | Búsqueda contiene en todos los campos | Todos los registros con "61480" en cualquier parte (llamante, destino, UUID, etc.) |
"911" | Coincidencia exacta en todos los campos | Registros donde cualquier campo es exactamente "911" |
!NORMAL_CLEARING | Búsqueda inversa contiene | Excluye registros con "NORMAL_CLEARING" en CUALQUIER campo (llamadas fallidas) |
!"NORMAL_CLEARING" | Inversa exacta | Excluye 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 61480 | Inversa contiene "NORMAL" Y contiene "61480" | Llamadas no normales que involucran "61480" |
!"ANSWER" AND !NORMAL | Inversa exacta "ANSWER" Y inversa contiene "NORMAL" | Excluye llamadas respondidas y cualquier cosa con "NORMAL" |
61480 AND !NORMAL_CLEARING | Contiene "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_CLEARINGpara 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_listno está configurado: Todos los campos CDR disponibles se muestran por defecto - Si
cdrs_field_listestá 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
- Verifica si hay errores tipográficos en los términos de búsqueda
- Intenta eliminar las comillas para una búsqueda más amplia
- Verifica que el término exista en los campos buscables
- Asegúrate de que el rango de fechas no sea demasiado restrictivo
Demasiados Resultados
- Agrega más términos AND para reducir
- Usa coincidencia exacta con comillas
- Aplica filtros de rango de fechas
- Usa filtros específicos de campo
Resultados Inesperados
- Recuerda que la búsqueda se aplica a TODOS los campos buscables
- Verifica si el término aparece en un campo inesperado (como UUID)
- Usa coincidencia exacta para evitar coincidencias parciales
- 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
- Usa comillas para coincidencias exactas:
- 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
-
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
-
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
- Selecciona del desplegable "Fuente":
-
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
- Selecciona del desplegable "Nivel":
-
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
-
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
-
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
-
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
| Nivel | Color | Cuándo Se Usa | Ejemplo |
|---|---|---|---|
| Consola | Púrpura | Mensajes específicos de consola | Salida de consola de FreeSWITCH de alta prioridad |
| Alerta | Rojo | Acción inmediata requerida | Fallo de componente del sistema |
| Crítico | Rojo | Condiciones críticas | Conexión a la base de datos perdida |
| Error | Rojo Claro | Condiciones de error | Fallo al procesar llamada, configuración inválida |
| Advertencia | Amarillo | Condiciones de advertencia | Función obsoleta utilizada, intento de reintento |
| Aviso | Cian | Eventos normales notables | Configuración recargada, servicio iniciado |
| Info | Azul | Mensajes informativos | Llamada conectada, solicitud Diameter enviada |
| Depuración | Gris | Mensajes de nivel de depuración | Entrada/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
:elixiro:freeswitchcomo 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
-
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
smsocall- SMS predeterminado a EVENT_REQUEST (tipo 4)
- Llamada predeterminada a INITIAL_REQUEST (tipo 1)
- Dirección:
outpara MO oinpara MT
- MSISDN Llamado: El número de destino (por ejemplo,
-
Configurar Tipo de CCR:
- Request-Type: Selecciona el tipo de CCR:
1 — INITIAL_REQUEST- Iniciar una nueva sesión2 — UPDATE_REQUEST- Reautorización a mitad de sesión3 — TERMINATION_REQUEST- Finalizar sesión e informar uso4 — EVENT_REQUEST- Evento único (SMS, evento inmediato)
- Request-Number: Comienza en 1, incrementa para cada solicitud en la misma sesión
- Request-Type: Selecciona el tipo de CCR:
-
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)
-
Opciones Avanzadas:
- Destination-Host: Dirigir a un nodo OCS específico (opcional)
- Nombre de Usuario: Sobrescribir el identificador del suscriptor (opcional)
-
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
-
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
-
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...
-
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
-
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
- Predeterminado al valor configurado en
- Número de Teléfono: El número a traducir
- Ejemplos:
+61400111222,0400111222,61400111222
- Ejemplos:
- Disposición: (Opcional) Contexto de llamada para reglas condicionales
- Ejemplos:
originate,route,emergency
- Ejemplos:
- Código de País: El contexto de marcado (por ejemplo,
-
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
-
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
-
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
-
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
-
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
-
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
-
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
- Voz: Voz TTS que se está utilizando (por ejemplo,
-
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
-
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
- Generar Faltantes: Crea solo los prompts que aún no existen
-
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
-
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
-
Ver Lista de Plantillas:
- La página se carga con todos los archivos
.xmldel directorio de plantillas - Ordenados alfabéticamente por nombre de archivo
- Muestra la marca de tiempo de modificación para cada archivo
- La página se carga con todos los archivos
-
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
-
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
<!-- ... -->
- Etiquetas (cian): Nombres de elementos XML como
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
/logspara 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
-
Ingresar Comando:
- Escribe el comando ESL en el cuadro de entrada
- Ejemplos:
status- Mostrar estado de FreeSWITCHshow channels- Listar llamadas activasuuid_dump <uuid>- Volcar todas las variables para una llamadasofia status- Mostrar estado del perfil SIPreloadxml- Recargar XML del plan de marcadoversion- Mostrar versión de FreeSWITCH
-
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
-
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
-
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
| Comando | Descripción | Salida de Ejemplo |
|---|---|---|
status | Estado del sistema y tiempo de actividad | Información de FreeSWITCH en ejecución |
show channels | Listar todas las llamadas activas | Lista de canales o "0 total" |
show calls | Resumen de llamadas activas | Resumen del conteo de llamadas |
uuid_dump <uuid> | Todas las variables para una llamada | Volcado completo de variables |
uuid_kill <uuid> | Colgar llamada específica | "+OK" o error |
sofia status | Estado del perfil SIP | Lista de perfiles y estados |
sofia status profile <name> | Detalles de perfil específico | Conteo de registraciones, etc. |
reloadxml | Recargar XML del plan de marcado | Confirmación "+OK" |
version | Información de versión de FreeSWITCH | Cadena de versión |
global_getvar <var> | Obtener variable global | Valor de variable |
api help | Listar comandos disponibles | Referencia 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
statusyshow 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.