Pular para o conteúdo principal

Guia de Gerenciamento de Sessões

Ciclo de Vida e Operações da Conexão PDN

OmniPGW da Omnitouch Network Services


Visão Geral

Uma Sessão PDN (Packet Data Network) representa a conexão de dados de um UE através do OmniPGW. Cada sessão coordena múltiplas interfaces e recursos para habilitar a conectividade de dados.


Componentes da Sessão

Identificadores da Sessão

Cada sessão possui múltiplos identificadores para diferentes interfaces:

IdentificadorInterfacePropósito
TEIDS5/S8 (GTP-C)Tunnel Endpoint ID para comunicação SGW-C
SEIDSxb (PFCP)Session Endpoint ID para comunicação PGW-U
Session-IDGx (Diameter)Sessão Diameter para comunicação PCRF
Charging-IDContabilidadeID único para cobrança

Dados da Sessão


Criação da Sessão

Fluxo de Chamadas

Etapas

1. Receber Create Session Request (S5/S8)

A criação da sessão é iniciada via sinalização GTP-C na interface S5/S8. Veja Interface S5/S8 para detalhes completos do protocolo GTP-C e formatos de mensagem.

Entrada:

  • IMSI, MSISDN, IMEI
  • APN (por exemplo, "internet")
  • Tipo de RAT (EUTRAN)
  • Localização do UE (TAI, ECGI)
  • Contexto do Bearer (QoS, F-TEID)

2. Alocação de Recursos

- Alocar IP do UE do pool de APN
- Gerar Charging ID
- Gerar Gx Session-ID
- Alocar S5/S8 TEID
- Selecionar par PGW-U

3. Solicitação de Política (Gx)

Solicitar política do PCRF:

  • Enviar CCR-Initial
  • Receber CCA-Initial com regras de QoS e PCC

4. Configuração do Plano do Usuário (PFCP)

Programar o PGW-U com regras de encaminhamento:

  • Enviar Session Establishment Request
  • Incluir PDRs, FARs, QERs, BAR
  • Receber F-TEID para o túnel S5/S8

5. Resposta ao SGW-C

Enviar Create Session Response:

  • Endereço IP do UE
  • S5/S8 F-TEID (do PGW-U)
  • PCO (DNS, P-CSCF, MTU)
  • Contexto do Bearer

Modificação da Sessão

Gatilhos

As sessões podem ser modificadas devido a:

  • Mudanças de QoS - Atualizações de bitrates pelo PCRF
  • Operações de Bearer - Adicionar/remover bearers dedicados
  • Handover - Mudança de SGW
  • Atualizações de Política - Novas regras de PCC do PCRF

Fluxo de Modificação de QoS


Exclusão da Sessão

Fluxo de Chamadas

Processo de Limpeza

Recursos Liberados:

  1. Endereço IP do UE → de volta ao pool
  2. TEID → removido do registro
  3. SEID → removido do registro
  4. Session-ID → removido do registro
  5. Charging-ID → liberado
  6. Processo da sessão encerrado

Registros de Cobrança Gerados:


Estado da Sessão

Máquina de Estados

Rastreamento da Sessão

Consultas ao Registro:

Por TEID (S5/S8):
TEID 0x12345678 → Session PID

Por SEID (Sxb):
SEID 0xABCDEF → Session PID

Por Session-ID (Gx):
"pgw.example.com;123;456" → Session PID

Por IP do UE:
100.64.1.42 → Session PID

Por IMSI + EBI:
"310260123456789" + EBI 5 → Session PID

Monitoramento de Sessões

Contagem de Sessões Ativas

# Total de sessões ativas
teid_registry_count

# Sessões PFCP
seid_registry_count

# Sessões Gx
session_id_registry_count

Métricas da Sessão

# Taxa de criação de sessões
rate(s5s8_inbound_messages_total{message_type="create_session_request"}[5m])

# Taxa de exclusão de sessões
rate(s5s8_inbound_messages_total{message_type="delete_session_request"}[5m])

# Latência de criação de sessões (p95)
histogram_quantile(0.95,
rate(s5s8_inbound_handling_duration_bucket{request_message_type="create_session_request"}[5m])
)

Problemas Comuns

Falhas na Criação da Sessão

