Pular para o conteúdo principal

Formato de Registro de Dados de Cobrança (CDR)

Cobrança Offline para SGW-C

OmniSGW da Omnitouch Network Services


Índice

  1. Visão Geral
  2. Formato do Arquivo CDR
  3. Campos do CDR
  4. Eventos do CDR
  5. Estrutura do Arquivo
  6. Configuração
  7. Fluxo de Geração do CDR
  8. Detalhes dos Campos
  9. Exemplos
  10. Integração

Visão Geral

O formato Data CDR (Registro de Dados de Cobrança) fornece capacidades de cobrança offline para o Plano de Controle do Gateway de Serviço (SGW-C). Os CDRs são gerados para registrar eventos de sessão de bearer, uso de dados e informações de assinantes para fins de faturamento e análise.

Este formato comum é compatível com os CDRs do PGW-C, garantindo consistência nos registros de cobrança em toda a infraestrutura EPC.

Principais Recursos

  • Formato baseado em CSV - Valores separados por vírgula simples e legíveis por humanos
  • Gravação baseada em eventos - Captura eventos de início, atualização e término do bearer
  • Medição de volume - Registra o uso de dados de uplink e downlink
  • Rotação automática - Rotação de arquivos configurável com base em intervalos de tempo
  • Compatível com 3GPP - Segue 3GPP TS 32.251 (cobrança de domínio PS) e TS 32.298 (codificação de CDR)

Casos de Uso

Caso de UsoDescrição
Cobrança OfflineGerar CDRs para faturamento pós-pago
AnáliseAnalisar padrões de uso dos assinantes
Rastro de AuditoriaRastrear todos os eventos de sessão de bearer
Planejamento de CapacidadeMonitorar a utilização de recursos da rede
Solução de ProblemasDepurar problemas de sessão e bearer

Formato do Arquivo CDR

Convenção de Nomenclatura de Arquivo

<epoch_timestamp>

Exemplo:

1726598022

O nome do arquivo é o timestamp da época Unix (em segundos) de quando o arquivo foi criado.

Localização do Arquivo

Diretório padrão:

  • SGW-C: /var/log/sgw_c/cdrs/

Configurável via parâmetro directory na configuração do reporter de CDR.

Cabeçalho do Arquivo

Cada arquivo CDR começa com um cabeçalho de várias linhas contendo metadados:

# Data CDR File:
# File Start Time: HH:MM:SS (unix_timestamp)
# File End Time: HH:MM:SS (unix_timestamp)
# Gateway Name: <gateway_name>
# epoch,imsi,event,charging_id,msisdn,ue_imei,timezone_raw,plmn,tac,eci,sgw_ip,ue_ip,pgw_ip,apn,qci,octets_in,octets_out

Campos do Cabeçalho:

  • File Start Time - Quando o arquivo CDR foi criado (legível por humanos e timestamp Unix)
  • File End Time - Quando a rotação do arquivo ocorrerá (legível por humanos e timestamp Unix)
  • Gateway Name - Identificador para a instância SGW-C
  • Column Headers - Nomes dos campos CSV para os registros de dados

Campos do CDR

Resumo dos Campos

PosiçãoNome do CampoTipoDescrição
0epochinteiroTimestamp do evento (segundos da época Unix)
1imsistringIdentidade Internacional do Assinante Móvel
2eventstringTipo de evento do CDR (por exemplo, "default_bearer_start")
3charging_idinteiroIdentificador de cobrança único para o bearer
4msisdnstringNúmero ISDN da Estação Móvel (número de telefone)
5ue_imeistringIdentidade Internacional do Equipamento Móvel
6timezone_rawstringFuso horário do UE (reservado, atualmente vazio)
7plmninteiroIdentificador da Rede Móvel Pública
8tacinteiroCódigo da Área de Rastreamento
9eciinteiroIdentificador da Célula E-UTRAN
10sgw_ipstringEndereço IP do plano de controle S5/S8 do SGW-C
11ue_ipstringEndereço IP do UE (formato IPv4|IPv6)
12pgw_ipstringEndereço IP do plano de controle S5/S8 do PGW-C
13apnstringNome do Ponto de Acesso
14qciinteiroIdentificador da Classe de QoS
15octets_ininteiroVolume de dados de downlink (bytes)
16octets_outinteiroVolume de dados de uplink (bytes)

Eventos do CDR

Tipos de Eventos

Os CDRs são gerados para três tipos de eventos:

