15 Managing Reservations for Online Sessions

You can configure how Oracle Communications Elastic Charging Engine (ECE) reserves your customers' resources for online sessions.

Topics in this document:

Configuring Reservation Expiration and Validity

In an online session, the network sends the following to ECE:

  • Usage updates: Keeps ECE informed about the balance impact of an event. In response, ECE tells the network if the balance is sufficient to continue the session, or if reauthorization is needed.

  • Reauthorization requests: Requests an extension of the session. In response, ECE determines whether the customer's balance is sufficient and, if so, reauthorizes the call.

ECE determines how many resources to reserve for a usage session and when the usage session expires by using the following information passed in the requests:

  • Reservation duration: This amount is used to calculate the amount of resources to reserve for the usage session. For example, if the duration is 20 minutes and the rate is $2 per minute, ECE reserves $40 for the usage session. At the end of the duration, the client must ask for a reauthorization to extend the usage session.

    You do not want the duration to be too low because it takes network activity to report usage. You also do not want the value to be too high because that increases the risk of revenue leakage if the customer uses up his balance before the reservation expires.

  • Validity time: This specifies how long the reservation is valid. When the validity time ends, the client must send a usage report to ECE. If the network mediation client does not communicate the used service units (USU) within the validity time, ECE considers the reserved balances to be available for subsequent session requests. The available reserved balances are cleaned up by housekeeping processes when the session terminates.

    The validity time is set for each session and is reset whenever an interim request is received for the session. After the validity time for a session expires, any reserved balances are released and become available to other active sessions for the same charge offer.

ECE calculates when the reservation expires by adding together the reservation duration and validity time. For example, if the usage request specifies a reservation duration of 240 seconds and a validity time of 600 seconds, the reservation expires in 840 seconds.

When ECE receives a usage request that does not specify a validity time or reservation duration, ECE uses the default values specified.

To configure the default values for reservation expiration and validity:

  1. Access the ECE configuration MBeans in a JMX editor, such as JConsole. See "Accessing ECE Configuration MBeans".

  2. Expand the ECE Configuration node.

  3. Expand charging.reservationConfig.

  4. Expand Attributes.

  5. Specify the defaults for the following attributes:

    • validityTime (Long data type): Enter the amount of time, in seconds, that a reservation remains valid. The default is one hour.

    • reservationDuration (Long data type): Enter the amount of time, in seconds, that is used to calculate the amount of resources to reserve. The default one hour.

    For detailed information, see ReservationConfigMBean in the BizParamConfigMBean package of Elastic Charging Engine Java API Reference.

Configuring a Minimum Quantity for Reservation

You can configure a minimum reservation quantity for charging events. If the customer does not have enough balance to reserve the minimum quantity of the charging event, ECE tells the network that there is not enough in the balance to fulfill the request.

Note:

Some charging events cannot be charged in fragments. For example, you cannot charge for half of an SMS message. In this case, you would set a minimum quantity reservation of 1 for charging an SMS event.

To configure the minimum quantity for reservation:

  1. Access the ECE configuration MBeans in a JMX editor, such as JConsole. See "Accessing ECE Configuration MBeans".

  2. Expand the ECE Configuration node.

  3. Expand charging.reservationConfig.

  4. Expand Operations.

  5. Select setMinAuthorizedQuota.

  6. Specify values for the following parameters:

    • productType: Enter the name of the product for which you are setting a minimum quantity reservation. Enter the name as it is defined in the ECE request specification data (for example, VOICE or SMS).

    • rum: Enter the name of the attribute defined in the ECE request specification data.

      Note:

      Though the parameter name is rum, its value must be the attribute name specified in the REQUESTED_UNITS block of the request specification data, not the rateable usage metric (RUM) name. For example, if you send attribute INPUT_VOLUME in the usage request, enter INPUT_VOLUME as the rum attribute's value.

    • minAuthorizeQuota: Enter the minimum amount of the specified unit that can be reserved for this product-RUM combination.

    • unit: Enter the unit of measurement for the quota, such as seconds, minutes, events, or megabytes.

  7. Click the setMinAuthorizedQuota button.

Configuring Reservation Quota for Services

When ECE receives a usage request that does not specify a requested amount, ECE uses a default usage amount. You configure a systemwide initial quota and a systemwide incremental quota for each combination of service and RUM. When initiating a call, ECE applies the initial quota for the reservation. For update requests, ECE applies the incremental quota for the reservation.

To configure the reservation quota for services:

  1. Access the ECE configuration MBeans in a JMX editor, such as JConsole. See "Accessing ECE Configuration MBeans".

  2. Expand the ECE Configuration node.

  3. Expand charging.reservationConfig.

  4. Expand Operations.

  5. For each service that you offer, do the following:

    1. Select setDefaultReservationQuota.

    2. Specify values for the following parameters:

      productType: Enter the name of the product defined in the ECE request specification data (for example, VOICE or SMS).

      rum: Enter the name of the attribute defined in the ECE request specification data.

      Note:

      Though the parameter name is rum, its value must be the attribute name specified in the REQUESTED_UNITS block of the request specification data, not the RUM name. For example, if you send attribute INPUT_VOLUME in the usage request, enter INPUT_VOLUME as the rum attribute's value.

      initialQuota: Enter the initial quota for this service-RUM combination. The value must be decimal-compliant (Java BigDecimal). ECE uses this value to populate the REQUESTED_UNITS blocks of all Initiate-type usage requests whose Requested-Service-Units AVP value is missing.

      incrementalQuota: Enter the incremental quota for this service-RUM combination. The value must be decimal-compliant (Java BigDecimal). ECE uses this value to populate the REQUESTED_UNITS blocks of all Update-type usage requests whose Requested-Service-Units AVP value is missing.

      unit: Enter the unit of measurement for the quota, such as seconds, minutes, events, or megabytes.

    3. Click the setDefaultReservationQuota button.

Managing Dynamic Quotas for Online Sessions

Dynamic quota allows you to allocate the available quota dynamically for each parallel session of a subscriber based on the rules you configure in Pricing Design Center (PDC). For configuring dynamic quota selectors, see "Configuring Dynamic Quota" in PDC Creating Product Offerings.

When ECE receives the usage requests from the network in which the requested service unit (RSU) is not set, it evaluates and applies the rules from the dynamic quota selectors on the usage request to derive the quota to be allocated and the quota attributes, such as:

  • Quota holding time. Specifies how long a granted quota can be idle before the reservation is released.

  • Volume quota threshold. Specifies how much of the granted quota must be consumed before a subscriber can request additional quota. This attribute is configured per service, event, and number of granted units.

  • Validity time. Specifies whether validity time can be set to a fixed value per service-event combination at runtime. This attribute is independent of the number of units in the granted quota.

If dynamic quota selector rules are not configured for a service-event combination, ECE uses the default quota configuration for deriving the quota and the quota attributes. ECE returns the derived quota (as granted service unit (GSU)), quota holding time, and volume quota threshold values in the usage response to the network.

You can also customize the dynamic quota allocation to suit your business requirements. For more information, see "Sample Extensions".

Triggering RAR Notifications for Ongoing Sessions

When you use dynamic quotas for long running sessions to reduce network signaling, you can trigger server-initiated reauthorization requests to get the exact reservation balance before performing other business operations.

To generate server-initiated reauthorization requests, you must generate RAR notifications. To generate these notifications, you can implement custom logic by using the following ECE extensions in the rating/charging flow:

  • Pre-rating extension

  • Post-rating extension

  • Post-charging extension

For more information, see "Rating/Charging Extension - Triggering RAR Notifications".