How Does USSD Function?

USSD (Unstructured Supplementary Service Data) is a communication protocol that enables the transmission of small data packages without the need for a data connection or incurring SMS costs. It is commonly used for sending concise requests and commands, with a maximum limit of 182 characters (16 bits of data). USSD, however, does not support multimedia content such as audio, video, or images. USSD messages, unlike SMS, are exclusively exchanged between network entities such as the Home Location Register (HLR), Mobile Switching Center (MSC), Short Message Service Center (SMSC), or dedicated USSD applications. On the receiving end, these messages can be directed to mobile phones, applications, or IoT devices. 

Real-Time Communication and Instant Messaging 

While SMS messages pass through an SMSC for storage and forwarding, USSD transmissions take a different approach. They utilize a USSD gateway, establishing an open session between the network entities involved. This allows for real-time communication and the provision of instant messaging services. 

USSD Message Format 

USSD messages consistently start with an asterisk, followed by digits, and conclude with the pound sign. The numbers represent codes employed by the network to establish connections with specific entities. Different Mobile Network Operators (MNOs) utilize their own unique codes. USSD Service Code: 123#  User Input: 1 Session  Identifier: 12345678  Response Message: 
  • Balance Inquiry 

  • Recharge 

  • Data Packages  

In this example, the user initiates a USSD session by dialing the USSD service code 123#. The user's input, in this case, is the digit 1, indicating a balance inquiry. The session identifier "12345678" helps maintain the session state. The response message provided by the USSD service provider presents a menu with numbered options. The user can select from the options displayed, such as checking their account balance, recharging their account, or purchasing data packages. 

Applications of USSD in IoT 

USSD finds limited use for consumers due to its character limitations and lack of person-to-person capabilities. However, the advent of cellular IoT has opened up a plethora of new applications for USSD. Some manufacturers have even replaced SMS entirely with USSD for their IoT devices. USSD proves particularly valuable for retrieving information from IoT device sensors. USSD can help to acquire data on temperature, location, resource consumption, and other relevant updates. Any text-based data that IoT devices capture can be transmitted via USSD.