Formato do Registro de Dados de Cobrança (CDR)
Cobrança Offline para SGW-C
OmniSGW da Omnitouch Network Services
Índice
- Visão Geral
- Formato do Arquivo CDR
- Campos do CDR
- Eventos do CDR
- Estrutura do Arquivo
- Configuração
- Fluxo de Geração do CDR
- Detalhes dos Campos
- Exemplos
- Integração
Visão Geral
O formato CDR de Dados (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 portadora, uso de dados e informações do assinante 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
- Registro baseado em eventos - Captura eventos de início, atualização e término da portadora
- 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
- Conformidade 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 Uso | Descrição |
|---|---|
| Cobrança Offline | Gerar CDRs para faturamento pós-pago |
| Análise | Analisar padrões de uso dos assinantes |
| Rastro de Auditoria | Rastrear todos os eventos de sessão de portadora |
| Planejamento de Capacidade | Monitorar a utilização de recursos da rede |
| Solução de Problemas | Depurar problemas de sessão e portadora |
Formato do Arquivo CDR
Convenção de Nomenclatura de Arquivo
<epoch_timestamp>
Exemplo:
1726598022
O nome do arquivo é o timestamp Unix epoch (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:
# Arquivo CDR de Dados:
# Hora de Início do Arquivo: HH:MM:SS (unix_timestamp)
# Hora de Fim do Arquivo: HH:MM:SS (unix_timestamp)
# Nome do Gateway: <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:
- Hora de Início do Arquivo - Quando o arquivo CDR foi criado (legível por humanos e timestamp Unix)
- Hora de Fim do Arquivo - Quando a rotação do arquivo ocorrerá (legível por humanos e timestamp Unix)
- Nome do Gateway - Identificador para a instância SGW-C
- Cabeçalhos de Coluna - Nomes dos campos CSV para os registros de dados
Campos do CDR
Resumo dos Campos
| Posição | Nome do Campo | Tipo | Descrição |
|---|---|---|---|
| 0 | epoch | inteiro | Timestamp do evento (segundos Unix epoch) |
| 1 | imsi | string | Identidade Internacional do Assinante Móvel |
| 2 | event | string | Tipo de evento CDR (por exemplo, "default_bearer_start") |
| 3 | charging_id | inteiro | Identificador único de cobrança para a portadora |
| 4 | msisdn | string | Número ISDN da Estação Móvel (número de telefone) |
| 5 | ue_imei | string | Identidade Internacional do Equipamento Móvel |
| 6 | timezone_raw | string | Fuso horário do UE (reservado, atualmente vazio) |
| 7 | plmn | inteiro | Identificador da Rede Móvel Pública |
| 8 | tac | inteiro | Código da Área de Rastreamento |
| 9 | eci | inteiro | Identificador da Célula E-UTRAN |
| 10 | sgw_ip | string | Endereço IP do plano de controle S5/S8 do SGW-C |
| 11 | ue_ip | string | Endereço IP do UE (formato IPv4|IPv6) |
| 12 | pgw_ip | string | Endereço IP do plano de controle S5/S8 do PGW-C |
| 13 | apn | string | Nome do Ponto de Acesso |
| 14 | qci | inteiro | Identificador da Classe de QoS |
| 15 | octets_in | inteiro | Volume de dados de downlink (bytes) |
| 16 | octets_out | inteiro | Volume de dados de uplink (bytes) |
Eventos do CDR
Tipos de Eventos
Os CDRs são gerados para três tipos de eventos:
| Tipo de Evento | Formato | Descrição | Quando Gerado |
|---|---|---|---|
| Início da Portadora | <type>_bearer_start | Estabelecimento da portadora | Resposta de Criação de Sessão enviada |
| Atualização da Portadora | <type>_bearer_update | Relatório de uso durante a sessão | Relatórios de uso periódicos do plano de usuário |
| Término da Portadora | <type>_bearer_end | Término da portadora | Solicitação/Resposta de Exclusão de Sessão |
Tipos de Portadora:
default- Portadora padrão (uma por conexão PDN)dedicated- Portadora dedicada (zero ou mais por conexão PDN)
Exemplos de Eventos
default_bearer_start - Portadora padrão estabelecida
default_bearer_update - Atualização de uso da portadora padrão
default_bearer_end - Portadora padrão terminada
dedicated_bearer_start - Portadora dedicada estabelecida
dedicated_bearer_update - Atualização de uso da portadora dedicada
dedicated_bearer_end - Portadora dedicada terminada
Estrutura do Arquivo
Exemplo de Arquivo CDR
# Arquivo CDR de Dados:
# Hora de Início do Arquivo: 18:53:42 (1726598022)
# Hora de Fim do Arquivo: 19:53:42 (1726601622)
# Nome do Gateway: 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:
- Fechar o arquivo CDR atual
- Criar um novo arquivo com o timestamp atual
- Escrever o cabeçalho no novo arquivo
- Continuar registrando CDRs no novo arquivo
Configuração
Parâmetros de Configuração
| Parâmetro | Tipo | Descrição | Padrão | Recomendado |
|---|---|---|---|---|
gateway_name | string | Identificador da instância SGW-C | - | Usar hostname ou ID da instância |
duration | inteiro | Intervalo de rotação do arquivo (ms) | - | 3600000 (1 hora) |
directory | string | Caminho 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 da Portadora CDR
Geração de CDR do SGW-C:
Eventos de Geração de CDR
1. Início da Portadora:
- Quando: Resposta de Criação de Sessão é enviada
- Propósito: Registra o estabelecimento da portadora com uso zero
- octets_in: 0
- octets_out: 0
2. Atualização da Portadora:
- 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 da portadora
- octets_out: Bytes de uplink acumulados desde o início da portadora
3. Término da Portadora:
- 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 Unix epoch (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 CDR)
Tipo: String
Formato: <bearer_type>_bearer_<event>
Valores:
default_bearer_startdefault_bearer_updatedefault_bearer_enddedicated_bearer_startdedicated_bearer_updatededicated_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 da portadora (comparação EBI vs LBI)
4. charging_id (Identificador de Cobrança)
Tipo: Inteiro sem sinal 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 portadora
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 sinal 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 sem sinal 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 sem sinal 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 com dois pontos (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 (remote F-TEID)
Formato: Decimal pontuado (IPv4) ou hex com dois pontos (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 identificando 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 regras de política e cobrança
- Pode determinar o pool de endereços IP
15. qci (Identificador da Classe de QoS)
Tipo: Inteiro sem sinal de 8 bits
Descrição: O Identificador da Classe de QoS define a qualidade de serviço da portadora
Faixa: 1 - 9 (padronizado), 128-254 (específico do operador)
Valores de QCI Padronizados:
| QCI | Tipo de Recurso | Prioridade | Atraso de Pacote | Perda de Pacote | Serviço Exemplo |
|---|---|---|---|---|---|
| 1 | GBR | 2 | 100 ms | 10^-2 | Voz Conversacional |
| 2 | GBR | 4 | 150 ms | 10^-3 | Vídeo Conversacional |
| 3 | GBR | 3 | 50 ms | 10^-3 | Jogos em Tempo Real |
| 4 | GBR | 5 | 300 ms | 10^-6 | Vídeo Não Conversacional |
| 5 | Non-GBR | 1 | 100 ms | 10^-6 | Sinalização IMS |
| 6 | Non-GBR | 6 | 300 ms | 10^-6 | Vídeo (buffered) |
| 7 | Non-GBR | 7 | 100 ms | 10^-3 | Voz, Vídeo, Jogos |
| 8 | Non-GBR | 8 | 300 ms | 10^-6 | Vídeo (buffered) |
| 9 | Non-GBR | 9 | 300 ms | 10^-6 | Portadora Padrão |
Exemplo:
9 → Portadora padrão (melhor esforço)
Fonte: Parâmetros de QoS da portadora do PGW-C
16. octets_in (Volume de Downlink)
Tipo: Inteiro sem sinal 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
17. octets_out (Volume de Uplink)
Tipo: Inteiro sem sinal 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:
- Portadora estabelecida
- 5 minutos depois: Atualização de uso (10 MB down, 5 MB up)
- Sessão terminada
Saída do CDR:
# Arquivo CDR de Dados:
# Hora de Início do Arquivo: 10:00:00 (1726570800)
# Hora de Fim do Arquivo: 11:00:00 (1726574400)
# Nome do Gateway: 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:
- Portadora dual-stack estabelecida (IPv4 + IPv6)
- Múltiplas atualizações de uso
- 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 Portadora Dedicada
Linha do Tempo:
- Portadora padrão estabelecida (QCI 9)
- Portadora dedicada criada para vídeo (QCI 6)
- Atualizações de uso para ambas as portadoras
- Portadora dedicada excluída
- Portadora padrão terminada
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:
- A portadora padrão (10003) carrega tráfego de fundo (10 MB down, 4 MB up)
- A portadora dedicada (10004) carrega 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
- Gerenciamento de Sessão - Ciclo de vida da sessão
- Interface Sxa - Relatório de uso do SGW-U
- Guia de Monitoramento - Métricas e alertas
Referências 3GPP
- TS 32.251 - Cobrança de domínio de Pacote (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