Pular para o conteúdo principal

SGSN (Domínio de Pacotes)

OmniMSC inclui um S4-SGSN integrado que serve o domínio de pacotes (PS) para assinantes 3G (UTRAN) através de Iu-PS, ancorando suas sessões de dados no mesmo S-GW/P-GW que o LTE. Um único nó serve tanto o domínio CS (voz, SMS) quanto o domínio PS (dados de pacotes) para um assinante; o anexo combinado é tratado em processo entre o SGSN e o VLR.

O SGSN está desativado por padrão e habilitado conforme a configuração abaixo. A maioria das dependências externas são opt-in, de modo que um laboratório pode executar o núcleo de pacotes com um par estático e credenciais injetadas antes que um HLR/DNS completo exista.


Arquitetura

Tunnel Direto é utilizado: o plano de usuário GTP-U opera diretamente entre o RNC e o S-GW-U. O SGSN intermedia os pontos finais do túnel durante a configuração do bearer, mas nunca transporta pacotes do plano de usuário. Quando o UE fica ocioso (PMM-IDLE), o SGSN re-ancla o ponto final de downlink de volta em si mesmo, de modo que o S-GW armazena em buffer e gera uma Notificação de Dados de Downlink em vez de enviar para um RNC liberado (TS 23.060 §15.6).


Interfaces

InterfaceParProtocoloPropósitoReferência
Iu-PSRNCRANAP sobre SCCP/M3UATransporte NAS, atribuição de RAB, realocaçãoTS 25.413
GrHLR / AuCMAP sobre TCAP/SCCPAtualização de localização, vetores de autenticação, assinaturaTS 29.002
S4S-GW (SGW-C)GTPv2-CCriar / Modificar / Deletar Sessão, paginaçãoTS 29.274
S3MMEGTPv2-CMobilidade inter-RAT de 3G-PS para LTETS 29.274 §7.3
Gn/Gp (CAP)gsmSCFCAP sobre TCAP/SCCPControle / cobrança online CAMEL GPRSTS 29.078
GTP-URNC para S-GW-UGTP-U (Tunnel Direto)Plano de usuário (não através do SGSN)TS 29.281

Iu-PS, Gr, S3 e CAP reutilizam as pilhas SS7 e GTPv2-C que o lado CS já executa. S3 e Sv compartilham o servidor GTPv2-C; a interface Sv SRVCC permanece em seu próprio socket.


Configuração

O SGSN lê config :omnimsc, :sgsn e, para as interfaces GTPv2-C, o bloco compartilhado config :gtpc, :service.

config :omnimsc, :sgsn,
enabled: true,
# Área de roteamento que este SGSN serve (anunciada para UEs)
rai: %{mcc: "001", mnc: "01", lac: 1, rac: 1},
# Largura do NRI para alocação de P-TMSI em um pool (0 = sem pool)
nri_bits: 6,
# F-TEIDs de controle S4/S3 deste SGSN anunciados para o S-GW / MME
s4_f_teid: %{teid: "0a0a0a0a", ipv4: "10.0.0.10"},
s3_f_teid: %{teid: "0b0b0b0b", ipv4: "10.0.0.10"},
# Contador de reinício de recuperação GTP-C (TS 23.007 §18)
recovery: 1,
# Pares de núcleo de pacotes estáticos (usados a menos que a seleção DNS esteja habilitada)
sgw: %{ip: "10.179.1.25", port: 2123},
pgw_c: "10.179.1.21",
# APN-AMBR padrão enviado em Criar Sessão quando a assinatura não carrega nenhum
default_apn_ambr: %{ul: 0, dl: 0},
# Seleção de P-GW/S-GW baseada em APN via DNS S-NAPTR (opt-in; padrão desligado)
pgw_dns: false,
sgw_dns: false,
# Temporizador de guarda de liberação Iu (ms) após um Comando de Liberação Iu
iu_release_guard_ms: 5000,
# Substituições de temporizador GMM / SM (ms)
gmm_timers: %{t3350: 6000, t3360: 6000, t3370: 6000, t3312: 3_240_000},
sm_timers: %{t3395: 8000},
# Fallback de assinatura quando Gr Insert Subscriber Data não está conectado
subscribed_apns: ["internet"],
default_apn: "internet",
wildcard_apn: false

config :gtpc,
service: %{
name: :s3,
listen_ip: "10.0.0.10",
listen_port: 2123,
control_module: Omnimsc.Gtpc.Router,
t3: 5000,
n3: 3
}

Parâmetros do Núcleo

