How to Make an SMS Broadcaster Using USRP SDR or LimeSDR
Sending broadcast SMS is a core feature of GSM networks. Telecom operators use it for alerts, cell information, and emergency notifications. With modern Software Defined Radios (SDR) like LimeSDR or USRP, researchers and hobbyists can experiment with building a lab-scale SMS broadcaster to better understand GSM technology.
What You Need
Hardware
A host computer (Ubuntu Linux recommended)
Software
- OpenBTS or OsmoBTS + OsmoBSC + OsmoMSC (open-source GSM stack)
- Asterisk (for SMS routing, optional)
- GNU Radio (signal processing)
- YateBTS (alternative to OpenBTS, simpler setup)
Step 1: Setting Up the Environment
1. Install Dependencies
sudo apt update
sudo apt install build-essential cmake libuhd-dev uhd-host \
libboost-all-dev libsqlite3-dev asterisk libusb-1.0-0-dev
2. Install SDR Drivers
sudo add-apt-repository -y ppa:myriadrf/drivers
sudo apt update
sudo apt install limesuite limesuite-udev limesuite-images
sudo apt install uhd-host uhd_images_downloader
Step 2: Setting Up the GSM Stack
Option A: Using Osmocom
osmo-stp
osmo-hlr
Start BTS:
osmo-trx-lms # For LimeSDR
osmo-trx-uhd # For USRP
Then:
osmo-bts-trx -c osmo-bts-trx.cfg
osmo-bsc -c osmo-bsc.cfg
Step 3: Broadcasting an SMS
Once the BTS is running, you can send Cell Broadcast SMS (CBS):
osmo-msc -c osmo-msc.cfg
Then inject a broadcast message:
telnet localhost 4254
> subscriber msisdn {msisdn} sms sender {msisdn} send "SMS"
Step 4: Testing
Insert a SIM card
Register the phone with your test BTS
Check if the broadcast message arrives
Practical Applications (in a Legal Setup)
Research GSM layer 3 messaging
Study SMS delivery mechanisms
Learn about Cell Broadcast Service
(used for disaster alerts, weather updates, etc.)
Educational demos in telecom labs
Demo
Conclusion
Using LimeSDR or USRP, you can build a small-scale GSM SMS broadcaster for research. Open-source stacks like OpenBTS and Osmocom give full control over the GSM protocol, enabling you to study how operators manage SMS broadcasts.
Reactions