GPL

Generic Push Layer

Services
Introduced in Rel-8
The Generic Push Layer (GPL) is a standardized service layer defined by 3GPP to enable the reliable and secure delivery of push notifications and messages to mobile devices. It provides a common framework for push-based services, abstracting underlying network details and ensuring interoperability across different operators and service providers.

Description

The Generic Push Layer (GPL) is a service capability layer specified in 3GPP TS 33.224. It functions as an intermediary between push service providers (PSPs) and the mobile network operator's (MNO) infrastructure, standardizing the interface and procedures for delivering push content to User Equipment (UE). The GPL architecture is designed to be network-agnostic, supporting delivery over various access technologies including 3G, 4G, and 5G. Its primary role is to receive push requests from authorized PSPs, authenticate and authorize these requests, and then reliably forward the push content to the target UE via the appropriate network delivery mechanisms.

At its core, GPL defines a set of standardized APIs and protocols for the Push Initiator (PI), which is the PSP's entity, to communicate with the Push Proxy Gateway (PPG) within the MNO's domain. The PPG is the key network function that interfaces with the core network to locate the subscriber and deliver the message. The GPL ensures secure communication between the PI and PPG using mechanisms like mutual authentication and message integrity protection, as defined in the security specifications. It also handles aspects like message formatting, prioritization, and delivery status reporting back to the service provider.

The layer manages the entire push transaction lifecycle. Upon receiving a push request, the PPG performs subscriber authorization checks, determines the UE's reachability status (e.g., attached, reachable for push), and selects the optimal delivery method. This could involve triggering network-initiated procedures to establish a data connection if the UE is in idle mode. GPL supports different push content types, including notifications to wake up an application (like for rich communication services) or the delivery of small data payloads. Its design decouples the service logic of the push provider from the complexities of the mobile network's mobility and session management, providing a scalable and secure platform for push-based services.

Purpose & Motivation

The Generic Push Layer was created to address the fragmentation and lack of standardization in early mobile push notification mechanisms. Before GPL, service providers often relied on proprietary or non-interoperable methods (like specific SMS gateways or persistent data connections) to deliver notifications, leading to inconsistent user experiences, security vulnerabilities, and inefficient use of network and device resources. The proliferation of always-on applications requiring timely updates (e.g., email, instant messaging, app notifications) necessitated a network-efficient and reliable standard.

GPL solves these problems by providing a unified, standardized interface within the 3GPP architecture. It enables any authorized service provider to reliably reach a subscriber's device in a battery-efficient manner, leveraging the network's knowledge of subscriber state. This standardization reduces development complexity for application providers and ensures secure, authenticated delivery controlled by the operator. It was motivated by the need to support emerging IP-based multimedia services and machine-type communication, where efficient network-initiated communication is crucial without requiring the device to maintain a constant active data connection, thereby conserving device battery life.

Key Features

  • Standardized interface (Pp) between Push Initiator and Push Proxy Gateway
  • Support for secure, authenticated push requests from service providers
  • Network-efficient UE reachability management and wake-up mechanisms
  • Delivery status reporting and acknowledgement to the Push Initiator
  • Support for various push content types and prioritization levels
  • Operator-controlled authorization and policy enforcement for push services

Evolution Across Releases

Rel-8 Initial

Introduced the Generic Push Layer architecture with the Push Proxy Gateway (PPG) and Push Initiator (PI) roles. Defined the baseline security framework in TS 33.224 for authenticating push requests and protecting push messages, establishing the foundational model for standardized network-assisted push services.

Defining Specifications

SpecificationTitle
TS 33.224 3GPP TR 33.224