Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 24 Next »

 

 

Unknown macro: {table-plus}

The following bundles are part of this framework:

  • DurationBundle
  • EventBundle
  • DataBundle
  • ForwardBundle (core 8.5 and later)
  • CounterBundle (core 8.10 and later)

Bundles that are part of this framework have the following properties:

  • A workflow can be specified that checks whether this bundle can actually be used for this particular billing record (useful for restricting bundle use to e.g. community calls).
  • Alert levels can be specified. When the bundle has used a specified percentage of its capacity, then an alert workflow is activated.
  • Temporary change of rating code and rating key (not for the CounterBundle). This can be used to change the plan element that the rating process uses, e.g. for rating at discount prices.
  • A billing record can be rated against more than one bundle. Used if a billing record uses the final units of a bundle, but the whole billing record is not rated yet.
Restricting Bundles to Specific Tasks

From Core 8.7, this functionality is replaced by Bundle Pre-rate Strategies (internal link).

A workflow that limits which billing records this bundle can be used for, can be specified for a bundle. This is done by specifying the workflow's hookpoint key in the bundle's PARAMETERS by setting a parameter called "VALIDATION.HOOK", e.g. "VALIDATION.HOOK=myHookpointKey".

The workflow started has the following properties:

Workflow Attribute

Description

Context objects

"SUBSCRIPTION"
"SUBSCRIPTION_BUNDLE"
"BILLING_RECORD"

Return values

The HookpointResult shall contain the key "CONTINUE" which shall contain the value "Y" if the bundle is to be used.
Otherwise the bundle will be skipped.


If the "VALIDATION.HOOK" is not defined, if the workflow does not exist, or if the returned HookpointResult is null, then the bundle will always be used in the rating.

Alert Levels

from 8.20 onwards the syntax for this will be the same as for normal bundle alerts
This will still be set via bundle parameters for RestrictActive bundles

When a specified percentage of the bundle is used, an alert workflow can be activated. More than one percentage can be defined. This is done by specifying the alert percentages in the bundle's PARAMETERS by setting a parameter called "ALERT_LEVEL". The values of this parameter is a comma separated list of numbers (percentages), e.g. "ALERT_LEVEL=25, 50, 75, 100"

The alert workflow that is started is defined in the bundle's PARAMETERS by setting a parameter called "ALERT_HOOKPOINT" (e.g. "ALERT_HOOKPOINT=myAlertWorkflowHookpointKey"), and it has the following properties:

Workflow Attribute

Description

Context objects

"SUBSCRIPTION"
"SUBSCRIPTION_BUNDLE"
"BORDER" (which is the value of the percentage that triggered the workflow, in the form of java type Long)
"INVOKED_BEFORE_FOR_THIS_CDR" (the type is boolean)

Return values

No return value is needed. Everything that should happen is performed or started by the workflow.


An alert workflow is only started if everything is in place (parameters defined, percentage level passed, etc.). It has no influence on the rating process whether an alert workflow is started (except if the workflow is designed to have an impact).

One single billing record can cross several borders. When this happens, the alert workflow triggers once for each border crossed in the opposite order! For the first workflow activation the context object "INVOKED_BEFORE_FOR_THIS_CDR" is 'false', for all the following it will be 'true', e.g. if ALERT_LEVEL=25, 50, 75, 100 and a single billing record crosses both the 50 and 75 border, the alert workflow will be activated twice - first with BORDER=75 and INVOKED_BEFORE_FOR_THIS_CDR=false, then with BORDER=50 and INVOKED_BEFORE_FOR_THIS_CDR=true.

(Temporary) Change of Rating Code and Rating Key
DataBundle, DurationBundle and EventBundle

In the rating process, when a bundle to be used has been found, then the rating code and rating key of the billing record can be changed (temporarily). If this is done the billing record is rated against other plan elements which can hold e.g. a discounted price.

A bundle can be used fully while rating a billing record. This means that part of the billing record should be rated in one way, while the rest should be rated in another way. Therefore it is possible to define two different temporary values for rating code and rating key: One to be used for the part inside the bundle, and one for the part outside the bundle.

The temporary rating code and rating key values can be defined in two ways: Through setup of parameters in the bundle's PARAMETERS field, or through activation of a workflow. The two methods can be combined, but if a parameter is defined in both ways, then the workflow's value takes precedence.

The bundle's PARAMETER field parameters have the following names:

