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:
| Identificador | Interface | Propósito |
|---|---|---|
| TEID | S5/S8 (GTP-C) | Tunnel Endpoint ID para comunicação SGW-C |
| SEID | Sxb (PFCP) | Session Endpoint ID para comunicação PGW-U |
| Session-ID | Gx (Diameter) | Sessão Diameter para comunicação PCRF |
| Charging-ID | Contabilidade | ID ú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:
- Endereço IP do UE → de volta ao pool
- TEID → removido do registro
- SEID → removido do registro
- Session-ID → removido do registro
- Charging-ID → liberado
- Processo da sessão encerrado
Registros de Cobrança Gerados:
- CDR final (Charging Data Record) escrito para cobrança offline - Veja Formato de CDR de Dados
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:
- Pool de IPs Esgotado - Nenhum IP disponível
- PCRF Inacessível - Timeout Gx
- PGW-U Fora do Ar - Nenhum par PFCP disponível
- 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:
- Delete Session Request não recebida
- Crash do processo da sessão sem limpeza
- 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 Causa | Significado | Ação |
|---|---|---|
| Usuário Desconhecido | PCRF rejeitou (IMSI não está no banco de dados) | Provisionar assinante |
| Recursos Não Disponíveis | Pool de IP esgotado | Expandir pool de IP |
| Par Remoto Não Respondendo | Timeout do PCRF/PGW-U | Verificar conectividade |
| Serviço Não Suportado | APN inválido | Configurar 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:
- Sempre responder a Delete Session Requests
- Implementar timeout de sessão para sessões obsoletas
- 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
- Histórico de eventos para este assinante (veja Histórico de Sessão & Log de Auditoria)
- Eventos de criação/atualização/exclusão de sessão
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 TEIDpage,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étricateid_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
- Interface PFCP - Estabelecimento de sessão do plano do usuário, PDRs, FARs, QERs, URRs
- Alocação de IP do UE - Atribuição de endereço IP, gerenciamento de pool de APN
- Configuração de PCO - Parâmetros de DNS, P-CSCF, MTU entregues ao UE
- Guia de Configuração - Seleção de UPF, fluxos de estabelecimento de sessão
Política e Cobrança
- Interface Diameter Gx - Controle de política do PCRF, regras de PCC, gerenciamento de QoS
- Interface Diameter Gy - Cobrança online OCS, rastreamento de quota
- Formato de CDR de Dados - Geração de registros de cobrança offline
Interfaces de Rede
- Interface S5/S8 - Protocolo GTP-C, comunicação SGW-C
- Gerenciamento de QoS & Bearer - Aplicação de QoS do Bearer
Operações
- Guia de Monitoramento - Métricas de sessão, rastreamento de sessões ativas, alertas
- Monitoramento P-CSCF - Monitoramento de sessão IMS
Gerenciamento de Sessões OmniPGW - por Omnitouch Network Services