Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Date:

Author:

Version:

Changes:

Completed

Ext.

Int.

Is in Core

27 October 2011

Rida Riaz

1.0

 

No

x

 

 

31 October 2011

Luca Casarini

1.1

Review

No

x

 

 

31 October 2011

SD

1.1

Checked

Yes

x

 

 

9 May 2014Luca Casarini2.0Reorganized the document, added bundle rating and introduction.Nox  

...

Introduction

CDRatorRator's billing functionality is designed to generate invoice detail lines based on Call Detailed Record (CDR) information received from the network.

Three major steps build up CDRator Rator billing functionality.

StepNameDescription
1LOADINGCDR information is loaded into the database and named as billing records. The loading process applies CDRator’s Rator customer validation logic to the CDR files to e.g. discard duplicate information or files which do not comply with the expected format.
2MEDIATION

Billing records have the same structure of CDRs, but two additional fields are added by CDRatorRator:

  • rating code
  • rating key

Mediation is the logic that determines these two fields from information available in the billing record. Rating code and rating key are human-readable values that have a great impact on the subsequent phases of the billing process.

3.1RATING (standard prices)

The telecommunications market often offers monthly packages which grant a limited amount of traffic (talk time, messages and data) at a fixed monthly fee. Nonetheless, every single minute of talk time, every message and every kbyte of GPRS has a basic or standard price.


The CDRator Rator Solution must allow for the configuration of these basic prices, because they will apply after the amount granted by the monthly package is used completely. The CDRator Rator Price Configuration is where the prices are configured and maintained. The CDRator Rator Campaign and Bundle Framework models the monthly packages and any other exception to the prices determined by the CDRator Rator Price configuration.

The first stage of the rating phase always determines the price of the billing record in terms of basic prices.

3.2RATING (campaigns)After the billing record is rated according to the basic prices, the process searches for exceptions. If a valid campaign/bundle is found, the process continues, and now the campaign/bundle's own logic determines the actual price of the billing record.

If errors occur during the process above, the billing record is moved into an error queue for manual investigation and handling. Therefore, knowledge of the rating and billing process is key for the investigation and resolution of rating errors.

This page document describes the activities in steps 3.1 and 3.2 in the table above, and can be used to trouble shoot rating errors.

 

Warning

Knowledge of CDRator Rator Product Configuration is a prerequisite for understanding of this pagedocument.

 

Rating (Standard Prices)

These are the activities performed after a CDR is loaded into a billing record and mediated.

 

Drawio
diagramNameRatingProcessSteps-StdPrice.drawio
revision1

 

1: Billing Record Information

Several steps of the process will compare information fields of the billing record with that elements of the product configuration. 

...

Field(s)Description
Subscriber's informationAllows identification of the subscriber responsible for the usage. The fields depend on the network specification, but normally one can expect the presence of ICC, IMSI or the A-Number.
Event DateDate and time when the event began.
B-NumberNumber receiving the phone call, message. This applies only to certain types of usage.
DurationDuration of the phone call or the amount of data. This applies only to certain types of usage and some networks may define two separate fields: one for phone calls and one for data sessions.
Event TypeNetwork's defined fields that specify exactly the type of usage, e.g. national call to a fixedline number, premium SMS, roaming call, etc.
Cost PricePrice of the usage as determined by the network.
Rating code, rating keyDetermined by mediation.

 

2: Rate Plan

This step looks for the subscriber and his/her rate plan. The subscriber's info in the billing record is used in tables like:

  • service
  • simcard
  • a_number

Eventually the corresponding subscription record is found and from that the process goes into loads the corresponding billing_group_member record:

Field(s)Description
subscription_idCompared to subscription.id.
from_date, to_dateCompared to the event date on the billing record. The configuration that is valid when the event began is the only one considered.
rate_plan_idThis points to the rate plan that will be used by the following steps.

...

Info
title Product Configuration

The tele rates configuration of a rate plan can be analyzed by selecting the rate plan in the Product Configuration GUI and clicking the Edit button.

