Status Activities

Status activities indicate the eligible activities that can occur to trigger an auto-transition. Status activities are selected when the Delete Object status policy is selected.

Eligible activity types are:
  • undefined = 1
  • usage = 2
  • balance_adjustment = 3
  • top_up = 4
  • offer_purchase = 5
  • offer_cancel = 6
  • offer_modify = 7
  • balance_transfer_from = 8
  • payment = 9
  • recharge = 10
The LastActivityUpdateTime time in the device, subscription, and group objects is updated when an activity defined during pricing configuration occurs in a life cycle that defines one or more inactivity conditions. The update time is used to calculate the inactivity time of a specified activity in an object status life cycle. The object LastActivityUpdateTime values are determined as follows:
  • Device — The last activity is determined using the LastActivityUpdateTime value on the activity object and the LastActivityTime of the current active sessions. For more information about the activity object, see MATRIXX Architecture.
  • Subscription — The last activity is determined using the LastActivityUpdateTime value on the subscription object and the LastActivityTime for all the subscription's associated devices.
  • Group — The last activity is determined by the LastActivityUpdateTime value on the group object.
Note: For a user, the LastActivityTime can only be updated manually.

The subscription's last activity time is updated on usage if an associated device's status includes a transition with an inactivity condition that includes usage as one of the eligible activities. As a result, it is not possible to have a device life cycle in which there is an unconditional status transition due to inactivity and have a subscription status life cycle include a status transition due to inactivity that is impacted by usage.

Immediate Event Charging (IEC) and Diameter session create or terminate messages also update the status life cycle LastActivityTime field.

To define a subscription life cycle inactivity condition that specifies usage as the activity, all child devices must be in a life cycle state that includes a life cycle transition that is triggered by an inactivity condition that specifies usage as an eligible activity. As a result, you cannot configure a device life cycle to unconditionally timeout when the subscription condition is linked to usage.

The SubMan APIs query responses for groups, subscriptions, and devices include the LastActivityTime rounded down to the nearest second.

The following messages and operations affect the LastActivityUpdateTime value:
  • Diameter message (Gy) — Device only
  • Object creation — Device, Subscription, Group
  • Offer purchase — Device, Subscription, Group
  • Offer cancel — Device, Subscription, Group
  • Balance adjustment — Subscription, Group
  • Balance topup — Subscription, Group
  • State transition — Device, Subscription, Group
  • Balance transfer from — Subscription, Group
  • Payment — Subscription, Group
  • Recharge — Subscription, Group

You can modify the LastActivityUpdateTime of groups, subscriptions, and devices using the SubMan APIs. The LastActivityUpdateTime field can be used to set the most recent time an eligible activity happened when evaluating inactivity conditions in a life cycle definition. The LastActivityUpdateTime can be set to any time in the past, present, or future. When the LastActivityUpdateTime is set to a time in the past, the status transition will take place during the next recurring processing scan. After the LastActivityUpdateTime is set using the SubMan APIs, it is updated only if the new activity time is later than the current value, the LastActivityUpdateTime is modified again using the SubMan APIs, or the object transitions to a new status.

Note: The failure of an operation to complete successfully, such as when an offer purchase fails, is not considered activity. This applies to all SubMan operations.
You can specify the eligible activity types for the following conditions:
  • MtxStatusConditionFirstActivity
  • MtxStatusConditionInactivity
For more information about conditions, see the discussion about status conditions.