Description
The User Plane Location Protocol (ULP) is a client-server protocol standardized jointly by 3GPP and the Open Mobile Alliance (OMA). It operates over IP-based user plane connections, typically using HTTP/HTTPS or SUPL as a transport layer, to facilitate the exchange of positioning-related information between a Secure User Plane Location (SUPL) Enabled Terminal (SET) – which is typically the User Equipment (UE) – and a SUPL Location Platform (SLP). The protocol carries messages for positioning procedures, including capabilities exchange, positioning method negotiation, and the delivery of assistance data or location measurements and results.
Architecturally, ULP messages are encapsulated within SUPL sessions. The SLP can act in two primary roles: the SUPL Location Center (SLC), which handles session management, privacy, and assistance data delivery, and the SUPL Positioning Center (SPC), which performs position calculation. The SET (UE) contains the SUPL Agent, which is the application requesting location, and the positioning engine. ULP defines a comprehensive set of message types, including SUPL START, SUPL RESPONSE, SUPL POS INIT, and SUPL END, which orchestrate the entire location session.
How it works involves a sequence of message exchanges. A location request triggers the SUPL Agent on the SET to initiate a ULP session by sending a SUPL START message to the SLP. This message includes the SET's capabilities and the desired Quality of Service (QoS). The SLP responds with a SUPL RESPONSE, indicating the chosen positioning method (e.g., A-GNSS, OTDOA, E-CID). Subsequently, a SUPL POS session is established where the SET and SLP exchange positioning-specific messages (using RRLP, RRC, or LPP/LLP protocols) to transfer assistance data, measurement data, and finally the computed location estimate. The session concludes with a SUPL END message.
Its role in the network is critical for commercial and regulatory location services. By using the user plane, it bypasses the need for core network signaling plane integration for every positioning technology, offering greater flexibility and faster deployment of new location features. It supports multiple positioning technologies, network-initiated and mobile-terminated location requests, and is foundational for emergency services like E911 and E112, as well as commercial applications like navigation and asset tracking.
Purpose & Motivation
ULP was created to provide a standardized, IP-based protocol for delivering location services over the user plane, addressing the limitations of control plane positioning methods. Prior to ULP, location services primarily relied on control plane signaling within the circuit-switched or packet-switched core network (e.g., using RRLP over the GSM/UMTS radio interface). This approach was tightly coupled to specific network architectures, making it complex to deploy new positioning methods and services across different operator networks and device types. The control plane methods could also incur significant signaling load on the core network.
The motivation for ULP, developed under the OMA SUPL standard and adopted by 3GPP, was to leverage the ubiquitous IP connectivity of data networks. By moving location signaling to the user plane, it decouples location services from the underlying radio access and core network technology. This allows for more rapid innovation and deployment of advanced positioning techniques (like A-GNSS and OTDOA) and services. It simplifies interoperability between handsets and location servers from different vendors.
Furthermore, ULP solves the problem of enabling high-accuracy, low-latency location services for emergency calls and commercial applications without overburdening the legacy circuit-switched infrastructure. It provides a secure, scalable framework (using HTTPS) that supports privacy controls, roaming scenarios, and a wide range of positioning protocols, making it the de facto standard for network-assisted GPS and hybrid positioning in modern mobile networks.
Classification
Detected Changes Across Releases
from 3GPP Change RequestsSpecific changes extracted from the „Change history“ tables of 3GPP specifications (15 CRs across 5 releases). Complements the general historical overview above with the evidence-based evolution of this function.
Studied in Rel-9, normative work from Rel-15.
In Release 15, the ULP function was enhanced for OTDOA positioning with the introduction of IMU (Inertial Measurement Unit) support and the new capability to request OTDOA assistance data specifically for NR (New Radio). Furthermore, the assistance data was expanded to include TDD UL/DL configuration and mechanisms for distinguishing the location source when sensor-based methods are utilized.
In Release 16, the ULP function was enhanced with new sensor-based location capabilities, specifically introducing support for Inertial Measurement Unit (IMU) data to aid OTDOA positioning. This allowed for distinguishing the location source when a sensor method is used. Additionally, the release updated assistance data for the BDS (BeiDou) satellite system in A-GNSS, including the introduction of the B1C signal and an update to the B1I signal ICD file.
In Release 17, the ULP function was enhanced to support the inclusion of NMEA GGA sentence information within high accuracy GNSS location estimates, as specified by the CR titled "NMEA GGA sentence info in high accuracy GNSS location estimates [HA-GNSS-NMEA]." This provides a standardized method for delivering detailed, human-readable GNSS fix data. No other specific new ULP features are indicated in the provided grounding context for this release.
- NMEA GGA sentence info in high accuracy GNSS location estimates [HA-GNSS-NMEA] TS 37.355CR0349
In Release 18, the key new feature for the User Plane Location Protocol (ULP) was the introduction of network verification of UE location, as defined in TS 37.355. This release also added LPP support for sub-1-second location information reporting periodicity, enabling much faster location updates. Furthermore, corrections were made to the newly introduced network verification procedure and to the assistance data parameters for GNSS-AlmanacSupport and GNSS-UTC-ModelSupport in A-GNSS positioning.
- Introduction of network verification of UE location in TS 37.355 TS 37.355CR0482
- LPP support for sub 1s location information reporting periodicity [Sub_1s_periodicity] TS 37.355CR0501
- Correction on network verification of UE location TS 37.355CR0511
- Correction on GNSS-AlmanacSupport and GNSS-UTC-ModelSupport in A-GNSS positioning TS 37.355CR0518
In Release 19, the ULP function was enhanced within the LTE Positioning Protocol (LPP) to support new global navigation satellite systems for Assisted GNSS (A-GNSS). Specifically, the release introduced support for the NavIC L1 SPS signal and added the B2b signal for the BeiDou (BDS) system. These additions expanded the range of satellite signals available for precise user equipment positioning.
Explore further
Broader topics and technologies where ULP plays a role.
Defining Specifications
3GPP specifications that define or reference ULP, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TS 36.355 vj00 | LTE Positioning Protocol (LPP) | Rel-19 |
| TS 37.355 vj20 | LTE Positioning Protocol (LPP) | Rel-19 |