![]() |
BillMax Billing Solutions 877.245.5629 sales@billmax.com |
BillMax supports two different billing paradigms for usage data. The first of these is Metered Billing. "Metered Billing" interprets RADIUS data it is processed by radiusd or radparse when storing the data in the datacall table. Metered Billing is configured using the "Service Definitions" (see the section called “Configuring a Service Definition”). Other than differing billing paradigms, the major difference between Metered Billing and Usage Based Billing is that with Metered Billing, a Service may have the State changed to Suspended State if time usage limits are met or exceeded. This is generally not possible with Usage Based Billing. However, Metered Billing parameters may be combined with Usage Based Billing to implement a suspension of service based on exceeding time usage limits. Metered Billing parameters are described in Configuring a Service Definition.
It is possible to use both "Metered Billing" and Usage Based Billing for a single Service. To do this, RADIUS data is used for "Metered Billing" and some other metric (usually entered using enter_stat) is used for Usage Based Billing.
A Usage Based Billing uses data contained in the stats table. The stats table is designed to store many different types of data. radiusd may insert RADIUS data into the stats table rather than the datacall table.
Generating a bill using a Usage Based Billing involves two steps:
Distilling data stored in the stats table into a single value called a Usage Based Computation Result.
Determining what the bill is based on the Usage Based Computation Result.
The algorithm for distilling the data into a Usage Based Computation Result is configurable as well as the algorithm for determining what the bill is for the resulting Usage Based Computation Result.
Click on the Settings link on the Navigation Bar. Click on the "USAGE BASED PRICING PLANS" button. The "Usage-Based Pricing Plans" page will be displayed. This page lists the current Usage Based Billing and is composed of the following:
| (1) |
Click the " |
| (2) | Click on a link to choose and existing Usage Based Billing plan. |
The "BillMax Usage-Based Pricing Plan Setup" page is displayed.
The first section is the "Pricing Plan Details Section":
| (1) |
The " |
|||
| (2) |
The " |
|||
| (3) |
Click the " |
|||
| (4) | Internally generated number identifying the Usage Based Billing plan. |
|||
| (5) |
|
|||
| (6) | Used for the Percentile computation method. |
|||
| (7) |
Statistics recorded in the stats table may represent a direction measurement by using a Named Samples. An inbound static is denoted by "in='value'". An outbound statistic is denoted by "out='value'". Both directions may be recorded in the stats table using the form in='value',out='value'. Computations may be based based on in values, out values, the larger of the two values, or the sum of the in and out values. Choose Not Applicable when using the Sum computation method.
|
|||
| (8) |
Species whether the usage for a Service with a Usage Based Billing plan can be billed at a lower-priced Tier after having been billed at a higher-priced Tier.
|
|||
| (9) |
The units of measurement captured in the stats table.
|
|||
| (10) |
A description of the type of sample. This links the type of sample specified here with statistics entered in the stats table using enter_stat with the stype parameter set to the value specified here.
|
|||
| (11) |
The number of elapsed days before the applicable statistics are automatically purged from the stats table.
|
|||
| (12) | Usage report for a Service may be mailed to the email address of the Account every reportfreq days. The last previous date a usage report was sent is stored in the bwreportdate field of the service table |
|||
| (13) | Specifies whether or not the International System of Units are used when calculating units from certain data. Presently this option is used only when loading stats data from the datacall table and in datacall reports. |
|||
| (14) | Specifies the usage display precision shown to customers. This option does not effect some values displayed in the staff interface. |
|||
| (15) | Whenever the difference between the current usage cost and the previous usage cost reaches this amount, send the customer an email warning. This option is available only for the MIN, MAX and SUM computation methods. A zero value or a missing email template (usagereport.email) disables this option. |
|||
| (16) | Whenever the usage computed value reaches this value, the customer's service is suspended for over usage for the remainder of the service's usage cycle. This option is available only for the MIN, MAX and SUM computation methods. A zero value disables this option. |
|||
| (17) | Whenever usage costs reaches this value, the customer's service is suspended for over usage for the remainder of the service's usage cycle. This option is available only for the MIN, MAX and SUM computation methods. A zero value disables this option. |
In the next section, specify the type of billing that will be done once a Usage Based Computation Result has been determined:
| (1) |
|
| (2) | Specify a Tier. |
| (3) | The list of Tiers. |
| (4) | Click in the "delete" link to delete a Tier. |
By virtue of configuring a Usage Based Billing plan in a certain way, radiusd will be directed to store RADIUS data in the stats table as well as datacall table. The Usage Based Billing plan may be configured to such that "Time" RADIUS data or "Bytes Transferred" RADIUS data are stored in the stats table, but not both types of RADIUS data.
Steps for storing "Time" RADIUS data in the stats table
Set Direction to "Not Applicable".
Set "Sampling Units" to one of the following:
Sec
Min
Hour
Day
Set "Sample Type" to "TIME".
If suspension of the Service is desired after a certain number of hours is used, consider setting values for the the servdef.ounotice, servdef.oususp, servdef.ouprimenotice, servdef.ouprimesusp fields.
![]() |
Warning |
|---|---|
Setting non-zero values for servdef.hourlyprice, servdef.hourlyprice_peak may cause double billing for the same usage. |
Steps for storing "Bytes Transferred" RADIUS data in the stats table
Set Direction to anything but "Not Applicable".
Set "Sampling Units" to one of the following:
Byte
Kb
Mb
Gb
Set "Sample Type" to "Bytes Transferred".