|
TECHNICAL SPECIFICATION
5G;
5G System;
Technical Realization of Service Based Architecture;
Stage 3
(3GPP TS 29.500 version 15.1.0 Release 15)
---------------------- Page: 1 ----------------------
3GPP TS 29.500 version 15.1.0 Release 15 1 ETSI TS 129 500 V15.1.0 (2018-10)
Reference
RTS/TSGC-0429500vf10
Keywords
5G
ETSI
650 Route des Lucioles
F-06921 Sophia Antipolis Cedex - FRANCE
Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16
Siret N° 348 623 562 00017 - NAF 742 C
Association à but non lucratif enregistrée à la
Sous-Préfecture de Grasse (06) N° 7803/88
Important notice
The present document can be downloaded from:
The present document may be made available in electronic versions and/or in print. The content of any electronic and/or
print versions of the present document shall not be modified without the prior written authorization of ETSI. In case of any
existing or perceived difference in contents between such versions and/or in print, the only prevailing document is the
print of the Portable Document Format (PDF) version kept on a specific network drive within ETSI Secretariat.
Users of the present document should be aware that the document may be subject to revision or change of status.
Information on the current status of this and other ETSI documents is available at
If you find errors in the present document, please send your comment to one of the following services:
Copyright Notification
No part may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying
and microfilm except as authorized by written permission of ETSI.
The content of the PDF version shall not be modified without the written authorization of ETSI.
The copyright and the foregoing restriction extend to reproduction in all media.
© ETSI 2018.
All rights reserved.
TM TM TM
DECT , PLUGTESTS , UMTS and the ETSI logo are trademarks of ETSI registered for the benefit of its Members.
TM TM
3GPP and LTE are trademarks of ETSI registered for the benefit of its Members and
of the 3GPP Organizational Partners.
oneM2M logo is protected for the benefit of its Members.
GSM and the GSM logo are trademarks registered and owned by the GSM Association.
ETSI
---------------------- Page: 2 ----------------------
3GPP TS 29.500 version 15.1.0 Release 15 2 ETSI TS 129 500 V15.1.0 (2018-10)
Intellectual Property Rights
Essential patents
IPRs essential or potentially essential to normative deliverables may have been declared to ETSI. The information
pertaining to these essential IPRs, if any, is publicly available for ETSI members and non-members, and can be found
in ETSI SR 000 314: "Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to ETSI in
respect of ETSI standards", which is available from the ETSI Secretariat. Latest updates are available on the ETSI Web
server (https://ipr.etsi.org/).
Pursuant to the ETSI IPR Policy, no investigation, including IPR searches, has been carried out by ETSI. No guarantee
can be given as to the existence of other IPRs not referenced in ETSI SR 000 314 (or the updates on the ETSI Web
server) which are, or may be, or may become, essential to the present document.
Trademarks
The present document may include trademarks and/or tradenames which are asserted and/or registered by their owners.
ETSI claims no ownership of these except for any which are indicated as being the property of ETSI, and conveys no
right to use or reproduce any trademark and/or tradename. Mention of those trademarks in the present document does
not constitute an endorsement by ETSI of products, services or organizations associated with those trademarks.
Foreword
This Technical Specification (TS) has been produced by ETSI 3rd Generation Partnership Project (3GPP).
The present document may refer to technical specifications or reports using their 3GPP identities, UMTS identities or
GSM identities. These should be interpreted as being references to the corresponding ETSI deliverables.
The cross reference between GSM, UMTS, 3GPP and ETSI identities can be found under
.
Modal verbs terminology
In the present document "shall", "shall not", "should", "should not", "may", "need not", "will", "will not", "can" and
"cannot" are to be interpreted as described in clause 3.2 of the ETSI Drafting Rules (Verbal forms for the expression of
provisions).
"must" and "must not" are NOT allowed in ETSI deliverables except when used in direct citation.
ETSI
---------------------- Page: 3 ----------------------
3GPP TS 29.500 version 15.1.0 Release 15 3 ETSI TS 129 500 V15.1.0 (2018-10)
Contents
Intellectual Property Rights . 2
Foreword . 2
Modal verbs terminology . 2
Foreword . 5
1 Scope . 6
2 References . 6
3 Definitions and abbreviations . 7
3.1 Definitions . 7
3.2 Abbreviations . 7
4 Service Based Architecture Overview. 7
4.1 NF Services . 7
4.2 Service Based Interfaces . 7
4.3 NF Service Framework . 8
4.3.1 General . 8
4.3.2 NF Service Advertisement URI . 8
5 Protocols Over Service Based Interfaces . 8
5.1 Protocol Stack Overview . 8
5.2 HTTP/2 Protocol . 9
5.2.1 General . 9
5.2.2 HTTP standard headers . 9
5.2.2.1 General . 9
5.2.2.2 Mandatory to support HTTP standard headers . 9
5.2.3 HTTP custom headers . 11
5.2.3.1 General . 11
5.2.3.2 Mandatory to support custom headers. 11
5.2.3.2.1 General . 11
5.2.3.2.2 3gpp-Sbi-Message-Priority . 11
5.2.4 HTTP error handling . 12
5.2.5 HTTP/2 server push . 12
5.2.6 HTTP/2 connection management . 12
5.2.7 HTTP status codes . 12
5.2.7.1 General . 12
5.2.7.2 NF as HTTP Server . 13
5.2.7.3 NF as HTTP Client . 15
5.2.8 HTTP/2 request retries . 16
5.3 Transport Protocol . 16
5.4 Serialization Protocol . 16
5.5 Interface Definition Language . 17
6 General Functionalities in Service Based Architecture . 17
6.1 Routing Mechanisms . 17
6.1.1 General . 17
6.1.2 Identifying a target resource . 17
6.1.3 Connecting inbound . 17
6.1.4 Pseudo-header setting . 17
6.1.4.1 General . 17
6.1.4.2 Routing within a PLMN . 18
6.1.4.3 Routing across PLMN . 18
6.1.5 Host header . 18
6.1.6 Message forwarding . 18
6.2 Server-Initiated Communication . 18
6.3 Load Control . 19
6.4 Overload Control . 19
6.4.1 General . 19
ETSI
---------------------- Page: 4 ----------------------
3GPP TS 29.500 version 15.1.0 Release 15 4 ETSI TS 129 500 V15.1.0 (2018-10)
6.4.2 HTTP Status Code "503 Service Unavailable" . 19
6.4.3 HTTP Status Code "429 Too Many Requests" . 20
6.4.4 HTTP Status Code "307 Temporary Redirect" . 20
6.5 Support of Stateless NFs . 20
6.5.1 General . 20
6.5.2 Stateless AMFs . 20
6.5.2.1 General . 20
6.5.2.2 AMF as service consumer . 20
6.5.2.3 AMF as service producer . 21
6.6 Extensibility Mechanisms . 22
6.6.1 General . 22
6.6.2 Feature negotiation . 22
6.6.3 Vendor-specific extensions . 23
6.7 Security Mechanisms . 23
6.7.1 General . 23
6.7.2 Transport layer security protection of messages . 24
6.7.3 Authorization of NF service access . 24
6.7.4 Application layer security across PLMN . 24
6.7.4.1 General . 24
6.7.4.2 N32 Procedures . 24
6.8 SBI Message Priority Mechanism . 25
6.8.1 General . 25
6.8.2 Message level priority . 25
6.8.3 Stream priority . 25
6.8.4 Recommendations when defining SBI Message Priorities . 26
6.8.5 HTTP/2 client behaviour . 26
6.8.6 HTTP/2 server behaviour . 27
6.8.7 HTTP/2 proxy behaviour . 27
6.8.8 DSCP marking of messages . 27
Annex A (informative): Client-side Adaptive Throttling for Overload Control . 27
Annex B (informative): Change history . 28
History . 30
ETSI
---------------------- Page: 5 ----------------------
3GPP TS 29.500 version 15.1.0 Release 15 5 ETSI TS 129 500 V15.1.0 (2018-10)
Foreword
This Technical Specification has been produced by the 3rd Generation Partnership Project (3GPP).
The contents of the present document are subject to continuing work within the TSG and may change following formal
TSG approval. Should the TSG modify the contents of the present document, it will be re-released by the TSG with an
identifying change of release date and an increase in version number as follows:
Version x.y.z
where:
x the first digit:
1 presented to TSG for information;
2 presented to TSG for approval;
3 or greater indicates TSG approved document under change control.
y the second digit is incremented for all changes of substance, i.e. technical enhancements, corrections,
updates, etc.
z the third digit is incremented when editorial only changes have been incorporated in the document.
ETSI
---------------------- Page: 6 ----------------------
3GPP TS 29.500 version 15.1.0 Release 15 6 ETSI TS 129 500 V15.1.0 (2018-10)
1 Scope
The present document specifies the technical realization of the 5GC Service Based Architecture, protocols supported
over the Service Based Interfaces, and the functionalities supported in the Service Based Architecture.
The service requirements for the 5G system are defined in 3GPP TS 22.261 [2]. The system architecture requirements
are defined in 3GPP TS 23.501 [3] and the procedures and flows in 3GPP TS 23.502 [4].
The design principles and documentation guidelines for 5GC SBI APIs are specified in 3GPP TS 29.501 [5].
2 References
The following documents contain provisions which, through reference in this text, constitute provisions of the present
document.
- References are either specific (identified by date of publication, edition number, version number, etc.) or
non-specific.
- For a specific reference, subsequent revisions do not apply.
- For a non-specific reference, the latest version applies. In the case of a reference to a 3GPP document (including
a GSM document), a non-specific reference implicitly refers to the latest version of that document in the same
Release as the present document.
[1] 3GPP TR 21.905: "Vocabulary for 3GPP Specifications".
[2] 3GPP TS 22.261: "Service requirements for the 5G system; Stage 1".
[3] 3GPP TS 23.501: "System Architecture for the 5G System; Stage 2".
[4] 3GPP TS 23.502: "Procedures for the 5G System; Stage 2".
[5] 3GPP TS 29.501: "5G System; Principles and Guidelines for Services Definition; Stage 3".
[6] IETF RFC 793: "Transmission Control Protocol".
[7] IETF RFC 7540: "Hypertext Transfer Protocol Version 2 (HTTP/2)".
[8] 3GPP TS 29.510: "5G System; Network Function Repository Services; Stage 3".
[9] OpenAPI: "OpenAPI 3.0.0 Specification", https://github.com/OAI/OpenAPI-
Specification/blob/master/versions/3.0.0.md.
[10] IETF RFC 8259: "The JavaScript Object Notation (JSON) Data Interchange Format".
[11] IETF RFC 7231: "Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content".
[12] IETF RFC 7230: "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing".
[13] 3GPP TS 29.571: "5G System; Common Data Types for Service Based Interfaces Stage 3".
[14] IETF RFC 3986: "Uniform Resource Identifier (URI): Generic Syntax".
[15] 3GPP TS 23.003: "Numbering, addressing and identification".
[16] IETF RFC 5681: "TCP Congestion Control".
[17] 3GPP TS 33.501: "Security Architecture and Procedures for 5G System".
[18] IANA: "SMI Network Management Private Enterprise Codes",
http://www.iana.org/assignments/enterprise-numbers.
[19] IETF RFC 7944: "Diameter Routing Message Priority".
[20] IETF RFC 7234: "Hypertext Transfer Protocol (HTTP/1.1): Caching".
ETSI
---------------------- Page: 7 ----------------------
3GPP TS 29.500 version 15.1.0 Release 15 7 ETSI TS 129 500 V15.1.0 (2018-10)
[21] IETF RFC 7235: " Hypertext Transfer Protocol (HTTP/1.1): Authentication".
[22] IETF RFC 6749: "The OAuth 2.0 Authorization Framework".
[23] IETF RFC 6750: "The OAuth 2.0 Authorization Framework: Bearer Token Usage".
[24] IETF RFC 7232: "Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests".
[25] IETF RFC 7516: "JSON Web Encryption (JWE)".
[26] IETF RFC 7515: "JSON Web Signature (JWS)".
[27] 3GPP TS 29.573: "5G System: Public Land Mobile Network (PLMN) Interconnection; Stage 3".
3 Definitions and abbreviations
3.1 Definitions
For the purposes of the present document, the terms and definitions given in 3GPP TR 21.905 [1] and the following
apply. A term defined in the present document takes precedence over the definition of the same term, if any, in
3GPP TR 21.905 [1].
3.2 Abbreviations
For the purposes of the present document, the abbreviations given in 3GPP TR 21.905 [1] and the following apply. An
abbreviation defined in the present document takes precedence over the definition of the same abbreviation, if any, in
3GPP TR 21.905 [1].
HTTP Hypertext Transfer Protocol
TCP Transmission Control Protocol
SMP SBI Message Priority
4 Service Based Architecture Overview
4.1 NF Services
3GPP TS 23.501 [3] defines the 5G System Architecture as a Service Based Architecture, i.e. a system architecture in
which the system functionality is achieved by a set of NFs providing services to other authorized NFs to access their
services.
Control Plane (CP) Network Functions in the 5G System architecture shall be based on the service based architecture.
A NF service is one type of capability exposed by a NF (NF Service Producer) to other authorized NF (NF Service
Consumer) through a service based interface. A NF service may support one or more NF service operation(s). See
clause 7 of 3GPP TS 23.501 [3].
Network Functions may offer different functionalities and thus different NF services. Each of the NF services offered
by a Network Function shall be self-contained, acted upon and managed independently from other NF services offered
by the same Network Function (e.g. for scaling, healing).
4.2 Service Based Interfaces
A service based interface represents how the set of services is provided or exposed by a given NF. This is the interface
where the NF service operations are invoked.
The following Control Plane interfaces within the 5G Core Network specified in 3GPP TS 23.501 [3] are defined as
service based interfaces:
- Namf, Nsmf, Nudm, Nnrf, Nnssf, Nausf, Nnef, Nsmsf, Nudr, Npcf, N5g-eir, Nlmf.
ETSI
---------------------- Page: 8 ----------------------
3GPP TS 29.500 version 15.1.0 Release 15 8 ETSI TS 129 500 V15.1.0 (2018-10)
4.3 NF Service Framework
4.3.1 General
The Service Based Architecture shall support the NF Service Framework that enable the use of NF services as specified
in subclause 7.1 of 3GPP TS 23.501 [3].
The NF Service Framework includes the following mechanisms:
- NF service registration and de-registration: to make the NRF aware of the available NF instances and supported
services (see subclause 7.1.5 of 3GPP TS 23.501 [3]);
- NF service discovery: to enable a NF Service Consumer to discover NF Service Producer instance(s) which
provide the expected NF service(s) (see subclause 7.1.3 of 3GPP TS 23.501 [3]);
- NF service authorization: to ensure the NF Service Consumer is authorized to access the NF service provided by
the NF Service Producer (see subclause 7.1.4 of 3GPP TS 23.501 [3]).
The corresponding stage 3 procedures are defined in 3GPP TS 29.510 [8].
4.3.2 NF Service Advertisement URI
When invoking a service operation of a NF Service Producer that use HTTP methods with a message body (i.e PUT,
POST and PATCH), the NF Service Consumer may provide NF Service Advertisement URL(s) in the service operation
request, based on operator policy, if it expects that the NF Service Producer may subsequently consume NF service(s)
which the NF Service Consumer can provide (as a NF Service Producer).
When receiving NF Service Advertisement URI(s) in a service operation request, the NF Service Producer may store
and use the Service Advertisement URL(s) to discover NF services produced by the NF Service Consumer in
subsequent procedures, based on operator policy.
The NF Service Advertisement URI identifies the nfInstance resource(s) in the NRF which are registered by NF Service
Producer(s).
An example of NF Service Advertisement URI could be represented as:
"{apiRoot}/nnrf-disc/nf-instances?nfInstanceId={nfInstanceId}".
NOTE: The NF Service Advertisement URI can be used e.g. when different NRFs are deployed in the PLMN.
When applicable, the NF Service Advertisement URI(s) shall be carried in HTTP message body.
5 Protocols Over Service Based Interfaces
5.1 Protocol Stack Overview
The protocol stack for the service based interfaces is shown on Figure 5.1-1.
ETSI
---------------------- Page: 9 ----------------------
3GPP TS 29.500 version 15.1.0 Release 15 9 ETSI TS 129 500 V15.1.0 (2018-10)
Application
HTTP/2
TLS
TCP
IP
L2
Figure 5.1-1: SBI Protocol Stack
The service based interfaces use HTTP/2 protocol (see subclause 5.2) with JSON (see subclause 5.4) as the application
layer serialization protocol. For the security protection at the transport layer, all 3GPP NFs shall support TLS and TLS
shall be used within a PLMN if network security is not provided by other means, as specified in 3GPP TS 33.501 [17].
5.2 HTTP/2 Protocol
5.2.1 General
HTTP/2 as described in IETF RFC 7540 [7] shall be used in Service based interface.
5.2.2 HTTP standard headers
5.2.2.1 General
This subclause lists the HTTP standard headers that shall be supported on SBI, other HTTP standard headers defined in
IETF RFCs may be supported by NF.
5.2.2.2 Mandatory to support HTTP standard headers
The HTTP request standard headers and the HTTP response standard headers that shall be supported on SBI are defined
in Table 5.2.2.2-1 and in Table 5.2.2.2-2 respectively. Mandatory to support HTTP standard headers does not mean all
the HTTP requests and responses carry the identified request and response headers respectively. It only means it is
mandatory to support the processing of the identified headers in request and response message.
ETSI
---------------------- Page: 10 ----------------------
3GPP TS 29.500 version 15.1.0 Release 15 10 ETSI TS 129 500 V15.1.0 (2018-10)
Table 5.2.2.2-1: Mandatory to support HTTP request standard headers
Name Reference Description
Accept IETF RFC 7231 [11] This header is used to specify response media types that are
acceptable.
Accept-Encoding IETF RFC 7231 [11] This header may be used to indicate what response content-
encodings (e.g gzip) are acceptable in the response.
Content-Length IETF RFC 7230 [12] This header is used to provide the anticipated size, as a decimal
number of octets, for a potential payload body.
Content-Type IETF RFC 7231 [11] This header is used to indicate the media type of the associated
representation.
User-Agent IETF RFC 7231 [11] This header shall be mainly used to identify the NF type of the
HTTP/2 client.
The pattern of the content should start with the value of NF type
(e.g. udm, see NOTE 1) and followed by a "-" and any other
specific information if needed afterwards.
Cache-Control IETF RFC 7234 [20] This heade
...