Saltar al contenido principal

Guía de Operaciones de OmniPGW

OmniPGW - Plano de Control del Gateway de Paquetes (PGW-C)

por Omnitouch Network Services


Tabla de Contenidos

  1. Descripción General
  2. Arquitectura
  3. Interfaces de Red
  4. Conceptos Clave
  5. Comenzando
  6. Configuración
  7. Interfaz Web - Panel de Operaciones en Tiempo Real
  8. Monitoreo y Métricas
  9. Documentación Detallada
  10. Recursos Adicionales
  11. Contribuyendo
  12. Soporte

Descripción General

OmniPGW es una implementación de alto rendimiento del Plano de Control del Gateway de Paquetes (PGW-C) para redes 3GPP LTE Evolved Packet Core (EPC), 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 - Control del 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 a 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 está construido sobre 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 cada 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 primarias 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 Creación de Sesión
  • Solicitud/Respuesta de Eliminación de Sesión
  • Solicitud/Respuesta de Creación de Portadora
  • Solicitud/Respuesta de Eliminación de 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 la Función de Control de Políticas y Cargos (PCRF)

Protocolo: Diameter (IETF RFC 6733)

Mensajes Clave:

  • Solicitud/Respuesta Inicial de Control de Crédito (CCR-I/CCA-I)
  • Solicitud/Respuesta de Terminación de Control de Crédito (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 Terminación de Túnel) - Identificador de túnel de la interfaz S5/S8
  • SEID (ID de Punto de Terminación 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 Búfer) - Controla el almacenamiento en búfer 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.


Comenzando

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

  1. Configurar ajustes de tiempo de ejecución en config/runtime.exs
  2. Compilar la aplicación:
    mix deps.get
    mix compile
  3. Iniciar la aplicación:
    mix run --no-halt

Verificando la Operación

Verifique los registros para una puesta en marcha exitosa:

[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 con éxito

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ónPropósitoDocumentación
métricasExportador de métricas PrometheusGuía de Monitoreo
diameterInterfaz Gx a PCRFConfiguración Diameter Gx
s5s8Interfaz GTP-C a SGW-CConfiguración S5/S8
sxbInterfaz PFCP a PGW-UConfiguración PFCP
ueGrupos de direcciones IP de UEConfiguración de Grupos de IP
pcoOpciones de Configuración de ProtocoloConfiguración de PCO
CDRCargos y reportes de uso fuera de líneaFormato CDR

Vea la Guía de Configuración Completa 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áginaURLPropósitoTasa de Actualización
Búsqueda de UE/ue_searchProfundizar en sesiones de suscriptores específicosBajo demanda
Sesiones PGW/pgw_sessionsVer todas las sesiones PDN activas2 segundos
Historial de Sesiones/session_historyRegistro de auditoría de eventos de sesión5 segundos
Topología de Red/topologyVista visual de la topología de la red5 segundos
Grupos de IP/ip_poolsUtilización del grupo de direcciones IP de UE2 segundos
Sesiones PFCP/pfcp_sessionsVer sesiones PFCP con PGW-U2 segundos
Estado de UPF/upf_statusMonitorear asociaciones de pares PFCP2 segundos
Selección de UPF/upf_selectionVer reglas de selección de UPF y estado de P-CSCFEstático
Pares Diameter/diameterMonitorear conectividad PCRF1 segundo
Monitor P-CSCF/pcscf_monitorEstado de descubrimiento DNS de P-CSCF5 segundos
Simulador Gy/gy_simulatorProbar cargos en línea Gy/RoBajo demanda
Torres de Celular/cell_towersNavegar por la base de datos OpenCellIDEstático
Registros/logsTransmisión de registros en tiempo realEn 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 (Profundización):

1. El usuario informa un problema de conexión
2. Abrir la página de Búsqueda de UE (/ue_search)
3. Buscar por IMSI, MSISDN o dirección IP
4. Revisar detalles completos de la sesión:
a) Sesiones Activas - Verificar que la sesión exista con los parámetros correctos
b) Ubicación Actual - Verificar TAC, ID de Celda, ubicación geográfica
c) Información de Portadora - Verificar portadoras predeterminadas y dedicadas
- QCI, MBR/GBR, Nombres de Reglas de Cargos
- Límites de APN-AMBR
d) Información de Cargos - ID de sesión Gy, estado de cuota
e) Información de Políticas - sesión Gx, reglas PCC instaladas
f) Eventos Recientes - Historial de sesión y cambios de estado
5. Si no se encuentra la sesión → Verificar la página Diameter para conectividad PCRF
6. Si hay problemas de ubicación → Verificar los datos de la torre celular en la sección de Ubicación Actual

Búsqueda Rápida de Sesiones:

1. El usuario informa un problema
2. Abrir la página de Sesiones PGW (/pgw_sessions)
3. Buscar por IMSI o número de teléfono
4. Verificar que la sesión exista con detalles básicos:
- Dirección IP de UE asignada
- Parámetros de QoS
- Puntos de terminación de túnel establecidos
5. Para un análisis detallado → Haga clic en la sesión para expandir o use Búsqueda de UE

