GSM & 3G Networks — From 2G to UMTS Evolution Guide
In this tutorial, you'll learn about GSM & 3G Networks. We cover key concepts, practical examples, and best practices.
GSM (Global System for Mobile Communications) was the first digital cellular standard, introducing SIM cards, SMS, and international roaming — evolving from 2G circuit-switched voice through GPRS/EDGE to 3G UMTS with WCDMA mobile broadband.
What You'll Learn
- GSM network architecture: BSS, NSS, and OSS domains
- How 2G voice calls and SMS are routed
- GPRS/EDGE packet data evolution
- UMTS (3G) with WCDMA and the RNC-based architecture
Why GSM Matters
GSM is the most successful mobile standard in history, with over 8 billion subscriptions at its peak. It introduced the SIM (Subscriber Identity Module) — the first removable identity module that let users switch phones while keeping their number. GSM also proved that international roaming was commercially viable, laying the foundation for every mobile generation that followed.
Durga Antivirus Pro applies GSM-style mutual authentication between enterprise agents, using SIM-like challenge-response handshakes for device identity verification.
Learning Path
flowchart LR A[Telecom Basics] --> B[GSM/2G Architecture
You are here] B --> C[GPRS & EDGE] C --> D[3G UMTS] D --> E[4G LTE] E --> F[5G Networks] style B fill:#f90,color:#fff
GSM Network Architecture
GSM divides the network into three subsystems:
flowchart TD
subgraph BSS[Base Station Subsystem]
MS[Mobile Station] --> BTS[BTS - Base Transceiver Station]
BTS --> BSC[BSC - Base Station Controller]
end
subgraph NSS[Network and Switching Subsystem]
BSC --> MSC[MSC - Mobile Switching Center]
MSC --> HLR[HLR - Home Location Register]
MSC --> VLR[VLR - Visitor Location Register]
MSC --> EIR[EIR - Equipment Identity Register]
MSC --> AuC[AuC - Authentication Center]
end
subgraph OSS[Operations Support]
MSC --> PSTN[PSTN / Other Networks]
end
Base Station Subsystem (BSS)
- BTS (Base Transceiver Station): The radio tower and transceivers that communicate with mobile devices over the Um (air) interface
- BSC (Base Station Controller): Manages multiple BTSs, allocates radio channels, handles handovers between BTSs
- MS (Mobile Station): The phone and SIM card combination
Network and Switching Subsystem (NSS)
| Component | Role |
|---|---|
| MSC | Mobile Switching Center — core switch for call routing, mobility management |
| HLR | Home Location Register — permanent subscriber database with IMSI, MSISDN, subscribed services |
| VLR | Visitor Location Register — temporary cache for roaming subscribers |
| AuC | Authentication Center — stores Ki keys for SIM authentication |
| EIR | Equipment Identity Register — IMEI white/grey/black lists |
How a GSM Call Works
MS[BTS] -> BSC -> MSC -> HLR/VLR lookup -> MSC -> PSTN or other MSC -> BSC -> BTS -> MS
- Mobile initiates channel request on RACH
- BTS forwards to BSC, which assigns SDCCH (standalone dedicated control channel)
- MSC receives call setup message with called number
- MSC queries HLR for subscriber data and routing info
- MSC reserves a traffic channel (TCH) and connects the call
- Voice travels over TCH at 13 kbps (full-rate) or 6.5 kbps (half-rate)
SMS in GSM
SMS uses the signaling channel rather than traffic channels, allowing messages to be sent even during a voice call:
class SMSDeliverySimulator:
def __init__(self):
self.smsc = "SMSC-001"
self.sgsn = None
def send_sms(self, sender, recipient, message):
print(f"[{self.smsc}] Route SM from {sender} to {recipient}")
hlr_query = self.query_hlr(recipient)
if hlr_query["status"] == "active":
msc = hlr_query["serving_msc"]
print(f"[{self.smsc}] Forward SM to {msc} via MAP mt_forwardSM")
print(f"[{msc}] Page {recipient} on SDCCH")
print(f"[{msc}] SM delivered: '{message}'")
return "delivered"
return "failed"
def query_hlr(self, msisdn):
return {"status": "active", "serving_msc": "MSC-42", "vlr": "VLR-17"}
sim = SMSDeliverySimulator()
result = sim.send_sms("+1-555-1111", "+1-555-2222", "Hello from GSM!")
print(f"Delivery: {result}")
Expected output:
[SMSC-001] Route SM from +1-555-1111 to +1-555-2222
[SMSC-001] Forward SM to MSC-42 via MAP mt_forwardSM
[MSC-42] Page +1-555-2222 on SDCCH
[MSC-42] SM delivered: 'Hello from GSM!'
Delivery: delivered
GPRS: The Packet Data Revolution
GPRS (General Packet Radio Service) was the first step toward mobile data, adding packet-switched capability to GSM:
flowchart LR MS --> BTS[BTS + PCU] BTS --> SGSN[SGSN - Serving GPRS Support Node] SGSN --> GGSN[GGSN - Gateway GPRS Support Node] GGSN --> DN[Internet / Data Network] SGSN --> HLR
- SGSN: Tracks mobile location, manages PDP contexts, handles authentication for data sessions
- GGSN: Gateway to external packet networks, allocates IP addresses, acts as the anchor point for external PDNs
EDGE: Enhanced Data Rates
EDGE (Enhanced Data Rates for GSM Evolution) introduced 8PSK modulation, tripling GPRS data rates to 384 kbps. It required only a software upgrade to BTS hardware.
UMTS (3G) Architecture
3G UMTS (Universal Mobile Telecommunications System) replaced GSM's TDMA air interface with WCDMA (Wideband Code Division Multiple Access):
flowchart LR UE[User Equipment] --> NodeB NodeB --> RNC[RNC - Radio Network Controller] RNC --> SGSN RNC --> MSC SGSN --> GGSN GGSN --> DN[External Networks] MSC --> PSTN[PSTN]
| 3G Component | Equivalent in GSM | What Changed |
|---|---|---|
| NodeB | BTS | WCDMA radio, no transceiver per channel |
| RNC | BSC | Soft handover, lub/lur interfaces |
| MSC (3G) | MSC | Added lu-CS interface to RNC |
| SGSN (3G) | SGSN | Added lu-PS interface to RNC |
Common Errors
1. Treating GSM as Obsolete
GSM bands (900/1800 MHz) are being refarmed for LTE and 5G, but GSM remains the global fallback for emergency calls and IoT LPWA in many regions.
2. Confusing IMSI and MSISDN
IMSI is the subscriber identifier stored on the SIM (used for authentication). MSISDN is the phone number. They are different — one SIM can have multiple MSISDNs.
3. Forgetting the AuC in Authentication
GSM authentication is one-way — the network authenticates the SIM, but the phone doesn't authenticate the network. This enables IMSI catchers (fake base stations).
Practice Questions
What are the three GSM subsystems? BSS (Base Station Subsystem), NSS (Network and Switching Subsystem), OSS (Operations Support Subsystem).
How does SMS differ from a voice call in GSM? SMS uses signaling channels (SDCCH/SACCH) rather than traffic channels (TCH), allowing SMS delivery during active calls.
What was the key innovation of GPRS? Packet-switched data over GSM — always-on connectivity, charging by data volume instead of airtime.
What is the main architectural difference between GSM and UMTS? UMTS replaced TDMA with WCDMA and introduced the RNC for centralized radio resource management and soft handover.
Challenge: Design a roaming call flow where a subscriber on a 3G network in France receives a call from a GSM user in the US. Trace every SS7 MAP message between VLR, HLR, MSC, GMSC, and the voice circuit.
FAQ
Built by the developers of Doda Browser, DodaZIP, and Durga Antivirus Pro. Updated 2026-06-24.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro