Extending Session Objects

Service providers can extend charging and policy session MATRIXX Data Containers (MDCs) to contain additional fields to hold provider-specific information. Fields can be added from the network message to the session to be used as the basis of normalizations during rating and policy calculations. In addition, subscriber data and custom fields in charging session objects can be used in event field maps to map incoming fields to event type MDCs so that the fields are included in the associated Event Detail Record (EDR).

To add private fields to a session object, integrators must use the create_config.py script to add a custom MATRIXX Data Container (MDC) that extends one of the following session objects and add the custom fields to it:
  • MtxChargingSessionExtension
  • MtxPolicySessionExtension

For information about creating custom MDCs and adding fields to them, see the discussion about adding fields to an EDR in MATRIXX Integration.

Define charging session field maps when you create a service type in My MATRIXX. Each session field map maps a source container field to a destination container field and specifies if the first source field value copied to the session is used for the whole session or if the value in the session is replaced with the latest value from the source. If custom fields are mapped, the following charging session behavior applies:
  • Session creation — Custom fields are mapped.
  • Session update — Custom fields are mapped.
  • Session termination — Custom fields are mapped and the session is terminated.
Policy session field maps are defined in Policy Session Mapping in My MATRIXX. If custom fields are mapped, the following policy session behavior applies:
  • Session creation — Custom fields are mapped.
  • Session update — Custom fields are mapped.
  • RAR generation — If a policy session custom field exists, the entire Attr field from the policy session (if the Attr field is set), is copied to the Gx RAR. The custom fields can then be mapped to Diameter AVPs.
  • Session termination — Custom fields are mapped and the session is terminated.

The MtxRequestDeviceQuerySession SubMan API queries active charging and policy sessions to determine if a session exists for a device. The MtxRequestDeviceQuerySession API returns information including the entire custom container in the Attr field from MtxChargingSessionExtension and MtxPolicySessionExtension.

For information about session field mapping, see My MATRIXX Help. For information about normalizers, see the discussion about normalization in My MATRIXX Help.