SAF

Service Announcement Function

Services →
Introduced in Rel-14

SAF is the Service Announcement Function, a 5G network function that acts as a service registry for the dynamic discovery and announcement of available services to Network Functions and Application Functions.

Category
Services
Introduced
Rel-14
Where
Services › Codecs
Specifications
2 specs
SAF Description Purpose Related Classification Detected Changes Specifications

Description

The Service Announcement Function (SAF) is a critical component within the 5G Core (5GC) network's Service-Based Architecture (SBA). It operates as a specialized repository or registry that manages the availability and accessibility of services offered by various Network Functions (NFs) and authorized external Application Functions (AFs). In the SBA paradigm, network capabilities are exposed as reusable services with well-defined APIs, and the SAF provides the mechanism for these services to be discovered.

Architecturally, the SAF is a standalone Network Function that interacts with other NFs via the service-based interfaces, primarily using HTTP/2 with JSON. It typically works in conjunction with the Network Repository Function (NRF), which is the primary discovery broker in the 5GC. While the NRF handles the registration and discovery of NF instances (e.g., finding a specific AMF or SMF), the SAF focuses on the services or service capabilities *within* or *available to* the network. It announces what services are available, their endpoints, supported versions, and any associated metadata like geographic location or supported data network names (DNNs).

How it works involves a publish-subscribe model. A service producer (e.g., an AF providing a latency-sensitive gaming service or a Location Management Function) registers its service profile with the SAF. This profile includes a service name, version, endpoint URI, and other descriptors. Service consumers (other NFs or AFs) can then query the SAF to discover available services that match certain criteria. For example, an edge application server (AF) could announce its presence and capabilities via the SAF, allowing a User Plane Function (UPF) or a Session Management Function (SMF) to discover it for localized traffic routing or policy enforcement. The SAF may also proactively push service availability notifications to subscribed consumers when new services are registered or existing ones change state.

Its role is pivotal for enabling dynamic, flexible service orchestration, especially in edge computing and network slicing scenarios. It decouples service providers from consumers, allowing for agile deployment and scaling of new services without requiring manual reconfiguration of all dependent functions. By providing a centralized view of available services, the SAF facilitates automation, supports service continuity during mobility, and is a key enabler for exposing network capabilities to vertical industry applications in a controlled manner, fulfilling 5G's promise of network programmability.

Purpose & Motivation

The SAF was created to address a key challenge in the 5G Service-Based Architecture: efficient and dynamic service discovery beyond simple NF instance discovery. While the NRF efficiently manages the lifecycle and discovery of NF *instances* (like finding an available SMF), the evolving 5G ecosystem, with its emphasis on edge computing, network slicing, and vertical industry integration, required a more granular mechanism. Applications and network functions needed a way to discover specific *service capabilities* (e.g., a video analytics service at a specific edge location, a particular API for quality of experience reporting) that might be offered by various entities, not just standardized NFs.

Prior to SAF, service exposure and discovery were more static or required direct, pre-configured relationships between functions, which was inflexible and unscalable. The limitations of previous approaches became apparent with the need for low-latency edge applications, where an application on a device must dynamically discover the nearest instance of a service (like a game server or AR processing engine). Manual configuration could not keep pace with the mobility of users and the elastic scaling of services in the cloud.

The primary problem SAF solves is enabling a marketplace of services within the 5G network. It allows Application Functions (AFs), which can be third-party applications, to announce their services to the network core, and for core NFs to discover and utilize these services for enhanced session management, policy control, or traffic steering. This was motivated by the need to support new business models, such as Network as a Service (NaaS), and to fulfill 5G's vision of being a platform for innovation, where vertical industries can seamlessly integrate their applications with network capabilities for optimized performance.

Classification

Part ofCAPIF
Related approachesNRF

Detected Changes Across Releases

from 3GPP Change Requests

Specific changes extracted from the „Change history“ tables of 3GPP specifications (2 CRs across 1 releases). Complements the general historical overview above with the evidence-based evolution of this function.

Studied in Rel-14, normative work from Rel-16.

Rel-16 2 changes

In Release 16, the SAF (Service Announcement Function) was enhanced with an xMB adaptation for CAPIF, which involved corrections to this adaptation. This specifically allowed the SAF to make service announcement information available via both MBMS broadcast and unicast delivery, as detailed in the provisioning and session update procedures.

  • xMB adaptation for CAPIF TS 29.116CR0040
  • Correct xMB adaptation for CAPIF TS 29.116CR0042

Explore further

Broader topics and technologies where SAF plays a role.

Defining Specifications

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

SpecificationTitleRelease
TR 26.981 vj00 MBMS Provisioning & Content Ingestion Interface Study Rel-19
TS 29.116 vj00 REST-based protocol for xMB reference point Rel-19