MDC Handlers

CHF configuration supports the definition of MATRIXX Data Container (MDC) handlers that process the messages received by one or more network function endpoints. These handlers convert JSON messages to MDCs before sending them to MATRIXX Engine. The response is converted from MDC format back to JSON and returned to the endpoint.

MDC Handler Configuration Properties lists the configuration properties avaliable when defining an MDC Handler:

Table 1. MDC Handler Configuration Properties
Property Description Example Value
mdc.handlers.handler_name.endpoints A list of endpoint names to offer processing for. The names must match the endpoint names defined in the nf.endpoints property. -
mdc.handlers.handler_name.specVersion (Optional) The 3GPP 5GC specification version. If not specified then this defaults to the value of the gateway.specifications.version property. R15-2019-12
The following properties relate to the mapping configuration used by this handler.
mdc.handlers.handler_name.mapping.requestMappingFile The name of the dynamic message mapper configuration file to use for incoming requests when converting JSON to MDC. This file must exist in /opt/mtx/conf/mapping/specificationVersion. ChargingDataRequest-5200-mapping.yaml
mdc.handlers.handler_name.mapping.responseMappingFile The name of the dynamic message mapper configuration file to use for outgoing responses converting MDC to JSON. This file must exist in /opt/mtx/conf/mapping/specificationVersion. ChargingDataResponse-5210-mapping.yaml
mdc.handlers.handler_name.mapping.traceEnabled (Optional) If set to true, more trace output is provided in the logs when performing mapping. true
mdc.handlers.handler_name.mapping.placeholderProperties (Optional) A map of values that are used to replace placeholders within the mapping file that are in the format ${mapkey}.

Values can include resolvable property names in the format ${property.name}.

	
placeholderProperties:
  customMdcName: "Acme5GRequest"
mdc.handlers.handler_name.mapping.inputParameters (Optional) A map of values added to the mapping input parameters by default.

Values can include resolvable property names in the format ${property.name}.

inputParameters:
  nfInstanceId: "${gateway.nfInstanceId}"
  test: "abc"
mdc.handlers.handler_name.mapping.trafficRoutingOrder An ordered list of identifiers used to find Traffic Routing Agent (TRA) routing data and decide priority. In the example to the right, IMSI has the highest priority, followed in order by the others. This is used for Charging Data Request and Spending Limit Request messages only.
trafficRoutingOrder:
          - "IMSI"
          - "NAI"
          - "GPSI_MSISDN"
          - "GPSI_EXTID"
The following properties represent the engine response codes and the mapping to an SBA response. This is a repeating structure.
mdc.handlers.handler_name.resultCodes.engineResult The engine result to look for when determining the SBA response. 10
mdc.handlers.handler_name.resultCodes.engineResultDetails (Optional) The engine result detail to look for when determining the SBA response. 48
mdc.handlers.handler_name.resultCodes.sbaResponse The SBA error code to use if the engine result (and optionally engine result detail) match the engine response. A value of SUCCESS value can be used if the response is not an error, otherwise it must match one of the values defined in the gateway.errors property. USER_UNKNOWN