Guía de Operaciones de OmniPGW
OmniPGW - Plano de Control de Puerta de Enlace de Paquetes (PGW-C)
por Omnitouch Network Services
Tabla de Contenidos
- Descripción General
- Arquitectura
- Interfaces de Red
- Conceptos Clave
- Introducción
- Configuración
- Interfaz Web - Panel de Operaciones en Tiempo Real
- Monitoreo y Métricas
- Documentación Detallada
- Recursos Adicionales
- Contribuciones
- Soporte
Descripción General
OmniPGW es una implementación de alto rendimiento del Plano de Control de Puerta de Enlace de Paquetes (PGW-C) para redes de núcleo de paquetes evolucionado (EPC) LTE de 3GPP, desarrollada por Omnitouch Network Services. Gestiona las funciones del plano de control para sesiones de datos, incluyendo:
- Gestión de Sesiones - Creación, modificación y terminación de sesiones de datos de UE (Equipo de Usuario)
- Asignación de Direcciones IP - Asignación de direcciones IP a dispositivos móviles desde grupos configurados
- Control de Políticas y Cargos - Interfaz con PCRF para la aplicación de políticas y cargos
- Coordinación del Plano de Usuario - Controlando el PGW-U (Plano de Usuario) para el reenvío de paquetes
Lo que Hace PGW-C
- Acepta solicitudes de sesión de SGW-C a través de la interfaz S5/S8 (GTP-C)
- Asigna direcciones IP a UE desde grupos de subred configurados
- Solicita decisiones de políticas de PCRF a través de la interfaz Gx (Diameter)
- Programa reglas de reenvío en PGW-U a través de la interfaz Sxb (PFCP)
- Gestiona la aplicación de QoS a través de contextos de portadora y reglas de QoS
- Rastrea información de cargos para sistemas de facturación
Arquitectura
Descripción General de Componentes
Arquitectura de Procesos
PGW-C se basa en Elixir/OTP y utiliza una arquitectura de procesos supervisados:
- Supervisor de Aplicación - Supervisor de nivel superior que gestiona todos los componentes
- Corredores de Protocolo - Manejan mensajes de protocolo entrantes/salientes
- Procesos de Sesión - Un GenServer por conexión PDN activa
- Registros - Rastrea recursos asignados (IPs, TEIDs, SEIDs, etc.)
- Gestor de Nodo PFCP - Mantiene asociaciones PFCP con pares PGW-U
Cada componente está supervisado y se reiniciará automáticamente en caso de fallo, asegurando la fiabilidad del sistema.
Interfaces de Red
PGW-C implementa tres interfaces principales de 3GPP:
Interfaz S5/S8 (GTP-C v2)
Propósito: Señalización del plano de control entre SGW-C y PGW-C
Protocolo: GTP-C Versión 2 sobre UDP
Mensajes Clave:
- Solicitud/Respuesta de Crear Sesión
- Solicitud/Respuesta de Eliminar Sesión
- Solicitud/Respuesta de Crear Portadora
- Solicitud/Respuesta de Eliminar Portadora
Configuración: Ver Configuración S5/S8
Interfaz Sxb (PFCP)
Propósito: Señalización del plano de control entre PGW-C y PGW-U
Protocolo: PFCP (Protocolo de Control de Reenvío de Paquetes) sobre UDP
Mensajes Clave:
- Solicitud/Respuesta de Configuración de Asociación
- Solicitud/Respuesta de Establecimiento de Sesión
- Solicitud/Respuesta de Modificación de Sesión
- Solicitud/Respuesta de Eliminación de Sesión
- Solicitud/Respuesta de Latido
Configuración: Ver Documentación de la Interfaz PFCP/Sxb
Interfaz Gx (Diameter)
Propósito: Interfaz de Función de Control de Políticas y Cargos (PCRF)
Protocolo: Diameter (IETF RFC 6733)
Mensajes Clave:
- Solicitud/Respuesta de Control de Crédito Inicial (CCR-I/CCA-I)
- Solicitud/Respuesta de Control de Crédito de Terminación (CCR-T/CCA-T)
Configuración: Ver Documentación de la Interfaz Diameter Gx
Conceptos Clave
Sesión PDN
Una Sesión PDN (Red de Datos de Paquetes) representa la conexión de datos de un UE a una red externa (como Internet). Cada sesión tiene:
- Dirección IP de UE - Asignada desde un grupo de subred configurado
- APN (Nombre del Punto de Acceso) - Identifica la red externa
- Contexto de Portadora - Contiene parámetros de QoS e información de túnel
- ID de Cargos - Identificador único para facturación
- TEID (ID de Punto de Final de Túnel) - Identificador de túnel de la interfaz S5/S8
- SEID (ID de Punto de Final de Sesión) - Identificador de sesión de la interfaz Sxb
Contexto de Portadora
Una portadora representa un flujo de tráfico con características específicas de QoS:
- Portadora Predeterminada - Creada con cada sesión PDN
- Portadoras Dedicadas - Portadoras adicionales para necesidades específicas de QoS
- EBI (ID de Portadora EPS) - Identificador único para cada portadora
- Parámetros de QoS - QCI, ARP, tasas de bits (MBR, GBR)
Reglas PFCP
El PGW-C programa el PGW-U con reglas de procesamiento de paquetes:
- PDR (Regla de Detección de Paquetes) - Coincide con paquetes (uplink/downlink)
- FAR (Regla de Acción de Reenvío) - Especifica el comportamiento de reenvío
- QER (Regla de Aplicación de QoS) - Aplica límites de tasa de bits
- BAR (Regla de Acción de Almacenamiento) - Controla el almacenamiento de paquetes
Ver Documentación de la Interfaz PFCP para más detalles.
Asignación de Direcciones IP
Las direcciones IP de UE se asignan desde grupos de subred configurados:
- Selección basada en APN - Diferentes APNs pueden usar diferentes subredes
- Asignación dinámica - Selección aleatoria de IP del rango disponible
- Asignación estática - Soporte para direcciones IP solicitadas por UE
- Detección de colisiones - Asegura la asignación única de IP
Ver Asignación de Grupos de IP de UE para configuración.
Introducción
Requisitos Previos
- Elixir ~1.16
- Erlang/OTP 26+
- Conectividad de red a SGW-C, PGW-U y PCRF
- Comprensión de la arquitectura EPC LTE
Iniciando OmniPGW
- Configurar ajustes de tiempo de ejecución en
config/runtime.exs - Compilar la aplicación:
mix deps.get
mix compile - Iniciar la aplicación:
mix run --no-halt
Verificando la Operación
Verifique los registros para el inicio exitoso:
[info] Iniciando OmniPGW...
[info] Iniciando Exportador de Métricas en 127.0.0.42:42069
[info] Iniciando Corredor S5/S8 en 127.0.0.10
[info] Iniciando Corredor Sxb en 127.0.0.20
[info] Iniciando Corredor Gx
[info] Iniciando Gestor de Nodo PFCP
[info] OmniPGW iniciado exitosamente
Acceda a las métricas en http://127.0.0.42:42069/metrics (dirección configurada).
Configuración
Toda la configuración de tiempo de ejecución se define en config/runtime.exs. La configuración está estructurada en varias secciones:
Descripción General de la Configuración
Referencia Rápida de Configuración
| Sección | Propósito | Documentación |
|---|---|---|
| metrics | Exportador de métricas de Prometheus | Guía de Monitoreo |
| diameter | Interfaz Gx a PCRF | Configuración Diameter Gx |
| s5s8 | Interfaz GTP-C a SGW-C | Configuración S5/S8 |
| sxb | Interfaz PFCP a PGW-U | Configuración PFCP |
| ue | Grupos de direcciones IP de UE | Configuración de Grupos de IP |
| pco | Opciones de Configuración de Protocolo | Configuración PCO |
Vea la Guía Completa de Configuración para información detallada.
Interfaz Web - Panel de Operaciones en Tiempo Real
OmniPGW incluye una Interfaz Web integrada para monitoreo y operaciones en tiempo real, proporcionando visibilidad instantánea del estado del sistema sin necesidad de herramientas de línea de comandos o consultas de métricas.
Accediendo a la Interfaz Web
http://<omnipgw-ip>:<web-port>/
Páginas Disponibles:
| Página | URL | Propósito | Tasa de Actualización |
|---|---|---|---|
| Sesiones PGW | /pgw_sessions | Ver todas las sesiones PDN activas | 2 segundos |
| Sesiones PFCP | /pfcp_sessions | Ver sesiones PFCP con PGW-U | 2 segundos |
| Estado UPF | /upf_status | Monitorear asociaciones de pares PFCP | 2 segundos |
| Pares Diameter | /diameter | Monitorear conectividad PCRF | 1 segundo |
| Registros | /logs | Transmisión de registros en tiempo real | En vivo |
Características Clave
Actualizaciones en Tiempo Real:
- Todas las páginas se actualizan automáticamente (sin necesidad de recarga manual)
- Transmisión de datos en vivo desde los procesos de OmniPGW
- Indicadores de estado codificados por colores (verde/rojo)
Buscar y Filtrar:
- Buscar sesiones por IMSI, IP, MSISDN o APN
- Filtrado instantáneo sin recarga de página
Detalles Expandibles:
- Haga clic en cualquier fila para ver detalles completos
- Inspeccionar el estado completo de la sesión
- Ver configuración y capacidades de pares
Sin Autenticación Requerida (Uso Interno):
- Acceso directo desde la red de gestión
- Diseñado para uso del equipo de NOC/operaciones
- Vincular solo a la IP de gestión por seguridad
Flujos de Trabajo Operativos
Solución de Problemas de Sesiones:
1. El usuario informa un problema de conexión
2. Abrir la página de Sesiones PGW
3. Buscar por IMSI o número de teléfono
4. Verificar que la sesión exista y tenga correcto:
- Dirección IP de UE asignada
- Parámetros de QoS de PCRF
- Puntos finales de túnel establecidos
5. Si no se encuentra la sesión → Verificar la página de Diameter para conectividad PCRF
Chequeo de Salud del Sistema:
1. Abrir la página de Estado UPF → Verificar que todos los pares PGW-U estén "Asociados"
2. Abrir la página de Diameter → Verificar que todos los pares PCRF estén "Conectados"
3. Abrir Sesiones PGW → Verificar el conteo de sesiones activas vs. capacidad
Monitoreo de Capacidad:
- Echar un vistazo al conteo de Sesiones PGW
- Comparar con la capacidad licenciada/esperada
- Identificar momentos de uso máximo
- Monitorear la distribución entre APNs
Interfaz Web vs. Métricas
Utilice la Interfaz Web para:
- Detalles de sesiones individuales
- Estado de pares en tiempo real
- Chequeos de salud rápidos
- Solución de problemas de usuarios específicos
- Verificación de configuración
Utilice Métricas de Prometheus para:
- Tendencias históricas
- Alertas y notificaciones
- Gráficos de planificación de capacidad
- Análisis de rendimiento
- Monitoreo a largo plazo
Mejor Práctica: Utilice ambos juntos - Interfaz Web para operaciones inmediatas, Prometheus para tendencias y alertas.
Monitoreo y Métricas
Además de la Interfaz Web, OmniPGW expone métricas compatibles con Prometheus para monitoreo:
Métricas Disponibles
-
Métricas de Sesiones
teid_registry_count- Sesiones S5/S8 activasseid_registry_count- Sesiones PFCP activassession_id_registry_count- Sesiones Gx activasaddress_registry_count- Direcciones IP de UE asignadascharging_id_registry_count- IDs de cargos activos
-
Métricas de Mensajes
s5s8_inbound_messages_total- Mensajes GTP-C recibidossxb_inbound_messages_total- Mensajes PFCP recibidosgx_inbound_messages_total- Mensajes Diameter recibidos- Distribuciones de duración del manejo de mensajes
-
Métricas de Errores
s5s8_inbound_errors_total- Errores de protocolo S5/S8sxb_inbound_errors_total- Errores de protocolo PFCPgx_inbound_errors_total- Errores de Diameter
Accediendo a las Métricas
Las métricas se exponen a través de HTTP en el punto final configurado:
curl http://127.0.0.42:42069/metrics
Vea Guía de Monitoreo y Métricas para la configuración del panel y alertas.
Documentación Detallada
Esta sección proporciona una visión general completa de toda la documentación de OmniPGW. Los documentos están organizados por tema y caso de uso.
Estructura de la Documentación
Documentación de OmniPGW
├── OPERATIONS.md (Esta Guía)
│
└── docs/
├── Configuración y Configuración
│ ├── configuration.md Referencia completa de runtime.exs
│ ├── ue-ip-allocation.md Configuración de grupos de IP
│ └── pco-configuration.md Configuración de DNS, P-CSCF, MTU
│
├── Interfaces de Red
│ ├── pfcp-interface.md Sxb/PFCP (comunicación PGW-U)
│ ├── diameter-gx.md Gx (comunicación PCRF)
│ ├── diameter-gy.md Gy/Ro (comunicación OCS)
│ └── s5s8-interface.md S5/S8 (comunicación SGW-C)
│
└── Operaciones
├── session-management.md Ciclo de vida de la sesión PDN
└── monitoring.md Métricas de Prometheus y alertas
Documentación por Tema
🚀 Introducción
| Documento | Descripción | Propósito |
|---|---|---|
| OPERATIONS.md | Guía principal de operaciones (este documento) | Descripción general y comienzo rápido |
⚙️ Configuración
| Documento | Descripción | Líneas |
|---|---|---|
| configuration.md | Referencia completa de configuración de runtime.exs | 1,600+ |
| ue-ip-allocation.md | Gestión y asignación de grupos de IP de UE | 943 |
| pco-configuration.md | Opciones de Configuración de Protocolo (DNS, P-CSCF, MTU) | 344 |
🔌 Interfaces de Red
| Documento | Descripción | Líneas |
|---|---|---|
| pfcp-interface.md | Interfaz PFCP/Sxb a PGW-U | 1,355 |
| diameter-gx.md | Interfaz Diameter Gx a PCRF (Control de Políticas) | 941 |
| diameter-gy.md | Interfaz Diameter Gy/Ro a OCS (Cargos en Línea) | 1,100+ |
| s5s8-interface.md | Interfaz GTP-C S5/S8 a SGW-C | 456 |
📊 Operaciones y Monitoreo
| Documento | Descripción | Líneas |
|---|---|---|
| session-management.md | Ciclo de vida y operaciones de la sesión PDN | 435 |
| monitoring.md | Métricas de Prometheus, paneles de Grafana, alertas | 807 |
Características de la Documentación
📈 Diagramas Mermaid
Todos los documentos incluyen gráficos Mermaid para una comprensión visual:
- Diagramas de arquitectura
- Diagramas de secuencia (flujos de mensajes)
- Máquinas de estado
- Topología de red
💡 Ejemplos Prácticos
Cada documento incluye:
- Ejemplos de configuración del mundo real
- Configuraciones listas para copiar y pegar
- Casos de uso comunes
🔍 Solución de Problemas
Cada documento de interfaz incluye:
- Problemas comunes y soluciones
- Comandos de depuración
- Métricas para diagnóstico
🔗 Referencias Cruzadas
Los documentos están extensamente interconectados para una navegación fácil.
Rutas de Lectura
Para Operadores de Red
- OPERATIONS.md - Descripción general (este documento)
- configuration.md - Configuración
- monitoring.md - Monitoreo
- session-management.md - Operaciones diarias
Para Ingenieros de Red
- OPERATIONS.md - Descripción general de la arquitectura (este documento)
- pfcp-interface.md - Control del plano de usuario
- diameter-gx.md - Control de políticas
- diameter-gy.md - Cargos en línea
- s5s8-interface.md - Gestión de sesiones
- ue-ip-allocation.md - Gestión de IP
Para Configuración y Despliegue
- configuration.md - Referencia completa
- ue-ip-allocation.md - Grupos de IP
- pco-configuration.md - Parámetros de red
- monitoring.md - Configurar monitoreo
Estadísticas del Documento
- Total de Documentos: 10
- Total de Líneas: ~7,300+
- Tamaño Total: ~180 KB
- Diagramas Mermaid: 65+
- Ejemplos de Código: 120+
Conceptos Clave Cubiertos
Arquitectura
- ✅ Separación de plano de control/plano de usuario
- ✅ Arquitectura OTP/Elixir
- ✅ Supervisión de procesos
- ✅ Sesiones basadas en GenServer
Protocolos
- ✅ PFCP (Protocolo de Control de Reenvío de Paquetes)
- ✅ GTP-C v2 (Protocolo de Túnel GPRS)
- ✅ Diameter (RFC 6733)
Interfaces 3GPP
- ✅ Sxb (PGW-C ↔ PGW-U)
- ✅ Gx (PGW-C ↔ PCRF)
- ✅ Gy/Ro (PGW-C ↔ OCS)
- ✅ S5/S8 (SGW-C ↔ PGW-C)
Operaciones
- ✅ Gestión de sesiones
- ✅ Estrategias de asignación de IP
- ✅ Aplicación de QoS
- ✅ Integración de cargos
- ✅ Monitoreo y alertas
Recursos Adicionales
Especificaciones 3GPP
| Especificación | Título |
|---|---|
| TS 29.274 | GTP-C v2 (interfaz S5/S8) |
| TS 29.244 | PFCP (interfaz Sxb) |
| TS 29.212 | Interfaz Diameter Gx (Control de Políticas) |
| TS 32.299 | Aplicaciones de Cargos Diameter (Gy/Ro) |
| TS 32.251 | Cargos del dominio de Paquetes Conmutados |
| TS 23.401 | Arquitectura EPC |
Documentación Relacionada
- README del proyecto: README.md
- Archivo de configuración: config/runtime.exs
Contribuciones
Para actualizar la documentación:
- Editar archivos Markdown en
docs/ - Incluir diagramas Mermaid para conceptos visuales
- Agregar ejemplos prácticos
- Referenciar documentos relacionados
- Actualizar OPERATIONS.md si se agregan nuevos documentos
Enlaces Rápidos
Soporte
Para preguntas o problemas con OmniPGW:
- Revisar la documentación en esta guía
- Consultar ejemplos de configuración
- Consultar secciones de solución de problemas en documentos de interfaz
- Referirse al repositorio del proyecto para contribuciones
OmniPGW - Plano de Control de Puerta de Enlace de Paquetes LTE de Grado de Operador
Desarrollado por Omnitouch Network Services
Versión de Documentación: 1.0 Última Actualización: 2025-10-29