Normalizer Templates

Normalizer templates identify the MATRIXX Data Containers (MDCs) and MDC fields, balances, quantities, or times that rating uses for normalization when deciding which rates to apply. Normalizer templates that perform normalization based on one or more field values require you to specify the field and the MDC containing it.

Note: For a multiplexing normalizer template, only the name is configured. Normalization is done using the multiplexing normalizer's referenced normalizers.

MDCs Valid for Normalizations

In addition to base MDCs, use MDC subtypes providing it makes sense to do so. For example, using a field in the MtxDiamRoMsg MDC, which is a subtype of the MtxMsg MDC, would make sense when processing a network message, but it would not make sense when processing a policy message.

You can use the following containers and their extensions to define normalizers, but you cannot use them for saving result value names and descriptions:
  • Mtx5GRequest
  • Mtx5GResponse
  • Mtx5GMultiUnitUsageData
  • Mtx5GMultiUnitInfoData
Note: To perform normalizations based on a field that is not already defined in a base MDC, such as the MtxDiamRoMsg or MtxDeviceObject MDC, you must run the create_config.py script to add a custom MDC to the base MATRIXX configuration and add the new field to it.

For information about creating custom MDCs and adding fields to them, see the discussion about how to add a custom MDC in MATRIXX Configuration.

You can also configure a normalizer template to copy the name and description of the normalization result into separate MDC fields.

You configure the following results values:
  • Result Description Container — The target MDC container where the description of the normalized value chosen during rating is copied. For example, the MDC name to identify the Diameter message is MtxDiamRoMsg. Select the required MDC from the list.
  • Result Description Field — The target field within the target MDC container where the description of the normalized value chosen during rating is copied. The copy operation occurs only if the field value in the message is not set when the normalizer is evaluated. Use dot notation to identify fields nested in the MDC structure. For example, to identify the SMS node role for a session within the Diameter message, you might enter ServiceInfo.SmsInfo.SmsNode.
  • Result Name Container — The target MDC where the name of the normalized value chosen during rating will be copied. Select the required MDC from the list.
  • Result Name Field — The target MDC field within the target MDC container where the name of the normalized value chosen during rating will be copied. Also use dot notation to identify nested fields.
You copy the name or description from the results MDC fields into the Event Detail Record (EDR) by using Event Field Mapping. You can also use these values as input to a second normalizer template using a technique called normalizer chaining. Normalizer chaining uses one normalizer to reduce a large set of possible inputs into a much smaller set of possible outputs, which in turn reduces the size of rate tables based on those outputs. For example, you can create one normalizer template that normalizes on phone number prefixes to organize phone numbers by zone. You can copy the name and description of that zone into separate MDC fields. Although the set of phone number prefixes is large, the number of zones is comparatively small. Then you use a second normalizer template to normalize on the name or description of those few zones, resulting in much smaller rate tables. The target MDC field can be a field from any of the following containers and their descendants:
  • MtxMsg — The container is the message being processed. Use this MDC only when processing a network message, and not when performing internal operations such as recurring processing.
  • MtxMultiServiceData — The element of the MtxMultiServiceList, within an MtxDiamRoMsg, that is for the service context currently being processed. Use this MDC only when processing a MyxDiamRoMsg.
  • MtxChargingSessionExtension — The container includes custom extension attributes for the charging session.
  • MtxPolicySessionExtension — The container includes custom extension attributes for the policy session.
  • MtxChrgMsgWorkspace — A temporary container created by the Charging Server to process a message.
Note: The copy operation occurs only if the target MDC field is not set at the time the normalizer is evaluated. If the network message has multiple service contexts (multiple MSCC AVPs), the normalization process could use a normalizer multiple times, once for each service context, and add each result to the associated EDR.
For more information about normalizer chaining, see the discussion about normalizer chaining in MATRIXX Pricing and Rating.