3 Configuring BRM to Create Rerate Jobs Automatically

Learn how to configure Oracle Communications Billing and Revenue Management (BRM) to automatically create rerate jobs when specified events occur in the system, such as events being backdated.

Topics in this document:

About Creating Rerate Jobs Automatically

You can configure BRM to automatically create rerate jobs when specified events occur in your system. These rerate jobs are processed the next time you run the pin_rerate utility. If you create rerating jobs automatically, you should run the pin_rerate utility from a cron job.

To configure BRM to create rerate jobs automatically:

  1. Configure BRM to automatically create rerate jobs for backdated events. See "Creating Rerate Jobs for Backdated Events".

  2. Configure BRM to automatically create rerate jobs when cycle forward and cycle forward arrears charges change. See "Creating Rerate Jobs for Cycle Forward and Cycle Forward Arrears Charges".

  3. Configure BRM to automatically create rerate jobs for rollover corrections. See "Creating Rerate Jobs for Rollover Corrections".

  4. Configure BRM to automatically create rerate jobs when products with noncurrency resources are canceled. See "Enabling Rerating for Canceled Noncurrency Resources".

  5. Configure BRM to automatically create rerate jobs for midsession-rating changes. See "Creating Rerate Jobs for Midsession Rating Changes".

  6. Configure BRM to trigger notification events for automatic rerating. See "Configuring Event Notification for Automatic Rerate Job Creation".

  7. (Optional) Customize BRM to assign reason codes to each automatically created rerate job. See "Assigning Reason Codes During Automatic Job Creation".

  8. (Optional) Configure BRM to rerate backdated events older than the allowable date. See "Allowing Rerating of Old Events".

  9. (Optional) Customize BRM to automatically create rerate jobs for custom events, such as when a charge offer is canceled. To do so, customize the PCM_OP_SUBSCRIPTION_POL_GENERATE_RERATE_REQUEST policy opcode. See "Customizing Automatic Creation of Rerate Jobs" in BRM Opcode Guide.

  10. (Optional) Allow BRM to rerate events that are older than the defined number of billing cycles. See "Allowing Rerating of Old Events"

Creating Rerate Jobs for Backdated Events

You can configure BRM to automatically create rerate jobs when you backdate the following events:

  • The purchase or cancellation of a charge offer, discount offer, or bundle.

  • An extended rating attribute (ERA) modification.

    For example, subscribers change their service-level agreement from Silver to Gold on July 12. The CSR backdates the change to July 1 to let subscribers apply the Gold-level benefits to all usage for July. BRM rerates all relevant events for those accounts that occurred between July 1 and the current time.

  • An adjustment to a noncurrency balance.

    For example, a subscriber's billing day is the first day of the month. On February 15, the balance of free minutes is adjusted from 100 to 500, and the adjustment is backdated to January 15. BRM rerates all relevant events from the account that occurred between January and the current time. Billing events that previously occurred on February 1, such as billing-time discounts, rollovers, and folds, are recalculated based on the backdated amount of minutes.

To configure BRM to automatically create rerate jobs for backdated events:

  1. Go to BRM_home/sys/data/config.

  2. Use the following command to create an editable XML file from the subscription instance of the /config/business_params object:

    pin_bus_params -r BusParamsSubscription bus_params_subscription.xml

    This command creates an XML file named bus_params_subscription.xml.out in your current directory. If you do not want this file in your current directory, specify the path as part of the file name.

  3. In bus_params_subscription.xml.out, set BackdateTriggerAutoRerate to enabled:

    <BackdateTriggerAutoRerate>enabled</BackdateTriggerAutoRerate>

    Caution:

    BRM uses the XML in this file to overwrite the existing instance of the /config/business_params object. If you delete or modify any other parameters in the file, these changes affect the associated aspects of the BRM configuration.

  4. In bus_params_subscription.xml.out, set BackdateWindow to the minimum number of seconds an event must be backdated to trigger rerating:

    <BackdateWindow>value</BackdateWindow>

    The default value is 3600.

  5. In bus_params_subscription.xml.out, set NumBillingCycles to the maximum number of billing cycles allowed between the current time and the backdated event date for rerating events:

    <NumBillingCycles>value</NumBillingCycles>

    The default value is 1.

  6. Save and exit the file.

  7. Rename the bus_params_subscription.xml.out file to bus_params_subscription.xml.

  8. Use the following command to load your changes into the /config/business_params object:

    pin_bus_params bus_params_subscription.xml

    You should run this command from the BRM_home/sys/data/config directory, which includes support files used by the utility. To run it from a different directory, see "pin_bus_params" in BRM Developer's Guide.

  9. Read the object with the testnap utility or the Object Browser to verify that all fields are correct.

    For general instructions on using testnap, see "Using the testnap Utility to Test BRM" in BRM Developer's Guide. For information on how to use Object Browser, see "Reading Objects" in BRM Developer's Guide.