ParâmetroTipoNecessárioPadrãoDescrição
enabledBooleanoNãofalseInterruptor mestre para a árvore de processos e interfaces do SGSN.
raiMapaSim-Identidade da Área de Roteamento (mcc/mnc/lac/rac) anunciada para UEs e usada como a rede servidora.
nri_bitsInteiroNão0Largura do campo NRI no P-TMSI; alinhar com o pool do MSC. 0 desativa o pooling.
s4_f_teidMapaSim-F-TEID de controle S4 do SGSN (teid hex, ipv4) que o S-GW endereça para sinalização de bearer.
s3_f_teidMapaNão-F-TEID de controle S3 do SGSN anunciado para o MME para mobilidade inter-RAT.
recoveryInteiroNão0Contador de reinício de recuperação GTP-C (TS 23.007 §18). Incrementar no reinício do SGSN.
sgwMapaNão%{ip: "10.179.1.25", port: 2123}Par GTP-C S-GW estático usado quando sgw_dns está desligado.
pgw_cStringNão"10.179.1.21"Endereço GTP-C P-GW estático usado quando pgw_dns está desligado.
default_apn_ambrMapaNão%{ul: 0, dl: 0}APN-AMBR (kbps) colocado em Criar Sessão quando a assinatura não fornece nenhum. 0/0 evita S-GWs de laboratório que rejeitam um valor diferente de zero.
pgw_dnsBooleanoNãofalseResolver o P-GW por APN solicitada via DNS S-NAPTR (TS 29.303). Retorna para pgw_c em qualquer falha de DNS.
sgw_dnsBooleanoNãofalseResolver o S-GW por APN solicitada via DNS S-NAPTR. Retorna para sgw em qualquer falha de DNS.
iu_release_guard_msInteiroNão5000Tempo a esperar pela conclusão da Liberação Iu RANAP antes de liberar a conexão forçosamente (TS 25.413 §8.5).

Parâmetros de Temporizador

ParâmetroTipoPadrão (ms)Descrição
gmm_timers.t3350Inteiro6000Retransmissão de Aceitação de Anexo / Aceitação de RAU / Realoção de P-TMSI aguardando Completo (TS 24.008 §11.2.2).
gmm_timers.t3360Inteiro6000Retransmissão de Solicitação de Autenticação e Cifragem aguardando Resposta.
gmm_timers.t3370Inteiro6000Retransmissão de Solicitação de Identidade aguardando Resposta de Identidade.
gmm_timers.t3312Inteiro3240000Temporizador de RAU móvel / periódico; ao expirar (mais a graça) os contextos MM e PDP são desconectados implicitamente (TS 24.008 §4.7.2.2).
sm_timers.t3395Inteiro8000Retransmissão de uma Solicitação de Desativação de Contexto PDP solicitada pela rede aguardando Aceitação (TS 24.008 §6.1.3.4.2).

Todos os temporizadores de retransmissão têm um limite de 5 tentativas antes que o procedimento seja abandonado.

Parâmetros de Assinatura e APN

Usados para validar a APN solicitada quando Gr Insert Subscriber Data não populou uma assinatura ativa (veja Gr MAP). Quando uma assinatura real está presente, ela tem precedência sobre esses valores estáticos.

ParâmetroTipoPadrãoDescrição
subscribed_apnsLista[]Nomes de APN permitidos. Uma APN solicitada fora desta lista é rejeitada com a causa SM 33 (TS 24.008 §10.5.6.6). Vazio desativa a aplicação (aceita qualquer um).
default_apnString-APN usada quando o UE não solicita nenhuma. Retorna para a única APN assinada se não definida.
wildcard_apnBooleanofalseQuando true, qualquer APN solicitada é permitida (assinatura curinga).

Injeções de Laboratório

Essas chaves injetam uma função (ou {módulo, função}) para que o núcleo de pacotes possa ser executado antes que o estado SS7/HLR esteja completo. Elas são opcionais; quando não definidas, o SGSN ignora a rodada externa correspondente e o procedimento ainda é concluído.

ParâmetroTipoDescrição
quintet_sourceFunção/{m,f}Fornece um quinteto UMTS AKA (imsi, resync) para o desafio de autenticação em vez de um Gr SendAuthenticationInfo ativo.
gr_sourceFunção/{m,f}Fornece o resultado de HLR UpdateGprsLocation / Insert Subscriber Data no anexo. Quando não definido, o anexo prossegue sem registro Gr.
purge_ms_sinkFunção/{m,f}Recebe uma notificação de Purge MS quando o SGSN remove um assinante.

