Data Modifying

You use the data modify interface in My MATRIXX to configure data modify actions, data modify profiles, and data modify profile selectors.

A data modify action (DMA) defines how to manipulate a MATRIXX Data Container (MDC) or virtual field value before or after a message has been processed by rating or a field value in a temporary workspace MDC created during rating. You can use data modify actions as an alternative method to selective updates or normalizer chaining for manipulating field values.

You can perform any of the following actions on a selected field in the destination MDC:
  • Delete a field value in a destination MDC or virtual field.
  • Replace a field value in a destination MDC or virtual field with a constant.
  • Copy a source field value to a field in a destination MDC or virtual field.
  • Extend the time value in a DateTime field in a destination MDC by a specified count offset.
Note: The source type must be the same for all revisions of a data modify action. After creating a data modify action, if you change the source type in a later revision, the price loader reports an error. If a data modify source type is metadata, the source fields must not be changed between revisions.

Sources

You can use any of the following sources for a DMA:
  • A constant value — A value you specify. The value type is defined in an MDC descended from the MtxDataModifySourceConstant MDC.
  • A DateTime field count offset — A count offset you specify for extending a selected base time.
  • An object field — From a subscription, group, device, or user.
  • A field in a message — From the MtxDiamRoMsg, a descendant of these MDCs, a 5G message MDC, or a virtual field.
    Note: Using a field from the MtxTcapMsg MDC as a source for a DMA is deprecated.
  • A field in an LDAP response (PreRating profiles only) — From the MtxLdapResponseDataExtension MDC, one of its descendants, or a virtual field. The MDC type is determined based on whether calling or called party data is used, and the key of the LDAP response extension data or its descendant.

    The LDAP response must have been created already from an LDAP request for an earlier message in this charging session or from an earlier PreRating profile for this network message. If it has not been created already, then the requested field is not present.

  • A metadata field (data modify profiles only) — From a selected normalizer, rate table, or policy table where metadata is temporary data defined in the table or normalizer. A metadata field exists only until rating has completed processing the table or normalizer that defined it. During rating, any metadata fields that are referenced in a data modify action for a selected profile can be copied to a destination MDC.

    When more than one revision of normalizer is executed during usage rating, for example, if the quota validity time extends beyond the effective date of the normaliser revisions, it might cause more than one data modify action to be executed. If metadata values change between data modify revisions, this results in the destination data being overwritten so that the final value of the destination data is set to the metadata value present in the final revision of normalizer used.

  • A workspace field (data modify profiles only) — From a custom workspace MDC descended from one of the MDCs listed in Workspace MDCs.

For more information about metadata, see the discussion about metadata fields.

Event Initiator Types

You can use an object field from a subscription, group, device, or user as the source for a data modify action. Valid sources depend on the event initiator type. Event Initiator Types and DMA Object Sources lists the valid sources for different event initiator types.
Table 1. Event Initiator Types and DMA Object Sources
Event Initiator Type Valid DMA Sources
Subscriber
Example event:
  • Subscriber offer purchase
  • Subscriber balance topup
  • Subscription object.
  • Group object. If the group has a tier and the tier is specified in Tier Name in the data modify action source, use that group.

    If the tier is not set, MATRIXX Engine considers the source field to be empty and processes it according to the action selected in Source Action.

  • Device object.
  • User object, providing the subscription has defined a user in the owner role.
Group
Example event:
  • Group offer purchase
  • Group balance topup
  • Group object. If the group tier is specified, MATRIXX Engine retrieves the DMA source object based on the specified tier. If the tier is not set, MATRIXX Engine retrieves the source object associated with the group initiator.
  • Device object.
  • User object, providing the group has defined a user in the owner role.
Device
Example event:
  • Device offer purchase
  • Subscription object.
  • Group object. If the group has a tier and the tier is specified in Tier Name in the data modify action source, use that group.

    If the group tier is not set, MATRIXX Engine considers the source field to be empty and processes it according to the action selected in Source Action.

  • Device object.
  • User object. Use the user object for the subscriber associated with the device, providing the subscription has defined a user in the owner role.

Destinations

You can use any of the following destinations for a data modify action:
  • A field in a message — Sets a field in MtxDiamRoMsg, MtxTcapMsg, a descendant of these MDCs, a 5G message MDC, or a virtual field.
  • A field in an LDAP request data extension (PreRating profiles only) — Sets a field in the MtxLdapRequestDataExtension MDC, one of its descendants, or a virtual field. Use this destination to set fields in the custom MDC specified in the callout request selected in this data modify action. The callout request and the data modify action must both be assigned to the same PreRating profile.
  • (Data modify profiles only) A workspace field — Sets a field in a custom workspace MDC descended from one of the MDCs listed in Workspace MDCs.
  • An object field (data modify profiles only) — Sets a field in a subscription, group, device, user, or an offer object.

