It is a protocol used by GSM cellular telephones to communicate with the service provider's computers. USSD can be used for prepaid callback service, mobile-money services, location-based content services, menu-based information services, and as part of configuring the phone on the network.
USSD messages are up to 182 alphanumeric characters in length. Unlike Short Message Service (SMS) messages, USSD messages create a real-time connection during a USSD session. The connection remains open, allowing a two-way exchange of a sequence of data. This makes USSD more responsive than services that use SMS.
A text message is first sent to a sender's Short Message Service Center (SMSC) before the SMSC tries to deliver the text message to the recipient. The sender receives an indication of whether the text was successfully received by the SMSC. USSD information is sent directly from a sender’s mobile handset to an application platform handling the USSD service. The USSD service can be located either in the sender's mobile network or in a visited mobile network.
A real-time "session" is initiated between the mobile user and the USSD application platform when the service is invoked, allowing data to be sent back and forth between the mobile user and the USSD application platform until the USSD service is completed.
A typical USSD message starts with an asterisk (*) followed by digits that comprise commands or data. Groups of digits may be separated by additional asterisks. The message is terminated with a number sign (#).