Configuring GTP Prime Adapter

The GTP Prime Adapter can be configured for processing CDR messages from a Kafka topic and converting them from JSON into ASN.1 using a dynamic mapper before sending them to a GTP server.

Configure GTP Prime Adapter with the following properties in application.yaml as a ConfigMap using the gtp.prime.adaptor.configuration.configmap property in your Helm values file.

GTP Prime Adapter Kafka Configuration Properties describes the properties available for configuring Kafka connections for GTP Prime Adapter.

Table 1. GTP Prime Adapter Kafka Configuration Properties
Property Description
kafka.config.bootstrap.servers The addresses of the Kafka brokers. This property is overridden by 5G events message broker configuration values.
kafka.topic The inbound topic to the adapter. This property is overridden by 5G events message broker configuration values.
kafka.config.group.id A unique identifier for the consumer group. The default value is gtp1.

GTP Prime Adapter Configuration Properties describes the properties available for configuring the GTP Prime Adapter.

Table 2. GTP Prime Adapter Configuration Properties
Property Description
gtp.gtpHost The name of the Kubernetes service for the GTP host. The default value is gtpServer.
gtp.gtpPort The GTP port. The default value is 3386.
gtp.configurationDirectory The root configuration directory containing the mapping and message specifications. The default value is /opt/mtx/conf/.
gtp.configurationFile The mapping configuration filename. The file must be located in the ${streamer.mapping.configurationDirectory}/mappings directory. The default value is SBARequest-to-CHFRecord.yaml.
gtp.openApiVersion The CDR OpenAPI specification. This is the same as the 3GPP 5G specification version. The default value is R15-2019-12.
gtp.openApiFilenames The OpenAPI filename. This file must be located in the ${streamer.mapping.configurationDirectory}/schema/OpenAPI/${streamer.mapping.cdrVersion}/ directory. The default value is MATRIXX_CDR_Events.yaml.
gtp.asn1SchemaVersion The ASN.1 schema version. This is the same as the 3GPP 5G ASN.1 schema version. The default value is R15-2020-03.
gtp.asn1MessageTypes The ASN.1 message type to load. The default value is CHFChargingDataTypes.
gtp.traceEnabled When set to true, full trace information for mapping is provided. The default value is false.

Specification Configuration describes the properties available for defining the specifications to follow when converting CDR messages.

Table 3. Specification Configuration
Property Description
specifications.version The 3GPP specification to use for mapping JSON messages to MATRIXX Data Containers (MDCs). The default value is R15-2019-12.
specifications.directory The location of the mapping specifications. The default value is /opt/mtx/conf/specs.

Mapping Configuration describes the properties available for specifying mapping files and controlling tracing.

Table 4. Mapping Configuration
Property Description
mapping.directory The location of mapping files. The default value is /opt/mtx/conf/mappings.
mapping.trace When set to true, tracing is enabled. The default value is false.

Scaling Configuration describes the properties available to control scaling.

Table 5. Scaling Configuration
Property Description
scaling.method The method for scaling the number of instances per verticle.
  • auto — Scaling is based on available CPUs and the scaling factor. The number of instances is ignored.
  • manual — The number of instances is specified. The scaling factor is ignored.
  • singleton — Override all instances to 1. Both instances and the scaling factor are ignored.
The default value is auto.
scaling.components.gtp.instances The cardinal number of GTP event client instances to be deployed. The default value is 1.
scaling.components.gtp.factor The scaling factor, calculated as the number of available cores divided by the factor value. For example, a value of 1 means use all available CPUs, and 2 means use half of the available CPUs. The default value is 8.

The following excerpt shows these properties as an nf.yaml file provided in gtp-prime-adaptor.configuration.configmap:

gtp-prime-adaptor:
  configuration:
    configmap:
      application.yaml | -
        server:
          port: 8182 
        kafka:
          config:
            bootstrap-servers: kafka:9092
            topic: cdr

        # Message Specification Settings
        specifications:
          version: R15-2019-12
          directory: /opt/mtx/conf/specs
 
        # Message Mapper Settings
        mapping:
          directory: /opt/mtx/conf/mappings
          trace: false
 
        #GTP Settings
        gtp:
          #GTP Host (service name as per docker env)
          gtpHost: gtpServer
          #GTP Port
          gtpPort: 3386
          # 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: SBARequest-to-CHFRecord.yaml
          # The CDR OpenAPI Specification (equates to the 3GPP 5GC specification version)
          openApiVersion: R15-2019-12
          # The OpenAPI filename which should exist under 
          # ${streamer.mapping.configurationDirectory}/schema/OpenAPI/${streamer.mapping.cdrVersion}/
          openApiFilenames: MATRIXX_CDR_Events.yaml
          # ASN1 Schema version (equates to the 3GPP 5CG ASN.1 schema version)
          asn1SchemaVersion: R15-2020-03
          # 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