Causas:

  1. Pool de IPs Esgotado - Nenhum IP disponível
  2. PCRF Inacessível - Timeout Gx
  3. PGW-U Fora do Ar - Nenhum par PFCP disponível
  4. Rejeição do PCRF - Usuário desconhecido, não autorizado

Depuração:

# Verificar pool de IP
curl http://pgw:9090/metrics | grep address_registry_count

# Verificar conectividade do PCRF
# Verificar erros de Gx nos logs

# Verificar associação do PGW-U
# Verificar status do par PFCP

Sessão Presa/Obsoleta

Sintomas:

  • Sessão não excluída corretamente
  • Recursos não liberados
  • Registros mostram contagem maior do que o esperado

Causas:

  1. Delete Session Request não recebida
  2. Crash do processo da sessão sem limpeza
  3. Vazamento de registro

Resolução:

# Reiniciar OmniPGW (libera todas as sessões)
# Implementar mecanismo de timeout de sessão

UE Não Consegue Estabelecer Sessão

Sintomas:

  • Falha no attach do UE
  • Create Session Response com causa de erro

Causas Comuns e Respostas:

Valor da CausaSignificadoAção
Usuário DesconhecidoPCRF rejeitou (IMSI não está no banco de dados)Provisionar assinante
Recursos Não DisponíveisPool de IP esgotadoExpandir pool de IP
Par Remoto Não RespondendoTimeout do PCRF/PGW-UVerificar conectividade
Serviço Não SuportadoAPN inválidoConfigurar pool de APN

Melhores Práticas

Limites de Sessão

Configurar capacidade apropriada:

Usuários concorrentes esperados: 10.000
Sobrecarga de sessão por usuário: ~10KB RAM
Total de RAM para sessões: ~100MB

Configurações da VM Erlang:
- Máx. processos: 262.144 (padrão)
- Tamanho do heap do processo: Ajustar com base na carga

Limpeza de Sessão

Garantir limpeza adequada:

  1. Sempre responder a Delete Session Requests
  2. Implementar timeout de sessão para sessões obsoletas
  3. Monitorar contagens de registro para vazamentos

Alta Disponibilidade

Redundância de Sessão:

  • Usar design sem estado (sessões vinculadas à instância)
  • Implementar banco de dados de sessão para HA (futuro)
  • DNS/balancer de carga para failover

Elementos de Dados da Sessão

Que Informações Uma Sessão Armazena?

Cada sessão PDN ativa mantém as seguintes informações:

Identificação do UE:

  • IMSI: "310260123456789" (identidade do assinante)
  • MSISDN: "14155551234" (número de telefone)
  • MEI/IMEI: Identificador do dispositivo

Detalhes da Conexão PDN:

  • APN: "internet" (nome da rede)
  • Endereço IP do UE: 100.64.1.42 (IP alocado)
  • Tipo de PDN: IPv4, IPv6 ou IPv4v6

Identificadores da Sessão:

  • Charging ID: Identificador único de cobrança
  • EBI do Bearer Padrão: EPS Bearer Identifier (normalmente 5)

Parâmetros de QoS:

  • APN-AMBR: Taxa Máxima de Bits Agregada
    • Uplink: 100 Mbps
    • Downlink: 50 Mbps

Regras de Encaminhamento:

  • PDRs (Regras de Detecção de Pacotes): Combinar pacotes
  • FARs (Regras de Ação de Encaminhamento): Ações de encaminhar/descartar
  • QERs (Regras de Aplicação de QoS): Limitação de taxa
  • BAR (Regra de Ação de Bufferização): Bufferização de downlink

Contexto da Interface:

  • Estado S5/S8: TEIDs locais/remotos, endereço SGW-C
  • Estado Sxb: SEIDs locais/remotos, endereço PGW-U
  • Estado Gx: Diameter Session-ID, contador de solicitações

Monitoramento de Sessões Ao Vivo

OmniPGW expõe uma API REST OAM em tempo real para inspecionar e gerenciar sessões ativas sem precisar consultar métricas ou logs. A API é servida sobre HTTPS/TLS na porta 8443 com todas as rotas sob o prefixo /api:

