I spent most of my career supporting and operating telecom billing systems. I do not claim to know everything about them, however this article is an attempt to share the know-how I acquired since 1998 in this field. I’m not discussing Billing systems from an academic point of view, I’m just trying to describe how the operations of such huge-mammoth-sized-systems are/or should be operated as per what I have seen from my point of view.
After all before getting yourself into any subject, you should first familiarize yourself with the terminologies of that domain.
An alternative title for this article wold be: The role of a Telecom Billing System.
“The key to proper understand a subject, is to understand its terms.”
Billing systems are a pivotal component in any telecom operator.
what is a “Telecom Operator” you say? ah, ok maybe I should slow down a little bit and try to explain few terminologies first.
Telecom Operator: The telecom companies, the organizations that operate the telecom networks and reap the profits for doing this. They are the ones sending you the invoice and they are the ones you call to complain about the bill or about the service. They are profitable organizations that provide a service to their customers.
Of course you know that any organization should be providing a service or product. Some marketing people even insist that all organizations provide only services, even if it is delivered by selling a product.
Any way; Telecom operators provide the service of communication through their networks. Technically a telecom operator could be handling several networks at the same time or only one.
“Some marketing people even insist that all organizations provide only services, even if it is delivered by selling a product.”
Telecom Network: it is the technology used to organize the communication function. it could be GSM, Pager, Fixed network, DSL, …etc. Anyway all of these are technologies that organize subscribers and their Activities(calls). Modern Telecom networks are composed of entities that manage the network, some are merely databases, others are active entities that interact with subscribers. A networks usually has trunks running IN and OUT of its network and switches; for its subscribers to be able to interact with other networks.A network is usually capable of providing more than one service.
By the way; usually Operators buy licenses from Governments to be able to operate a network. In the case of wireless/mobile operators, they are buying also a wireless frequency.
Subscribers : They are the Telecom operator’s customers (almost.. I’ll explain later). these are the users of Network. They should have some kind of a universal identifier that defines them on the network. This identifier is unique for that subscriber any place in the world. For example GSM networks have an identifier hidden in the SIM card called IMSI. and through the IMSI, the network identifies a subscriber and according to the subscriber’s privileges on the network, he -or she- can make some activities or trigger some events. Then a log of these events is kept later for billing and legal purposes. This IMSI has Country code and operator codes as parts of its designation.
Telecom Service: Now the mixing of the words starts. remember this statement from above “They are profitable organizations that provide a service to their customers” from a marketing perspective this is true , but from technical perspective, Networks provide several services (or features). Take GSM Mobile networks as an example, some of its services :
- Making a call.
- Receiving a call.
- Making International calls.
- Sending an SMS.
- Receiving an SMS.
- Being able to see who is calling me.
- Being able to hide my number while calling others.
- Receiving data by GPRS, 3G, 4G or even XG.
- Data exchange with certain URL’s or hosts.
- …etc (use your imagination)
As you see the term “service” in telecom is very extended and flexible to cover what the network operator and its network can do for you as a customer.
Networks usually have a database entity that holds the universal identifier (IMSI) along with the services allowed to use as a subscriber. For example one telecom operator for some reason decides to block some customers from making calls, sometimes also not all customers are allowed to do international calls. Others can’t send SMS ..etc. All of this is done by manipulating the central subscriber-to-services database.
Network resources: I don’t mean the network nodes or truncks, I mean the SIM-cards, the IMSI’s and phone Numbers (MSISDN).
Rate-Plan: A rate plan is plan of rates and prices. Which decides what the subscriber will pay for (local,long-distance and international) calls, how much he will pay as monthly fee, how much free SMS or Free minuites he gets per month …etc . When you go to the shop to acquire a phone line, you are handed a pamphlet showing you the features and how much you will pay for each feature per plan. This pamphlet is basically the services you are offered and how much you will pay for them as a monthly fee (Subscription Fee) , or when you use it (Usage Fee).
Now I take you into the big world of teleocm billing systems.
Network, Customers and Money:
Assuming you have read this article and got yourself to work in a telecom operator, you have to realize that any profitable organization is about three things:
Service, Customer and Money: From my point of view they are pivotal entities of any operational activity of any profitable organization, why ? because the reality says so.
If you have absorbed my statements properly, then in our context here, you should replace the word Service with Network.
In other words, what I’m trying to say: If you are working inside the triangle of Service,Customer, Money , then you are part of the main stream of the organization, if you are not related to any of theses then your job is susceptible for being outsourced sooner or later ! (don’t count on it).
To make things simple, I will use the below diagram to explain what billing system is and types of operations that takes place inside it.
One of the best techniques of describing something is to tell a story.
Because we IT Gurus like to give things elegant, complicated and even confusing names, we call it Use-Cases, which are actually a scenarios or stories.
So here is a Use-Case for GSM network operator and Post-Paid customer:
Customer :Goes to the shop and buys a SIM card, he gets a Mobile number attached to his SIM and the shop or Customer-care staff activates the subscriber on the network. Customers go on and starts using his phones and SIM cards to initiate and receive calls. The network records all activities and events the subscriber makes in a file and sends that file to the billing center (at this point the network doesn’t know anything about the price of the event). The billing center digests the event records inside the file and tries to identify the owner of each event.
According to the owner and parameters of the event (maybe destination, time and duration of the call), the billing system decides proper pricing of that call or event and then stores the Rated Call Data Record in a database (now the call has a Money label on it) . Later (in the month) a billing process starts , which collects all Calls (or Events) that were inserted in a certain period and starts generating an invoice. Further fees and discounts are calculated and the final invoice is generated in soft format, then printed and sent by post or email to the Customers. … and they live happily ever after. (end of story/use-case)
Of course there are numerous variations and exceptions that could take place with the above scenario, among which:
- The Subscriber wants to change his number.
- He doesn’t want to do international calls.
- The Customer doesn’t pay his invoices on time. (not a happily-ever-after ending)
- The customer changes his address, and so the invoicing address should be changed.
- The customer losses his phone and SIM card or gets stolen and demands a replacement SIM.
- What if one Customer is responsible for paying the invoices of another customer. like corporate employees or family members.
- … etc
One thing you should notice there is a difference between a Customer and Subscriber. A subscriber is from the Network point of view while customer is the actual-real-life person. what is the difference? well … a lot, a customer has an address, invoices are assigned to Customers, a customer has contact information like alternative phone numbers or emails …etc.
While a subscriber should have a SIM card and a mobile number (assuming it is a GSM network).
A customer can have many subscribers associated with him. (a lot of my billing colleagues might argue this, but I’m describing things from my own perspective and experience )
Some billing systems “Customer” are actually described alternatively as “Accounts”.
I hope at this point you agree with me that telecom operator’s business processes are based around these three entities: Customer , Network and Money. Operational applications and programs inside the network operators are there to organize and administrate the processes that takes place between these entities.
I go now and explain more details about each entity.
The telcom network is composed of several entities. Each “Network entity” or “Node” is responsible of performing several functions and can accept and reply to messages from other nodes. (if you are a programmer, each entity is a class and they exchange messages between them).
An example we mentioned earlier is a node that is database for subscriber-services and phone numbers (in GSM it is called HLR or Home Location Register).
Another entity could be AUC (Authentication Centre) : Which is responsible for providing the encryption kyes which secures the call.
This (Nodes/Entities) architecture makes it easier to add more entities to the network, one of the recent nodes is RBT (Ring Back Tone) : Have you ever called someone and which the phone is ringing on his side, you (the caller) hear a song or music instead of the standard boring ring ? This is because the RBT node holds a database of Subscriber numbers and their chosen rings.
And the list goes on …, each operator makes his own choices about which Nodes he adds to the network and which services they provide. the Important thing to know from all of this that any Billing system will mostly need to communicate with some of these nodes and interface with them by sending commands and receiving responses (MML commands).
The Most important network entity is the Switch, which is the one doing all the job for connecting subscribers ,administrating calls and generating logs or Call Data Records (CDR’s) for the events or actions performed by each subscriber. Other network entities can also provide logs or CDRs. But eventually the Billing system collects those CDR’s and processes them.
In the 90′s they used to be called CDR’s, but today, they are called: Event Data Records (EDR’s). which is a more generic concept of what could happen on the network.
In conclusion The relationship between the Billing System and Network is called Mediation, and it performs two functions:
1) Issue commands and process responses regarding subscriber status and administration to the entwork nodes.
2) collect and process EDR’s.
Do I really need to explain what Money is ?
The billing system after collecting the EDR’s -which are usually in an Unrated format (i.e. not priced yet) -starts rating the EDRs. Each EDR is rated according to its type. And each EDR type has a certain set of parameters and values. Think of it as data-structure.
The Billing system Modules responsible for pricing the EDRs is called : “Rating Modules“. Usually the Billing system stores Rated Event Records in a database waiting for the Invoicing Module to run and collect these Rated-EDRs in an Invoice. The Billing process is usually one of most sensitive times in the operation of a Billing System. It is that time of month where everybody doesn’t feel right. Depending on the amount of subscribers an operator has, a number of bill-Runs takes place per month. Also depending on the bill-cycle (how much period in one invoice, usually 1 Month). Because bill-runs are very CPU and resource consuming jobs, there are more than one bill-cycle per month ,but each is responsible for processing a different group of customers. Assuming a bill-cycle is 1 month then the cut-off date would be 1st to the last of the month. maybe the 2nd bill-cyle is between 14th and 13th the following month.
Billing is usually done based on when did the Event (call) was inserted in the Rated-Calls-Database, not when was the call made. The main reason behind this is not miss or double charge a late call that was made on 31st but never made it to the system till the 10th of the following month when it is too late and Invoicing process has already ran at the 4th with a cut-off date of the 1st (understand anything? take a deep breath and read this paragraph again).
If a customer doesn’t pay the invoice on time, the billing system should generate a notice letter (Dunning letter) for the customer and maybe barr him from establishing any calls by manipulating his records in the HLR (The network entity that defines each subscriber and his services).Eventually the Money is collected and the Invoice is tagged as closed.
The below diagram shows how Customer, Network and Money interact together and which processes takes place between them:
Gluing it all together:
In the old days; we had only Customer Care and Billing Systems (CCBS), but today things became more complicated.
CCBS systems are still capable of managing the necessary processes around the main business entities (Customer, Network and Money) but Marketing always wants more. And Telecom networks keeps getting more and more entities inside them which require interfacing Applications with the outside world, and in the last few years, Money keeps getting less and less as competition increases, so more money administration applications are required.
Billing Systems available in the market are still capable to do most of the work, but at a certain point they start loosing focus. So Telecom Operators take away some of the function of Billing systems and delegates them to other systems like CRM and Mediation ..etc. This was all possible with the introduction of Enterprise Application Integration (EAI) Middle-ware architecture, which enables more than one application to handle the same entities synonymously
But for a starting Operator: it is always a good practice to start simple with only a billing system. And then add other complications later.
A typical CCBS system has those main components (assuming GSM Operator):
- Customer Care Interface: usually a GUI application that stores and retrieves customer data in a database: like address, name, demographic data and what type of Subscription or contract the Customer has.
- Database : like any other application, but this one is huge (capable of performing millions of transactions every day)
- Mediation Modules: Parts of the application that communicate with the Network.
- Rating Modules: Modules that convert row data of say a call (destination,time,duration) into money, in other words “rating it”. And performs that in real-time or in batches .
- Billing Module: a process generating the invoice, by collecting the monitory transactions during a certain period, and applying penalties and discounts on them then issuing an invoice.
- A set of Online GUI modules: some of the functions it covers are available below:
- Customer Care GUI
- Resource Administration, like creating phone numbers, purchasing SIM cards and a bit of ERP functionality.
- Reference data entry modules: like what are available titles for a a customer, what languages are available for an invoice.
- Roaming Configuration modules : to administrate handling of Roaming partners (more about this in a separate post).
As I said today’s IT environment in Network operator is so complicated that billing systems are now not able to handle all of these functions at the same time, so some of Customer-Care functionalities are ported out to CRM for example.
Customers. Contracts and Services:
Since we now understand -more or less- what goes on inside the network operator, we can start describing main Database entities inside the IT department.
The word “Billing System” is a type of software, there are many vendors that manufacture various billing systems, each one of them would have his own nomenclature of entities, but it looks -more or less- like this:
Customer —< Contract —–< Services
Contract — RatePlan
Contract — Resource
Account —< Subscription —-< deal —-and maybe also—-< Product
With the advancement of the market and introduction of Prepaid, a need existed to mix prepaid and post-paid services on the same contract. So the following scenario should be possible:
A Subscriber has his phone calls charged as postpaid to his employer, while his data traffic is prepaid and he must buy value cards for it (or the other way around…use your imagination).
This is done by introducing a new entity called: “Billing Profile” (BP) . A BP is the bridge between a rate-plan , a Service , a Contract and Customers. Depending on the billing system you use it you will see this BP entity with different names or bridging different Entities. The important thing to know, is that BP allows having a convergence of rate-plans and payment responsiblities inside the same contract or subscription.
Access, Subscription and Usage fees.
As mentioned earlier; the rate-plan defines fees payed for Access Subscription and Usage for each service.
- Subscription Fee: is what you pay first time.
- Access Fee: Is what is payed monthly.
- Usage Fee: What is payed when the service is actually used ( a mile meter for the service).
Usually Rate-plans are engineered to have inversely proportional relationship between Access and Usage fees. i.e. As the access fee goes higher the usage fee goes lower and vice-versa.
On a Subscription, a rate-plan is assigned to the contract per agreement with the customer and stored in the billing system’s database. Rating and Billing later utilize the information to rate the customer and defines other charges. Configuring one rate-plan takes hours to be able to set up the different types of fees and different parameters for rating a service.
Starting up an Operator:
A mobile operator can’t work without the billing system. usually it takes months to customize and operate a billing system properly. The billing system is just one of the biggest No-Go’s in starting a telecom operator (besides the network of course). It takes thousands of working hours to fully operate the billing system, since there are many details to configure. Most of the time Source Code changes becomes necessary.
At launch time, comes a point where efforts has to be focused on some parts of the process rather than others, just to reach the launch date on time. I was always suggesting to follow the Business process in the model Customer, Network, Money and give the processes between customer and Network priority. Rating and Billing can wait for a couple more months if not reachable now.
At the end I would like to stress that information in this article represents only my view of this big world. And some of my colleagues will argue some of the definitions and terms I use. even some concepts explained might be a little bit outdated. But this is the way I saw it.
I welcome you to comment with your own experience and views as well as your constructive criticism to the article above.
Don’t forget to use the stars below to rate this article.