Unstructured Supplementary Service Data Explained

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] The service does not require a messaging app, and does not incur charges.[2]

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 faster than services that use SMS.[1]

While GSM is being phased out in the 2020s with 2G and 3G technologies, USSD services can be supported over LTE, 5G, and IMS.

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 their 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 including Facebook and Twitter.[3] Between 2012 and 2018, the Wikipedia Zero project provided access to Wikipedia articles via USSD.[4]

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

Technical details

Most GSM phones have USSD capability.[7] USSD is generally associated with real-time or instant messaging services. An SMSC is not present in the processing path, so that the store-and-forward capability supported by other short-message protocols such as SMS is not available.

USSD Phase 1, as specified in GSM 02.90, only supports mobile-initiated ("pull") operations.[8] In the core network, the message is delivered over MAP, USSD Phase 2, as specified in GSM 03.90.[9] After entering a USSD code on a GSM handset, the reply from the GSM operator is displayed within a few seconds.

While GSM is being phased out in the 2020s with 2G and 3G, a solution is available for supporting USSD services directly from the LTE/5G/IMS network, providing a similar user experience as in GSM.[10]

Format

A USSD message typically starts with an asterisk symbol (*) or a hash symbol (#) and is terminated with a hash symbol (#). A typical message comprises digits for commands or data; groups of digits may be separated by additional asterisks.[1]

USSD mode

Mobile-initiated

Network-initiated

Example USSD codes
  • 101#
  • 139*1*1234567890#

Man-Machine Interface

The codes below are not USSD codes, these are the related Man-Machine Interface (MMI); 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.[11] [12]

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

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! Code !! Function !! Note !! Switch on !! Switch off !! Display status
002all diversionsunconditional, busy, unreachable, does not answer
  • * 002 * number * BS * T #
  1. # 002 * * BS #
  • # 002 * * BS #
004all conditional redirectionsbusy, unreachable, does not answer
  • * 004 * number * BS * T #
  1. # 004 * * BS #
  • # 004 * * BS #
03Change Network passwordpassword is network dependent, default on some networks is 0000. See call barring functions *33
  • * 03 * 330 * old password * new password * new password #
04Change PIN
  • * 04 * old PIN * new PIN * new PIN #
042Change PIN2Only with Phase 2 SIM
  • * 042 * old PIN2 * new PIN2 * new PIN2 #
05Change PIN by PUK
  • * 05 * PUK * new PIN * new PIN #
052Change PIN2 via PUKOnly with Phase 2 SIM
  • * 052 * PUK * new PIN2 * new PIN2 #
06read device number (IMEI)
  • # 06 #
21unconditional divertall incoming calls will be diverted
  • * 21 * number * BS #
  1. # 21 * * BS #
  • # 21 * * BS #
30get the caller's number displayed (CLIP)as a callee get the CLIP displayed
  • 30 #
  1. 30 #
  • # 30 #
31suppressing the transmission of caller's phone number (CLIR)for all subsequent calls
  1. 31 #
  • 31 #
  • # 31 #
31temporary change of the transmission of CLIRvalid just for the next call; no final #
  1. 31 # number
  • 31 # number
330total incoming and outgoing service barringpassword is network dependent, default on some networks is 0000
  • 330 * password * BS #
  1. 330 * password * BS #
  • # 330 * * BS #
33outgoing call barringpassword is network dependent, default on some networks is 0000
  • 33 * password * BS #
  1. 33 * password * BS #
  • # 33 * * BS #
331outgoing international call barringpassword is network dependent, default on some networks is 0000
  • 331 * password * BS #
  1. 331 * password * BS #
  • # 331 * * BS #
332outgoing international call barring, excluding to homepassword is network dependent, default on some networks is 0000
  • 332 * password * BS #
  1. 332 * password * BS #
  • # 332 * * BS #
333total outgoing service barringpassword is network dependent, default on some networks is 0000
  • 333 * password * BS #
  1. 333 * password * BS #
  • # 333 * * BS #
35incoming call barringpassword is network dependent, default on some networks is 0000. Incompatible with call diversion
  • 35 * password * BS #
  1. 35 * password * BS #
  • # 35 * * BS #
351incoming call barring, when international roamingpassword is network dependent, default on some networks is 0000
  • 351 * password * BS #
  1. 351 * password * BS #
  • # 351 * * BS #
353total incoming service barringpassword is network dependent, default on some networks is 0000
  • 353 * password * BS #
  1. 353 * password * BS #
  • # 353 * * BS #
37Call back on busy (CCBS)valid on some mobile networks only
  • 37 #
  1. 37 #
  • # 37 #
43incoming call notification when busyaka call waiting
  • 43 * BS #
  1. 43 * BS #
  • # 43 * * BS #
61call divert when not answered
  • * 61 * number * BS * T #
  1. # 61 * * BS #
  • # 61 * * BS #
62call divert when off or not reachable
  • * 62 * number * BS #
  1. # 62 * * BS #
  • # 62 * * BS #
67call divert when busy or pressing reject
  • * 67 * number * BS #
  1. # 67 * * BS #
  • # 67 * * BS #
Code Function Note Switch on Switch off Display status

See also

External links

Notes and References

  1. Web site: Unstructured Supplementary Services Data (USSD). Telecom Space. August 23, 2010. March 3, 2021. https://web.archive.org/web/20210303081521/http://www.telecomspace.com/messaging-ussd.html. dead.
  2. Web site: Scard . Jen . What is USSD? . Wireless Logic. 12 July 2022 .
  3. Web site: TATA Docomo introduces Facebook, Twitter access via USSD . 16 July 2011 . 12 Nov 2019.
  4. Web site: Getting Wikipedia to the people who need it most. Wadhwa. Kul. 22 February 2013. Wikimedia blog. Wikimedia Foundation. (Page now obsolete and invalid.)
  5. Web site: Monitor usage on your phone . 14 May 2012 . AT&T Residential Wireless Support . https://web.archive.org/web/20120511153629/https://www.att.com/esupport/article.jsp?cv=820&sid=KB64693 . 11 May 2012 . dead .
  6. Web site: Manage your account. AT&T Residential Wireless Support. AT&T. 11 May 2013.
  7. Web site: Windows Phone 7 doesn't support USSD. https://web.archive.org/web/20120703033325/http://answers.microsoft.com/en-us/winphone/forum/wp7-wpstart/ussd-service/80ce77d9-5b46-4bbc-9a8f-c209f566f9a9. 3 July 2012. Microsoft Answers. 8 February 2012.
  8. Web site: GSM 02.90 (ETSI TS 100 625, V7.0.0) Specification (USSD) – Stage 1. 3gpp.org. 3rd Generation Partnership Project. 11 May 2013.
  9. Web site: GSM 03.90 (ETSI TS 100 549, V7.0.0) Specification (USSD) – Stage 2. 3gpp.org. 3rd Generation Partnership Project. 11 May 2013.
  10. Web site: Kulkarni . Ajay . The Future of USSD in the Telecommunications space . Comviva . 10 December 2020 .
  11. Web site: Man-Machine Interface (MMI) of the User Equipment - ETSI TS 122 030 V10.0.0 . pdf . May 2011 . 30 .
  12. Web site: What's the difference between USSD, MMI and SS codes?.