Diameter Quota Configuration

Pricing administrators set up quota configurations when they define service types for a pricing plan. Each service type definition is a pricing XML configuration file that has all attributes of the service type. A quota can be specified for an entire service type or for each service context of a service type. When a quota is defined for the entire service type, the quota applies to all service contexts that do not have quotas specified for them.

The following information is about standard quota management. For information about Adaptive Quota Management (AQM), see the discussion about Adaptive Quota Management.

You can configure the following attributes for a quota:
  • To always use the configured default amount even if an explicit amount is identified in the request message.
  • To only use the configured amount when no explicit amount identified in the request message.
  • To only return a quota when an explicit request is in the message (the default is not used).
  • To use a quota validity time (QVT).

    The MATRIXX Charging Application determines the QVT value returned in the Diameter CCA message from a combination of configured parameters and the calculated time at which the affected rates or balances would change. Parameters include minimum, default, and maximum validity times configured in balance templates and service contexts. The MATRIXX Charging Application returns the smaller of the calculated value and the configured value for the QVT AVP. The QVT AVP is returned for Multiple-Service-Credit-Control (MSCC) and non-MSCC scenarios.

    If the quantity being authorized is a duration, the validity time is not limited by when rates change. In this case, the MATRIXX Charging Application knows how much usage is before and after the rate change and authorizes it as needed.
    Note: Authorization against a tentative interval in which there were only reservations for usage charges and which are destroyed when the last reservation is released does not extend beyond the end time of that interval. The QVT against a tentative interval is no later than the end time of the interval. For example, if the authorization at time T1 reserves against an existing tentative interval P that ends at time T2, the authorized quota has QVT at T2.

    These quota validity-time values are configured in the service type definition:

    • Minimum Quota Validity Time — The minimum time that the returned quota is valid for the service. This parameter is used when the session starts. A quota less than the minimum quota is granted only to completely use a balance with a credit limit when there is no alternative payment resource. The default value is 1 second.
    • Default Quota Validity Time — The quota to authorize for the service if no other factors influence how the QVT is determined. This parameter is only used when a session is in progress (it is not used after the QHT is met or after a FINAL reporting reason). The default value is 86400 seconds.
    • Maximum Quota Validity Time — The maximum time that the returned quota is valid. The default value is 86400 seconds.
      Important: If you do not define the QVT parameters in the service type, the default values are used. To customize one or more of the QVT parameters, you must define all three parameters in the service type or a price loading validation error (10022) is generated.
  • To use a quota holding time (QHT).

    The QHT specifies the length of inactivity before the client considers usage is complete. The QHT can be greater than or equal to 0 or not set. If the value is set to 0, the corresponding AVP value is set to 0, which translates to no limit. If the value is not set, the Diameter client must use its own default value. The QHT AVP is returned only in MSCC scenarios. The QHT returned in the CCA is the value of the QHT configured for the service context in My MATRIXX. For more information about configuring QHT, see My MATRIXX Help.

  • To use a quota threshold (Time-Quota-Threshold (TQT), Volume-Quota-Threshold (VQT), or Unit-Quota-Threshold (UQT)).

    A quota threshold specifies an amount of time, volume, or service-specific units remaining from the authorized quantity at which point the network sends a reauthorization request for more quota based on the current usage. If the granted quota is already at or under the configured quota threshold amount or if the Final-Unit-Indication (FUI) is set, a quota threshold of 0 is returned to indicate that the client consumes the quota until it is exhausted. This way, an unnecessary reauthorization request is not made. Service providers can use this value to minimize the exposure of allowing a subscriber to continue using data while the reauthorization occurs, which might result in no additional asset being granted. Service providers can also use this value to give better quality of service. For example, if a subscriber is downloading a 5 megabyte file, one megabyte at a time, the quota threshold allows the network to request megabyte 2 before megabyte 1 is consumed completely. If the quota threshold is too low or 0, and megabyte 1 runs out before the reauthorization is complete, the network could stop the download operation instead of letting it continue while megabyte 2 is being authorized (or not).

    The quota threshold can be greater than or equal to 0 or not set. If the value is set to 0, the corresponding AVP value is set to 0. If the value is not set, the Diameter client must use its own default value. When you specify a quota threshold, you also specify its unit of measurement.

    The FUI AVP is sent by the MATRIXX Charging Application in the following circumstances. This corresponds to Diameter result code 4012:
    • The credit limit is reached.
    • Pricing-specific denial codes 100–199 are set.
  • Limit charges to the last authorized quantity.
    Set the limit_charge_to_last_auth_quantity to true to charge for only the amount of usage that was authorized. For example, if 1 MB is authorized, but reported usage is 10 MB, 10 MB is rated, but only 1 MB is charged. If limit_charge_to_last_auth_quantity is false (the default), the reported amount is charged.
    Note: If nothing is authorized, nothing (zero) is rated and charged if an authorization was never attempted (for example, in offline or batch rating) or when authorization fails (for example, due to insufficient credit).

For information about configuring quotas, see the discussion about defining a service type in MATRIXX Pricing and Rating.

The quota threshold AVP is returned for MSCC and non-MSCC scenarios, and the QHT AVP is returned only in the MSCC scenarios. The QHT and quota threshold can be greater than or equal to 0 or not set. If the value is set to 0, the corresponding AVP value is set to 0, which translates to no limit. If the value is not set, the Diameter client must use its own default value. The failure to authorize one MSCC context request for quota does not mean that other contexts, the message containing the MSCC, or the session fails.

If any of the quota attributes are specified for a particular service context, the entire configuration defined for the service type is overridden. The final unit parameters are also overridden as all-or-nothing, but the overriding of final unit parameters is separate from the overriding of quota parameters. In other words, if one value is set for a service context, but not all values, the quota for the service context is used, regardless. It is assumed that if any value is set, all values are set. It is an all-or-nothing configuration. If some attributes do not have values specified, default values are used that might override the explicit settings at the service type level.