USSD allows you to send small data packages without a data connection and without incurring SMS costs. It’s typically used for sending short requests and commands, and these messages can only contain a maximum of 182 characters (16 bits of data). USSD doesn’t support Multimedia Messages (MMS) like audio, video, or images.
Unlike SMS, which can be sent Person-to-Person (P2P) or Application-to-Person (A2P), USSD messages are always sent to or from a network entity, such as the Home Location Register (HLR), Mobile Switching Center (MSC), Short Message Service Center (SMSC), or a dedicated USSD application. The other endpoint could be a mobile phone, an application, or an IoT device.
While SMS transmissions pass through an SMSC, which stores messages and forwards them to the recipient, USSD transmissions use a USSD gateway to create an open session between the two network entities, allowing for real-time communications and Instant Messaging (IM) services.
What is USSD used for?
Due to the low character limits and lack of Person-to-Person capabilities, USSD has limited applications for consumers. Some of the most common uses are to check balances on prepaid phones, reset passwords, or to initiate callbacks. However, the cellular Internet of Things (IoT) opened the door to all kinds of new applications for USSD. Some manufacturers even use USSD to replace SMS altogether.
USSD works particularly well for retrieving information from sensors on IoT devices. Through an application, businesses can use USSD to determine temperature, location, resource consumption, and other status updates. Any text-based data your device can capture, you can transmit through USSD.
Additionally, some businesses use USSD to push outbound marketing messages to mobile devices.
USSD message format
USSD messages always begin with an asterisk, follow with digits, and end with the pound sign. The numbers represent a code the network uses to establish a connection with a particular entity, and different Mobile Network Operators (MNOs) use different codes.
As an example, a USSD message to request a device’s location might look like this: *999#. The network would then retrieve the information from the network’s HLR and send it back to the user.
Depending on how it's configured, when a user initiates the USSD communication, the first reply will often present them with a menu, instructing the user to send specific codes to request information or issue a command.
Advantages of USSD
USSD is an older cellular technology, but there are several key reasons why IoT manufacturers have been drawn to it.
Low-cost data transmissions
USSD effectively lets you bypass data charges. And transmissions through this communication protocol don’t count as SMS. You can use USSD to issue simple commands like turning devices on and off or changing settings without paying data rates.
Additionally, this lets you circumvent costly roaming charges. USSD communications are always routed through the home network, even when you’re roaming. But since you’re not using the network for a data connection, you’re not subject to the usual roaming data rates. The network your device is “visiting” still has to forward your USSD messages through your home network, but the cost is always going to be significantly less than what you’d pay to send the same messages through SMS.
Low power consumption
Since it doesn’t use a network’s data connection, USSD uses significantly less power to transmit messages. Instead, it sends text-based messages through the network’s voice channel. In IoT, battery life is crucial, and USSD can be an effective way to extend your device’s battery life—particularly if your device sends or receives a lot of transmissions throughout its lifecycle.
2G cellular networks are no longer the most widely used technology for mobile connections—but they have three decades of infrastructure built-up around the world. Since these networks use GSM standards, you can leverage USSD on any of them.
Disadvantages of USSD
While USSD offers plenty of benefits to IoT manufacturers, it has some significant shortcomings as well. Before you commit to using USSD, you’ll want to consider these inherent weaknesses.
Limited data throughput
With 16-bit data limits, it’s no wonder using USSD doesn’t incur data charges: it’s barely using data! Even if 16 bit, 182 character transmissions are enough for your application, it’s important to remember that USSD isn’t suitable for things like pushing Over-the-Air (OTA) updates to your device. And obviously, if your device records audio, video, or images of any kind, it won’t be able to transmit them through USSD.
It’s not future-proof
GSM networks have been around for a long time. While there are still plenty of ways to leverage them for the Internet of Things, cellular carriers worldwide are in the process of sunsetting their 2G and even 3G networks to repurpose their frequency bands for more advanced technologies. Over the next few years, the 2G coverage map will continue to dwindle, and there will be fewer countries where you can leverage GSM technology like USSD.
Get a complete IoT communication platform
emnify is an IoT communication platform that’s fully compatible with USSD and other communication protocols. If you wish to know more about protocols and IoT check out our Comprehensive Guide to IoT Protocols.