Tipo de EventoFormatoDescriçãoQuando Gerado
Início do Bearer<type>_bearer_startEstabelecimento do bearerResposta de Criação de Sessão enviada
Atualização do Bearer<type>_bearer_updateRelato de uso durante a sessãoRelatórios de uso periódicos do plano de usuário
Término do Bearer<type>_bearer_endTérmino do bearerSolicitação/Resposta de Exclusão de Sessão

Tipos de Bearer:

  • default - Bearer padrão (um por conexão PDN)
  • dedicated - Bearer dedicado (zero ou mais por conexão PDN)

Exemplos de Eventos

default_bearer_start      - Bearer padrão estabelecido
default_bearer_update - Atualização de uso do bearer padrão
default_bearer_end - Bearer padrão terminado
dedicated_bearer_start - Bearer dedicado estabelecido
dedicated_bearer_update - Atualização de uso do bearer dedicado
dedicated_bearer_end - Bearer dedicado terminado

Estrutura do Arquivo

Exemplo de Arquivo CDR

# Data CDR File:
# File Start Time: 18:53:42 (1726598022)
# File End Time: 19:53:42 (1726601622)
# Gateway Name: sgw-c-prod-01
# epoch,imsi,event,charging_id,msisdn,ue_imei,timezone_raw,plmn,tac,eci,sgw_ip,ue_ip,pgw_ip,apn,qci,octets_in,octets_out
1726598022,310260123456789,default_bearer_start,12345,15551234567,123456789012345,,349552,1234,5678,10.0.0.15,172.16.1.100|2001:db8::1,10.0.0.20,internet,9,0,0
1726598322,310260123456789,default_bearer_update,12345,15551234567,123456789012345,,349552,1234,5678,10.0.0.15,172.16.1.100|2001:db8::1,10.0.0.20,internet,9,1048576,524288
1726598622,310260123456789,default_bearer_update,12345,15551234567,123456789012345,,349552,1234,5678,10.0.0.15,172.16.1.100|2001:db8::1,10.0.0.20,internet,9,5242880,2097152
1726598922,310260123456789,default_bearer_end,12345,15551234567,123456789012345,,349552,1234,5678,10.0.0.15,172.16.1.100|2001:db8::1,10.0.0.20,internet,9,10485760,5242880

Rotação de Arquivo

Os arquivos CDR são automaticamente rotacionados com base na duração configurada:

Processo de Rotação:

  1. Fechar o arquivo CDR atual
  2. Criar um novo arquivo com o timestamp atual
  3. Escrever cabeçalho no novo arquivo
  4. Continuar gravando CDRs no novo arquivo

Configuração

Parâmetros de Configuração

ParâmetroTipoDescriçãoPadrãoRecomendado
gateway_namestringIdentificador da instância SGW-C-Usar nome do host ou ID da instância
durationinteiroIntervalo de rotação do arquivo (ms)-3600000 (1 hora)
directorystringCaminho do diretório de saída do CDR-/var/log/sgw_c/cdrs

Exemplos de Configuração

Produção:

  • gateway_name: "sgw-c-prod-01"
  • duration: 3.600.000 ms (rotação de 1 hora)
  • directory: "/var/log/sgw_c/cdrs"

Desenvolvimento:

  • gateway_name: "sgw-c-dev"
  • duration: 300.000 ms (rotação de 5 minutos para testes)
  • directory: "/tmp/sgw_c_cdrs"

Alto Volume:

  • gateway_name: "sgw-c-prod-heavy"
  • duration: 1.800.000 ms (rotação de 30 minutos)
  • directory: "/mnt/fast-storage/cdrs"

Fluxo de Geração do CDR

Eventos do Ciclo de Vida do Bearer CDR

Geração de CDR do SGW-C:

Eventos de Geração do CDR

1. Início do Bearer:

  • Quando: Resposta de Criação de Sessão é enviada
  • Propósito: Registra o estabelecimento do bearer com uso zero
  • octets_in: 0
  • octets_out: 0

2. Atualização do Bearer:

  • Quando: Solicitação de Relatório de Sessão PFCP recebida do plano de usuário
  • Propósito: Registra o uso incremental de dados
  • octets_in: Bytes de downlink acumulados desde o início do bearer
  • octets_out: Bytes de uplink acumulados desde o início do bearer

3. Término do Bearer:

  • Quando: Resposta de Exclusão de Sessão PFCP recebida (com uso final)
  • Propósito: Registra o uso final de dados antes do término da sessão
  • octets_in: Total final de bytes de downlink
  • octets_out: Total final de bytes de uplink

Detalhes dos Campos

1. epoch (Timestamp)

Tipo: Timestamp da época Unix (segundos)

Descrição: O tempo em que o evento CDR ocorreu