The new values are available immediately.

Creating Rerate Jobs for Cycle Forward and Cycle Forward Arrears Charges

Important:

Rerating recurring events can affect performance.

To enable BRM to automatically create rerate jobs to rerate cycle forward and cycle forward arrears events after they are charged:

  1. Go to BRM_home/sys/data/config.

  2. Use the following command to create an editable XML file from the subscription instance of the /config/business_params object:

    pin_bus_params -r BusParamsSubscription bus_params_subscription.xml

    This command creates an XML file named bus_params_subscription.xml.out in your current directory. If you do not want this file in your current directory, specify the path as part of the file name.

  3. In bus_params_subscription.xml.out, set RateChange to enabled:

    <RateChange>enabled</RateChange>

    The default value is disabled.

    Caution:

    BRM uses the XML in this file to overwrite the existing instance of the /config/business_params object. If you delete or modify any other parameters in the file, these changes affect the associated aspects of the BRM configuration.

  4. Save and exit the file.

  5. Rename the bus_params_subscription.xml.out file to bus_params_subscription.xml.

  6. Use the following command to load your changes into the /config/business_params object:

    pin_bus_params bus_params_subscription.xml

    You should run this command from the BRM_home/sys/data/config directory, which includes support files used by the utility. To run it from a different directory, see "pin_bus_params" in BRM Developer's Guide.

  7. Save and exit the file.

  8. Rename the bus_params_subscription.xml.out file to bus_params_subscription.xml.

  9. Use the following command to load your changes into the /config/business_params object:

    pin_bus_params bus_params_subscription.xml

    You should run this command from the BRM_home/sys/data/config directory, which includes support files used by the utility. To run it from a different directory, see "pin_bus_params" in BRM Developer's Guide.

  10. Read the object with the testnap utility or the Object Browser to verify that all fields are correct.

    For general instructions on using testnap, see "Using the testnap Utility to Test BRM" in BRM Developer's Guide. For information on how to use Object Browser, see "Reading Objects" in BRM Developer's Guide.

  11. Stop and restart the Connection Manager (CM).

    For more information, see "Starting and Stopping the BRM System" in BRM System Administrator's Guide.

Note:

You must also configure BRM to generate notification events when rerate cycle forward and cycle forward arrears charges occur. See "Configuring Event Notification for Automatic Rerate Job Creation".

Creating Rerate Jobs for Rollover Corrections

If a delayed event arrives after the end of the accounting cycle and during the delayed billing period, rerating can allow it to consume the rollover of its proper cycle even when the rollover had been consumed by events for the current cycle. You can configure BRM to automatically create rerate jobs when rollover corrections occur.

If rerating and rollover correction are both enabled and delayed events arrive, the current cycle events are rerated and the rollover is reallocated so that it comes from the appropriate cycles.

There are two business parameters that can be used to configure this processing. RerateDuringBilling is used to trigger rerating at the next billing date to ensure that customers are not charged more as a result of delayed CDRs. RolloverCorrectionDuringBilling can be used in conjunction with RerateDuringBilling to ensure that delayed CDRs consume the correct resources. (RolloverCorrectionDuringBilling has no effect unless RerateDuringBilling is enabled.)

The following examples display how these parameters affect resource consumption and billing.