GET    /api/sessions                 # todas as sessões ativas
GET /api/sessions?search=<imsi> # filtrar por IMSI / MSISDN / IP
GET /api/sessions/<imsi> # detalhes completos de uma sessão
PUT /api/sessions/<imsi> # atualizar estado da sessão ao vivo (ação do operador)
DELETE /api/sessions/<imsi> # encerrar uma sessão (ação do operador)

Documentação interativa da API (Swagger UI) está disponível em https://<omnipgw-ip>:8443/api/docs.

# Listar todas as sessões ativas
curl -k https://<omnipgw-ip>:8443/api/sessions

# Filtrar por IMSI, MSISDN ou endereço IP
curl -k "https://<omnipgw-ip>:8443/api/sessions?search=310170123456789"

Pesquisa de UE & Análise Detalhada

Endpoints:

GET /api/sessions?search=<imsi|msisdn|ip>   # encontrar sessões de um assinante
GET /api/sessions/<imsi> # detalhes completos de uma sessão

O parâmetro search aceita qualquer um de:

  • IMSI (por exemplo, "310170123456789")
  • MSISDN (número de telefone)
  • Endereço IP (por exemplo, "100.64.1.42")
# Análise detalhada da sessão de um único assinante
curl -k https://<omnipgw-ip>:8443/api/sessions/310170123456789

Os detalhes da sessão retornam informações abrangentes:

a) Sessões Ativas

  • Todas as sessões ativas para este assinante
  • IMSI, MSISDN, Endereço IP do UE
  • APN, Tipo de RAT
  • PGW TEID, SGW TEID

b) Localização Atual Dados de localização em tempo real da sessão:

  • TAC (Código da Área de Rastreamento) - Área de rastreamento onde o UE está localizado
  • ID da Célula (ECI) - Identificador da Célula E-UTRAN
  • ECGI - Identificador Global da Célula E-UTRAN (PLMN + ECI)
  • MCC/MNC - Código do País Móvel / Código da Rede Móvel

c) Informações do Bearer Listagem detalhada dos bearers com parâmetros de QoS:

Bearer Padrão:

  • EBI (EPS Bearer Identifier)
  • QCI (QoS Class Identifier)
  • Nome da Regra de Cobrança
  • APN-AMBR (uplink/downlink)

Bearers Dedicados (se ativos):

  • EBI, QCI, Nome da Regra de Cobrança
  • MBR UL/DL (Taxa Máxima de Bits)
  • GBR UL/DL (Taxa Garantida de Bits)

d) Informações de Cobrança (Interface Gy)

  • Gy Session ID
  • Quota Concedida, Quota Usada
  • Características de Cobrança

e) Informações de Política (Interface Gx)

  • Gx Session ID
  • Host de Origem/Destino do PCRF
  • Número da Solicitação CC
  • Regras de Cobrança Instaladas (regras PCC dos bearers)

f) Eventos Recentes

Casos de Uso:

  • Solucionar problemas específicos de assinantes
  • Verificar o estabelecimento da sessão
  • Checar o endereço IP atribuído
  • Inspecionar parâmetros da sessão

Todas as Sessões Ativas

Endpoints:

GET    /api/sessions                 # listar todas as sessões PDN ativas
GET /api/sessions?search=<term> # filtrar a lista
PUT /api/sessions/<imsi> # atualizar o estado de uma sessão ao vivo
DELETE /api/sessions/<imsi> # encerrar uma sessão

Propósito: Enumerar todas as sessões PDN ativas. Consulte GET /api/sessions no seu intervalo preferido para uma visão ao vivo da tabela de sessões.

# Instantâneo de todas as sessões ativas
curl -k https://<omnipgw-ip>:8443/api/sessions

# Filtrar por prefixo de IMSI, IP do UE, MSISDN ou APN
curl -k "https://<omnipgw-ip>:8443/api/sessions?search=100.64"

# Ações do operador em uma sessão específica
curl -k -X PUT https://<omnipgw-ip>:8443/api/sessions/310170123456789 # atualizar estado
curl -k -X DELETE https://<omnipgw-ip>:8443/api/sessions/310170123456789 # encerrar

