TAP3 JSON Kafka CDR Consumer

The TAP3 JSON Kafka CDR Consumer is an out-of-box extension that consumes JSON-mapped TAP3 messages from Apache Kafka topics and maps them to MtxDiamRoMsg messages for MATRIXX Engine rating.

Transferred Account Procedure (TAP) is the mechanism through which operators exchange roaming billing information. The TAP specifications are released by the GSM Association: TAP version 3 (TAP3) uses the ASN.1 coding scheme to encode roaming billing information. Refer to GSMA's TD.57 specification for more information about the TAP3 ASN.1 specification.

Note: If different mapping rules are required than what are provided, you must create a custom extension to support the custom mapping rules. For more information about the inputs and mappings for this extension, see the discussion about TAP3 JSON Kafka CDR Consumer inputs and mappings. For more information about creating a custom extension, see the discussion about creating a custom Kafka CDR Consumer extension.
Each TAP3 file might have multiple call events, and the call events can be a mix of the following events:
  • Mobile-originated call
  • Mobile-terminated call
  • Supplement service event
  • Service center usage
  • GPRS call
  • Content transaction
  • Location service
  • Messaging event
  • Mobile session
However, the TAP3 JSON Kafka CDR Consumer supports only the following TAP3 call events in JSON format:
  • Mobile-originated call (voice and text events).
  • Mobile-terminated call (voice and text events).
  • GPRS call (data events).
  • Location service (text events).
  • Mobile session (voice events).
Important: Because different operators might have different mapping and processing requirements for TAP3, this implementation is provided as an example for TAP3 event streaming. Defining a JSON schema for messages exchanged in JSON format is highly recommended.

The following is an example of the Helm values file for configuring TAP3 JSON Kafka CDR Consumer:

global:
  image:
    registry:
      name: harbor.matrixx-services.com
 
image:
  name: "matrixx-kcc/mtx-tap3json-consumer"
  version: "5250"   
 
replicaCount: 1
 
# Kafka CDR Consumer App configurations
configuration:
  engine:
    host: "engine.host"
    port: 4060
  consumer:
    rate:
      targetTps: 1000
    kafka:
      topic: rerater_topic
      config:
        bootstrap.servers: kafka1:9092,kafka2:9092,kafka3:9092
        group.id: "cg1"
        max.poll.records: 10
  producer:
    kafka:
      topic: reject_topic
      config:
        bootstrap.servers: kafka1:9092,kafka2:9092,kafka3:9092

In this example, image.name points to the TAP3 JSON Kafka CDR Consumer image. Update the other values as needed to configure the TAP3 JSON Kafka CDR Consumer. For information about the properties, see the discussion about Kafka CDR Consumer properties.