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 - Visión general y inicio rápido
- 🔧 Guía de Configuración - Referencia de configuración del sistema
- 📊 Referencia de Métricas - Métricas de Prometheus y monitoreo
Herramientas de Monitoreo y Pruebas
- 🧪 HLR y Simulador de Llamadas - Herramientas de prueba para HLR y simulación de llamadas
- 👥 Servidor de Conferencias IMS - Gestión y monitoreo de conferencias
- 📈 Métricas del Dialplan - Métricas específicas del dialplan
Procesamiento de Llamadas y Servicios
- 🔀 Configuración del Dialplan - Enrutamiento de llamadas y referencia del dialplan
- 👥 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
- 📞 Correo de Voz - Gestión de correo de voz
Interfaces de Integración
- 📡 SS7 MAP - Pruebas de HLR/MAP
- ⚙️ Servicios Suplementarios - Llamadas de emergencia, desvío de llamadas
- 📊 Integración HOMER - Trazado SIP y correlación de registros
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 incluyendo:
- Usuario SIP y Dominio
- URI de Contacto
- Estado y expiración de registració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 adjunto 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 de suscriptores activas
- Verificar el estado de adjunto de los suscriptores
- Solucionar problemas de registración
- Auditar la conectividad de los suscriptores
Registros de Detalle de Llamadas (CDR)
La vista de CDR proporciona acceso a los registros de detalle de llamadas almacenados por TAS para 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 coincidencia exacta, inversa/excluir 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 ordenamiento
- 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 un clic de todos los filtros activos
- 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 (código de 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_stampen orden 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: Regresar a descendente
- Columna ordenada resaltada 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 necesarias 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 revisa 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:
-
Inversa Exacta/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 sin distinción de 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/es 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/son iguales 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_conditions) AND (término2_conditions) 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" | Excluir 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- Búsqueda contiene encuentra coincidencias parciales - Encontrar llamadas de emergencia exactas:
"911"- Solo llamadas a exactamente "911" - Todas las llamadas fallidas:
!NORMAL_CLEARING- Excluir llamadas exitosas - Llamadas fallidas de un llamante específico:
"61480123456" AND !NORMAL- Combinar llamante exacto con inversa - Excluir números de prueba:
!test AND !demo- Múltiples búsquedas inversas - Depuración compleja:
61480 AND !"ANSWER" AND !CANCEL- Contiene un término, excluye exactos y parciales otros
Fuente de Datos
Los datos de CDR se consultan directamente de la base de datos SQLite de CDR de TAS.
El esquema puede variar entre implementaciones según los requisitos específicos.
Opciones de Exportación de CDR
Importante: Los registros CDR se pueden exportar 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 de CDR y los formatos de exportación son específicos de la implementación. Al configurar tu sistema, por favor solicita los formatos de salida de 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 Mantenimiento de Registros: 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 de CDR se muestran por defecto en el LiveView 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 de 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 disponibles en el selector de columnas - Si un campo en la lista no existe en los datos de CDR, se omitirá automáticamente
- Los nombres de los campos se pueden especificar 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 de columnas inicial entre todos los usuarios
- Mantener ocultos los campos avanzados por defecto pero aún accesibles
Ejemplo de Configuración:
# Mostrar solo información de llamadas esenciales 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 de CDR permanecen disponibles en el selector de "Columnas" - los usuarios pueden mostrar/ocultar manualmente cualquier campo que necesiten.
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 enfocarte 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 las 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 la 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, máximo de 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 la 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: Auto-actualización configurable (por defecto: 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 usando el comando ims_conference:
ims_conference list # Lista todas las conferencias activas
ims_conference info <conf_id> # Muestra detalles de la conferencia
ims_conference stats # Muestra estadísticas del servidor
ims_conference lock <conf_id> # Bloquea una conferencia
ims_conference unlock <conf_id> # Desbloquea una conferencia
ims_conference video <conf_id> on|off # Controla el video
ims_conference record <conf_id> start|stop # Controla la grabación
ims_conference add <conf_id> <sip_uri> # Agrega participante
ims_conference remove <conf_id> <uuid> # Elimina participante
ims_conference destroy <conf_id> # Termina la conferencia
Casos de Uso
- Monitoreo Operativo: Visibilidad en tiempo real de conferencias activas y uso de recursos
- Gestión de Capacidad: Monitorea conteos de participantes y uso de video para gestionar el ancho de banda
- Solución de Problemas: Diagnostica 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: Monitorea y graba conferencias para cumplimiento regulatorio
Cumplimiento con 3GPP
El servidor de conferencias implementa especificaciones clave de conferencias IMS de 3GPP:
- TS 24.147: Conferencias usando el subsistema de red central IM
- RFC 4579: Control de Llamadas SIP - Conferencias para Agentes de Usuario
- RFC 4575: Paquete de Eventos SIP para el 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 alcanzabilidad
- 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 las 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 tanto para el Backend de TAS (Elixir) como para los registros de Procesamiento de Llamadas de TAS (FreeSWITCH).
Acceso: Navega a /logs en el Panel de Control

Características
- Flujo de Registros Unificado: Ver registros tanto del Backend de TAS como del Procesamiento de Llamadas en una sola interfaz
- Actualizaciones en Tiempo Real: Transmisión en vivo de mensajes de registro a medida que ocurren (auto-actualización 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 (cyan)
- 🔵 Info - Mensajes informativos generales (azul)
- ⚪ Depuración - Registro de depuración/verbose (gris)
- Insignias de Fuente:
- 🔵 Backend de TAS - Registros de la aplicación Elixir (insignia azul)
- 🟣 Procesamiento de Llamadas de TAS - Registros de FreeSWITCH (insignia púrpura)
- Indicadores de Borde Izquierdo: Borde izquierdo codificado por color que coincide con el nivel de registro para un escaneo visual rápido
- Múltiples Filtros:
- Filtro de Fuente: Todas las Fuentes / Backend de TAS / Procesamiento de Llamadas de TAS
- 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: Congela la transmisión de registros para analizar entradas específicas sin perder contexto
- Limpiar Registros: Elimina todas las entradas de registro actuales de la visualización
- 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 un rendimiento óptimo
- 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 - Muestra registros tanto del Backend de TAS como del Procesamiento de Llamadas
- Backend de TAS - Solo registros de la aplicación Elixir
- Procesamiento de Llamadas de TAS - Solo registros de FreeSWITCH/dialplan
- El filtro se aplica de inmediato
- Selecciona del desplegable "Fuente":
-
Filtrar por Nivel de Registro:
- Selecciona del desplegable "Nivel":
- Todos - Muestra todos los niveles de registro
- Consola a Depuración - Muestra solo ese nivel específico
- Útil para enfocarse en errores o depurar problemas específicos
- Selecciona del desplegable "Nivel":
-
Buscar Palabras Clave:
- Escribe en el cuadro "Buscar registros..."
- Búsqueda sin distinción de 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 del Backend de TAS como los del Procesamiento de Llamadas
- Nuevos registros aparecerán a medida que se generen
-
Leer Entradas de Registro:
- Timestamp: Muestra el tiempo en formato HH:MM:SS.milliseconds
- Insignia de Fuente: Indica Backend de TAS (azul) o Procesamiento de Llamadas (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 | Falló al procesar la llamada, configuración inválida |
| Advertencia | Amarillo | Condiciones de advertencia | Función obsoleta utilizada, intento de reintento |
| Aviso | Cyan | 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 Backend de TAS para ver mensajes Diameter/Sh/Ro
- Depuración de Dialplan: Filtra Procesamiento de Llamadas de TAS 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="Backend de TAS" + 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 Cuidado: 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 (Procesamiento de Llamadas) para llamadas
- Precisión de Timestamp: Timestamps en milisegundos ayudan a correlacionar eventos a través de 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 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 Registro: Se muestran un máximo de 500 registros (los más antiguos se descartan cuando se alcanza el límite)
- Tasa de Actualización: Auto-actualización cada 1000ms (1 segundo)
- Búsqueda: Coincidencia de subcadenas sin distinción de mayúsculas en el campo de mensaje únicamente
- Filtrado Vacío: Filtra automáticamente mensajes de registro vacíos/placeholder
- Detección de Fuente: Registros etiquetados con
:elixiro:freeswitchcomo fuente - Ordenamiento: Registros ordenados por timestamp descendente (más recientes primero)
- PubSub: Registros de Elixir entregados a través de Phoenix PubSub para actualizaciones en tiempo real
- Registros de FreeSWITCH: Recopilados a través de la Interfaz de Socket de Eventos (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 de 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:
- Busca por MCC (Código de País Móvil)
- Busca por MNC (Código de Red Móvil)
- Busca por tipo de radio (GSM, UMTS, LTE)
- Busca 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: Resuelve 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
- Solución de problemas de problemas de ubicación en 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 dialplan sin realizar llamadas reales.
Acceso: Navega a /simulator en el Panel de Control
Documentación Detallada: Consulta la Guía de HLR y Simulador de Llamadas
Características
- Simular Tipos de Llamadas: Prueba 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 dialplan
- Resultados de búsqueda de Sh/HLR
- Resultado de autorización OCS
- Resultados de consulta SS7 MAP (si corresponde)
- XML del dialplan generado
- Procesamiento Paso a Paso: Ver cada etapa del procesamiento de la llamada
Casos de Uso
- Probar cambios en el dialplan antes de la implementación
- Verificar la provisión de suscriptores
- Depurar problemas de enrutamiento de llamadas
- Capacitar al personal sobre el flujo de llamadas
- Validar la integración OCS/HLR
- Probar el manejo de llamadas de emergencia
Pruebas HLR/MAP
Prueba operaciones SS7 MAP 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 la Guía de HLR y Simulador de Llamadas
Características
- Consulta SRI: Prueba Envío de Información de Enrutamiento para el enrutamiento de llamadas
- Consulta PRN: Prueba 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 Solicitud 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: Envía solicitudes de INICIAL, ACTUALIZACIÓN, TERMINACIÓN o EVENTO
- Simulación de Sesión: Reutiliza el mismo ID de Llamada para simular un ciclo de vida completo de la sesión
- Selección de Tipo de Evento: Prueba tanto SMS (basado en eventos) como Llamada (basado en sesiones)
- Control de Dirección: Prueba tanto escenarios salientes (MO) como entrantes (MT)
- Parámetros Opcionales: Especifica 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
-
Ingresa 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: Elige
smsocall- SMS por defecto es EVENT_REQUEST (tipo 4)
- Llamada por defecto es INITIAL_REQUEST (tipo 1)
- Dirección:
outpara MO oinpara MT
- MSISDN Llamado: El número de destino (por ejemplo,
-
Configura Tipo de CCR:
- Request-Type: Selecciona el tipo de CCR:
1 — INITIAL_REQUEST- Inicia una nueva sesión2 — UPDATE_REQUEST- Re-autorización en medio de la sesión3 — TERMINATION_REQUEST- Finaliza la sesión e informa el 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 generado automáticamente 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)
- En medio de la 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: Dirige a un nodo OCS específico (opcional)
- Nombre de Usuario: Sobrescribe 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 última marca de tiempo de ejecución se muestra en la esquina superior derecha
Casos de Uso
- Pruebas de Conectividad OCS: Verifica la conexión y autenticación de Diámetro Ro
- Lógica de Control de Crédito: Prueba escenarios de asignación, consumo y agotamiento de crédito
- Pruebas de Flujo de Sesión: Simula el ciclo de vida completo de la llamada (INICIAL → ACTUALIZACIÓN → TERMINACIÓN)
- Validación de Tarifas: Verifica las tarifas de carga correctas para diferentes rangos de números
- Pruebas de Failover: Prueba la redundancia de OCS dirigiendo a un Destination-Host específico
- Depuración de Integración: Soluciona problemas de integración OCS con inspección detallada de AVP
- Preparación para Pruebas de Carga: Valida el comportamiento de OCS antes de pruebas de carga
- Exclusión de Números de Emergencia: Verifica que los números de emergencia eviten 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 solicitudes de prueba
- Prueba solicitudes de ACTUALIZACIÓN para verificar la lógica de re-autorización en medio de la sesión
- Verifica que las solicitudes de TERMINACIÓN cierren adecuadamente las sesiones y prevengan fugas
- Prueba el agotamiento de crédito enviando solicitudes de ACTUALIZACIÓN 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 de perfil de suscriptor del HSS.
Acceso: Navega a /sh_test en el Panel de Control

Características
- Múltiples Referencias de Datos: Consulta más de 20 tipos diferentes de datos de suscriptor
- Consultas HSS Reales: Solicitudes de Diámetro Sh en vivo a tu HSS configurado
- Visualización Completa de Respuestas: Ver datos XML completos del suscriptor 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
-
Ingresa 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
-
Selecciona 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 desencadenantes 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 privada del usuario
- 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 de iFC
- Los metadatos de sesión muestran qué HSS respondió
Casos de Uso
- Verificación de Suscriptores: Confirma que el suscriptor esté provisionado en el HSS
- Depuración de iFC: Revisa los Criterios de Filtro Inicial y puntos de activación
- Solución de Problemas de Registración: Verifica el estado del usuario y la asignación de S-CSCF
- Configuración de Carga: Verifica las Direcciones de Función de Carga P
- Pruebas de Conectividad HSS: Valida la conexión de Diámetro Sh
- Validación de Perfiles: Asegúrate de que se haya asignado el perfil de servicio correcto
- Pruebas de Integración: Prueba la integración del HSS después de cambios en la provisión
- Análisis de Roaming: Verifica 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 aplicaciones se activarán
- 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: Traducción automática a medida que escribes
- Soporte para Códigos de País: Prueba diferentes contextos de códigos 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
-
Configura Parámetros:
- Código de País: El contexto de marcado (por ejemplo,
AU,US,NZ)- Por defecto, se configura el código de país en
config/runtime.exs - Acepta formatos:
AU,:AU,au
- Por defecto, se configura el código de país 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 de inmediato
-
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 Dialplan: Prueba reglas de formato de números antes de la implementación
- Validación de Formato: Verifica que la conversión E.164 esté funcionando correctamente
- Pruebas de Código de País: Asegúrate de que se manejen correctamente los prefijos internacionales
- Detección de Números de Emergencia: Verifica que los números de emergencia se identifiquen correctamente
- Manejo de Códigos Cortos: Prueba códigos de servicio especiales (correo de voz, etc.)
- Preparación de Troncos: Formatea números correctamente para requisitos de troncos SIP
- Lógica de Disposición: Prueba diferentes reglas para escenarios MO vs MT
- Solución de Problemas de Traducción: Soluciona 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) se detecten correctamente - Usa el campo de disposición para probar diferentes escenarios de llamada (MO, MT, emergencia)
- Verifica que los códigos cortos y los números internos se manejen 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 Correo de Voz
Gestiona y escucha los mensajes de correo de voz almacenados en el sistema.
Acceso: Navega a /voicemail en el Panel de Control

Características
- Lista Completa de Correos de Voz: Ver todos los mensajes de correo de voz en todos los buzones
- Reproducción en el Navegador: Escucha grabaciones de correo 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: Elimina mensajes de correo de voz individuales
- Auto-Actualización: Botón de actualización para recargar los últimos datos de correo de voz
- Columnas Dinámicas: Muestra automáticamente todos los campos de la base de datos disponibles
Cómo Usar
-
Ver Lista de Correos de Voz:
- La página se carga automáticamente con todos los registros de correo de voz
- La tabla muestra todos los campos de la base de datos de correo de voz
- Las marcas de tiempo se formatean automáticamente a partir de valores de época
- Las rutas de archivos se acortan para mejorar la legibilidad
-
Escuchar Mensajes:
- Haz clic en el botón "▶ Reproducir" junto a cualquier correo de voz
- Aparece un 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 correo de voz
- Un 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 correos de voz
- Útil después de que se dejen nuevos correos 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 correo de voz
Casos de Uso
- Soporte a Suscriptores: Escucha mensajes de correo de voz para solucionar problemas
- Pruebas de Entrega de Correo de Voz: Verifica que los correos de voz se almacenen correctamente
- Gestión de Mensajes: Limpia mensajes de correo de voz antiguos o de prueba
- Solución de Problemas de Grabación: Verifica rutas de archivos y confirma que existan archivos de audio
- Mantenimiento de Buzones: Monitorea almacenamiento y uso de correo de voz
- Aseguramiento de Calidad: Revisa 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 en época se convierten automáticamente a formato legible por humanos
- Una base de datos de correo de voz vacía muestra "No se encontraron registros de correo de voz"
- La reproducción de audio utiliza el elemento de audio HTML5 - soportado 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 del 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 prompt que faltan
- Re-grabar Individual: Regenerar un prompt específico con configuraciones actualizadas
- Re-grabar 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 que se va a pronunciar
- Ruta Relativa: Dónde 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 la configuración inicial o después de agregar nuevos prompts
- Re-grabar 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)
- 🔄 Re-grabar: Regenera 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 un 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: Genera todos los prompts después de la instalación del sistema
- Cambios de Voz: Re-graba todos los prompts con una voz TTS diferente
- Mejora de Calidad: Corrige prompts individuales que no suenan bien
- Actualizaciones de Formato: Regenera prompts en un formato de audio diferente (wav → mp3)
- Actualizaciones de Texto: Re-graba después de cambiar el texto del prompt en la configuración
- Pruebas de TTS: Previsualiza cómo sonarán los prompts antes de la implementación
- Solución de Problemas de Reproducción: Verifica que los archivos de prompt existan y sean accesibles
- Gestión de Almacenamiento: Verifica tamaños de archivos y gestiona el uso del disco
Consejos
- Usa "Generar Faltantes" para la configuración inicial - no sobrescribirá los prompts existentes
- Usa "Re-grabar Todos" después de cambiar voz o formato en la configuración
- La "Re-grabació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 utilizan más espacio en disco
- El campo de instrucciones puede guiar al motor TTS sobre tono y ritmo
- La re-grabación puede tardar tiempo si tienes muchos prompts - ten paciencia
- Los prompts se almacenan en el directorio de sonidos de FreeSWITCH para fácil acceso
Plantillas XML del Dialplan
Ver e inspeccionar las plantillas XML del dialplan 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 la última modificación para cada plantilla
- Resaltado de Sintaxis: Visualización de XML codificada por colores para una fácil lectura
- Etiquetas en teal
- 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 (teal): 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 (teal): Nombres de elementos XML como
Casos de Uso
- Revisar Lógica del Dialplan: Inspeccionar reglas de enrutamiento y plantillas de flujo de llamadas
- Solución de Problemas de Enrutamiento de Llamadas: Entender qué plantillas se utilizan para diferentes tipos de llamadas
- Verificar Sintaxis de Plantillas: 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 dialplan
- El resaltado de sintaxis hace que XML complejo sea más fácil de analizar visualmente
- Combina con la vista
/logspara correlacionar el comportamiento de enrutamiento con plantillas
Detalles Técnicos
- Ubicación: Plantillas almacenadas en el directorio
priv/templates/ - Formato: Formato XML del dialplan de FreeSWITCH
- Extensión de Archivo: Solo se listan archivos
.xml - Ordenamiento: Alfabético por nombre de archivo
- Resaltado de Sintaxis: Colorización del lado del cliente usando patrones regex
- Altura Máxima de Visualización: 600px con desplazamiento para archivos grandes
Ejecutador de 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: Ve los resultados de los comandos en tiempo real
- Historial de Comandos: Desplegable de comandos recientes (últimos 10 comandos)
- Listo para Autocompletar: Entrada en monoespaciado 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
-
Ingresa Comando:
- Escribe el comando ESL en el cuadro de entrada
- Ejemplos:
status- Muestra el estado de FreeSWITCHshow channels- Lista llamadas activasuuid_dump <uuid>- Vuelca todas las variables para una llamadasofia status- Muestra el estado del perfil SIPreloadxml- Recarga el dialplan XMLversion- Muestra la 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 la respuesta en bruto
- Errores precedidos por "ERROR:"
- La salida es desplazable con una 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 "Reciente:" para llenar el campo de entrada
- El historial mantiene los últimos 10 comandos únicos
- El comando más reciente está en la parte superior
- Seleccionar del historial NO ejecuta automáticamente (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 | Lista 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> | Cuelga una 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 | Recarga el dialplan XML | Confirmación "+OK" |
version | Información de versión de FreeSWITCH | Cadena de versión |
global_getvar <var> | Obtener variable global | Valor de la variable |
api help | Lista de comandos disponibles | Referencia de comandos |
Casos de Uso
- Depuración de Llamadas: Obtén información detallada sobre llamadas activas con
uuid_dump - Estado del Sistema: Verifica la salud de FreeSWITCH con
statusyshow calls - Solución de Problemas SIP: Inspecciona perfiles SIP con
sofia status - Recarga del Dialplan: Aplica cambios de configuración con
reloadxml - Acciones de Emergencia: Cuelga llamadas atascadas con
uuid_kill - Inspección de Variables: Verifica variables globales o de canal
Solución de Problemas
Suscriptores No Mostrados
- Verifica que OmniTAS esté en ejecución
- Comprueba que el perfil 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 (firewall, VPN, autenticación) ya que proporciona visibilidad sobre la actividad de los suscriptores y los registros de llamadas.