Associating a Meter with a Service
Meters can be associated with a specific service type or with all service types. When a meter is associated with a specific service type, it applies to all sub-level services that exist in the same service hierarchy.
To limit a meter to a specific service type, you specify the service type in the meter template. For example, a product offer might have a session meter that tracks the number of dollars spent within a data session and applies a different rate when the dollar amount spent exceeds a threshold. As another example, a session meter can be used to define a maximum currency charge for a voice call. This requirement can be met by defining a session meter that tracks the charges to a currency balance and a balance range normalizer based on the session meter. The rate table in the charge uses this normalizer to apply a rating formula with a positive coefficient when the session meter is below the normalizer range boundary, and a rating formula with a zero coefficient when the session meter is at or above the range boundary. A session usage meter can also be used to normalize on filtered usage, for example, to charge based on the portion of a call that occurs during peak hours.
For meters limited to a specific service type, only that service type definition should specify the meter.
For session meters, the service type lists the session meter template IDs to be created when a session is created. During rating, the actual session meter is created when a service contract within the session is created. The context is created the first time there is an authorization request or usage reported for the service context (rating group). The service type definition can also specify different session meters to be created for each service context within the session. Separate session meter instances are maintained for each context, so when two different contexts create the same type of session meter, a separate instance is created for each one. If a service context within a session ends before the session ends (by sending a CCR FINAL message), the session meters for that context are reset. Therefore, if a new service context of the same type is subsequently created within the session, the session meters will start with the value zero. Session meters are only reset when a Diameter CC message is received with the reporting reason FINAL.
If a session meter is configured to track the total call duration (usage meter) or cost (charge meter), and Context End Notification is enabled on the selected service type context on the session meter, an MtxSessionContextEndNotification and an MtxSessionContextEndEvent are generated when the session closes, and the SessionMeterDataList field includes the amounts for the session meters impacted by the session’s service context. For more information about SessionMeterDataList, see the discussion about MtxSessionContextEndNotification and MtxSessionContextEndEvent in MATRIXX Integration.
For information about defining service types and meter templates, see the discussion about service types.