SLP

Service Location Protocol

Protocol
Introduced in Rel-7
A protocol defined by 3GPP for discovering and selecting location-based services and servers within a network. It enables User Equipment (UE) to locate services like positioning servers (e.g., SLP) and is fundamental for location-based applications and emergency services. It ensures efficient service discovery and network resource utilization.

Description

The Service Location Protocol (SLP) is an IETF-defined protocol (RFC 2608) adopted and profiled by 3GPP for use within its architecture, primarily to facilitate service discovery. In the 3GPP context, SLP is a key enabler for location services (LCS), allowing a client, such as User Equipment (UE) or a network entity, to discover the address of a location server, most notably the Secure User Plane Location (SUPL) Location Platform (SLP). The protocol operates in a client-server model where User Agents (UAs) issue service requests and Service Agents (SAs) advertise services. Directory Agents (DAs) can optionally be used as centralized repositories for service advertisements, improving scalability in large networks. The protocol uses service URLs and attributes to describe services, and discovery can be performed via multicast or unicast. For 3GPP, SLP is often used in the SUPL architecture, where a SUPL Enabled Terminal (SET) uses SLP to discover the address of its Home SLP (H-SLP) or a Discovered SLP (D-SLP) to initiate a positioning session. This discovery is crucial for establishing a secure user-plane connection for delivering location information. The protocol supports authentication and provides a flexible framework for finding various types of services beyond just location, though its primary 3GPP application is within the SUPL ecosystem. Its integration allows for decentralized service discovery without requiring pre-configuration of server addresses in every device, enhancing flexibility and manageability for network operators.

Purpose & Motivation

SLP was introduced to solve the problem of dynamic service discovery in IP-based networks, which became increasingly relevant with the rise of mobile data services and location-based applications. Prior to standardized service discovery, devices often required manual configuration of server addresses (like a home location server), which was inflexible, difficult to manage at scale, and hindered service portability and roaming. The protocol provides a standardized, automated method for clients to find necessary network services. Within 3GPP, its adoption, particularly starting in Release 7 with SUPL 1.0, was motivated by the need for an efficient user-plane location solution. SLP enables a SUPL Enabled Terminal to dynamically discover its appropriate SLP, whether it's the home network's SLP or a visited network's SLP during roaming. This capability is essential for emergency services (e.g., E911), commercial location services, and regulatory compliance, as it ensures a device can always find a positioning server without user intervention. It decouples the client from a static network configuration, allowing operators to deploy and relocate servers more freely and support a growing ecosystem of location-based services.

Key Features

  • Standardized service discovery mechanism using service URLs and attributes
  • Supports three agent types: User Agent (UA), Service Agent (SA), and Directory Agent (DA)
  • Enables both multicast and unicast discovery modes for flexibility in network design
  • Provides a framework for service authentication and security
  • Central to the SUPL architecture for discovering Home SLP (H-SLP) and Discovered SLP (D-SLP)
  • Language-independent and extensible for various service types beyond location

Evolution Across Releases

Rel-7 Initial

Initially introduced in 3GPP for SUPL 1.0. Defined the use of SLP for the SUPL Enabled Terminal (SET) to discover the address of the Secure User Plane Location (SUPL) Location Platform (SLP). Established the basic framework for user-plane location service discovery, supporting emergency and commercial services.

Defining Specifications

SpecificationTitle
TS 21.905 3GPP TS 21.905
TS 23.167 3GPP TS 23.167
TS 23.271 3GPP TS 23.271
TS 23.303 3GPP TS 23.303
TS 23.700 3GPP TS 23.700
TS 23.730 3GPP TS 23.730
TS 23.868 3GPP TS 23.868
TS 29.078 3GPP TS 29.078
TS 29.171 3GPP TS 29.171
TS 29.278 3GPP TS 29.278
TS 29.819 3GPP TS 29.819
TS 33.533 3GPP TR 33.533
TS 36.305 3GPP TR 36.305
TS 36.355 3GPP TR 36.355
TS 36.809 3GPP TR 36.809
TS 36.840 3GPP TR 36.840
TS 37.355 3GPP TR 37.355
TS 38.305 3GPP TR 38.305