Configuring CDR ASN.1 Streamer Application

The CDR ASN.1 Streamer application loads configuration from application.yaml by default.

Kafka Configuration

Kafka Configuration Properties describes properties for configuring the CDR ASN.1 Streamer application with information about the Kafka broker and the application ID.

Table 1. Kafka Configuration Properties
Property Description
spring.kafka.streams.bootstrap-servers Addresses of the Kafka brokers. The default value is kafka:29092.
spring.kafka.streams.application-id ID of the consumer group. The default value is cdr-asn1-streamer.

Topic Configuration

Topic Configuration Properties describes configuration properties for Kafka topics. Any CDR received on an inbound topic is processed and republished on an associated outbound topic. Optionally, a dead-letter queue topic can be configured for redirecting zero-length charging data records (CDRs) to Kafka.

Table 2. Topic Configuration Properties
Property Description
streamer.topics A list (items) of inbound and outbound Kafka topics.
[item].inbound Inbound topic.
[item].outbound Outbound topic.
[item].dlq (Optional) Dead-letter queue topic for zero-length CDRs.
For a configuration example using these properties, see the discussion about message broker configuration.

CDR ASN.1 Streamer Configuration Example

The following is a complete CDR ASN.1 Streamer configuration, including the properties described in Kafka Configuration Properties and Topic Configuration Properties.

Note: The following application properties are set by the Helm chart and do not have to be provided in configuration:
  • streamer.mapping.cdrVersion
  • streamer.mapping.configurationFile
  • streamer.mapping.traceEnabled
logging:
  file:
    name: /var/log/mtx/cdr-asn1-streamer.log
 
spring:
  kafka:
    streams:
      bootstrap-servers: kafka:29092
      application-id: cdr-asn1-streamer
 
# Configuration related to the streamer app
streamer:
  # Configuration related to topics mapping
  topics:
    - inbound: cdr
      outbound: asn1
  # Configuration related to mapping
  mapping:
    # The root configuration directory which will contain the mapping and message specifications
    configurationDirectory: /opt/mtx/conf/
    # The mapping configuration filename which should exist under ${streamer.mapping.configurationDirectory}/mappings
    configurationFile: CDR-to-CHFRecord.yaml
    # The CDR OpenAPI Specification (equates to the 3GPP 5GC specification version)
    cdrVersion: R15-2019-12
    # The CDR OpenAPI filename which should exist under ${streamer.mapping.configurationDirectory}/schema/CDR/${streamer.mapping.cdrVersion}/
    cdrFilenames: cdr.yaml
    # The ASN.1 Message Type to load
    asn1MessageTypes: CHFChargingDataTypes
    # Set this value to true to see full trace information about how the mapping occurred
    traceEnabled: false
    # If true, then the message will be wrapped in a dummy header. Otherwise it is assumed the messages being consumed will already have a header
    wrapMessageInDummyHeader: true
 
# Web Server
server:
  port: 8081
 
# Actuator End Points
management:
  endpoints:
    enabledByDefault: false
    web:
      exposure:
        include: '*'
  endpoint:
    info:
      enabled: true
    health:
      showDetails: always
      enabled: true
    metrics:
      enabled: true
    prometheus:
      enabled: true
    loggers:
      enabled: true
  metrics:
    tags:
      application: cdr-asn1-streamer