Overview

Our client is the major European telecommunication operator with more than 25 years of market presence. With the development of telecommunications, services provided by an operator have also changed a lot: fixed-line telephone network, the Internet network and mobile network. Ensuring business processes automation, a telecommunication operator implemented multiple systems to run and manage different business directions. All the software is integrated into a complicated OSS/BSS system. Billing is a part of such systems in Telecom. Billing systems calculate the costs of services provided to end-users and generate invoices to be paid.

A telecom operator faced the need to transform the existing solution because of multiple reasons:
  • some software and hardware of a system ran out of date,
  • maintenance and support costs of obsolete modules raise too high,
  • new business needs and customer demands were not covered with the old functionality,
  • data used throughout the business system is converted to different formats for different software modules, such conversions are more error-prone and take a lot of time and resources,
  • managing and operating several systems for one business process is effort-, time- and resource-consuming.

The task was to replace the obsolete billing solution for fixed-line networks and integrate it with the existing business modules so that a new billing system will cover all the telecommunication services provided by an operator.

people_alt

Assigned experts

  • 4 Architects
  • 18 C/C++ developers
  • 13 QA engineers
  • 5 BAs

people_alt

Assigned experts

  • 2 Architects
  • 5 C/C++ developers
  • 6 QA engeneers
  • 2 BAs

timer

Timespan

  • 24 months of implementation
  • lifetime change management
  • maintenance and support

timer

Timepan

  • 18 months of implementation
  • lifetime change management, maintenance and support

work

Industry field

  • OSS/BSS
  • Telecommunications billing

work

Industry field

  • Telecommunication charging and billing

Solution

Billing in Telecom comprises several processes, interacts with different business operation software and requests data from other business modules.

The implementation and replacement of legacy billing systems were divided into several stages to ensure uninterrupted operational activities.

  1. The legacy billing software and hardware used to calculate fixed net services were replaced. The legacy system ran on IBM AS/400.
  2. To solve the problem of unreadable data and conversion between various formats Product Catalogue was also reorganized.
  3. Manual calculations for some repeated business processes were replaced with automation, such as billing of corporate customers.
  4. In case a Telecom operator needs to process a unique business case manually, an implemented billing system ensures convenient usage of reference data and offers an opportunity to generate an invoice by a template.
  5. A delivered billing system was integrated with systems capturing and rating Internet and mobile services usage.

The built system is scalable and multithreaded. Due to the usage of virtual machines, it could expand almost endlessly. To avoid deadlocks, threads are designed to run independently. As far as calculation flows may significantly differ by the amount of the data to process, we’ve implemented the algorithm of balancing flows for bill cycles. The built billing system runs on 6 streams, which fits a usual operative bill cycle with 300-500 thousand residential accounts. In terms of billing, one of the most resource-consuming operations is downloading reference data for a billing cycle from the database and uploading results back. Multithreaded architecture has also helped to decrease time and resources for these processes, as they are now split into threads. On average, for a standard large bill cycle, each of these processes now takes about 1.5 hours. The calculation process itself is relatively fast and takes about 20 minutes for an average billing cycle. Bill formatting is also a resource-consuming process, as far as the billing system generates large XML files (about 350 GB each).

We offer to refer to the following data for one standard bill cycle processing:

  • Generation creation — 15 minutes
  • Download reference data from a database — 10 minutes per 100 million of records
  • Usage capturing — 6 minutes per 7 million of records
  • Calculation — 10 minutes per 400 thousand of accounts
  • Formatting — 12 minutes per 400 thousand of resulting invoices
  • Upload of the results — 12 minutes.

A linear approach to computing events and processing every event one-by-one slows the speed of operation significantly. Concurrent computation is much more effective. That is why to improve the efficiency of using computing power, the calculation logic for a Telecom rating system is written using parallel / multithreaded algorithms .

To generate an invoice, a billing system performs the following actions:

The legacy billing software

The approach allows upscaling the calculation speed almost linearly (depending on the configuration and composition of the input data). According to the requirements, the expected speed of event processing can be calculated as follows: 80,000,000/10/60/60 = 2,222 CDRs/sec. The calculation means the system must process at least 2,222 events (CDR, Call Detail Records) per second to handle the full scope of events within 10 hours.

To speed up the operation, the event service was divided into three parts:

  • the logic for downloading reference data from the database to local files (ProxyRefresh),
  • the calculation logic that reads events from files (Rating) and
  • the logic for loading billed data into the database (Loading).

When implementing a single-threaded logic and direct work with the database, the calculation speed of this configuration does not exceed 500 CDRs/sec, which is four-times less than required. We have used multisequencing and decreased the number of synchronizations to a minimum. Such an approach to the development allows using the full power of computing resources and minimizing time losses on waiting for the necessary data from other modules. To boost system performance, a modular architecture was used for the implementation of the computation logic. The benefit of a modular architecture is the ability to group computational modules and balance the operational load between these groups to ensure better performance and utilization of computing power.

Technology Stack

  • ANSI C/C++
  • Oracle VM VirtualBox
  • Oracle DB

Achievement

As a result of the development of a billing system, a telecom operator moved several steps ahead on the path to digital transformation. The implemented billing system replaced the legacy hardware and software, congregated billing of all business activities and created common format data for storing and transferring reference data. Besides reducing maintenance costs compared to the legacy systems, the delivered solution provides automation of manual calculations for special business cases, such as Discount Refund, Reseller Billing and Payphone Billing. Due to the creation of invoice templates, general database of reference information and common data format implementation, the system's functionality has been extended with the automation of the billing reversal, corrections, adjustments and re-issuing. The digital transformation also opens the path to possible further changes and growth, as the delivered billing system is multithreaded and scalable.

timeline

Optimization

Integration with other BSS systems (SAP, DWH, Infonova, Amdocs) and billing of the pre-rated events for all business directions: fixed net, Internet, mobile.

trending_up

Growth

The split threads and scheduled processes add flexibility and create the possibility of further reorganization of business processes.

speed

Performance

The multithreaded architecture allows re-running each billing phase or process separately and performing ad hoc or hot billing in case business operational activity requires immediate calculations.

trending_up

Growth

The split threads and scheduled processes add flexibility and create the possibility of further reorganization of business processes.

timeline

Optimization

Integration with other BSS systems (SAP, DWH, Infonova, Amdocs) and billing of the pre-rated events for all business directions: fixed net, Internet, mobile.

speed

Perfomance

The multithreaded architecture allows re-running each billing phase or process separately and performing ad hoc or hot billing in case business operational activity requires immediate calculations.

How System Integration Can Help a Telecom Operator With Business Development? How System Integration Can Help a Telecom Operator With Business Development?

How System Integration Can Help a Telecom Operator With Business Development?

We implemented system integration, delivered software and middleware to connect a billing system with legacy modules and helped a telecom operator expand in a new market.
Read More keyboard_arrow_right
How to Speed Up Rating as a Component of a Telecom Billing System? How to Speed Up Rating as a Component of a Telecom Billing System?

How to Speed Up Rating as a Component of a Telecom Billing System?

Telecom rating speedup as a component of a billing system is a case delivered for a big Telco by using parallel processing and multithreaded algorithms.
Read More keyboard_arrow_right