Parâmetros de Serviço GTP-C

ParâmetroTipoNecessárioPadrãoDescrição
nameÁtomoSim-Nome do serviço; :s3 para o servidor de mobilidade SGSN.
listen_ipStringSim-Endereço de ligação para o servidor GTPv2-C.
listen_portInteiroNão2123Porta UDP GTP-C (TS 29.274).
control_moduleMóduloSim-Omnimsc.Gtpc.Router roteia mensagens S3/S4 iniciadas pelo par para o SGSN.
t3InteiroNão5000Temporizador de retransmissão de solicitação GTP-C (ms).
n3InteiroNão3Tentativas máximas de retransmissão GTP-C.

Quando tanto Sv (SRVCC) quanto as interfaces GTPv2-C do SGSN são executadas em um único host, vincule-as a pontos finais IP/porta distintos.


Gerenciamento de Mobilidade (GMM)

O SGSN executa uma máquina de estados GMM por UE (TS 24.008 §4.7).

Comportamento GMM implementado:

  • Anexo / RAU / Desanexo / Solicitação de Serviço, com anexo combinado (PS+CS) tratado em processo com o VLR.
  • Autenticação UMTS AKA com validação de RES contra XRES, incluindo ressincronização AUTS.
  • Alocação de P-TMSI e uma assinatura P-TMSI autenticada em um anexo/RAU posterior (TS 24.008 §10.5.5.8).
  • Temporizadores de retransmissão T3350/T3360/T3370 e o temporizador de móvel acessível T3312 impulsionando o desanexo implícito.
  • RANAP Common ID enviado ao RNC após a conclusão do Modo de Segurança (TS 25.413 §8.24).
  • Procedimento de Identidade solicitando IMEISV durante o anexo.
  • GMM STATUS em uma mensagem GMM desconhecida ou errônea, e causas de rejeição por procedimento (não uma única causa genérica).
  • Solicitação de Desanexo Iniciado pela Rede (MT) para que a rede possa desanexar um UE e solicitar reanexação.
  • Tratamento de Status do Contexto PDP em RAU / Solicitação de Serviço para que o estado PDP do MS e do SGSN não possa divergir.
  • Liberação Iu após a conclusão de um procedimento apenas de sinalização, com o temporizador de guarda acima.

Gerenciamento de Sessão (SM / PDP)

Comportamento SM implementado:

  • Ativação de contexto PDP com negociação de APN, QoS e endereço PDN.
  • Multiplexação NSAPI / contextos PDP secundários: um UE mantém múltiplos contextos concorrentes identificados por NSAPI (5-15); uma colisão de NSAPI em uso é resolvida desativando localmente o contexto colidido conforme TS 24.008 §6.1.3.1.4.
  • Negociação de QoS a partir de QoS solicitada e assinada para o QoS do Bearer S4 e o IE QoS NAS.
  • Tipos de PDP IPv4, IPv6 e IPv4v6 de ponta a ponta.
  • Desativação solicitada pela rede com temporizador de retransmissão T3395.
  • Seleção de APN e aplicação de assinatura: validar a APN solicitada contra a assinatura, resolver APNs curinga e padrão, e rejeitar uma APN não assinada com a causa SM correta.
  • SM STATUS e validação de NSAPI em erros de protocolo, com causa GTP-C mapeada para a causa SM NAS.

Iu-PS e RANAP

O manipulador Iu-PS possui a seção orientada a conexão SCCP por UE e conecta NAS em ambas as direções através de RANAP DirectTransfer.

  • InicialUE / ponte DirectTransfer transportando NAS GMM/SM em cada direção.
  • Atribuição de RAB com parâmetros derivados do bearer/QoS assinado, e reação à Resposta de Atribuição de RAB FailedList (mapeando a causa RANAP para uma rejeição SM) e modificações apenas de TEID (encaminhadas para o S-GW).
  • Liberação Iu após procedimentos de sinalização, e na liberação SCCP de entrada para uma conexão PS, com o temporizador de guarda.
  • RANAP RESET de um RNC purgando as conexões Iu-PS obsoletas desse RNC e reconhecendo.
  • Indicação de Erro RANAP emitida em um PDU RANAP malformado / indecifrável (TS 25.413 §8.27).
  • Sinalização de realocação SRNS (TS 25.413 §8.6-8.9): todos os seis PDUs de Realocação, impulsionando a realocação intra-SGSN e re-anclando o Tunnel Direto no RNC alvo na conclusão. A realocação inter-SGSN via S3 está sendo rastreada como trabalho futuro (veja Limitações).