Situation (all cases):

  • The subscriber has 1000 free minutes per month, with rollover.

  • A delay period of 5 days is enabled.

  • No rollover minutes or delayed CDRs exist from May.

  • CDRs for 700 minutes from June are received by the end of June.

  • June 30/July 1 (midnight): 300 minutes roll over from June and 1000 new minutes are granted for July.

  • July 2: CDRs for 500 minutes from July are received, which consume the 300 June rollover minutes and 200 of the July grant minutes.

  • July 3: CDRs for 400 minutes from June are received, for a total of 1100 minutes used in June.

  • No further minutes are used in July.

Case 1: Both RerateDuringBilling and RolloverCorrectionDuringBilling are disabled:

On July 2, the 500 minutes used in July consume the 300 June rollover minutes and 200 minutes from the July grant. On July 3, the CDRs for the additional 400 minutes for June are received, but the rollover minutes for June have already been consumed, and minutes used in June cannot consume minutes from the July grant, so the customer is billed for all 400 minutes.

  • Customer billed minutes for June: 400

  • June grant minutes consumed: 700

  • June rollover minutes consumed: 300

  • July grant minutes consumed: 200

  • July minutes rolled over on July 31/August 1: 800

Case 2: RerateDuringBilling is enabled and RolloverCorrectionDuringBilling is disabled:

On July 2, the 500 minutes used in July consume the 300 June rollover minutes and 200 minutes from the July grant. On July 3, the CDRs for the additional 400 minutes for June are received. When the next bill is run, rerating is run. The consumption of the 300 June rollover minutes by the July CDRs is rolled back, and the CDRs for the delayed June minutes consume the June rollover minutes. The customer is billed for the remaining 100 minutes used in June. The 500 minutes from July consume a total of 500 minutes of the July grant.

  • Customer billed minutes for June: 100

  • June grant minutes consumed: 700

  • June rollover minutes consumed: 300

  • July grant minutes consumed: 500

  • July minutes rolled over on July 31/August 1: 500

Case 3: Both RerateDuringBilling and RolloverCorrectionDuringBilling are enabled:

On July 2, the 500 minutes used in July consume the 300 June rollover minutes and 200 minutes from the July grant. On July 3, the CDRs for the additional 400 minutes for June are received. When the next bill is run, rerating is run. The consumption of the 300 June rollover minutes by the July CDRs is rolled back. The rollover of the 300 minutes from June is also rolled back and they are returned to the original June grant. The CDRs for 300 of the delayed June minutes consume those minutes as part of the original June grant. The customer is billed for the remaining 100 minutes used in June. The 500 minutes from July consume a total of 500 minutes of the July grant.

  • Customer billed minutes for June: 100

  • June grant minutes consumed: 1000

  • June rollover minutes consumed: 0 (rollover is reversed)

  • July grant minutes consumed: 500

  • July minutes rolled over on July 31/August 1: 500

To create rerate jobs for rollover corrections:

  1. Go to BRM_home/sys/data/config.

  2. Use the following command to create an editable XML file from the billing instance of the /config/business_params object:

    pin_bus_params -r BusParamsBilling bus_params_billing.xml

    This command creates an XML file named bus_params_billing.xml.out in your current directory. If you do not want this file in your current directory, specify the path as part of the file name.

  3. In bus_params_billing.xml.out, set RerateDuringBilling to enabled:

    <RerateDuringBilling>enabled</RerateDuringBilling>

    Caution:

    BRM uses the XML in this file to overwrite the existing instance of the /config/business_params object. If you delete or modify any other parameters in the file, these changes affect the associated aspects of the BRM configuration.

  4. (Optional) In bus_params_billing.xml.out, set RolloverCorrectionDuringBilling to enabled:

    <RolloverCorrectionDuringBilling>enabled</RolloverCorrectionDuringBilling>
  5. Save and exit the file.

  6. Rename the bus_params_billing.xml.out file to bus_params_billing.xml.

  7. Use the following command to load your changes into the /config/business_params object:

    pin_bus_params bus_params_billing.xml

    You should run this command from the BRM_home/sys/data/config directory, which includes support files used by the utility. To run it from a different directory, see "pin_bus_params" in BRM Developer's Guide.

  8. Read the object with the testnap utility or the Object Browser to verify that all fields are correct.

    For general instructions on using testnap, see "Using the testnap Utility to Test BRM" in BRM Developer's Guide. For information on how to use Object Browser, see "Reading Objects" in BRM Developer's Guide.

  9. Stop and restart the CM.

    For more information, see "Starting and Stopping the BRM System" in BRM System Administrator's Guide.