Exemplo:

1726598022  → 2025-09-17 18:53:42 UTC

2. imsi (Identidade do Assinante)

Tipo: String (até 15 dígitos)

Formato: MCCMNC + MSIN

Descrição: Identidade Internacional do Assinante Móvel que identifica exclusivamente o assinante

Exemplo:

310260123456789
└─┬─┘└─┬─┘└────┬────┘
MCC MNC MSIN
(310)(260) (123456789)

Fonte: Contexto do UE, recebido na Solicitação de Criação de Sessão


3. event (Tipo de Evento do CDR)

Tipo: String

Formato: <bearer_type>_bearer_<event>

Valores:

  • default_bearer_start
  • default_bearer_update
  • default_bearer_end
  • dedicated_bearer_start
  • dedicated_bearer_update
  • dedicated_bearer_end

Determinação:

  • Se EBI (EPS Bearer ID) é igual a LBI (Linked Bearer ID): default
  • Se EBI não é igual a LBI: dedicated

Fonte: Contexto do bearer (comparação EBI vs LBI)


4. charging_id (Identificador de Cobrança)

Tipo: Inteiro não assinado de 32 bits

Descrição: Identificador único para correlação de cobrança entre elementos da rede

Exemplo:

12345

Fonte: Atribuído pelo PGW-C, recebido na Resposta de Criação de Sessão

Uso:

  • Correlaciona eventos de cobrança entre SGW e PGW
  • Usado nas interfaces de cobrança Diameter Gy/Gz
  • Único por bearer

5. msisdn (Número de Telefone)

Tipo: String (formato E.164)

Descrição: Número ISDN da Estação Móvel (número de telefone do assinante)

Formato: Código do país + número nacional

Exemplo:

15551234567
└┬┘└───┬───┘
CC Nacional
(1) (5551234567)

Fonte: Contexto do UE, tipicamente do HSS via MME


6. ue_imei (Identidade do Equipamento)

Tipo: String (15 dígitos)

Formato: TAC (8) + SNR (6) + Spare (1)

Descrição: Identidade Internacional do Equipamento Móvel (identificador do dispositivo)

Exemplo:

123456789012345
└───┬───┘└─┬─┘└┘
TAC SNR S

Fonte: Contexto do UE, recebido do MME


7. timezone_raw (Fuso Horário do UE)

Tipo: String (atualmente reservado/vazio)

Descrição: Campo reservado para informações de fuso horário do UE

Status Atual: Não populado (campo vazio no CSV)

Uso Futuro: Pode incluir deslocamento de fuso horário e sinalizador de horário de verão

Exemplo:

,  (campo vazio)

8. plmn (Identificador da Rede)

Tipo: Inteiro (formato legado)

Descrição: Identificador da Rede Móvel Pública codificado como hex little-endian

Processo de Codificação:

MCC: 505, MNC: 57

"50557"

Trocar pares: "055570"

Hex para decimal: 0x055570 = 349552

Exemplo:

349552  → MCC: 505, MNC: 57

Fonte: Informações de localização do UE do MME

Nota: Este é um formato de codificação legado para compatibilidade retroativa


9. tac (Código da Área de Rastreamento)

Tipo: Inteiro não assinado de 16 bits

Descrição: O Código da Área de Rastreamento identifica a área de rastreamento onde o UE está localizado

Faixa: 0 - 65535

Exemplo:

1234

Fonte: Informações de localização do UE, recebidas do MME na Solicitação de Criação de Sessão

Uso:

  • Identifica a área de gerenciamento de mobilidade
  • Usado para paginação e atualizações de localização
  • Parte do TAI (Identidade da Área de Rastreamento)

10. eci (Identificador da Célula E-UTRAN)

Tipo: Inteiro não assinado de 28 bits

Descrição: O Identificador da Célula E-UTRAN identifica exclusivamente a célula que atende o UE

Formato: ID do eNodeB (20 bits) + ID da Célula (8 bits)

Faixa: 0 - 268.435.455

Exemplo:

5678

Fonte: Informações de localização do UE do MME

Uso:

  • Identifica a torre de celular e setor específicos
  • Usado para transferência e gerenciamento de mobilidade
  • Informações de localização granulares

11. sgw_ip (IP do Plano de Controle do SGW)

Tipo: String (endereço IPv4 ou IPv6)

Descrição: Endereço IP do plano de controle S5/S8 do SGW-C (F-TEID)

Formato: Decimal pontuado (IPv4) ou hex em colon (IPv6)

Exemplo:

10.0.0.15       (IPv4)
2001:db8::15 (IPv6)

