EDRs for Usage

Usage event Event Detail Records (EDRs) contain information about the quantities used for charging. A network message received for usage can include several usage quantity types; all are recorded in the EDR for the usage event. The information is listed in the MtxUsageEvent EDR in a list field called UsageQuantityList. Each element of this list is a MtxEventUsageQuantity MATRIXX Data Container (MDC).

Note: Usage from segments with no charge to a balance are not included in EDRs. EDRs are generated for usage events even if there is no charge or grant, but there is no charge record within the event for charges or grants of amount zero. To generate a charge record in the EDR when the rated amount is 0, add the following event type to the event type definition. The type number must be 11 for MtxSessionEndEvent:
  • Normalized Event Type: session_end
  • Container Name: MtxSessionEndEvent
  • Type ID: 11
Note: Generation of usage events when the rated usage quantity is zero (or there is no rated quantity) and there are no balance impacts can be suppressed for a usage service type. See Usage Events with Zero Or No Rated Quantity.

This section provides information about usage EDR contents where the contents differ from non-usage EDRs.

Usage EDRs can be of the following types:
  • EDRs for non-aggregated usage

    EDRs for non-aggregated usage are generated for network usage and contain information for a single network message.

  • EDRs for aggregated usage

    EDRs for aggregated usage are generated for network usage and can contain information that spans multiple network messages. They are generated in response to a defined trigger condition, such as a time or session.

A rated activity can impact balances in more than one wallet. Charges can be applied to the event initiator (subscriber or group), and to groups above the initiator in a group hierarchy. A separate EDR is generated for each subscriber or group whose balances are impacted.

Usage Events with Zero Or No Rated Quantity

When you create a service type in My MATRIXX, you can select Suppress Usage Event With No Impact to specify that usage events are not generated when the rated usage quantity is zero (or there is no rated quantity) and there are no balance impacts. This is helpful in scenarios where there is a high load on the mediation system due to many usage events with zero data consumption. This setting applies to both aggregated and non-aggregated usage events.

When an EDR is not generated for an aggregation period with zero or no rated quantity, the start time of the next aggregation period is not affected. For example, consider the following data session where usage is aggregated hourly:
  • Start time: 1:30 PM
  • Usage: 1MB at 1:45 PM
  • Usage: 2MB at 3:15 PM
  • End time: 3:45 PM
This results in the following EDRs:
  • Event 1
    • Start time: 1:30 PM
    • End time: 2:00 PM
    • Usage: 1MB
  • Event 2
    • Start: 3:00 PM
    • End: 3:45 PM
    • Usage: 2MB
To override the Suppress Usage Event With No Impact setting in the service type definitions so that EDRs for aggregated usage are generated always, add the following line to the mtx_config.xml SED file:
:s@<generate_aggregated_event_with_zero_rated_quantity>.*<@<generate_aggregated_event_with_zero_rated_quantity>1<@

Event Initiator

For usage events, the event initiator is always a subscription. One primary event is associated with the event initiator's wallet.

For other impacted wallets, the MATRIXX Engine generates a secondary event that records impacts to balances in that wallet. Most of the data in the primary event is not repeated in the secondary event. A few fields, however, are replicated in the primary and secondary events, including the IDs of the event initiator, and some tax-related fields. All secondary events include a reference to the primary event with which they are associated. Secondary events have a SecondaryEventType field that defines the relationship to the primary event. The value in this field is either 1, meaning sponsorship, or 4, meaning balance transfer.
Note: Secondary events include the primary event initiator information, but the wallet information is adjusted to reflect the wallet impacted and the owner.

The EventTypeArray field (an array of integers defining a type within a hierarchy of event types) is included only in primary events. The first element (index 0) is the top level-type (usage, purchase, recurring, and so forth). The remaining elements define subtypes. Only usage events include subtypes. For example, if element 0 has the value 1 (usage), the second element might have a value 20, which could mean voice usage (elements other than the top-level element are operator-defined in pricing). There could be a further breakdown of the voice usage type by using the third element.

See the discussion about MtxEvent fields for information that is recorded in the EDR for the initiator.

EDRs for Multiple Services

The Diameter Credit-Control Application (RFC 4006) includes a Multiple-Services-Credit-Control AVP in the network message, which can report usage for multiple service contexts. For these messages, MATRIXX Engine generates a separate EDR for each service context.

Offline Charging for 5G and Diameter

To support offline charging for 5G and Diameter, usage EDRs include an indicator for online and offline rated usage in the Flags field of the MtxEventUsageQuantity MDC. It is set to:
  • 3 – For rated online usage.
  • 5 – For rated offline usage (for offline 5G and Diameter charging).
  • 7 – For aggregated EDRs where both online and offline usage were rated.