Workspace MDCs

Use workspace MDCs to define data modify actions for manipulating fields in a temporary workspace MDC created during rating. To use a workspace MDC in a data modify action, you must first create the custom workspace MDC based on one of the MDCs listed in Custom Workspace MDCs.
Table 2. Custom Workspace MDCs
Workspace Name MDC Lifetime
Message MtxChrgMsgWorkspace The time during which a message is processed by rating, such as when:
  • Rating applies offers and executes pricing components.
  • Charging takes place and balances are impacted.
Component MtxChrgCompWorkspace The time a pricing component or offer is being considered.
Segment MtxChrgSegWorkspace The time a rating segment is being evaluated.
Session Mtx5GChargingDataRequest

Mtx5GChargingDataResponse

Mtx5GMultiUnitInfoData (source only)

Mtx5GMultiUnitUsageData (source only)

Mtx5GSpendingLimitRequest

Mtx5GSpendingLimitResponse

MtxChargingSessionObject (source only)

MtxChargingSessionExtension

MtxDiamGxCCMsg

MtxDiamSySLMsg

MtxPolicySessionExtension

MtxPolicySessionObject (source only)

MtxSessionContextData (source only)

The duration of a call from the moment the charging session is created (on reception of an Initial message) to the moment the charging session is deleted (on reception of a Terminate message).
For 4G diameter policy messages GxCC and SySL, DMAs can read from an MtxPolicySessionObject and any extension and write to the MtxPolicySessionObject extension. For 5G diameter policy message Mtx5GSpendingLimitRequest, DMAs can read from an MtxPolicySessionObject and any extension and write to the MtxPolicySessionObject extension.

For information about creating custom MDCs, see the discussion about extending MATRIXX Engine functionality in MATRIXX Configuration. For more information about workspace MDCs, see the discussion about message workspaces in MATRIXX Pricing and Rating.

Source Action

The data modify action, Source Action field configures the action you want the profile to take if the source field is empty. You can select one the following options:
  • empty_no_op — The profile continues to the next action in the profile without raising a warning.
  • empty_take_default — The profile uses the Default if Empty value as the source.
  • empty_fail — (Default) The profile stops execution and raises an error.
If the source is a constant or the destination action is delete, the Source Action field does not apply. If the source is Time Unit and Count and the source field is empty, the empty_no_op behavior applies.

Adding Data Modify Actions to Profiles

You add data modify actions to the following types of profiles.
  • Data modify (DM) profiles — To specify how to manipulate a field value during rating. You assign DM profiles to decision table rows in rating and policy tables.

    A table which has profiles assigned to it, must have a default DM profile set. If the table is run during rating, MATRIXX Engine performs the profile associated with the selected result row in the table, including SKIP rows. If a table row does not have a specific profile assigned to it, MATRIXX Engine performs the default DM profile. For example, if you do not assign a DM profile to SKIP rows, MATRIXX Engine performs the default DM profile for SKIP rows selected during rating.

    If the table is not run during rating, MATRIXX Engine does not perform the default profile or any other profile assigned to the table.

    You can create an empty profile (one that does not contain any data modify actions and so does nothing) and assign it to result rows in the table, or set it to be the default profile for the table. For example, you could map an empty DM profile to the table rows for not present or not matched normalizer results.

    For more information, see the discussion about data modify profiles in My MATRIXX Help.

  • PreRating profiles — To specify how to manipulate a field value in a message MDC before the message is passed to rating. For more information, see the discussion about PreRating profiles in My MATRIXX Help
  • PostRating profiles — To specify how to manipulate field values in a message MDC after the message has been processed by rating. For more information, see the discussion about PostRating profiles in My MATRIXX Help.
Allowed Sources and Destinations lists the sources and destinations you can use for the data modify actions in each type of profile.
Table 3. Allowed Sources and Destinations
Profile Allowed Sources Allowed Destinations
Data Modify Profile
  • Constant
  • Message fields
  • Object fields
  • Workspace fields
  • Metadata fields from normalizers, rate tables, and policy tables.
  • DateTime field count offset
  • Message fields
  • Workspace fields
  • Object fields
PreRating Profile
  • Constant
  • Message fields
  • Object fields
  • LDAP call out response fields.
  • Message fields
  • LDAP call out request fields
PostRating Profile
  • Constant
  • Message fields
  • Message fields