Description
The Supplementary Service Control string (SSC) is a user-friendly, dialable string format standardized across 3GPP specifications (e.g., TS 24.526, TS 29.508) for the control of supplementary services. It is the human-machine interface that allows a subscriber to issue commands to the network to manage services like Call Forwarding Unconditional (CFU), Call Barring (BAOC), or Call Waiting (CW). A typical SSC has a structured syntax: a prefix (often '*' or '#'), a service code (a two-digit number identifying the service, e.g., 21 for CFU), an operation code (a single digit for activate, deactivate, register, erase, or interrogate), and optionally, supplementary information such as a target phone number or a password. For example, **21*+123456789# might activate CFU to the number +123456789.
When a user dials an SSC and presses the send/call button, the mobile handset does not treat it as a normal phone call. Instead, it packages the string into a signaling message, specifically a FACILITY or REGISTER message within a call control protocol like DTAP (Direct Transfer Application Part). This message is sent over the radio interface to the MSC (Mobile Switching Centre). The MSC's Call Control function receives the message, parses the SSC according to the standardized syntax, and interprets the requested operation. The MSC then interacts with the relevant network databases—primarily the VLR (Visitor Location Register) and the HLR (Home Location Register)—to execute the command. For registration or interrogation, the MSC may communicate with the HLR via MAP (Mobile Application Part) to update or retrieve the subscriber's service profile.
The SSC mechanism works in conjunction with the network's service logic. For basic services, the MSC can process the SSC directly. For more advanced services or those involving CAMEL control, the MSC may involve the gsmSCF. The standardization of the SSC syntax ensures interoperability between handsets from any manufacturer and networks from any operator, providing a consistent user experience globally. It is a key part of the Man-Machine Interface (MMI) for telecommunications services. While modern smartphones often manage these services through graphical menus or apps, those interfaces ultimately generate the standardized SSC strings for transmission to the network, ensuring backward compatibility.
Purpose & Motivation
The Supplementary Service Control string was created to provide a simple, uniform, and subscriber-empowering method for controlling network-based features. Before its standardization, the activation of services like call forwarding might have required a call to customer service or the use of proprietary, operator-specific codes, leading to a poor user experience and hindering subscriber mobility across different networks. The SSC standard solved this by defining a universal, dialable code language that works on any GSM/UMTS/LTE/5G phone on any compliant network.
Its primary purpose is to enable subscriber self-provisioning and management of supplementary services. This reduces operational costs for network operators by minimizing calls to customer support centers for simple service changes. It also empowers users, giving them immediate control over their telephony features. The structured syntax, with distinct fields for service, operation, and parameters, allows for a wide range of services to be controlled through a consistent and memorable pattern (e.g., *21* for forwarding, *33* for barring).
Historically, the SSC concept was introduced in the early GSM standards (R99) and has been maintained through every subsequent release, including 5G. Its longevity is a testament to its effectiveness as a simple yet powerful user interface mechanism. While new provisioning methods like OMA DM (Open Mobile Alliance Device Management) or HTTP-based interfaces (for 5G) have emerged, the SSC remains a fundamental fallback and a widely understood method for service control, ensuring accessibility and interoperability across decades of mobile technology evolution.
Key Features
- Standardized dialable string format for subscriber service control
- Uses a syntax of prefix, service code, operation code, and parameters
- Enables activation, deactivation, registration, erasure, and interrogation of services
- Transported via call control signaling (e.g., FACILITY message) to the MSC
- Provides a consistent user experience across all networks and handsets
- Supports a wide range of supplementary services (call forwarding, barring, waiting, etc.)
Evolution Across Releases
The Supplementary Service Control string was introduced in GSM Release 1999 (R99) as the primary user interface for controlling GSM supplementary services. Its initial architecture defined the basic syntax using '*' and '#' prefixes, two-digit service codes, and operation codes. It specified how the handset should send the string in a FACILITY message to the MSC for processing, establishing the foundational self-service mechanism.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.905 | 3GPP TS 21.905 |
| TS 23.501 | 3GPP TS 23.501 |
| TS 24.526 | 3GPP TS 24.526 |
| TS 25.211 | 3GPP TS 25.211 |
| TS 25.213 | 3GPP TS 25.213 |
| TS 26.803 | 3GPP TS 26.803 |
| TS 26.891 | 3GPP TS 26.891 |
| TS 28.844 | 3GPP TS 28.844 |
| TS 29.109 | 3GPP TS 29.109 |
| TS 29.508 | 3GPP TS 29.508 |
| TS 29.512 | 3GPP TS 29.512 |
| TS 29.514 | 3GPP TS 29.514 |
| TS 29.520 | 3GPP TS 29.520 |
| TS 29.525 | 3GPP TS 29.525 |
| TS 29.561 | 3GPP TS 29.561 |
| TS 29.890 | 3GPP TS 29.890 |
| TS 31.111 | 3GPP TR 31.111 |
| TS 32.255 | 3GPP TR 32.255 |
| TS 32.291 | 3GPP TR 32.291 |
| TS 32.899 | 3GPP TR 32.899 |
| TS 33.919 | 3GPP TR 33.919 |