Definition of USSD
Sources can be viewed following hyperlinks. Some sources are in Russian.
USSD (Unstructured Supplementary Services Data) is a unique service for mobile networks comprised of two-directional session-based exchange of unstructured data in GSM mobile networks. USSD technology is defined in GSM standard 02.90 (USSD Stage 1) and 03.90 (USSD Stage 2). The USSD service supports high-speed real-time information exchange between subscriber and service application. Originally, Supplementary Services Data was designed for use where supplementary services such as call forwarding or multiparty calls were needed. For instance, a call-forwarding option is needed for all incoming calls. Such service can be activated by this command: **21*«destination number»#. There is a whole set of preset commands for call-forwarding and for other purposes that work on all GSM telephones. Combinations that have not been reserved can be used for other services.
The USSD bearer is accessed by calling a number that starts with an asterisk (star) or gate (hash) characters (“*” or “#”) and then a combination of numerals, asterisks and finally a gate or hash character “#”. A handset recognizes such numbers and useы the USSD bearer instead of a voice call. Instead of calling another subscriber or a service, the handset communicates with the USSD infrastructure. The subscriber does not have to get special software for the handset or special SIM cards to be able to use USSD.
Unstructured Supplementary Service Data is a capability of all GSM phones. It is generally associated with real-time phone services. There is no store-and-forward functionality typical of ‘normal’ short messages (in other words, an SMSC is not used in processing). Response times for interactive USSD based services are generally quicker than those used for SMS. After entering a USSD code on your GSM handset, reply from an GSM operator is displayed within a few seconds. USSD Phase 1 only supports mobile initiated operation (pull operation). USSD Phase 2 specified supports network initiated operation (pull and push operations). Therefore, Phase 2 provides for interactive dialogues.
GSM handsets supported USSD from the first days of GSM. Phase 2 has been supported for years and over 99% of handsets currently in use can use USSD sessions. Our technical support department agrees that almost all telephones support USSD. There are, however, exceptions: for instance, old Siemens phones display USSD-messages as a moving line that severely limits interaction with the USSD menu (and if the subscriber does not know she will not understand what to do).
Most handsets also support NI USSD (network initiated USSD), also called “USSD Push”. With NI USSD, the network can push information to the subscriber’s handset. Where is USSD push used? USSD push does not manifest itself (the phone will not ring, make sounds or vibrate) so that in order to get a message a user has to look at the display at the very moment USSD push has come. Therefore, USSD push is used in mixed services: a user sends an SMS or makes a call and in return gets a USSD menu.
Another important fact about USSD is that messages from handsets to the numbers 100-149 always route to the home network. This means that if you are roaming in another network, dialing a USSD number from 100 to 149 on your phone will always route to the application on your home network. If you are used to accessing a particular service in your home network, then you will also be able to access it from another country. USSD codes other than within 100 and 150 are routed at discretion of a guest network.