"IN.RATINGCODE"

e.g. "IN.RATINGCODE=COMMUNITY-VOICE-CALL"

"IN.RATINGKEY"

e.g. "IN.RATINGKEY=COMMUNITY-GOLDEN-BUNDLE"

"OUT.RATINGCODE"

e.g. "OUT.RATINGCODE=COMMUNITY-VOICE-CALL-BUNDLE-FULL"

"OUT.RATINGKEY"

e.g. "OUT.RATINGKEY=COMMUNITY-GOLDEN-BUNDLE-BUNDLE-FULL"

The workflow's hookpoint key is defined in the bundle's PARAMETER field by the parameter "KEY.HOOK", e.g. "KEY.HOOK=myTempRatingValuesHookpointKey". The workflow has the following attributes:

Workflow Attribute

Description

Context objects

"SUBSCRIPTION"
"SUBSCRIPTION_BUNDLE"
"BILLING_RECORD"
"INCODE" (A String with the value of parameter "IN.RATINGCODE")
"INKEY" (A String with the value of parameter "IN.RATINGKEY")
"OUTCODE" (A String with the value of parameter "OUT.RATINGCODE")
"OUTKEY" (A String with the value of parameter "OUT.RATINGKEY")

Return values

The HookpointResult can contain the following keys:
"INCODE" (The key to the new value of inside bundle rating code)
"INKEY" (The key to the newvalue of inside bundle rating key)
"OUTCODE" (The key to the newvalue of outside bundle rating code)
"OUTKEY" (The key to the newvalue of outside bundle rating key)

In core versions < 8.6: Do not set the combination of "inside bundle rating code" and "inside bundle rating key" to the values that the billing record already has, since this will create an indefinite loop!

If neither of the two methods for changing rating code and rating key is used, or if they define the value to be an empty String, then the default values are the following:

Type

Default Value

Inside bundle, rating code

"BUNDLE"

Inside bundle, rating key

The original value

Outside bundle, rating code

The original value

Outside bundle, rating key

The original value

This means that you should ALWAYS define the "inside bundle rating code" for the DataBundle, DurationBundle and EventBundle!  

ForwardBundle

The bundle's PARAMETER field parameters have the following names:

"RATINGCODE"

e.g. "RATINGCODE=MY-NEW-RATINGCODE"

"RATINGKEY"

e.g. "RATINGKEY=MY-NEW-RATINGKEY"

In core versions < 8.6: Do not set the combination of "inside bundle rating code" and "inside bundle rating key" to the values that the billing record already has, since this will create an indefinite loop!

CounterBundle

Changing the rating code and rating key is not supported for the CounterBundle.

Rollover functionality

The RestrictActive framework allows bundles to be configured to allow the use the Core rollover functionality
This functionality requires the following parameters to be set up:

Name

Description

ROLLOVER.PERIOD.ORDER

Defines whether older or newer surplus credit should be used first. Two possible values are possible: NEWER_FIRST and OLDER_FIRST

ROLLOVER.USAGE.MODE

Indicates whether surplus credit should be used before or after the SubscriptionBundles. Again two values are possible: USE_ROLLOVER_BEFORE_BUNDLE, USE_ROLLOVER_AFTER_BUNDLE

ROLLOVER.PERIODS

Amount of previous SubscriptionBundles used in rollover. In other words, the number defines how many times surplus credit can be rolled over

In addition to the parameters, VALUE 3 has to be set up too. It should contain the maximum amount of values, that can be used in the rollover process.

Rating a Billing Record Against more than one Bundle ("Overflow")

The bundles in the RestrictActive framework have an "overflow" function.  This means that if all units of a bundle are used – while a billing record is being rated – the rating will continue against the next bundle in the priority listing.  If no bundle is available, rating is done using the default prices offered in the rate plan.

Example:

Bundle 1 (B1) has 50 free units, and bundle 2 (B2) has 1000 free units. A billing record with a usage of 200 units is to be rated. The billing record can be rated against both of the bundles, but it tries B1 first because B1 has a higher priority than B2.

The result is that 50 units are rated in B1, and 150 units are rated in B2.
In the example above, when the last 150 units are passed on from B1, then the rating code and rating key can be changed for those 150 units. See how to (temporarily) change the "outside bundle rating code" and "outside bundle rating key" elsewhere on this page.

 

 

 

  • No labels