General Packet Radio Service (GPRS)

General Packet Radio Service (GPRS) is a packet-switching wireless data technology available to GSM subscribers. Second generation cellular systems in combination with GPRS are sometimes referred to as "2.5G", because they fall somewhere between second generation (2G) and third generation (3G) cellular systems in terms of the services they can offer. GSM devices (e.g. mobile phones or PDAs) use a technology called Circuit Switched Data (CSD) for data transfer that requires the GSM device to establish a connection to the data network before data can be sent or received. Connection times can be anything up to thirty seconds, and data transfer is generally slow (typically 14 kbps). GPRS extends the capabilities of 2G networks, enabling "always on" Internet access and making a range of IP-based services available. Connection setup is no longer required, and typical data rates range from 32 kbps to 48 kbps. The GPRS standards were originally developed by the European Telecommunications Standards Institute (ETSI), but are now maintained by the 3rd Generation Partnership Project (3GPP).

GPRS devices generally fall into one of three categories. Class A devices can be connected to both GPRS and GSM services simultaneously. Class B devices can be connected to both GPRS and GSM services, but not at the same time. GPRS service is suspended during GSM operations involving mobile telephony or SMS services, but is resumed automatically once a call has been terminated (or message transmission has ended). Class C devices can also be connected to GPRS or GSM services, but switching between the two services must be carried out manually by the user.

GPRS network architecture

In essence, the GPRS network can be seen as an evolution of the existing GSM network that can carry both circuit-switched and packet-switched data. GPRS and GSM can function happily together on the same network, using the same base station hardware, and sharing the same carrier frequencies. The most notable additions to GSM’s basic architecture are the Serving GPRS Support Node (SGSN) and the Gateway GPRS Support Node (GGSN). The base station subsystem (BSS) also has an additional element - the Packet Control Unit (PCU). The base transceiver station (BTS) also requires a software upgrade. A simplified view of the GSM/GPRS network architecture is provided below.

Basic GSM/GPRS network architecture

Basic GSM/GPRS network architecture

The Serving GPRS Support Node (SGSN) provides a number of services to mobile devices:

A location register in the SGSN stores location information and user profiles for all GPRS users registered with it. It is responsible for the transfer of data packets to and from mobile stations within its coverage area.

The Gateway GPRS Support Node (GGSN) provides a gateway between the GPRS network and other packet-switched networks (primarily the Internet) and essentially provides the functionality of both a router and a firewall, isolating the GPRS network from external networks. Incoming packets are routed to the SGSN serving the mobile device to which the packet is addressed (providing the device is active on the network, otherwise the packet is discarded). In the process, the network address contained within the incoming packet is converted to the GSM address of the destination device. Outgoing packets are converted to the appropriate format (e.g. IP datagrams) and routed to the correct destination network. The GGSN stores the current SSGN address, and user profile data relating to each attached device, in its location register. It is also responsible for assigning IP addresses to mobile devices, authentication, and charging functions.

The Packet Control Unit (PCU) is a router that is either a separate hardware unit or (more commonly) an integral part of the base station controller hardware. The primary function of the PCU is to route circuit-switched (GSM) data to the GSM network, and packet-switched (GPRS) data to the GPRS network.

The GPRS radio interface

GPRS essentially uses free time slots on the GSM radio interface, which has a 200 kHz channel bandwidth and employs a GMSK modulation scheme. GPRS and GSM time slots may occupy the same TDMA frame. Slots are assigned dynamically to GPRS by the base station controller according to demand and availability. The GPRS data channel is called the Packet Data Channel (PDCH). The base station controller assigns a PDCH to a particular TDMA frame, but because of the "bursty" nature of packet data, the channel will frequently be inactive and can be used for connection control purposes (such as checking the signal strength of nearby base stations to determine when handover might be necessary).

In fact, the data rate of a channel will be to a great extent dependent on the distance between the mobile device and a base transceiver station. When the device is in close proximity to a base station, there is less interference and therefore less chance of the received data containing errors. As the mobile device moves further away from the base station, there will inevitably be more interference, so more error correction code must be included in each packet transmitted. GPRS network equipment is capable of adjusting the level of error correction automatically. GPRS employs four data coding schemes, each of which implements a different level of error correction depending on the nature of the data and the degree of signal interference being experienced. These coding schemes are briefly summarised in the table below.

GPRS Coding Schemes
Coding schemeData rateDescription
CS-19.05 kbpsThe highest level of error correction, used when
interference is high or signal strength is low. For
every 12 bits of data transmitted, an additional 12
bits of error correction code are added (in other
words, only half of the data transmitted is actually
user data - the rest is error correction code).
CS-213.4 kbpsThis scheme is used for slightly better channels.
The user data makes up two-thirds of the
payload of each packet.
CS-315.6 kbpsIf the channel is good enough, the level of error
correction is reduced still further. The user data
makes up three-quarters of the payload of each
CS-421.4 kbpsThis scheme is used when signal strength is
good and there is little interference. No error
correction code is included in the data.

When a mobile device attaches to the GSM/GPRS network and establishes a session, it is allocated a pair of data channels – one for the uplink (using the uplink frequency band) and one for the downlink (using the downlink frequency band). The packet-switched nature of GPRS means that up to eight different users could share the same uplink and downlink channels, since each channel consists of a single TDMA frame that is divided into eight discrete time slots. The maximum data rate available to a mobile device depends partly on the number of time slots actually available to it at any given time, and partly on the number of time slots it is capable of using, both on the uplink channel and on the downlink channel.

GPRS-capable mobile devices are classified according to how many slots they can utilise in either direction. The potential maximum upstream and downstream data rates therefore depend on the GPRS class of the device. There are twenty-nine different classes of GPRS device. Class 1 devices are able to send and receive data using only one slot in either direction, while class 29 devices can send and receive data using all eight slots. Bear in mind however that the network will give priority to voice traffic, so data rates may fall if the network is very busy and less slots are generally available on the network for data traffic. The most commonly used GPRS classes are summarised in the table below.

Common GPRS Device Classes
GPRS ClassSlots usedMax upload (kbps)Max download (kbps)