Note:

You must also configure BRM to generate notification events when rollover corrections occur. See "Configuring Event Notification for Automatic Rerate Job Creation".

Enabling Rerating for Canceled Noncurrency Resources

To enable the automatic creation of rerate jobs when a product with noncurrency resources is canceled:

  1. Go to BRM_home/sys/data/config.

  2. Use the following command to create an editable XML file from the subscription instance of the /config/business_params object:

    pin_bus_params -r BusParamsSubscription bus_params_subscription.xml

    This command creates an XML file named bus_params_subscription.xml.out in your current directory. If you do not want this file in your current directory, specify the path as part of the file name.

  3. In bus_params_subscription.xml.out, set the CreateRerateJobDuringCancel parameter to enabled:

    <CreateRerateJobDuringCancel>enabled</CreateRerateJobDuringCancel>

    Caution:

    BRM uses the XML in this file to overwrite the existing instance of the /config/business_params object. If you delete or modify any other parameters in the file, these changes affect the associated aspects of the BRM configuration.

  4. Save and exit the file.

  5. Rename the bus_params_subscription.xml.out file to bus_params_subscription.xml.

  6. Use the following command to load your changes into the /config/business_params object:

    pin_bus_params bus_params_subscription.xml

    You should run this command from the BRM_home/sys/data/config directory, which includes support files used by the utility. To run it from a different directory, see "pin_bus_params" in BRM Developer's Guide.

  7. Read the object with the testnap utility or the Object Browser to verify that all fields are correct.

    For general instructions on using testnap, see "Using the testnap Utility to Test BRM" in BRM Developer's Guide. For information on how to use Object Browser, see "Reading Objects" in BRM Developer's Guide.

  8. Stop and restart the CM.

    For more information, see "Starting and Stopping the BRM System" in BRM System Administrator's Guide.

Creating Rerate Jobs for Midsession Rating Changes

You can configure rerating to account for midsession changes in the rating conditions. For example, a subscriber might initiate a Friends and Family discount during a call, which changes the pricing midsession. When the call is rerated:

  • If you enable this option, rerating uses the original pricing from the call's start time until the called number is added to the Friends and Family list, and then uses the discounted pricing for the remaining session.

  • If you do not enable this option, rerating uses the discounted pricing for the entire call.

To create rerate jobs for midsession rating changes:

  1. Go to BRM_home/sys/data/config.

  2. Use the following command to create an editable XML file from the rerating instance of the /config/business_params object:

    pin_bus_params -r BusParamsRerate bus_params_rerate.xml

    This command creates an XML file named bus_params_rerate.xml.out in your current directory. If you do not want this file in your current directory, specify the path as part of the file name.

  3. In bus_params_rerate.xml.out, set the OfferEligibilitySelectionMode parameter to timeperiod:

    <OfferEligibilitySelectionMode>timeperiod</OfferEligibilitySelectionMode>

    The default value is endtime.

    Caution:

    BRM uses the XML in this file to overwrite the existing instance of the /config/business_params object. If you delete or modify any other parameters in the file, these changes affect the associated aspects of the BRM configuration.

  4. Save and exit the file.

  5. Rename the bus_params_rerate.xml.out file to bus_params_rerate.xml.

  6. Use the following command to load your changes into the /config/business_params object:

    pin_bus_params bus_params_rerate.xml

    You should run this command from the BRM_home/sys/data/config directory, which includes support files used by the utility. To run it from a different directory, see "pin_bus_params" in BRM Developer's Guide.

  7. Read the object with the testnap utility or the Object Browser to verify that all fields are correct.

    For general instructions on using testnap, see "Using the testnap Utility to Test BRM" in BRM Developer's Guide. For information on how to use Object Browser, see "Reading Objects" in BRM Developer's Guide.

  8. Stop and restart the CM.

    For more information, see "Starting and Stopping the BRM System" in BRM System Administrator's Guide.

Note:

You must also configure BRM to generate notification events when midsession-rating changes occur. See "Configuring Event Notification for Automatic Rerate Job Creation".

Configuring Event Notification for Automatic Rerate Job Creation

