Data Modify Actions
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.
- 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.
Sources
- 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.
- An object field — From a subscription, group, device, or user.
- 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 workspace field (data modify profiles only) — From a custom workspace MDC descended from one of the MDCs listed in Workspace MDCs.
- 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 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.
- A normalizer calculated value — A numeric value
returned by a difference normalizer as follows:
- Balance Difference Normalizer — The calculated value is the calculated difference between the relevant sources referenced by the normalizer. For more information, see the discussion about balance difference normalizers.
- Difference Range Normalizer — The calculated value is the available amount of the balance referenced by the normalizer. For more information, see the discussion about difference range normalizers.
Important: To avoid a significant reduction in performance in the Charging Server, when the source is a normalizer value, be sure that no other threads are attempting to update the balance being read. For example, the only offer using the balance is in a state where the balance cannot be updated.
Event Initiator Types
Event Initiator Type | Valid DMA Sources |
---|---|
Subscriber Example event:
|
|
Group Example event:
|
|
Device Example event:
|
|
Destinations
- 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.
- A workspace field (data modify profiles only) — 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
Workspace Name | MDC | Lifetime |
---|---|---|
Message | MtxChrgMsgWorkspace | The time during which a message is processed by rating, such as when:
|
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 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.
Adding Data Modify Actions to Profiles
Profile | Allowed Sources | Allowed Destinations |
---|---|---|
Data Modify Profile |
|
|
PreRating Profile |
|
|
PostRating Profile |
|
|
Adding Data Modify Actions to Decision Tables
Supported | Not Supported |
---|---|
|
|