Menu
Latest
12 meetings · Prague, Jeju · 12–16 Oct
Reports
RAN1#126-bis · SA2#177

Glossary term · Identifier

SP code

Service Provider code

Identifier →

SP code is a SIM/USIM code that, when combined with the network code, uniquely identifies a Service Provider to allow the mobile equipment to select the correct service provider profile.

Introduced
Rel-4
Where
Services
Specifications
2 specs
SP code Description Purpose What changed Neighbours Specifications

Description

The SP code (Service Provider code) is a parameter defined in 3GPP TS 21.905 and TS 22.022, used in the context of the (U)SIM application toolkit and network selection procedures. It is a code that, when combined with the network code, refers to a unique Service Provider (SP). The SP code is stored in the GID1 file on the SIM/USIM and is correspondingly stored on the Mobile Equipment (ME). Its primary function is to enable the ME to associate a specific service provider with a network, thereby facilitating correct network selection and service provisioning.

The GID1 file (Group Identifier Level 1) is a standard elementary file on the SIM/USIM that contains one or more SP code group entries. Each entry consists of a network code (which identifies the mobile network operator, MNC/MCC) and an SP code (which identifies the service provider). Together, the network code and SP code form an SP code group. The ME reads the GID1 file and stores the SP code groups internally. When the ME attempts to access a network, it can compare the network's identity (e.g., PLMN ID) with the stored SP code groups to determine whether the network is associated with a particular service provider for which the SIM has a subscription.

This mechanism is particularly relevant for Mobile Virtual Network Operators (MVNOs) and service providers that do not own their own radio access network but lease capacity from a host network operator. In such scenarios, the SIM may contain SP codes that allow the ME to identify the host network as a valid access network for the service provider. The SP code thus enables the separation of network operator and service provider identities, which is essential for the commercial model of MVNOs.

The SP code is part of a broader set of identifiers used in (U)SIM-based network selection, including the HPLMN (Home Public Land Mobile Network) selector, the Operator Controlled PLMN selector, and the User Controlled PLMN selector. The GID1 file and SP code mechanism provide an additional layer of control for service providers to influence which networks the ME can access. The ME's behaviour with respect to SP codes is specified in TS 22.022 (Personalisation of Mobile Equipment) and related terminal conformance specifications.

From a security and personalisation perspective, the SP code can be used in conjunction with ME personalisation features, where a ME may be locked to a specific service provider. The SP code group (combination of SP code and network code) serves as a unique identifier for that service provider-network pair. This allows the ME to enforce personalisation policies, such as restricting the ME to only work with SIMs that contain a matching SP code group. The SP code is therefore not only a network selection aid but also a tool for commercial locking and service differentiation.

In summary, the SP code is a compact identifier that, together with the network code, uniquely identifies a service provider within the context of a mobile network. Its storage on the SIM/USIM and the ME ensures that both the subscription and the device can agree on which service providers are authorised, enabling flexible business models and correct network selection.

Purpose & Motivation

The SP code was introduced to address the need for distinguishing between network operators and service providers in mobile communications. In the early days of GSM, the network operator and the service provider were typically the same entity. However, with the emergence of MVNOs and resellers, it became necessary to allow a SIM card to be associated with a service provider that may not own the radio network. The SP code, combined with the network code, provides a unique identifier for such service provider-network pairs, enabling the ME to select the appropriate network and apply any personalisation policies.

Before the SP code mechanism, network selection was based solely on PLMN identity (MCC/MNC). This was sufficient for traditional operators but inadequate for MVNOs, which needed a way to indicate their presence on a host network. The GID1 file and SP code group mechanism, standardised in 3GPP, provided a standardised solution that could be implemented on the SIM/USIM and supported by the ME. It allowed service providers to have a distinct identity within the network selection process without requiring changes to the core network infrastructure.

Furthermore, the SP code supports ME personalisation, a commercial practice where a mobile device is locked to a specific service provider. By storing the SP code group on both the SIM and the ME, the device can verify that the inserted SIM belongs to the authorised service provider. This protects the investment of service providers who subsidise handsets. The SP code thus serves both technical and commercial purposes, making it a versatile identifier in the 3GPP ecosystem.

What changed in its specifications

The latest release-to-release comparison of specifications that define SP code. Each summary describes the whole specification, not only this term.

TR 21.905Rel-17 → Rel-18

Rel-18 brings only minor changes to TS 21.905: 0 clauses changed, with no change attributed to a release feature.

Full comparison in TR 21.905 →

Release Timeline

Evolution Across Releases

An overview written from the defining specifications, not a verified change history. For the exact text, open the specifications listed below.

Rel-4 Initial

Initial definition in TS 21.905: 'code which when combined with the network code refers to a unique SP. The code is provided in the GID1 file on the SIM/USIM (see Annex A.1.) and is correspondingly stored on the ME.'

Definition carried over unchanged from Rel-4. No textual changes in TS 21.905.

Definition carried over unchanged from Rel-4. No textual changes in TS 21.905.

Definition carried over unchanged from Rel-4. No textual changes in TS 21.905.

Definition carried over unchanged from Rel-4. No textual changes in TS 21.905.

Definition carried over unchanged from Rel-4. No textual changes in TS 21.905.

Definition carried over unchanged from Rel-4. No textual changes in TS 21.905.

Definition carried over unchanged from Rel-4. No textual changes in TS 21.905.

Definition carried over unchanged from Rel-4. No textual changes in TS 21.905.

Definition carried over unchanged from Rel-4. No textual changes in TS 21.905.

Definition carried over unchanged from Rel-4. No textual changes in TS 21.905.

Definition carried over unchanged from Rel-4. No textual changes in TS 21.905.

Definition carried over unchanged from Rel-4. No textual changes in TS 21.905.

Definition carried over unchanged from Rel-4. No textual changes in TS 21.905.

Definition carried over unchanged from Rel-4. No textual changes in TS 21.905.

Definition carried over unchanged from Rel-4. No textual changes in TS 21.905.

Defining Specifications

3GPP specifications that define or reference SP code, with the latest known release. Sourced from the 3GPP document catalog — see methodology.

SpecificationTitleRelease
TR 21.905 vj20 3GPP Terminology and Definitions Rel-19 read
TS 22.022 vj00 ME Personalisation Features for GSM/3G Rel-19 read