Solution Overview
Azure Real-Time Billing for ISPs
The Azure real-time billing module for Internet Service Providers (ISPs) makes it possible to manage the accounting and session management aspects for both prepaid and post-paid customers in a single solution. Azure is a flexible, real-time accounting system. It is able to rate events, generate accounting records and post the entries to a high capacity General Ledger while maintaining account balances.
The solution provides the functionality necessary to manage prepaid and post-paid billing, rating and session control for ISPs. It is suitable for all environments that use RADIUS for authorisation and that needs to track and control subscribers. The system interfaces to an access network such as ADSL or WiMax using RADIUS and can generate the outputs necessary to produce customer invoices for post-paid customers.
The system includes the ledgers for tracking account balances, all the costing definitions for the transactions and an online web interface used by the ISP's customer care and financial departments.
Overview of Azure
- Chart of Accounts – The Chart Of Accounts (COA) is a list of accounts associated with a specific financial entity. Azure can maintain a COA for each of many different kinds of entities. Companies usually track each of their customers in the Accounts Receivable ledger. Azure is unique in that it is able to associate a separate COA within the main ledger for each customer. This makes it possible to account for millions of subscribers, each with many accounts in the same system.
- Product Definition – Azure allows an ISP to create products and link the products to each of the subscribers. It is possible to specify price components such as sign-up fee, monthly recurring charge, VAT rate and price ranges based on quantities. It is possible to specify tiered pricing such as "The first 10Gb is included in the subscription, thereafter the price is $10 per Gb".
- Transaction Processing Facility – The Transaction Processing Facility (TPF) is the core module for Azure. It provides the ability to calculate specific values based on rules and look-up tables and to generate the accounting entries according to customisable posting rules. Its primary input is the product definition and events generated by the RADIUS server. It calculates the values and then posts the entries into the GL and updates the realtime balances.
- General Ledger and Accounts – The Azure GL contains all the accounts for all the entities tracked and managed by Azure. Each entity is associated with a specific COA. The balance of each account is available in real-time, while archive entries are stored in the database.
Azure for Internet Service Providers
The solution provides prepaid and post-paid account management, rating of charging records, provisioning and a RADIUS interface in a single solution:
It consists of three main components:
- The Azure RADIUS interface and Session Control Function;
- Subscriber database, accounts; and the
- Core transaction processing module.
Subscriber Database
The Azure ISP solution contains a default COA with account definitions for subscriber dial-up accounts and standard ISP level control accounts. Each subscriber has an associated Azure entity with accounts for current balance if the subscriber is post-paid or prepaid. All sessions are authorised against these balances.
Product Definition
The solution includes the ability for the ISP to create flexible products organised in categories. It is possible to define product-costing rules for VAT/GST Tax, Volume Discounts and special price ranges. The product definitions are linked to subscriber classes.
Overview of the Process
The process follows a flow similar to that shown in the following diagram:

The session control function produces time or volume events that feed into the costing function. This in turn is translated into GL entries that are posted to each Subscriber Account. The GL entries affect account balances and follow the standard dual-entry, debit/credit principle.
Real-time Rating and Session Control
The main purpose of the Session Control Function is to convert events relevant to charging into meaningful data. The most relevant example is a user dialling up to gain access to the Internet. The modem session terminates in a device called a Network Access Server (NAS).
The NAS needs to authenticate the user and does this by sending an authentication request using the RADIUS protocol. The RADIUS server translates the request into an Authorisation/Access Request that contains the user's access credentials. Azure interfaces with the RADIUS server to handle the Authorisation request and also to track the session that starts at this point.

The NAS sends periodic accounting information to the RADIUS server and also notifies it when the user disconnects. This information gets forwarded into Azure as input into the session tracking and control function.
Azure's Session Control Function (SCF) operates in either one or a combination of two modes:
- Time based session control
- Volume based session control
Time based session control
Session Timers are controlled by means of three input events:
- Start Session – Indicates when a subscriber started using a service
- End Session – Marks the end of a logical session
- Abort Session – Marks an abnormal end of a logical session.
Azure uses the three events to track the duration of the session and to calculate the cost in real-time. The system authorises funds in real-time and issues a billing-abort instruction to the initiator if the subscriber runs out of funds while the session is in progress.
Volume based session control
This mode is similar to the time-based mode, but with the input being either single or periodic volume or resource use events:
- Start volume-based session
- Periodic volume updated
- End volume-based session
Ledger and Accounts
Azure includes a fully customized general ledger (GL) component. The GL manages the different customer and control accounts. Azure includes the unique ability to associate a different Chart Of Accounts (COA) for each type of entity it controls.
For this purpose the system can generate GL entries for both the operating company (Operator) and for subscriber accounts. This function is usually divided between the standard prepaid IN platform and an ERP.
As an example, the subscriber COA in this solution is structured as follows:
| Account Number | Description |
|---|---|
| 1000 | Main account balance – keeps the current balance of the subscriber. This account must have a credit balance for dial-up to be possible |
| 1010 | Reserve account – the system reserves funds while the session is in process. This account contains the current amount reserved for the subscriber |
| 8000 | Active Session Control Account – this account tracks the number of active sessions that the subscriber has open at a given time. The account is linked to another control account on the ISP entity that accumulates the total number of active sessions controlled by the system. |
| 9000 | Amount used control account – this account contains the value spent by the subscriber |
Azure maintains the balance of these accounts on a subscriber level and uses that as part of the transaction processing cycle.
Functionality
Account Management
The Azure Account Management function performs several functions and allows you to perform functions such as the following:
- Create Entity – This function creates a set of accounts for a specific entity such as a subscriber based on one of the Charts of Account defined in the system. Each account will have a zero balance and a unit as per the corresponding COA entry.
- Query Account – This function will query the details of a specific account associated with an entity. It returns a description, currency and current balance.
- Update Entity – This function allows the updating of entity information such as name, contact details and notes.
Session Control
The Session Control Interface provides the following high-level functions used by the RADIUS interface:
- Authorise/Begin session
- Update Session accounting status
- Close Session
Billing and Accounting
The solution provides the following high-level billing/account functions:
- Perform Month-End – This function triggers any month-end processing such as calculating opening balances and applying recurring charges to accounts. It also results in the output used to generate post-paid invoices.
- Load prepaid value – Allows Azure to receive input from a Voucher Management System and to record recharge of prepaid accounts.
- Record payment – Used to record payments on post-paid accounts.
- Statement of Account – Produces a statement listing all the GL entries for a specific account.
Transaction Processing
The solution includes predefined costing and posting rules for the following ISP transactions:
- Begin Session – Checks a subscriber account for sufficient funds if the account is prepaid and reserves a specified amount on the account.
- Update Session – Updates the account with current session information.
- Close Session – Finalises a transaction in progress.
- Load prepaid value – Recharge a prepaid account with a certain amount.
- Get Balance – Retrieves the account balance of a subscriber.
Management Interface
Azure uses Pattern Matched Technologies's standard CAP2 management console that allows you to control, configure and monitor the entire system using a web browser, in a format that is user-friendly and understandable.
CAP2 is a single management interface to the entire distributed system. All configuration changes can be applied without restarting the system while transactions are active.
Main Features
The CAP interface provides the following functionality through a web browser:
- Manage ISP products and prices
- Provision and maintain subscribers
- Provision subscriber classes
- Monitor open RADIUS sessions
- View subscriber account details and statements
- Record Journal Entries
Reporting
Azure provides management reports at both operational and financial level. The open and modular platform allows for custom reports that are important or specific to an organisation.
All transactions are recorded in the SQL database. It is possible to access associated message traces and file inputs correlated to the original transaction.

