Extending MATRIXX Engine Functionality

You can easily extend MATRIXX Engine functionality to capture new subscriber-related data and then use the extended fields as a basis for pricing, rating, and policy decisions. You can also add new Diameter AVPs to capture information from the network and base rating and post-rating operations on this data.

To add new data to the MATRIXX Engine, you run the create_config.py script to create a custom MDC based on the one you want to extend, and add fields to that private MDC. A custom MDC can be an extension of an existing MDC —system or private—or one that is not based upon any MDC. An MDC that is based on another MDC inherit that MDC's data definitions. You cannot add fields to the system MDCs.

To add new AVPs to the MATRIXX Engine schema, you must create a custom MDC that extends any of the MDCs that are defined for Diameter packets. The custom MDC is added to the Diameter Dictionary to be used when Diameter messages are sent between Diameter clients and the MATRIXX Engine. You can optionally map the new AVP to a field in the private MDC so the values can be set and operated on. The create_config.py script asks questions about the MDC to create and its fields, and the AVPs to add, if necessary.

Note: If an MDC contains a struct field, a custom MDC based on that field's struct_id can be used instead of the actual struct_id in the MDC.

For example, MtxDiamRoMsg has a struct field named ServiceInfo that has a struct_id of MtxDiamServiceInfoData. If you define a custom MDC named PrivateDiamServiceInfoData using MtxDiamServiceInfoData as its base and add fields to PrivateDiamServiceInfoData, you can configure a selective update on the Diameter Gateway to use PrivateDiamServiceInfoData instead of MtxDiamServiceInfoData.

When configuring the selective update, you must use the custom MDC name when identifying the field. For example, if you add the PrivateDiamServiceInfoData MDC based on MtxDiamServiceInfoData and it includes a field named PrivateFlag, you must enter PrivateDiamServiceInfoData:PrivateFlag for the field_name.

To use a custom MDC in a struct, you must answer the following question during Diameter protocol configuation:Do you want to use a private MDC instead of the diameter_struct_name MDC (y/n)?

If the answer to this question is 'y', and there is only one possible custom MDC, the MDC is used. However, if there is more than one element in the list, you must answer the following additional question: What custom MDC do you want to use instead of the diameter_struct_name MDC?

For information about running the create_config.py script, see the discussion about MDC and MDC field extension configuration.