S4 e GTP-C

  • Criar / Modificar / Deletar Sessão em direção ao S-GW, com tipo RAT UTRAN e os F-TEIDs S4-SGSN.
  • Intermediação do ponto final do Tunnel Direto, e retorno de downlink ao SGSN em PMM-IDLE para que o S-GW armazene em buffer e acione a paginação em vez de enviar para um RNC liberado.
  • Solicitação de Delete / Update Bearer iniciada pelo par do S-GW/P-GW: reconhecida e encaminhada ao UE.
  • Gerenciamento de caminho GTP-C: Detecção de Echo Request/Response e contador de reinício de recuperação para invalidar sessões obsoletas (TS 23.007 §18).
  • Seleção de P-GW/S-GW S-NAPTR via DNS por APN quando habilitada, com fallback estático.
  • Paginação de dados MT: uma Notificação de Dados de Downlink S4 aciona a paginação RANAP e é reconhecida (TS 29.274 §7.2.11).

Mobilidade S3 (para o MME)

  • Transferência de contexto em modo ocioso: Solicitação de Contexto / Resposta / Reconhecimento (TS 29.274 §7.3.7).
  • Modo de segurança do contexto MM codificado como EPS (valor 4) ao carregar um contexto KASME (TS 29.274 §8.38).
  • Contêineres transparentes de realocação Forward (contêineres RAN de Fonte para Destino / Destino para Fonte) transportados de ponta a ponta para que o rádio alvo possa ser configurado (TS 29.274 §7.3.1).

Gr MAP (Interface HLR)

  • UpdateGprsLocation registrando o SGSN no HLR no Anexo GPRS (TS 23.060 §6.5.3).
  • Insert Subscriber Data consumido no contexto do assinante (APNs permitidas, QoS assinadas, APN-AMBR, cobrança), alimentando a aplicação de APN e negociação de QoS.
  • Cancel Location purgando os contextos MM e PDP locais e desmontando a sessão S4; Purge MS enviado quando o SGSN remove um assinante.

A rodada Gr é controlada por gr_source; quando não definida, o anexo prossegue sem registro Gr, de modo que o laboratório continue funcionando com um quinteto injetado.


Cobrança (CDRs PS)

O SGSN produz registros de detalhes de chamadas do domínio PS roteados para o coletor de CDR compartilhado (TS 32.251, TS 32.298):

  • S-CDR (SGSNPDPRecord) aberto na ativação de PDP e fechado na desativação.
  • M-CDR (SGSNMMRecord) aberto na conclusão do Anexo e fechado no Desanexo, com um contêiner de mudança de localização no RAU.
  • Contêineres de mudança de condição de cobrança (QoS / RAT / tarifa-tempo / mudança de Tunnel Direto) e registros parciais com um número de sequência crescente.

Veja documentação CDR para o coletor e formato de saída. A contagem de volume sob Tunnel Direto depende de um feed de relatório de uso S4 (veja Limitações).


CAMEL GPRS (Cobrança e Controle Online)

Um gprsSSF opt-in aciona o controle CAMEL fase-3 GPRS (TS 23.078, TS 29.078). Ele é ativado apenas quando a assinatura carrega GPRS-CSI; sem isso, o anexo e a ativação de PDP permanecem inalterados.

  • Modelos de estado gprsSSF para Anexo/Desanexo e Contexto PDP, com armamento de ponto de detecção e relatório de eventos.
  • InitialDPGPRS acionado nos pontos de detecção de Anexo e Estabelecimento de Contexto PDP.
  • Laço de cobrança online ApplyChargingGPRS / ApplyChargingReportGPRS.
  • Operações de controle Connect/Continue/Release/Cancel/ActivityTest GPRS, o temporizador Tssf e tratamento padrão GPRS em erro ou timeout do gsmSCF.
  • FurnishChargingInformationGPRS mesclado no S-CDR e SendChargingInformationGPRS capturado em direção à camada SM.

Tabelas de Referência

Causas Comuns de Rejeição GMM (TS 24.008 §10.5.5.14)

CausaNomeGatilho típico
2IMSI desconhecido no HLRAssinante não provisionado
7Serviços GPRS não permitidosAssinatura bloqueia serviço de pacotes
9Identidade do MS não pode ser derivadaRAU/Solicitação de Serviço P-TMSI não resolvível
11PLMN não permitidoRoaming / restrição de PLMN
17Falha de redeSem vetores de autenticação do HLR

Causas Comuns de Rejeição SM (PDP) (TS 24.008 §10.5.6.6)