Informações Rápidas da Sessão (retornadas por sessão):

  • IMSI - Identidade do assinante
  • UE IP - Endereço IP alocado
  • SGW TEID - ID do túnel S5/S8 do SGW
  • PGW TEID - ID do túnel S5/S8 do OmniPGW
  • APN - Nome do Ponto de Acesso

Filtragem (via ?search=):

  • IMSI (por exemplo, "310260")
  • Endereço IP do UE (por exemplo, "100.64")
  • MSISDN / número de telefone
  • Nome da APN

Detalhes Completos (GET /api/sessions/<imsi>):

  • Informações completas do assinante (IMSI, MSISDN, IMEI)
  • Contexto da rede (tipo de RAT, rede servidora MCC/MNC)
  • Parâmetros de QoS (AMBR uplink/downlink)
  • Identificadores de túnel (ambos TEIDs em formato hexadecimal)
  • ID do processo para depuração
  • Estado completo da sessão (estrutura de dados bruta)

Endpoints de Saúde Referenciados Cruzadamente

A API OAM também expõe a saúde de pares/topologia da qual a visualização da sessão depende:

GET /api/upf         # status e associações de pares PFCP / UPF
GET /api/diameter # conectividade de pares Diameter (Gx/Gy)
# Verificar conectividade de pares do plano do usuário e Diameter
curl -k https://<omnipgw-ip>:8443/api/upf
curl -k https://<omnipgw-ip>:8443/api/diameter

Casos de Uso:

  • Verificar conexões de pares (associações UPF, conectividade PCRF/OCS)
  • Correlacionar falhas de estabelecimento de sessão com saúde de pares
  • Verificação rápida da saúde da rede

Histórico de Sessão & Log de Auditoria

Endpoint:

GET /api/session_history[?type=&search=&page=&page_size=]

Propósito: Rastrear eventos históricos de sessão e trilha de auditoria.

Parâmetros:

  • type - filtrar por tipo de evento (por exemplo, sessão criada, sessão excluída)
  • search - filtrar por IMSI, MSISDN, endereço IP ou TEID
  • page, page_size - paginar pelos resultados
# Eventos de exclusão recentes para um assinante, primeira página
curl -k "https://<omnipgw-ip>:8443/api/session_history?type=session_deleted&search=310170123456789&page=1&page_size=50"

Tipos de Eventos Rastreados:

  • Eventos de criação de sessão
  • Eventos de exclusão de sessão
  • Eventos de modificação
  • Eventos de erro

Casos de Uso:

  • Trilhas de auditoria para conformidade (paginando e arquivando resultados)
  • Análise histórica de sessões
  • Solucionar problemas de eventos passados
  • Gerar relatórios de uso
  • Rastrear padrões de sessão ao longo do tempo

Casos de Uso Operacionais

Verificação da Sessão:

1. Usuário relata problema de conectividade
2. GET /api/sessions?search=<imsi|msisdn> para localizar o assinante
3. GET /api/sessions/<imsi> para verificar se a sessão existe e se o UE tem um endereço IP
4. Verificar se os valores de QoS correspondem ao plano do assinante
5. Verificar se os endpoints de túnel estão estabelecidos

Monitoramento de Capacidade:

  • Consulte GET /api/sessions (ou a métrica teid_registry_count) para a contagem de sessões ativas
  • Compare com a capacidade licenciada
  • Identifique padrões de uso por APN (via ?search=<apn>)

Solução de Problemas:

  • Encontrar uma sessão específica por qualquer identificador via ?search=
  • Inspecionar o estado completo da sessão (GET /api/sessions/<imsi>) sem SSH/IEx
  • Verificar se os TEIDs do SGW e PGW correspondem entre os sistemas
  • Verificar os valores de AMBR aplicados do PCRF
  • Encerrar uma sessão presa com DELETE /api/sessions/<imsi>

Vantagens Sobre Métricas:

  • Ver detalhes individuais da sessão (métricas mostram agregados)
  • Capacidades de busca e filtragem via ?search=
  • Inspeção de estado em tempo real
  • Scriptável/automatizável (JSON sobre HTTPS) para integração com ferramentas

Documentação Relacionada

Funções Centrais da Sessão

Política e Cobrança

Interfaces de Rede

Operações


Voltar ao Guia de Operações


Gerenciamento de Sessões OmniPGW - por Omnitouch Network Services