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.
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:
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.
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]
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]
Mobile-initiated
Network-initiated
Example USSD codes |
---|
*101# |
*139*1*1234567890# |
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.
Code | Function | Note | Switch on | Switch off | Display 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 # | |
Code | Function | Note | Switch on | Switch off | Display status |
The Global System for Mobile Communications (GSM) is a standard developed by the European Telecommunications Standards Institute (ETSI) to describe the protocols for second-generation (2G) digital cellular networks used by mobile devices such as mobile phones and tablets. GSM is also a trade mark owned by the GSM Association. GSM may also refer to the Full Rate voice codec.
General Packet Radio Service (GPRS), also called 2.5G, is a mobile data standard on the 2G cellular communication network's global system for mobile communications (GSM). Networks and mobile devices with GPRS started to roll out around the year 2001. At the time of introduction it offered for the first time seamless mobile data transmission using packet data for an "always-on" connection, providing improved Internet access for web, email, WAP services, and Multimedia Messaging Service (MMS).
Short Message Service, commonly abbreviated as SMS, is a text messaging service component of most telephone, Internet and mobile device systems. It uses standardized communication protocols that let mobile phones exchange short text messages. Additionally, an intermediary service can facilitate a text-to-voice conversion to be sent to landlines.
The Universal Mobile Telecommunications System (UMTS) is a third generation mobile cellular system for networks based on the GSM standard. Developed and maintained by the 3GPP, UMTS is a component of the International Telecommunication Union IMT-2000 standard set and compares with the CDMA2000 standard set for networks based on the competing cdmaOne technology. UMTS uses wideband code-division multiple access (W-CDMA) radio access technology to offer greater spectral efficiency and bandwidth to mobile network operators.
In telecommunication, a public land mobile network (PLMN) is a combination of wireless communication services offered by a specific operator in a specific country. A PLMN typically consists of several cellular technologies like GSM/2G, UMTS/3G, LTE/4G, NR/5G, offered by a single operator within a given country, often referred to as a cellular network.
A SIMcard is an integrated circuit (IC) intended to securely store an international mobile subscriber identity (IMSI) number and its related key, which are used to identify and authenticate subscribers on mobile telephone devices. SIMs are also able to store address book contacts information, and may be protected using a PIN code to prevent unauthorized use.
Multimedia Messaging Service (MMS) is a standard way to send messages that include multimedia content to and from a mobile phone over a cellular network. Users and providers may refer to such a message as a PXT, a picture message, or a multimedia message. The MMS standard extends the core SMS capability, allowing the exchange of text messages greater than 160 characters in length. Unlike text-only SMS, MMS can deliver a variety of media, including up to forty seconds of video, one image, a slideshow of multiple images, or audio.
A personal unblocking key (PUK), sometimes called personal unblocking code (PUC), is used in SIM cards to reset a personal identification number (PIN) that has been lost or forgotten.
GSM services are a standard collection of applications and features available over the Global System for Mobile Communications (GSM) to mobile phone subscribers all over the world. The GSM standards are defined by the 3GPP collaboration and implemented in hardware and software by equipment manufacturers and mobile phone operators. The common standard makes it possible to use the same phones with different companies' services, or even roam into different countries. GSM is the world's most dominant mobile phone standard.
Customized Applications for Mobile networks Enhanced Logic (CAMEL) is a set of standards designed to work on either a GSM core network or the Universal Mobile Telecommunications System (UMTS) network. The framework provides tools for operators to define additional features for standard GSM services/UMTS services. The CAMEL architecture is based on the Intelligent Network (IN) standards, and uses the CAP protocol. The protocols are codified in a series of ETSI Technical Specifications.
The Mobile Application Part (MAP) is an SS7 protocol that provides an application layer for the various nodes in GSM and UMTS mobile core networks and GPRS core networks to communicate with each other in order to provide services to users. The Mobile Application Part is the application-layer protocol used to access the Home Location Register, Visitor Location Register, Mobile Switching Center, Equipment Identity Register, Authentication Centre, Short message service center and Serving GPRS Support Node (SGSN).
ETSI and 3rd Generation Partnership Project (3GPP) standards, such as GSM and LTE, define supplementary service codes that make it possible to query and set certain service parameters directly from mobile devices.
Cell Broadcast (CB) is a method of sending short messages to multiple mobile telephone users in a defined area at the same time. It is defined by the ETSI's GSM committee and 3GPP and is part of the 2G, 3G, 4G LTE (telecommunication) and 5G standards. It is also known as Short Message Service-Cell Broadcast . Unlike Short Message Service-Point to Point (SMS-PP), Cell Broadcast is a one-to-many geo-targeted and geo-fenced messaging service.
SIM Application Toolkit (STK) is a standard of the GSM system which enables the subscriber identity module to initiate actions which can be used for various value-added services. Similar standards exist for other network and card systems, with the USIM Application Toolkit (USAT) for USIMs used by newer-generation networks being an example. A more general name for this class of Java Card-based applications running on UICC cards is the Card Application Toolkit (CAT).
Unstructured Supplementary Service Data, or USSD is a communication protocol used by GSM cellular telephones to communicate with the service provider's computers. A gateway is the collection of hardware and software required to interconnect two or more disparate networks, including performing protocol conversion.
In the cellular phone industry, mobile phones and their networks sometimes support concatenated short message service to overcome the limitation on the number of characters that can be sent in a single SMS text message transmission. Using this method, long messages are split into smaller messages by the sending device and recombined at the receiving end. Each message is then billed separately. When the feature works properly, it is nearly transparent to the user, appearing as a single long text message. Previously, due to incompatibilities between providers and lack of support in some phone models, there was not widespread use of this feature.
The 3GPP has defined the Voice Call Continuity (VCC) specifications in order to describe how a voice call can be persisted, as a mobile phone moves between circuit switched and packet switched radio domains.
In mobile telephony GSM 03.38 or 3GPP 23.038 is a character encoding used in GSM networks for SMS, CB and USSD. The 3GPP TS 23.038 standard defines GSM 7-bit default alphabet which is mandatory for GSM handsets and network elements, but the character set is suitable only for English and a number of Western-European languages. Languages such as Chinese, Korean or Japanese must be transferred using the 16-bit UCS-2 character encoding. A limited number of languages, like Portuguese, Spanish, Turkish and a number of languages used in India written with a Brahmic scripts may use 7-bit encoding with national language shift table defined in 3GPP 23.038. For binary messages, 8-bit encoding is used.
GSM 03.40 or 3GPP TS 23.040 is a mobile telephony standard describing the format of the Transfer Protocol Data Units (TPDU) of the Short Message Transfer Protocol (SM-TP) used in the GSM networks to carry Short Messages. This format is used throughout the whole transfer of the message in the GSM mobile network. In contrast, application servers use different protocols, like Short Message Peer-to-Peer or Universal Computer Protocol, to exchange messages between them and the Short Message Service Center (SMSC).
Data Coding Scheme is a one-octet field in Short Messages (SM) and Cell Broadcast Messages (CB) which carries a basic information how the recipient handset should process the received message. The information includes: