Mobile data charging and how it happens on the network

3G/4G cellular networks adopt usage-based charging. Mobile users are billed based on the traffic volume when accessing data services. Internet data service is increasingly popular today. Most networks have deployed 3G/4G cellular networks. Statistics indicate that 1.2 billion or so are active internet users worldwide.

The growth of Smartphones are further quickening this usage trend. While we access wireless data access, it does not come free. Telecoms bill the user based on the usage data volume.

Metered Charging

This is standard for both 3G/4G charging executed by cellular networks (CN) or per kilo byte basis. Each flow is determined by the source IP, destination IP, source port, destination port, protocol. Whenever data flows initiated on the Phone, the traffic volume is recorded on the Cellular Network (CN) when data transverse the CN to reach the phone/server.

Current cellular networks use Usage Based Charging for the data services. Networks collect the actual usage volume overtime for each user and the charges applied accordingly.

The charging is performed per connection basis. For a mobile handset or user to communicate with the host (the internet), the mobile device generates a service connection to the CN, then the CN connects to the wired internet. When the connection is established, data packets are delivered consequently.

The connection has to traverse gateway like devices (similar to routers in the Internet) in the cellular network core. These gateways then perform accounting operations by recording the data volume of those packets that traverse them, until the connection is completed.

Charging Procedures for a data service flow

charging procedures

In the illustration CN provides wireless access to the mobile device called User Equipment (UE) which we can also call your mobile phone, and exchanges data session provisioning with the Packet-Switched (PS) core networks.

Please note, the major components of the PS core network are the Serving GPRS Support Node (SGSN) and the Gateway GPRS Support Node (GGSN). SGSN handles data packet delivery from and to the UEs within its geographical service area. GGSN acts as a router between the SGSN and the external wired Internet, and ‘hides’ the 3G UMTS infrastructure from the external network. In fact, SGSNs and GGSNs are the aforementioned gateway like devices, recording data usage through them to perform charging functions.

Current cellular networks support both offline and online charging modes. In addition to SGSN and GGSN, three more charging components work to support both modes: the Billing Domain (BD), the Charging Gateway Function (CGF), and the Online Charging System (OCS). In offline charging, data usage is collected during service provisioning in the form of Charging Data Records (CDRs), which are sent to the BD to generate data bills offline. The SGSN and GGSN are responsible for and generating CDRs. The CGF is used to validate CDRs from SGSNs/GGSNs and transfer CDRs to the BD.

In online charging, mobile users have to pre-pay to obtain credits for data services in advance. The OCS authorizes whether or not users have enough credits so that GGSN/SGSN can proceed data services. GGSN/SGSN deducts data usage from the available credits and stops data services upon zero credit.

I will describe how mobile users are charged for data services through an example in the diagram above:

Consider I am about the browse the Manchester United Website (I am a football supporter).

This is called a PS service (HTTP). The diagram illustrates the charging procedures (in the right) during the data service process (in the left), where the external host (EH) which is www.manchesterunited.com.

First, the UE establishes a bearer via Packet Data Protocol (PDP) Context Activation where PDP contexts provide all the required information for IP packet data connections in cellular networks. Upon this activation, the UE is allowed to connect with the external data network through the GGSN. The GGSN triggers the charging procedure and assigns a unique charging ID to the activated PDP context using the charging ID, the SGSN and GGSN.

To put it in a much simpler context, when you start to browse, the GGSN will ask the Charging system (CS) if one should be allowed to continue with the data session. When the subscriber has a bundle or airtime, the charging system will reserve some of that money for the browsing session.

Let’s assume the CS has reserved 10MBs (or AT worth 10MBs), it will then inform the GGSN that you can continue browsing until when you finish the 10MBs that has been reserved. At this point you can browse as many URLs as you want and when you are almost finishing the 10MB reservation, the GGSN again requests for another reservation from CS and also reports back how much you have used of the 10MB so that this is now cut off from your account.

If you still have more data, a new reservation will be made and you will continue browsing. If you don’t have more data, the CS will ask the GGSN to terminate your session.