This will open the Edit Rate Plan popup. Select the rating code on the table on the left (Tele Rates frame, Service Code column). The associated number plan is displayed on the right (Number Plans frame). The columns From Date and To Date specify whether the link between a rating code and a number plan has restrictions on time.

...

The screenshot below shows the tele rates configuration of the Fixedline rate plan. The rating code NATIONAL CALL is linked to the number plan Mobile National without date restrictions.

Image Removed

4: Execute the B-Number Method

...

Info
titleProduct Configuration

For investigation purposes it is important to know the logic of the B-Number method. Click on the number plan on the Product Configuration GUI and then the Edit button. This will open the Edit Number Plan pop-up GUI where the operator can check the method that is configured for the number plan and read its description.

The most common B-Number Methods methods are getRatingKey and getBNumber, and they . They will return the billing record's rating key and B-Number, respectively.

...

In the screenshot below, the b-number method of the number plan Mobile National is getRatingKey. This means that the billing record's rating key will be used to find the plan element.

Image Removed

5: Find the Plan Element

The rating process finds the plan element via Best Match using the outcome of the B-Number method.

...

The algorithm is explained below.

Drawio
diagramNameBestMatch-Algorithm.drawio
revision1

Dot (".") as Plan Element Name

Not always does the The plan element found by the best match algorithm point is not always the one that points to the charges. The plan elements tree can be used to group several elements under one parent, which points to charges that are valid for all its children.

...

In the example below the charges are defined by the element Group 1. The children of Group 1 do not point to the charges.

Image RemovedImage Added

 

6: Rate Day

The process loads the relevant rate day attached to the plan element. The billing record's event date is compared with the start and end dates configured in the rate day itself.

...

Info
titleProduct Configuration

In the Product Configuration GUI, click on a plan element and the GUI will automatically display the corresponding rate days in the Rate Day frame below the plan elements tree.

 

...

.

Image Removed

7: Day Charge

Day charges are used to specify the charge depending on the day of the week (Monday to Sunday). In most cases, a rate day has one single day charge which includes all the days of the week. The billing record's event date is used again to find the relevant day charge.

...

Info
titleProduct Configuration

Day charges are displayed in the Edit Rate Day pop-up GUI. Select a rate day and click the Edit button on the Rate Day frame.

Example

A rate day charge in which charges are separate between weekdays and weekends is displayed below.

Image RemovedImage Added

If the usage date is on a Monday, Tuesday, Wednesday, Thursday or Friday, the Weekdays-day charge is considered by rating, otherwise the Weekends-day charge is used.

8: Time Charge

...

Info
titleProduct Configuration

Time charges are displayed in the Edit Rate Day pop-up GUI, Time Charge frame once the day charge is selected.

Example

...

.

Image Removed

9: Charges

Each time charge can define the initial charge, the recurrent charge or both of them.

...

  1. The subscriber must be assigned to an active campaign.
  2. The campaign must have one bundle mapped to the very same plan element (or one of its ancestors) used during the standard prices rating.

 

Drawio
diagramNamerating-involving-campaigns.drawio
revision1

 

In that case the bundle's rating logic is involved:

...

  1. After loading and mediation the billing record goes through the rating according to the standard prices.
  2. If a valid campaign is detected, then the bundle's logic is involved. Otherwise the invoice detail line is saved on the database and process is finished.
  3. The bundle will assign temporary rating code and rating key values to the billing record.
  4. The billing record goes through the very same standard rating process it has just left. This time, different rating code and rating key values will make it hit (possibly) a different rate plan, number plan and plan element. This will lead to the creation of a new invoice detail line.

Drawio
diagramNamerestrict-active-rating.drawio
revision1

Warning

Since the billing record essentially passes through the standard rating process at least twice, it is even more important to understand how the standard product configuration and the Restrict Active framework work. Remember that the new set of rating code and rating key are not persistent; therefore it is up to the operator to find out which campaign/bundle was involved and what happened during the on-the-fly mediation.

...