Unstructured Supplementary Service Data
Unstructured Supplementary Service Data (USSD) is a protocol used by GSM cellular telephones to communicate with the service provider's computers. USSD can be used for WAP browsing, 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.
When a user sends a message to the phone company network, it is received by a computer dedicated to USSD and the computer's answer is sent back to the phone, generally in a very basic presentation format that can easily be seen on the phone screen. The messages sent over USSD are not defined by any standardization body, so each network operator can implement whatever it finds suitable for its customers.
USSD can be used to provide independent calling services such as a callback service (e.g., cheaper phone charges while roaming), enhance mobile marketing capabilities, or interactive data service.
USSD is commonly used by prepaid GSM cellular phones to query the available balance. The vendor's "check balance" application hides the details of the USSD protocol from the user. On some pay as you go networks, such as Tesco Mobile, once a user performs an action that costs money, they see a USSD message with their new balance. USSD can also sometimes be used to refill the balance on the user's SIM card and to deliver One Time Passwords or PIN codes.
USSD is sometimes used in conjunction with SMS: the user sends a request to the network via USSD, and the network replies with an acknowledgement of receipt:
- "Thank you, your message is being processed. A message will be sent to your phone."
Subsequently, one or more Mobile Terminated SMS messages communicate the status and/or results of the initial request. In such cases, SMS is used to "push" a reply or updates to the handset when the network is ready to send them.  In contrast, USSD is used for command-and-control only.
Technical details 
Most GSM phones have USSD capability. It is generally associated with real-time or instant messaging services. There is no store-and-forward capability, as is typical of other short-message protocols like SMS—in other words, an SMSC is not present in the processing path.
USSD Phase 1, specified in GSM 02.90 only supports mobile-initiated ("pull") operation. In the core network, the message is delivered over MAP. USSD Phase 2, specified in GSM 03.90 supports network-initiated ("push") operation as well.
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 (#).
- 1. Mobile Initiated USSD / PULL USSD / P2P ==
While user dial *139# from there GSM mobile handset. The mode known as USSD PULL / Mobile initiated
- 2. Network Initiated USSD / PUSH USSD / A2P ==
While user get push message from network. This is USSD PUSH mode / request initiated by network. Basically this is use for Promo service
- "Unstructured Supplementary Services Data (USSD)". TelecomSpace. Retrieved August 23, 2010.
- Shetty, Anuradha (16 July 2011). "TATA Docomo Introduces Facebook, Twitter Access via USSD". Tech2. Network 18 India. Retrieved 9 May 2013.
- Wadhwa, Kul (22 February 2013). "Getting Wikipedia to the people who need it most". Wikimedia Blog. Wikimedia Foundation. Retrieved 10 May 2013.
- "Monitor Usage on your phone". AT&T Residential Wireless Support. Retrieved May 14, 2012.
- "Manage your account using *Services". AT&T Residential Wireless Support. AT&T. Retrieved 11 May 2013.
- "Windows Phone 7 doesn't support USSD". Microsoft Answers. Microsoft. 8 February 2012. Retrieved 11 May 2013.
- "GSM 02.90 (ETSI TS 100 625, V7.0.0) Specification (USSD) – Stage 1". 3Gpp.org. 3rd Generation Partnership Project. Retrieved 11 May 2013.
- "GSM 03.90 (ETSI TS 100 549, V7.0.0) Specification (USSD) – Stage 2". 3Gpp.org. 3rd Generation Partnership Project. Retrieved 11 May 2013.