Unstructured Supplementary Service Data

Unstructured Supplementary Service Data (USSD), sometimes referred to as "Quick Codes" or "Feature codes", is a communications protocol used by GSM cellular telephones to communicate with the mobile network operator'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.[1]

USSD on a Sony Ericsson mobile phone (2005)

USSD messages are up to 182 alphanumeric characters long. 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.[1]

Uses

When a user sends a message to the phone company network, it is received by a computer dedicated to USSD. The computer's response is sent back to the phone, generally in a basic format that can easily be seen on the phone display. Messages sent over USSD are not defined by any standardization body, so each network operator can implement whatever is most suitable for its customers.

USSD can be used to provide independent calling services such as a callback service (to reduce phone charges while roaming), enhance mobile marketing capabilities or interactive data services.

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, the user sees a USSD message with his or her new balance. USSD can also be used to refill the balance on the user's SIM card and to deliver one time passwords or PIN codes.

Some operators use USSD to provide access to real-time updates from social-networking websites like Facebook and Twitter.[2] Wikipedia uses USSD to send articles to some feature phones.[3]

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.[4] In such cases, SMS is used to "push" a reply or updates to the handset when the network is ready to send them.[5] In contrast, USSD is used for command-and-control only.

Technical details

Most GSM phones have USSD capability.[6] USSD 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, as specified in GSM 02.90, only supports mobile-initiated ("pull") operations.[7] In the core network, the message is delivered over MAP, USSD Phase 2, as specified in GSM 03.90.[8] After entering a USSD code on a GSM handset, the reply from the GSM operator is displayed within a few seconds.

Format

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 hash symbol (#).[1]

USSD Mode

Mobile-initiated

  • USSD/ PULL or USSD/ P2A
  • when the user dials a code, e.g. *139# from a GSM mobile handset

Network-initiated

  • USSD/ PUSH or USSD/A2P
  • when the user receives a push message from the network; primarily used for promotional services
Example USSD codes
*101#
*139*1*1234567890#

Code table

The codes below are not USSD codes, but rather MMI Supplementary Service codes; they are standardized so they are the same on every GSM phone. They are interpreted by the handset first before a corresponding command (not the code itself) is sent to the network. These codes might not always work when using an AT interface; there are standard AT commands defined for each of these actions instead.[9][10]

BS is the type of bearer service, some valid values are:

  • 11 for voice
  • 13 for fax
  • 16 for SMS (only valid for barring)
  • 25 for data
  • <leave blank> for all.

T is number of seconds for the No Reply Condition Timer, default is 20 seconds if not specified.

GSM USSD codes and their functions with various network operators
CodeFunctionNoteSwitch onSwitch offDisplay status
002 all diversions unconditional, busy, unreachable, does not answer * * 002 * number * BS * T # # # 002 * * BS # * # 002 * * BS #
004 all conditional redirections busy, unreachable, does not answer * * 004 * number * BS * T # # # 004 * * BS # * # 004 * * BS #
03 Change Network password password is network dependent, default on some networks is 0000. See call barring functions *33 * * 03 * 330 * old password * new password * new password #
04 Change PIN * * 04 * old PIN * new PIN * new PIN #
042 Change PIN2 Only with Phase 2 SIM * * 042 * old PIN2 * new PIN2 * new PIN2 #
05 Change PIN by PUK * * 05 * PUK * new PIN * new PIN #
052 Change PIN2 via PUK Only with Phase 2 SIM * * 052 * PUK * new PIN2 * new PIN2 #
06 read device number (IMEI) * # 06 #
21 unconditional divert all incoming calls will be diverted * * 21 * number * BS # # # 21 * * BS # * # 21 * * BS #
30 get the caller's number displayed (CLIP) as a callee get the CLIP displayed * 30 # # 30 # * # 30 #
31 suppressing the transmission of caller's phone number (CLIR) for all subsequent calls # 31 # * 31 # * # 31 #
31 temporary change of the transmission of CLIR valid just for the next call; no final # # 31 # number * 31 # number
330 total incoming and outgoing service barring password is network dependent, default on some networks is 0000 * 330 * password * BS # # 330 * password * BS # * # 330 * * BS #
33 outgoing call barring password is network dependent, default on some networks is 0000 * 33 * password * BS # # 33 * password * BS # * # 33 * * BS #
331 outgoing international call barring password is network dependent, default on some networks is 0000 * 331 * password * BS # # 331 * password * BS # * # 331 * * BS #
332 outgoing international call barring, excluding to home password is network dependent, default on some networks is 0000 * 332 * password * BS # # 332 * password * BS # * # 332 * * BS #
333 total outgoing service barring password is network dependent, default on some networks is 0000 * 333 * password * BS # # 333 * password * BS # * # 333 * * BS #
35 incoming call barring password is network dependent, default on some networks is 0000. Incompatible with call diversion * 35 * password * BS # # 35 * password * BS # * # 35 * * BS #
351 incoming call barring, when international roaming password is network dependent, default on some networks is 0000 * 351 * password * BS # # 351 * password * BS # * # 351 * * BS #
353 total incoming service barring password is network dependent, default on some networks is 0000 * 353 * password * BS # # 353 * password * BS # * # 353 * * BS #
37 Call back on busy (CCBS) valid on some mobile networks only * 37 # # 37 # * # 37 #
43 incoming call notification when busy aka call waiting * 43 * BS # # 43 * BS # * # 43 * BS #
61 call divert when not answered * * 61 * number * BS * T # # # 61 * * BS # * # 61 * * BS #
62 call divert when off or not reachable * * 62 * number * BS # # # 62 * * BS # * # 62 * * BS #
67 call divert when busy or pressing reject * * 67 * number * BS # # # 67 * * BS # * # 67 * * BS #
CodeFunctionNoteSwitch onSwitch offDisplay status
gollark: But is generally awful.
gollark: Ninjaed.
gollark: Facebook used PHP, if I remember correctly.
gollark: Yes, you should probably not focus on the exact details.
gollark: <@98470547297435648> APIs are basically just a generalized term for accessing stuff remotely, so you *could* do what you suggested, but it would be odd.

See also

References

  1. "Unstructured Supplementary Services Data (USSD)". Telecom Space. Retrieved August 23, 2010.
  2. "TATA Docomo introduces Facebook, Twitter access via USSD". 16 July 2011. Retrieved 12 Nov 2019.
  3. Wadhwa, Kul (22 February 2013). "Getting Wikipedia to the people who need it most". Wikimedia blog. Wikimedia Foundation. Retrieved 10 May 2013.
  4. "Monitor usage on your phone". AT&T Residential Wireless Support. Archived from the original on 11 May 2012. Retrieved 14 May 2012.
  5. "Manage your account". AT&T Residential Wireless Support. AT&T. Retrieved 11 May 2013.
  6. "Windows Phone 7 doesn't support USSD". Microsoft Answers. Microsoft. 8 February 2012. Retrieved 11 May 2013.
  7. "GSM 02.90 (ETSI TS 100 625, V7.0.0) Specification (USSD) – Stage 1". 3gpp.org. 3rd Generation Partnership Project. Retrieved 11 May 2013.
  8. "GSM 03.90 (ETSI TS 100 549, V7.0.0) Specification (USSD) – Stage 2". 3gpp.org. 3rd Generation Partnership Project. Retrieved 11 May 2013.
  9. http://www.etsi.org/deliver/etsi_ts/122000_122099/122030/10.00.00_60/ts_122030v100000p.pdf
  10. http://berlin.ccc.de/~tobias/mmi-ussd-ss-codes-explained.html
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.