Verificación de Salud del Sistema:

1. Abrir la página de Estado de 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 frente a la 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 distribución entre APNs

Interfaz Web vs. Métricas

Usar la Interfaz Web para:

  • Solución de problemas de suscriptores en profundidad (Búsqueda de UE)
  • Detalles y estado de sesiones individuales
  • Estado en tiempo real de pares (PFCP, Diameter)
  • Comprobaciones rápidas de salud en todas las interfaces
  • Solución de problemas de usuarios específicos por IMSI/MSISDN/IP
  • Verificación de ubicación geográfica (integración de Torres de Celular)
  • Análisis de QoS de portadoras (MBR, GBR, QCI)
  • Inspección de reglas de políticas y cargos
  • Historial de sesiones y auditorías
  • Monitoreo de capacidad de grupos de IP
  • Verificación de configuración y reglas

Usar Métricas de Prometheus para:

  • Tendencias históricas
  • Alertas y notificaciones
  • Gráficas de planificación de capacidad
  • Análisis de rendimiento
  • Monitoreo a largo plazo

Mejor Práctica: Usar 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 Sesión

    • teid_registry_count - Sesiones S5/S8 activas
    • seid_registry_count - Sesiones PFCP activas
    • session_id_registry_count - Sesiones Gx activas
    • address_registry_count - Direcciones IP de UE asignadas
    • charging_id_registry_count - IDs de cargos activos
  • Métricas de Mensajes

    • s5s8_inbound_messages_total - Mensajes GTP-C recibidos
    • sxb_inbound_messages_total - Mensajes PFCP recibidos
    • gx_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/S8
    • sxb_inbound_errors_total - Errores de protocolo PFCP
    • gx_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

Ver 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 completa de toda la documentación de OmniPGW. Los documentos están organizados por tema y caso de uso.

Estructura de 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 del grupo 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

🚀 Comenzando

DocumentoDescripciónPropósito
OPERATIONS.mdGuía principal de operaciones (este documento)Descripción general y inicio rápido

⚙️ Configuración

DocumentoDescripciónLíneas
configuration.mdReferencia completa de runtime.exs1,600+
ue-ip-allocation.mdGestión y asignación de grupos de IP de UE943
pco-configuration.mdOpciones de Configuración de Protocolo (DNS, P-CSCF, MTU)344

🔌 Interfaces de Red

DocumentoDescripciónLíneas
pfcp-interface.mdInterfaz PFCP/Sxb a PGW-U1,355
diameter-gx.mdInterfaz Diameter Gx a PCRF (Control de Políticas)941
diameter-gy.mdInterfaz Diameter Gy/Ro a OCS (Cargos en Línea)1,100+
s5s8-interface.mdInterfaz GTP-C S5/S8 a SGW-C456

📊 Operaciones y Monitoreo

DocumentoDescripciónLíneas
session-management.mdCiclo de vida y operaciones de la sesión PDN435
monitoring.mdMétricas de Prometheus, paneles de Grafana, alertas807
data-cdr-format.mdFormato de archivo CDR, configuración de URR, cargos fuera de línea847
qos-bearers.mdGestión de QoS y portadoras, control de políticas448
troubleshooting.mdProcedimientos de solución de problemas y problemas comunes687

🔧 Características Avanzadas

DocumentoDescripciónLíneas
pcscf-monitoring.mdDescubrimiento y monitoreo de salud de P-CSCF894

Características de la Documentación

📈 Diagramas Mermaid

Todos los documentos incluyen gráficos de 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 fácil navegación.

Rutas de Lectura

Para Operadores de Red

  1. OPERATIONS.md - Descripción general (este documento)
  2. configuration.md - Configuración
  3. monitoring.md - Monitoreo
  4. session-management.md - Operaciones diarias

Para Ingenieros de Red

  1. OPERATIONS.md - Descripción general de la arquitectura (este documento)
  2. pfcp-interface.md - Control del plano de usuario
  3. diameter-gx.md - Control de políticas
  4. diameter-gy.md - Cargos en línea
  5. s5s8-interface.md - Gestión de sesiones
  6. ue-ip-allocation.md - Gestión de IP

Para Configuración y Despliegue

  1. configuration.md - Referencia completa
  2. ue-ip-allocation.md - Grupos de IP
  3. pco-configuration.md - Parámetros de red
  4. monitoring.md - Configurar monitoreo

Estadísticas del Documento

  • Total de Documentos: 14
  • Total de Líneas: ~10,900+
  • Tamaño Total: ~265 KB
  • Diagramas Mermaid: 75+
  • Ejemplos de Código: 150+

Conceptos Clave Cubiertos

Arquitectura

  • ✅ Separación del plano de control/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ónTítulo
TS 29.274GTP-C v2 (interfaz S5/S8)
TS 29.244PFCP (interfaz Sxb)
TS 29.212Interfaz Diameter Gx (Control de Políticas)
TS 32.299Aplicaciones de Cargos Diameter (Gy/Ro)
TS 32.251Cargos del dominio de Paquetes Conmutados
TS 23.401Arquitectura EPC

Documentación Relacionada