Fonte: Configuração local, atribuída à interface S5/S8


12. ue_ip (Endereço IP do UE)

Tipo: String (formato IPv4|IPv6)

Descrição: Endereço IP atribuído ao UE para a conexão PDN

Formato: <ipv4>|<ipv6>

Exemplos:

172.16.1.100|                      (somente IPv4)
|2001:db8::1 (somente IPv6)
172.16.1.100|2001:db8::1 (Dual-stack)

Fonte: Alocação de Endereço PDN (PAA) do PGW-C

Notas:

  • IPv4 vazio: Nenhum endereço IPv4 alocado
  • IPv6 vazio: Nenhum endereço IPv6 alocado
  • Ambos presentes: Conexão PDN dual-stack

13. pgw_ip (IP do Plano de Controle do PGW)

Tipo: String (endereço IPv4 ou IPv6)

Descrição: Endereço IP do plano de controle S5/S8 do PGW-C (F-TEID remoto)

Formato: Decimal pontuado (IPv4) ou hex em colon (IPv6)

Exemplo:

10.0.0.20       (IPv4)
2001:db8::20 (IPv6)

Fonte: Recebido na Resposta de Criação de Sessão do PGW-C


14. apn (Nome do Ponto de Acesso)

Tipo: String (até 100 caracteres)

Descrição: Nome do Ponto de Acesso que identifica a rede externa (PDN)

Formato: Formato de rótulo semelhante ao DNS

Exemplos:

internet
ims
mms
enterprise.corporate

Fonte: Recebido na Solicitação de Criação de Sessão do MME

Uso:

  • Determina a qual rede externa se conectar
  • Direciona políticas e regras de cobrança
  • Pode determinar o pool de endereços IP

15. qci (Identificador da Classe de QoS)

Tipo: Inteiro não assinado de 8 bits

Descrição: O Identificador da Classe de QoS define a qualidade de serviço do bearer

Faixa: 1 - 9 (padronizado), 128-254 (específico do operador)

Valores de QCI Padronizados:

QCITipo de RecursoPrioridadeAtraso de PacotePerda de PacoteServiço Exemplo
1GBR2100 ms10^-2Voz Conversacional
2GBR4150 ms10^-3Vídeo Conversacional
3GBR350 ms10^-3Jogos em Tempo Real
4GBR5300 ms10^-6Vídeo Não Conversacional
5Non-GBR1100 ms10^-6Sinalização IMS
6Non-GBR6300 ms10^-6Vídeo (bufferizado)
7Non-GBR7100 ms10^-3Voz, Vídeo, Jogos
8Non-GBR8300 ms10^-6Vídeo (bufferizado)
9Non-GBR9300 ms10^-6Bearer Padrão

Exemplo:

9  → Bearer padrão (esforço máximo)

Fonte: Parâmetros de QoS do bearer do PGW-C


Tipo: Inteiro não assinado de 64 bits

Descrição: Número de bytes transmitidos na direção de downlink (rede → UE)

Unidades: Bytes

Exemplo:

1048576  → 1 MB de downlink

Fonte: Medição de Volume PFCP do SGW-U

Notas:

  • Acumulativo para eventos update
  • Total final para eventos end
  • Sempre 0 para eventos start

Tipo: Inteiro não assinado de 64 bits

Descrição: Número de bytes transmitidos na direção de uplink (UE → rede)

Unidades: Bytes

Exemplo:

524288  → 512 KB de uplink

Fonte: Medição de Volume PFCP do SGW-U

Notas:

  • Acumulativo para eventos update
  • Total final para eventos end
  • Sempre 0 para eventos start

Exemplos

Exemplo 1: Sessão Básica com Atualização Única

Linha do Tempo:

  1. Bearer estabelecido
  2. 5 minutos depois: Atualização de uso (10 MB down, 5 MB up)
  3. Sessão terminada

Saída do CDR:

# Data CDR File:
# File Start Time: 10:00:00 (1726570800)
# File End Time: 11:00:00 (1726574400)
# Gateway Name: sgw-c-01
# epoch,imsi,event,charging_id,msisdn,ue_imei,timezone_raw,plmn,tac,eci,sgw_ip,ue_ip,pgw_ip,apn,qci,octets_in,octets_out
1726570800,310260111111111,default_bearer_start,10001,15551111111,111111111111111,,349552,1000,2000,10.0.0.15,172.16.1.1|,10.0.0.20,internet,9,0,0
1726571100,310260111111111,default_bearer_update,10001,15551111111,111111111111111,,349552,1000,2000,10.0.0.15,172.16.1.1|,10.0.0.20,internet,9,10485760,5242880
1726571400,310260111111111,default_bearer_end,10001,15551111111,111111111111111,,349552,1000,2000,10.0.0.15,172.16.1.1|,10.0.0.20,internet,9,10485760,5242880

