Event Types

MATRIXX Engine supports multiple built-in event types that are defined in a tree hierarchy based on pricing configuration and stored in the pricing database. You can define custom subordinate event types (sub events) for an event type.

For example, a service provider offering data services can define new event types based on the VoIP phone app a subscriber uses. Each subordinate event type definition has information about the activity being performed. It can also include data from a parent event type and the Event Detail Record (EDR) generated can contain the parent's data when it is a descendant of the parent EDR. The data recorded for each subordinate event type can vary, depending on its parent event type. For example, a subordinate data event type has different parental information than a subordinate voice event type. When you compile a pricing plan and load it into the pricing database, the custom event type name and ID are saved in the event type object. These values are used to look up the object when a usage message is received.

Each service type that is a leaf node in the service type hierarchy must be associated with exactly one event type. MATRIXX Engine supports several service types out-of-the-box, including voice, data, and messaging. IT personnel can define additional service types and event types as necessary. If a service type has accessory services, each accessory service is handled as a subordinate event type. For example, a voice service might be bundled with two accessory services: call forwarding and conference calling. Each accessory service is translated into a separate event type that is subordinate to the voice event.

The EventTypeArray in the MtxPrimaryEvent MATRIXX Data Container (MDC) defines the event type that was initiated, representing it numerically in the MDC as an array of strings such as 4, 1.2, or 1.3.5. The top-level event types are:
  • ROOT = 0
  • USAGE = 1
  • RECURRING = 2
  • FIRST_USAGE = 3
  • PURCHASE = 4
  • CANCEL = 5
  • BALANCE_ADJUST = 6
  • BALANCE_TOPUP = 7
  • SUSPEND = 9
  • RESUME = 10
  • SESSION_END = 11
  • WRITE_OFF = 12
  • NOTIFICATION_DONE = 13
  • OBJECT_CREATE = 14
  • STATUS_CHANGE = 15
  • USAGE_REFUND = 16
  • OBJECT_DELETE = 18
  • BALANCE_TRANSFER = 19
  • BALANCE_ROLLOVER = 20
  • ROLLOVER_BALANCE_ADJUST = 21
  • SESSION_CONTEXT_END = 22
  • FORFEITURE = 23
  • PAYMENT_AUTHORIZATION = 24
  • PAYMENT_SETTLEMENT = 25
  • AUTO_RENEW = 26
  • PAYMENT = 27
  • POLICY_SESSION_START = 28
  • POLICY_CHANGE = 29
  • RECHARGE = 30
  • TRANSFER_TO_BILLED_AR = 31
  • BILLING_CYCLE_CHANGE = 32
  • PERIOD_TERMINATION = 33
  • SUBSCRIBER_ADD_DEVICE = 34
  • SUBSCRIBER_REMOVE_DEVICE = 35
  • GROUP_ADD_MEMBERSHIP = 36
  • GROUP_REMOVE_MEMBERSHIP = 37
  • REFUND = 38
  • PAYMENT_REFUND = 39
  • PERIOD_WRITE_OFF = 40
  • PURCHASED_ITEM_CYCLE_CHANGE = 41
  • RECHARGE_REQUEST = 42
  • PURCHASED_ITEM_ACTIVATION = 43
  • BALANCE_THRESHOLD = 44
  • PURCHASED_ITEM_TRANSITION_TO_INACTIVE = 45
  • METER_PERIOD_CLOSE = 46
  • CONTRACT_LATE_CHARGE = 47
  • FINANCE_CONTRACT_PRINCIPAL_PAYMENT = 48
  • MISSED_CONTRACT_CHARGE = 49
  • CONTRACT_FINANCE = 50
  • CONTRACT_DEBT_PAYMENT = 51
  • PURCHASED_ITEM_MODIFY = 52
  • COMPONENT_METER_PERIOD_CLOSE = 53
  • SUBSCRIPTION_MODIFY = 54
  • GROUP_MODIFY = 55
  • USER_MODIFY = 56
  • DEVICE_MODIFY = 57
  • SUBSCRIPTION_CREATE = 58
  • GROUP_CREATE = 59
  • DEVICE_CREATE = 60
  • USER_CREATE = 61
  • SUBSCRIPTION_DELETE = 62
  • GROUP_DELETE = 63
  • DEVICE_DELETE = 64
  • USER_DELETE = 65
  • COMPONENT_METER_SUBPERIOD_CLOSE = 66
  • CYCLE_ARREARS_RECURRING = 67
  • DEBT_PAYMENT = 71
  • PURCHASED_ITEM_STATUS_CHANGE = 72
  • FEE_CHARGE = 73
  • EXTERNAL_PAYMENT_REQUEST = 74
  • EXTERNAL_PAYMENT = 75
  • PERIOD_END_TIME_CHANGE = 76
  • SESSION_MONITOR = 77
  • EXTERNAL_PAYMENT_FAILURE = 78
  • PURCHASE_FAILURE = 79
  • PURCHASED_ITEM_ACTIVATION_FAILURE = 80
  • RECURRING_FAILURE = 81
  • USAGE_FAILURE = 82
  • BALANCE_TRANSFER_FAILURE = 83
  • PURCHASE_PACKAGE_MODIFY = 84
  • BALANCE_THRESHOLD_MODIFY = 85
  • POLICY_SESSION_END = 86
  • ROAMING_POLICY_SESSION_START = 87
  • ROAMING_POLICY_CHANGE = 88
  • ROAMING_POLICY_SESSION_END = 89
  • PURCHASED_ITEM_PERIOD_CLOSING = 90
  • PURCHASED_ITEM_CLOSE = 91
  • DYNAMIC_BALANCE_INSTANCE_CREATE = 92
  • RECURRING_RECHARGE_RETRY_FAILURE = 93
  • IMPORT_WAKE = 94