CausaNomeGatilho típico
26Recursos insuficientesS-GW recusou Criar Sessão, ou nenhum RAB pôde ser atribuído
27APN ausente ou desconhecidaAPN solicitada não pode ser resolvida
31Ativação rejeitada, não especificadaFalha na configuração de RAB do RNC
33Opção de serviço solicitada não assinadaAPN não está na assinatura

Métricas

Métrica: omnimsc_sgsn_attach_count
Tipo: Contador
Descrição: Resultados de anexo GPRS.
Rótulos:

  • result - Resultado do anexo (por exemplo accepted, rejected).

Métrica: omnimsc_sgsn_pdp_count
Tipo: Contador
Descrição: Resultados de ativação de contexto PDP.
Rótulos:

  • result - active ou rejected.

Consultas de exemplo:

# Taxa de aceitação de anexo
sum(rate(omnimsc_sgsn_attach_count{result="accepted"}[5m]))
/ sum(rate(omnimsc_sgsn_attach_count[5m]))

# Taxa de rejeição de PDP
sum(rate(omnimsc_sgsn_pdp_count{result="rejected"}[5m]))

Solução de Problemas

Anexo rejeitado com causa 17 (falha de rede)

Sintomas: UE não consegue anexar ao domínio de pacotes; causa de rejeição GMM Anexo 17.

Causas possíveis:

  • Nenhum vetor de autenticação retornado do HLR via Gr.
  • quintet_source não definido em um laboratório sem Gr ativo.

Resolução:

  1. Confirme se o HLR retorna vetores para o IMSI (SendAuthenticationInfo).
  2. Em um laboratório, defina quintet_source para injetar um quinteto UMTS conhecido.

Ativação de PDP rejeitada com causa 26 (recursos insuficientes)

Sintomas: Ativar Solicitação de Contexto PDP causa rejeição 26.

Causas possíveis:

  • O S-GW recusou Criar Sessão (por exemplo, um ULI ou APN-AMBR diferente de zero que ele rejeita).
  • Nenhum RAB pôde ser atribuído pelo RNC.

Resolução:

  1. Verifique se o S-GW aceita a Criar Sessão; defina default_apn_ambr para %{ul: 0, dl: 0} para S-GWs que rejeitam um valor diferente de zero.
  2. Revise a Resposta de Atribuição de RAB para uma entrada FailedList.

Ativação de PDP rejeitada com causa 33 (opção de serviço não assinada)

Sintomas: Ativar Solicitação de Contexto PDP causa rejeição 33.

Causas possíveis:

  • A APN solicitada não está na assinatura ou em subscribed_apns.

Resolução:

  1. Adicione a APN à assinatura do HLR (Insert Subscriber Data) ou a subscribed_apns.
  2. Defina wildcard_apn: true apenas se qualquer APN deve ser permitida.

Sintomas: O uplink funciona, mas nenhum pacote de downlink chega.

Causas possíveis:

  • Tunnel Direto não concluído: a Modificação de Bearer não transportou o RNC F-TEID.
  • Downlink ainda ancorado em um RNC liberado após o UE ter ficado ocioso.

Resolução:

  1. Confirme se a Modificação de Bearer após a atribuição de RAB transportou o RNC F-TEID.
  2. Confirme se o retorno de downlink ao SGSN foi acionado em PMM-IDLE para que a paginação possa trazer o UE de volta.

RAU não roteado para este SGSN

Sintomas: Uma Atualização de Área de Roteamento de um UE cai no nó errado.

Causas possíveis:

  • O NRI P-TMSI não corresponde à configuração de nri_bits / alocação do pool deste SGSN.

Resolução:

  1. Alinhe nri_bits com a configuração do pool MSC/SGSN.

Limitações

As seguintes implementações são tratadas como costuras ou caminhos parciais e são documentadas para que os operadores saibam o que ainda não está end-to-end:

  • Contagem de volume sob Tunnel Direto: o SGSN não vê plano de usuário, portanto, os volumes de S-CDR e cobrança online CAMEL requerem um feed de relatório de uso S4 que ainda não está conectado. O registro e os loops de relatório estão completos; a diminuição de volume ativa aguarda esse feed.
  • CAMEL Advice-of-Charge para o MS: SendChargingInformationGPRS é capturado em direção à camada SM, mas a entrega de AoC para o dispositivo não está construída ainda.
  • Realocação Forward Inter-SGSN: a sinalização de realocação SRNS intra-SGSN está completa; impulsionar o salto S3 para um SGSN par (conclusão da transferência de modo conectado PS) está sendo rastreado sob o épico da interface S3.