To configure notification events for automatic rerating:

  1. Open the BRM_home/sys/data/config/pin_notify file in a text editor.

  2. Ensure that the default automatic rerate job creation entries are included:

    3787 0 /event/notification/auto_rerate
    3787 0 /event/notification/rate_change
    3787 0 /event/notification/rollover_correction/rerate
  3. To trigger notification events for first usage events, add the following lines:

    9071 0 /event/billing/product/fee/cycle/cycle_arrear
    9071 0 /event/billing/product/fee/cycle/cycle_forward_annual
    9071 0 /event/billing/product/fee/cycle/cycle_forward_arrear
    9071 0 /event/billing/product/fee/cycle/cycle_forward_bimonthly
    9071 0 /event/billing/product/fee/cycle/cycle_forward_monthly
    9071 0 /event/billing/product/fee/cycle/cycle_forward_quarterly
    9071 0 /event/billing/product/fee/cycle/cycle_forward_semiannual
    3787 0 /event/notification/rollover_correction/rerate
  4. To trigger notification events when a charge changes midcycle, add the following lines:

    3768 0 /event/audit/price/product_update
    3768 0 /event/audit/price/product_complete
  5. To trigger notification events when a rollover event is corrected, add the following lines:

    3787 0 /event/notification/rollover_correction/rerate
  6. Save and close the file.

  7. Run the load_pin_notify utility.

    See "Loading the Event Notification List" in BRM Developer's Guide.

Assigning Reason Codes During Automatic Job Creation

You can configure BRM to assign reason codes to jobs during the automatic rerate job creation process. To do so, you customize the PCM_OP_SUBSCRIPTION_POL_GENERATE_RERATE_REQUEST opcode to automatically assign a custom reason code to each job. By default, the opcode only returns the input as output. For more information, see "Specifying a Rerate Reason Code" in BRM Opcode Guide.

Assigning reason codes to rerate jobs allows you to control the order in which jobs are processed. See "Specifying the Order to Process Rerate Jobs" for more information.

Allowing Rerating of Old Events

When you configure automatic rerate job creation, you use the NumBillingCycles business parameter to limit the backdated events that can be rerated to a specified number of billing cycles in the past. This setting also applies to manually rerating events. To manually rerate backdated events older than the allowable date, you enable the AllowBackdateNoRerate business parameter.

To enable rerating older events when they are backdated:

  • Automatic rerate job creation must be enabled. See "Creating Rerate Jobs for Backdated Events" for instructions.

  • Enable the AllowBackdateNoRerate business parameter according to the instructions below.

  • After this option is enabled, run the pin_rerate utility manually, including the selection criteria necessary to rerate the events.

To enable rerating of old events:

  1. Go to BRM_home/sys/data/config.

  2. Use the following command to create an editable XML file from the subscription instance of the /config/business_params object:

    pin_bus_params -r BusParamsSubscription bus_params_subscription.xml

    This command creates an XML file named bus_params_subscription.xml.out in your current directory. If you do not want this file in your current directory, specify the path as part of the file name.

  3. In bus_params_subscription.xml.out, set the AllowBackdateNoRerate parameter to enabled:

    <AllowBackdateNoRerate>enabled</AllowBackdateNoRerate>

    Caution:

    BRM uses the XML in this file to overwrite the existing instance of the /config/business_params object. If you delete or modify any other parameters in the file, these changes affect the associated aspects of the BRM configuration.

  4. Save and exit the file.

  5. Rename the bus_params_subscription.xml.out file to bus_params_subscription.xml.

  6. Use the following command to load your changes into the /config/business_params object:

    pin_bus_params bus_params_subscription.xml

    You should run this command from the BRM_home/sys/data/config directory, which includes support files used by the utility. To run it from a different directory, see "pin_bus_params" in BRM Developer's Guide.

  7. Read the object with the testnap utility or the Object Browser to verify that all fields are correct.

    For general instructions on using testnap, see "Using the testnap Utility to Test BRM" in BRM Developer's Guide. For information on how to use Object Browser, see "Reading Objects" in BRM Developer's Guide.

  8. Stop and restart the CM.

    For more information, see "Starting and Stopping the BRM System" in BRM System Administrator's Guide.