Exemplo 2: Sessão Dual-Stack com Múltiplas Atualizações

Linha do Tempo:

  1. Bearer dual-stack estabelecido (IPv4 + IPv6)
  2. Múltiplas atualizações de uso
  3. Sessão terminada

Saída do CDR:

1726570800,310260222222222,default_bearer_start,10002,15552222222,222222222222222,,349552,1001,2001,10.0.0.15,172.16.1.2|2001:db8::2,10.0.0.20,internet,9,0,0
1726571100,310260222222222,default_bearer_update,10002,15552222222,222222222222222,,349552,1001,2001,10.0.0.15,172.16.1.2|2001:db8::2,10.0.0.20,internet,9,2097152,1048576
1726571400,310260222222222,default_bearer_update,10002,15552222222,222222222222222,,349552,1001,2001,10.0.0.15,172.16.1.2|2001:db8::2,10.0.0.20,internet,9,8388608,4194304
1726571700,310260222222222,default_bearer_update,10002,15552222222,222222222222222,,349552,1001,2001,10.0.0.15,172.16.1.2|2001:db8::2,10.0.0.20,internet,9,20971520,10485760
1726572000,310260222222222,default_bearer_end,10002,15552222222,222222222222222,,349552,1001,2001,10.0.0.15,172.16.1.2|2001:db8::2,10.0.0.20,internet,9,31457280,15728640

Exemplo 3: Sessão com Bearer Dedicado

Linha do Tempo:

  1. Bearer padrão estabelecido (QCI 9)
  2. Bearer dedicado criado para vídeo (QCI 6)
  3. Atualizações de uso para ambos os bearers
  4. Bearer dedicado excluído
  5. Bearer padrão terminado

Saída do CDR:

1726570800,310260333333333,default_bearer_start,10003,15553333333,333333333333333,,1258248,1002,2002,10.0.0.15,172.16.1.3|,10.0.0.20,internet,9,0,0
1726571100,310260333333333,dedicated_bearer_start,10004,15553333333,333333333333333,,1258248,1002,2002,10.0.0.15,172.16.1.3|,10.0.0.20,internet,6,0,0
1726571400,310260333333333,default_bearer_update,10003,15553333333,333333333333333,,1258248,1002,2002,10.0.0.15,172.16.1.3|,10.0.0.20,internet,9,5242880,2097152
1726571400,310260333333333,dedicated_bearer_update,10004,15553333333,333333333333333,,1258248,1002,2002,10.0.0.15,172.16.1.3|,10.0.0.20,internet,6,104857600,1048576
1726571700,310260333333333,dedicated_bearer_end,10004,15553333333,333333333333333,,1258248,1002,2002,10.0.0.15,172.16.1.3|,10.0.0.20,internet,6,209715200,2097152
1726572000,310260333333333,default_bearer_end,10003,15553333333,333333333333333,,1258248,1002,2002,10.0.0.15,172.16.1.3|,10.0.0.20,internet,9,10485760,4194304

Análise:

  • O bearer padrão (10003) transporta tráfego de fundo (10 MB down, 4 MB up)
  • O bearer dedicado (10004) transporta tráfego de vídeo (200 MB down, 2 MB up)
  • Diferentes valores de QCI (9 vs 6) refletem diferentes tratamentos de QoS

Integração

Pipeline de Processamento de CDR

Métodos de Coleta de CDR

1. Coleta Baseada em Arquivo:

# Monitorar diretório CDR (SGW-C)
inotifywait -m /var/log/sgw_c/cdrs/ -e close_write | while read path action file; do
# Rotação de arquivo concluída, processar CDR
process_cdr "$path$file"
done

2. Streaming em Tempo Real:

# Tail e stream para pipeline de processamento
tail -F /var/log/sgw_c/cdrs/* | process_cdr_stream

Documentação Relacionada


Referências 3GPP

  • TS 32.251 - Cobrança de domínio Packet Switched (PS)
  • TS 29.274 - Sistema de Pacote Evoluído (EPS) da 3GPP; Protocolo GTP-C
  • TS 29.244 - Interface entre nós CP e UP (PFCP)
  • TS 32.298 - Codificação de CDR

Formato CDR - Registros de Cobrança Offline para SGW-C

Desenvolvido pela Omnitouch Network Services

Versão da Documentação: 1.0 Última Atualização: 2025-12-10