Usage Auditing

You can configure usage auditing when defining a service type to allow post-processing of event data.

The MATRIXX Engine can write audit data to transaction logs in compact MATRIXX Data Container (MDC) format. Each audit data record begins with the fixed string @AUD_IT. Use this string in post-processing applications to extract the audit data records from the transaction logs. For aggregated usage events, use the AggregationId to search for information associated with a specific aggregation object. For non-aggregated usage events, use the EventId to search for audit data. An audit data record has an AggregationId or an EventId, but not both.

During MATRIXX Engine configuration, answer y to the following question to write additional usage data to the transaction logs when an aggregation object is updated or when a usage event is created. create_config.info question: Should audit data be generated for all usage transactions (y/n)?

If audit data for usage transactions is enabled, the MtxAuditData MDC includes the information listed in MtxAuditData Fields.
Table 1. MtxAuditData Fields
Field Type Description
SearchText String An easily identifiable string on which to search for audit data records. The value is always "@AUD_IT".
AggregationId OID The value is the OID of the aggregation object from which an event is generated.
EventId String A unique identifier of the non-aggregated event.
MsgAmount Decimal The raw usage quantity.
During MATRIXX Engine configuration, you can extend the MtxAuditData MDC to create custom MDCs with additional fields that are populated with audit data that is written to the transaction logs. The service type definition specifies which fields are used to populate the additional fields in the custom MDC. You can specify audit data for usage per service type.
Table 2. Audit Data Field Mapping Properties
Property Definition Data Type
Source Container The name of the MDC containing the field to map to the audit data MDC. This is required if the audit data MDC parent does not already contain the field.
The Source Container Name must be one of the following MDCs or an extension of it.
  • Mtx5GMultiUnitInfoData
  • Mtx5GMultiUnitUsageData
  • Mtx5GRequest
  • Mtx5GResponse
  • MtxChrgCompWorkspace
  • MtxChrgMsgWorkspace
  • MtxChrgSegWorkspace
  • MtxChargingSessionExtension
  • MtxDeviceObject
  • MtxGroupObject
  • MtxMsg
  • MtxMultiServiceData
  • MtxPolicySessionExtension
  • MtxSessionContextData
  • MtxSubscriberObject
  • MtxTenantProfile
  • MtxUserExtension
  • MtxUserObject
  • MtxWalletObject
The MtxMultiServiceData MDC allows administrators to populate Event Detail Records (EDRs) with fields from specific service contexts. The source field must be located in the MultiServiceList element (in the message MDC) for a service context.
String
Source Field The name of the MDC field containing the usage data to copy to the audit data MDC.

The value is the full path of the field in the MDC, separated by a dot (.). The first element in the array is used to get the value of the event_field_name field. For example, if a field is nested in an array, the syntax is array_field_name.event_field_name.

String
Source Tier (Optional) The name of a tier (level) within a group hierarchy if the source container is a group object. Only group objects above the event initiator in the hierarchy can be source containers. Set the source tier in situations where there is a field, such as an account number associated with a group, that must be included in the subscriber events of its group members. String
Destination Container The name of the MDC generated during service usage to hold the audit data. This can be the MDC selected in Audit Data Container Name or a private MDC derived from it. String
Destination Field The name of the field in the audit data MDC in which to copy the usage event data.

The value is the full path of the field in the MDC, separated by a dot (.).

String