Tech-invite3GPPspecsSIPRFCs
Overview21222324252627282931323334353637384‑5x

Content for  TS 29.500  Word version:  16.4.0

Top   Top   Up   Prev   Next
1…   5…   5.2.3   5.2.4…   6…   6.4…   6.5…   6.6…   6.7…   6.10…   6.11…   A…

 

5.2.3  HTTP custom headersWord‑p. 15
5.2.3.1  General
The list of custom HTTP headers applicable to 3GPP Service Based NFs are specified below.
5.2.3.2  Mandatory to support custom headersWord‑p. 16
5.2.3.2.1  General
The 3GPP NF Services shall support the HTTP custom headers specified in Table 5.2.3.2.1-1 below. A description of each custom header and the normative requirements on when to include them are also provided in Table 5.2.3.2-1.
Name
Reference
Description

3gpp-Sbi-Message-Priority
Clause 5.2.3.2.2
This header is used to specify the HTTP/2 message priority for 3GPP service based interfaces. This header shall be included in HTTP/2 messages when a priority for the message needs to be conveyed (e.g HTTP/2 messages related to Multimedia Priority Sessions).
3gpp-Sbi-Callback
Clause 5.2.3.2.3
This header is used to indicate if a HTTP/2 message is a callback (e.g notification).
This header shall be included in HTTP POST messages for callbacks towards NF service consumer(s) in another PLMN via the SEPP (See TS 29.573).
This header shall also be included in HTTP POST messages for callbacks in indirect communication (See clause 6.10.7).
3gpp-Sbi-Target-apiRoot
Clause 5.2.3.2.4
This header is used by an HTTP client to indicate the apiRoot of the target URI when communicating indirectly with the HTTP server via an SCP.
This header may also be used by an HTTP client to indicate the apiRoot of the target URI towards HTTP server in another PLMN via the SEPP, when TLS is used between the SEPPs.
3gpp-Sbi-Routing-Binding
Clause 5.2.3.2.5
This header is used in a service request to signal binding information to direct the service request to an HTTP server which has the targeted NF Service Resource context (see clause 6.12).
3gpp-Sbi-Binding
Clause 5.2.3.2.6
This header is used to signal binding information related to an NF Service Resource to a future consumer (HTTP client) of that resource (see clause 6.12).
3gpp-Sbi-Discovery-*
Clause 5.2.3.2.7
Headers beginning with the prefix 3gpp-Sbi-Discovery- are used in indirect communication mode for discovery and selection of a suitable producer by the SCP. Such headers may be included in any SBI message and include information allowing an SCP to find a suitable producer as per the consumer's included delegated discovery parameters.
3gpp-Sbi-Producer-Id
Clause 5.2.3.2.8
This header is used in a service response from the SCP to the NF Service Consumer, when using indirect communication with delegated discovery and the NF Service Producer does not return a binding indication in a service response creating a resource. See clause 6.10.3.4.
3gpp-Sbi-Oci
Clause 5.2.3.2.9
This header may be used by an overloaded NF Service Producer in a service response, or in a notification request to signal Overload Control Information (OCI) to the NF Service Consumer.
This header may also be used by an overloaded NF Service Consumer in a notification response or in a service request to signal Overload Control Information (OCI) to the NF Service Producer.
3gpp-Sbi-Lci
Clause 5.2.3.2.10
This header may be used by a NF Service Producer to send Load Control Information (LCI) to the NF Service Consumer.
3gpp-Sbi-Client-Credentials
Clause 5.2.3.2.11
This header may be used by an NF Service Consumer to send Client Credentials Assertion to the NRF or to the NF Service Producer. See clause 6.7.5.

Up
5.2.3.2.2  3gpp-Sbi-Message-Priority
The header contains the HTTP/2 message priority value from 0 to 31, as defined in clause 6.8.4.
The encoding of the header follows the ABNF as defined in RFC 7230.
3gpp-Sbi-Message-Priority = "3gpp-Sbi-Message-Priority" ":" (DIGIT / %x31-32 DIGIT / "3" %x30-31)
A message with 3gpp-Sbi-Message-Priority "0" has the highest priority.
An example is: 3gpp-Sbi-Message-Priority: 10.
5.2.3.2.3  3gpp-Sbi-CallbackWord‑p. 17
The header contains the type of notification. The value for the notification type is a string used identifing a particular type of callback (e.g a notification, typically the name of the notify service operation).
The encoding of the header follows the ABNF as defined in RFC 7230.
3gpp-Sbi-Notification header field = "3gpp-Sbi-Callback" ":" OWS cbtype *1( OWS ";" "apiversion=" majorversion)
cbtype = 1*cbchar
cbchar = "-" / "_" / DIGIT / ALPHA
majorversion = *DIGIT
EXAMPLE 1:
3gpp-Sbi-Callback: Nnrf_NFManagement_NFStatusNotify
EXAMPLE 2:
3gpp-Sbi-Callback: Nudm_SDM_Notification; apiversion=2
The list of valid values for the cbtype is specified in Annex B.
The apiversion parameter should be present if the major version is higher than 1.
Up
5.2.3.2.4  3gpp-Sbi-Target-apiRoot |R16|
The header contains the apiRoot of the target URI (see clause 4.4 of TS 29.501) in a request sent to an SCP when using Indirect Communication. It may also be used in a request sent to a SEPP (see clause 6.1.4.3.2).
The encoding of the header follows the ABNF as defined in RFC 7230.
3gpp-Sbi-Target-apiRoot header field = "3gpp-Sbi-Target-apiRoot" ":" OWS scheme "://" authority [ prefix ]
scheme = "http" / "https"
authority = host [ ":" port ]
port = *DIGIT
prefix = path-absolute ; path-absolute production rule from RFC 3986 clause 3.3
An example is: 3gpp-Sbi-Target-apiRoot: https://example.com/a/b/c
Up
5.2.3.2.5  3gpp-Sbi-Routing-Binding |R16|
This header contains a Routing Binding Indication used to direct a service request to an HTTP server which has the targeted NF service resource context (see clause 6.12).
The encoding of the header follows the ABNF as defined in RFC 7230.
3gpp-Sbi-Routing-Binding = "3gpp-Sbi-Routing-Binding" ":" OWS "bl=" blvalue 1*( OWS ";" parameter)
blvalue = "nf-instance" / "nf-set" / "nfservice-instance" / "nfservice-set"
parameter = parametername "=" token
parametername = "nfinst" / "nfset" / "nfservinst" / "nfserviceset" / "servname"
The following parameters are defined:
  • bl (binding level): the value of this parameter (blvalue) indicates a preferred binding to a binding entity, i.e. either to an NF Instance, an NF set, an NF Service Instance or an NF Service Set. If the binding level is set to an NF Service Instance (nfservice-instance), then either NF Service Set ID or NF Instance ID shall also be present to unambiguously identify the NF Service Instance.
  • nfinst (NF instance): indicates an NF Instance ID, as defined in clause 5.2.2.2.2 in TS 29.510. This parameter shall be present if the binding level is set to "nf-instance", or if the binding level is set to "nfservice-instance" and the nfserviceset parameter is not included.
  • nfset (NF set): indicates an NF Set ID, as defined in clause 28.12 in TS 23.003. This parameter shall be present if the binding level is set to "nf-set". It may be present otherwise (see clause 6.12.1).
  • nfservinst (NF service instance): indicates an NF Service Instance ID. This parameter shall be present if the binding level is set to "nfservice-instance".
  • nfserviceset (NF service set): indicates an NF Service Set ID as defined in clause 28.13 in TS 23.003. This parameter shall be present if the binding level is set to "nfservice-set". It may be present if the binding level is set to "nfservice-instance" (see clause 6.12.1).
  • servname (service name): indicates the name of a service, as defined in TS 29.510, or a custom service that handles a notification or a callback request. It may be present in a Routing Binding Indication in a notification or a callback request.
See clause 3.2.6 of IETF RFC 7230 [12] for the "token" type definition. A token's value is a string, which contains a binding entity ID or a service name.
EXAMPLE 1:
Binding to SMF set 1 of MCC 345 and MNC 012:
3gpp-Sbi-Routing-Binding: bl=nf-set; nfset=set1.smfset.5gc.mnc012.mcc345
EXAMPLE 2:
Binding to an SMF instance within SMF set of Example 1:
3gpp-Sbi-Routing-Binding: bl=nf-instance; nfinst=54804518-4191-46b3-955c-ac631f953ed8; nfset=set1.smfset.5gc.mnc012.mcc345
EXAMPLE 3:
Binding to a SMF Service Set "xyz" within an SMF instance within SMF set of Example 1:
3gpp-Sbi-Routing-Binding: bl=nfservice-set; nfservset=setxyz.snnsmf-pdusession.nfi54804518-4191-46b3-955c-ac631f953ed8.5gc.mnc012.mcc345; nfset=set1.smfset.5gc.mnc012.mcc345
EXAMPLE 4:
Binding to AMF set 1 within AMF region 48 (hexadecimal):
3gpp-Sbi-Routing-Binding: bl=nf-set; nfset=set1.region48.amfset.5gc.mnc012.mcc345
EXAMPLE 5:
Binding for a subscription (i.e. notification requests) to AMF set 1 within AMF region 48 (hexadecimal) and Namf_Communication service:
3gpp-Sbi-Routing-Binding: bl=nf-set; nfset= set1.region48.amfset.5gc.mnc012.mcc345; servname=namf-comm
Up
5.2.3.2.6  3gpp-Sbi-Binding |R16|Word‑p. 18
This header contains a comma-delimited list of Binding Indications from an HTTP server for storage and subsequent use by an HTTP client (see clause 6.12).
The encoding of the header follows the ABNF as defined in RFC 7230.
3gpp-Sbi-Binding = "3gpp-Sbi-Binding" ":" #(OWS "bl=" blvalue 1*( OWS ";" parameter) OWS ";" recoverytime)
blvalue = "nf-instance" / "nf-set" / "nfservice-instance" / "nfservice-set"
parameter = parametername "=" token
parametername = "nfinst" / "nfset" / "nfservinst" / "nfserviceset" / "servname" / "scope"
scope = "other-service" / "callback" / "subscription-events"
recoverytime = "recoverytime=" OWS date-time
The following parameters are defined:
  • scope: indicates the applicability of a Binding Indication in a service request. This may take one of the following values:
    • "other-service": the binding information applies to other service(s) that the NF Service Consumer may later on provide as an NF Service Producer (see clause 6.12.3);
    • "subscription-events": the binding information applies to subscription change event notifications (see clause 6.12.4);
    • "callback": the binding information applies to notification or callback requests (see clauses 6.12.4 and 6.12.5).
    The absence of this parameter in a Binding Indication in a service request shall be interpreted as "callback".
    Two scope parameters may be present in a Binding Indication if the binding information applies to notification/callback requests and to other services.
  • servname (service name): indicates the name of a service, as defined in TS 29.510, or a custom service, i.e.:
    • the name of the service that handles a notification or a callback request, when present in a Binding Indication for a subscription or a callback, i.e. with a scope parameter absent or set to "callback"; or
    • the name of the other service(s) for which the binding applies, when present in a Binding Indication in a service request for the other services the NF Service Consumer can provide later on as an NF Service Producer, i.e. with the scope parameter set to "other-service". More than one servname parameter may be present to represent multiple such services. The absence of this parameter in a Binding Indication with the scope parameter set to "other-service" shall be interpreted as binding information that applies to all the services that the NF Service Consumer may provide later as an NF Service Producer.
  • recoverytime: indicates the recovery timestamp of the entity corresponding to the highest resiliency level supported for the resource, that is, the higher level binding entity indicated in the Binding Indication. See Table 6.3.1.0-1 of TS 23.501 and clause 6.1 of TS 23.527. The date-time type is specified in IETF RFC 5322 [37] and clause 7.1.1.1 of IETF RFC 7231 [11].
  • for the definition and encoding of the blvalue, nfinst, nfset, nfservinst and nfserviceset see clause 5.2.3.2.5.
EXAMPLES 1 to 5:
Same as EXAMPLES 1 to 5 defined in clause 5.2.3.2.5, with the header name "3gpp-Sbi-Binding" instead of "3gpp-Sbi-Routing-Binding".
EXAMPLE 6:
Subscription request from one NF on behalf of another NF, with 2 binding indications:
3gpp-Sbi-Binding: bl= nf-set; nfset=set1.udmset.5gc.mnc012.mcc345; servname=nudm-ee;scope=subscription-events
3gpp-Sbi-Binding: bl= nf-set; nfset=set1.nefset.5gc.mnc012.mcc345; servname=nnef-event-exposure
EXAMPLE 7:
Service request with 2 binding indications, for callback requests and for other services the NF Service Consumer may provide later as an NF Service Producer:
3gpp-Sbi-Binding: bl=nf-instance; nfinst=54804518-4191-46b3-955c-ac631f953ed8; nfset=set1.smfset.5gc.mnc012.mcc345; servname=nsmf-pdusession
3gpp-Sbi-Binding: bl=nf-instance; nfinst=54804518-4191-46b3-955c-ac631f953ed8; nfset=set1.smfset.5gc.mnc012.mcc345; scope=other-service; servname=nsmf-event-exposure
EXAMPLE 8:
Service request with one binding indication applying to notification/callback requests and to any other services the NF Service Consumer may provide later as an NF Service Producer:
3gpp-Sbi-Binding: bl=nf-set; nfset=set1.region48.amfset.5gc.mnc012.mcc345; scope=callback; scope=other-service \endpadl
EXAMPLE 9: Service request with one binding indication applying to notification/callback requests together with a recovery time stamp associated with the NF Set indicated in the binding indication and with the binding level set to "nfset":
3gpp-Sbi-Binding: bl=nfset; nfset=set1.region48.amfset.5gc.mnc012.mcc345; scope=callback; recoverytime= Tue, 04 Feb 2020 08:49:37 GMT
EXAMPLE 9:
Service response with one binding indication applying to the session context with a recovery time stamp associated with the NF Set indicated in "nfset" in the binding indication and with the binding level set to "nfinstance":
3gpp-Sbi-Binding: bl= nfinstance; nfinst=54804518-4191-46b3-955c-ac631f953ed8; nfset=set1.smfset.5gc.mnc012.mcc345; recoverytime= Tue, 04 Feb 2020 08:49:37 GMT
EXAMPLE 10:
Service response with one binding indication applying to the session context with a recovery time stamp associated with the NF Instance included the binding indication and with the binding level set to nfserviceinstance:
3gpp-Sbi-Binding: bl=nfserviceinstance; nfservinst=xyz; nfinst=54804518-4191-46b3-955c-ac631f953ed8; recoverytime= Tue, 04 Feb 2020 08:49:37 GMT
Up
5.2.3.2.7  3gpp-Sbi-Discovery |R16|Word‑p. 20
These headers shall be used to convey NF service discovery factors to the SCP in indirect communication models. They contain discovery parameters to be conveyed by the NF consumer to the SCP and shall be used for finding a suitable NF producer instance, e.g. by performing the NF service discovery procedure with the NRF on behalf of the NF consumer in case of indirect communication with delegated discovery model.
The name of each NF service discovery factors header shall be constructed by concatenating the string "3gpp-Sbi-Discovery-" with the name of the conveyed discovery parameter, i.e. "3gpp-Sbi-Discovery-<discovery parameter>".
The discovery headers shall be used to include any of the discovery query parameters listed in TS 29.510, Table 6.2.3.2.3.1-1. The value of each NF service discovery header shall be encoded in the same way as the corresponding discovery parameter (i.e. with the same data type and cardinality). Thus, the values of these headers may be validated with the same data model as that of the corresponding discovery parameters. The discovery headers shall comply with the condition of presence of the discovery parameters defined in Table 6.2.3.2.3.1-1 of TS 29.510, e.g. discovery headers shall be included for discovery parameters defined as mandatory in this table. Table 5.2.3.2.7-1 lists examples of NF service discovery headers.
Header in request
Discovery parameter
Header value
Data Model

3gpp-Sbi-Discovery-target-nf-type: AMF
target-nf-type (TS 29.510, Table 6.2.3.2.3.1-1)
AMF
NFType: Enumeration as of TS 29.510, Table 6.1.6.3.3-1.
3gpp-Sbi-Discovery-snssais: [{"sst": 1, "sd": "A08923"}, {"sst": 1, "sd": "0023F1"}]
snssais (TS 29.510, Table 6.2.3.2.3.1-1)
[{"sst": 1, "sd": "A08923"}, {"sst": 1, "sd": "0023F1"}]
array(Snssai), where Snssai is a structured data type as of TS 29.571, Table 5.4.4.2-1
3gpp-Sbi-Discovery-target-nf-instance-id: e553cf50-f32b-4638-8a7e-0d416cc60952
target-nf-instance-id (TS 29.510, Table 6.2.3.2.3.1-1)
e553cf50-f32b-4638-8a7e-0d416cc60952
NfInstanceId: simple data type as of TS 29.571, Table 5.3.2-1

The 3gpp-Sbi-Discovery-* header is not documented in OpenAPI specification files. It shall comply with the following OpenAPI definition:
          headers:
            3gpp-Sbi-Discovery-<Discovery parameter name>:
              description: Discovery parameter defined in Table 6.2.3.2.3.1-1 of TS 29.510
              schema:
                type: <Data type defined in Table 6.2.3.2.3.1-1 of TS 29.510>
Up
5.2.3.2.8  3gpp-Sbi-Producer-Id |R16|Word‑p. 21
This header contains the NF Service Producer Instance ID (see clause 6.10.3.4).
The encoding of the header follows the ABNF as defined in IETF RFC 7230 [12].
3gpp-Sbi-Producer-Id = "3gpp-Sbi-Producer-Id" ":" OWS "nfinst=" nfInstanceIdvalue
The following parameter is defined:
  • nfinst (NF instance): indicates a NF Instance ID, as defined in TS 29.510.
    EXAMPLE:
    3gpp-Sbi-Producer-Id: nfinst=54804518-4191-46b3-955c-ac631f953ed8
  • Up
    5.2.3.2.9  3gpp-Sbi-Oci |R16|
    The header contains a comma-delimited list of Overload Control Information (OCI). See clause 6.4.3.
    The encoding of the header follows the ABNF as defined in IETF RFC 7230 [12].
    3gpp-Sbi-Oci = "3gpp-Sbi-Oci:" #(RWS timestamp ";" RWS validityPeriod ";" RWS olcMetric ";" RWS olcScope)
    timestamp = "Timestamp:" RWS date-time
    Mandatory parameter. The date-time type is specified in IETF RFC 5322 [37] and clause 7.1.1.1 of IETF RFC 7231 [11]. It indicates the timestamp at which the overload control information was generated.
    validityPeriod = "Period-of-Validity:" RWS 1*DIGIT "s"
    Mandatory parameter. Period of validity is a timer that is measured in seconds. Once the timer expires, the OCI becomes invalid.
    olcMetric = "Overload-Reduction-Metric:" RWS (1*2DIGIT / "100") "%"
    Mandatory parameter. Overload-Reduction-Metric up to 3 digits long decimal string and the value range shall be from 0 to 100.
    olcScope = nfProducerScope / nfConsumerScope / scpScope
    Mandatory structured parameter, which in the actual header is replaced by its sub-parameters.
    nfProducerScope = (("NF-Instance:" RWS nfinst)
    / ("NF-Set:" RWS nfset)
    / "(NF-Service-Instance:" RWS nfservinst)
    / ("NF-Service-Set:" RWS nfserviceset)) [";" RWS sNssai ";" RWS dnn]
    nfConsumerScope = ("NF-Instance:" RWS nfinst [";" RWS "Service-Name:" RWS servname])
    / ("NF-Set:" RWS nfset [";" RWS "Service-Name:" RWS servname])
    / "(NF-Service-Instance:" RWS nfservinst)
    / ("NF-Service-Set:" RWS nfserviceset)
    / ("Callback-Uri:" RWS URI *( RWS "&" RWS URI))
    scpScope = ("SCP-FQDN:" RWS fqdn)
    See clause 6.4.3.4.5. The nfinst, nfset, nfservinst, nfserviceset and servname parameters are defined in clause 5.2.3.2.5. fqdn shall encode an FQDN. URI is defined in clause 3 of IETF RFC 3986 [14].
    dnn = "DNN:" RWS *tchar *(RWS "&" RWS *tchar)
    Optional parameter used for S-NSSAI/DNN based overload control by SMF, see clause 6.4.3.4.5.2.2, that refers to one or more specific DNN(s). DNN format is defined in TS 23.003.
    sNssai= "S-NSSAI:" RWS snssai *(RWS "&" RWS snssai)
    Optional parameter used for S-NSSAI/DNN based overload control by SMF, see clause 6.4.3.4.5.2.2, that refers to one or more specific S-NSSAI(s).
    snssai = *tchar
    S-NSSAI format is defined in clause 5.4.4.2 of TS 29.571.
    EXAMPLE 1:
    Overload Control Information for an NF Instance:
    3gpp-Sbi-Oci: Timestamp: Tue, 04 Feb 2020 08:49:37 GMT; Period-of-Validity: 75s; Overload-Reduction-Metric: 50%; NF-Instance: 54804518-4191-46b3-955c-ac631f953ed8
    EXAMPLE 2:
    Overload Control Information for an NF Service Set:
    3gpp-Sbi-Oci: Timestamp: Tue, 04 Feb 2020 08:49:37 GMT; Period-of-Validity: 120s; Overload-Reduction-Metric: 50%; NF-Service-Set: setxyz.snnsmf-pdusession.nfi54804518-4191-46b3-955c-ac631f953ed8.5gc.mnc012.mcc345
    EXAMPLE 3:
    Overload Control Information for an SMF instance related to a particular DNN of an S-NSSAI:
    3gpp-Sbi-Oci: Timestamp: Tue, 04 Feb 2020 08:49:37 GMT; Period-of-Validity: 600s; Overload-Reduction-Metric: 50%; NF-Instance: 54804518-4191-46b3-955c-ac631f953ed8; S-NSSAI: {"sst": 1, "sd": "A08923"}; DNN: internet.mnc012.mcc345.gprs
    EXAMPLE 4:
    Overload Control Information for an SMF instance related to a particular DNN shared by two S-NSSAIs:
    3gpp-Sbi-Oci: Timestamp: Tue, 04 Feb 2020 08:49:37 GMT; Period-of-Validity: 240s; Overload-Reduction-Metric: 50%; NF-Instance: 54804518-4191-46b3-955c-ac631f953ed8; S-NSSAI: {"sst": 1, "sd": "A08923"} & {"sst": 1, "sd": "A08924"}; DNN: internet.mnc012.mcc345.gprs
    EXAMPLE 5:
    Overload Control Information sent by a NF service consumer with a scope set to a Callback-Uri:
    3gpp-Sbi-Oci: Timestamp: Tue, 04 Feb 2020 08:49:37 GMT; Period-of-Validity: 120s; Overload-Reduction-Metric: 25%; Callback-Uri: https://pcf12.operator.com/serviceY
    EXAMPLE 6:
    Overload Control Information sent by a NF service consumer with a scope set to a specific NF Instance and service:
    3gpp-Sbi-Oci: Timestamp: Tue, 04 Feb 2020 08:49:37 GMT; Period-of-Validity: 120s; Overload-Reduction-Metric: 25%; NF-Instance: 54804518-4191-46b3-955c-ac631f953ed8; Service-Name: nsmf-pdusession
    EXAMPLE 7:
    Overload Control Information sent by an SCP:
    3gpp-Sbi-Oci: Timestamp: Tue, 04 Feb 2020 08:49:37 GMT; Period-of-Validity: 120s; Overload-Reduction-Metric: 25%; SCP-FQDN: scp1.example.com
    EXAMPLE 8:
    Example with two OCI values, one for an SMF Instance and another one for a specific DNN of an S-NSSAI for the same SMF Instance:
    3gpp-Sbi-Oci: Timestamp: Tue, 04 Feb 2020 08:49:37 GMT; Period-of-Validity: 75s; Overload-Reduction-Metric: 50%; NF-Instance: 54804518-4191-46b3-955c-ac631f953ed8
    3gpp-Sbi-Oci: Timestamp: Tue, 04 Feb 2020 08:49:37 GMT; Period-of-Validity: 600s; Overload-Reduction-Metric: 40%; NF-Instance: 54804518-4191-46b3-955c-ac631f953ed8; S-NSSAI: {"sst": 1, "sd": "A08923"}; DNN: internet.mnc012.mcc345.gprs
    Up
    5.2.3.2.10  3gpp-Sbi-Lci |R16|Word‑p. 23
    The header contains a comma-delimited list (see IETF RFC 7230 [12]) of Load Control Information (LCI). See clause 6.3.3.
    The encoding of the header follows the ABNF as defined in IETF RFC 7230 [12].
    3gpp-Sbi-Lci = "3gpp-Sbi-Lci:" #(RWS timestamp ";" RWS lcMetric ";" RWS lcScope)
    timestamp = "Timestamp:" SP date-time
    Mandatory parameter. The date-time type is specified in IETF RFC 5322 [37] and clause 7.1.1.1 of IETF RFC 7231 [11]. It indicates the timestamp associated with the load control information.
    lcMetric = "Load-Metric:" RWS (1*2DIGIT / "100") "%"
    Mandatory parameter. Load-Metric is up to 3 digits long decimal string and the value range shall be from 0 to 100.
    lcScope = nfProducerScope / scpScope
    Mandatory structured parameter, which in the actual header is replaced by its sub-parameters.
    nfProducerScope = (("NF-Instance:" RWS nfinst)
    / ("NF-Set:" RWS nfset)
    / "(NF-Service-Instance:" RWS nfservinst)
    / ("NF-Service-Set:" RWS nfserviceset)) [; RWS sNssai ";" RWS dnn; RWS relativeCapacity]
    scpScope = ("SCP-FQDN:" RWS fqdn)
    See clause 6.3.3.4.4. The nfinst, nfset, nfservinst and nfserviceset parameters are defined in clause 5.2.3.2.5. fqdn shall encode an FQDN.
    dnn = "DNN:" RWS *tchar *(RWS "&" RWS *tchar)
    Optional parameter used for S-NSSAI/DNN based load control by SMF, see clause 6.3.3.4.4.2.2, that refers to one or more specific DNN(s). DNN format is defined in TS 23.003.
    sNssai= "S-NSSAI:" RWS snssai *(RWS "&" RWS snssai)
    Optional parameter used for S-NSSAI/DNN based load control by SMF, see clause 6.3.3.4.4.2.2, that refers to one or more specific S-NSSAI(s).
    snssai = *tchar
    S-NSSAI format is defined in clause 5.4.4.2 of TS 29.571.
    relativeCapacity = "Relative-Capacity:" RWS (1*2DIGIT / "100") "%"
    Optional parameter used for S-NSSAI/DNN based load control by SMF, see clause 6.3.3.4.5. Up to 3 digits long decimal string with value range from 0 to 100. The value applies to all combinations of S-NSSAIs and DNNs indicated in the LCI.
    EXAMPLE 1:
    Load Control Information for an NF Instance:
    3gpp-Sbi-Lci: Timestamp: Tue, 04 Feb 2020 08:49:37 GMT; Load-Metric: 25%; NF-Instance: 54804518-4191-46b3-955c-ac631f953ed8
    EXAMPLE 2:
    Load Control Information for an NF Service Set:
    3gpp-Sbi-Lci: Timestamp: Tue, 04 Feb 2020 08:49:37 GMT; Load-Metric: 25%; NF-Service-Set : setxyz.snnsmf-pdusession.nfi54804518-4191-46b3-955c-ac631f953ed8.5gc.mnc012.mcc345
    EXAMPLE 3:
    Load Control Information for an SMF instance related to a particular DNN of an S-NSSAI:
    3gpp-Sbi-Lci: Timestamp: Tue, 04 Feb 2020 08:49:37 GMT; Load-Metric: 25%; NF-Instance: 54804518-4191-46b3-955c-ac631f953ed8; S-Nssai: {"sst": 1, "sd": "A08923"}; DNN: internet.mnc012.mcc345.gprs; Relative-Capacity: 20%
    EXAMPLE 4:
    Load Control Information for an SMF instance related to a particular S-NSSAI:
    3gpp-Sbi-Lci: Timestamp: Tue, 04 Feb 2020 08:49:37 GMT; Load-Metric: 25%; NF-Instance: 54804518-4191-46b3-955c-ac631f953ed8; S-Nssai: {"sst": 1, "sd": "A08923"} & {"sst": 1, "sd": "A08924"}; DNN: internet.mnc012.mcc345.gprs; Relative-Capacity: 20%
    EXAMPLE 5:
    Load Control Information for SCP:
    3gpp-Sbi-Lci: Timestamp: Tue, 04 Feb 2020 08:49:37 GMT; Load-Metric: 25%; SCP-FQDN: scp1.example.com
    EXAMPLE 6:
    Example with two LCI values, for different DNNs of a same S-NSSAI:
    3gpp-Sbi-Lci: Timestamp: Tue, 04 Feb 2020 08:49:37 GMT; Load-Metric: 40%; NF-Instance=54804518-4191-46b3-955c-ac631f953ed8; S-Nssai: {"sst": 1, "sd": "A08923"}; DNN: internet.mnc012.mcc345.gprs; Relative-Capacity: 30%
    3gpp-Sbi-Lci: Timestamp: Tue, 04 Feb 2020 08:49:37 GMT; Load-Metric: 70%; NF-Instance=54804518-4191-46b3-955c-ac631f953ed8; S-Nssai: {"sst": 1, "sd": "A08923"}; DNN: ciot.mnc012.mcc345.gprs; Relative-Capacity: 20%
    Up
    5.2.3.2.11  3gpp-Sbi-Client-Credentials |R16|Word‑p. 24
    The header contains client credentials assertion (see clause 13.3.8.1 of TS 33.501).
    The encoding of the header follows the ABNF as defined in IETF RFC 7230 [12].
    3gpp-Sbi-Client-Credentials header field = "3gpp-Sbi-Client-Credentials" ":" OWS string
    The client credentials assertion shall be a JSON Web Token (JWT) as specified in IETF RFC 7519 [41], digitally signed using JWS as specified in IETF RFC 7515 [24] and in clause 13.3.8.1 of TS 33.501. It shall include:
    • the claims defined in Table 5.2.3.2.11-1 encoded as a JSON object; and
    • one of the following JOSE headers:
    • the X.509 URL (x5u) header (see clause 4.1.5 of IETF RFC 7515 [26]) referring to a resource for the X.509 public key certificate or certificate chain used for signing the client authentication assertion, or
    • the X.509 Certificate Chain (x5c) header (see clause 4.1.5 of IETF RFC 7515 [26]) including the X.509 public key certificate or certificate chain used for signing the client authentication assertion.
    The digitally signed client credentials assertion shall be converted to the JWS Compact Serialization encoding as a string as specified in clause 7.1 of IETF RFC 7515 [24].
    Attribute name
    Data type
    P
    Cardinality
    Description

    sub
    NfInstanceId
    M
    1
    This IE shall contain the NF instance ID of the NF service consumer, corresponding to the standard "Subject" claim described in IETF RFC 7519 [41], clause 4.1.2.
    iat
    integer
    M
    1
    This IE shall indicate the time at which the JWT was issued, corresponding to the standard "Issued At" claim described in IETF RFC 7519 [41], clause 4.1.6. This claim may be used to determine the age of the JWT.
    exp
    integer
    M
    1
    This IE shall contain the expiration time after which the client credentials assertion is considered to be expired, corresponding to the standard "Expiration Time" claim described in IETF RFC 7519 [41], clause 4.1.4.
    aud
    array(NFType)
    M
    1..N
    This IE shall contain the NF type of the NF service producer and/or "NRF", for which the claim is applicable, corresponding to the standard "Audience" claim described in IETF RFC 7519 [41], clause 4.1.3.

    The JSON object containing the client credentials assertion shall comply with the following OpenAPI definition:
        ClientCredentialsAssertion:
          description: The data structure for the client credentials assertion
          type: object
          required:
            - sub
            - iat
            - exp
            - aud
          properties:
            sub:
              $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
            iat:
              type: integer
            exp:
              type: integer
            aud:
              type: array
              items:
                $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType'
              minItems: 1
    
    Up
    5.2.3.3  Optional to support custom headers |R16|Word‑p. 25
    5.2.3.3.1  General
    The 3GPP NF Services may support the HTTP custom headers specified in Table 5.2.3.3-1 below. A description of each custom header and the normative requirements on when to include them are also provided in Table 5.2.3.3-1.
    Name
    Reference
    Description

    3gpp-Sbi-Sender-Timestamp
    Clause 5.2.3.3.2
    This header may be used to indicate the date and time (with a millisecond granularity) at which an HTTP request or response is originated. This may be used e.g. for measuring signalling delays between different NF service instances.
    3gpp-Sbi-Max-Rsp-Time
    Clause 5.2.3.2.3
    This header may be used in a HTTP request to indicate the duration during which the HTTP client waits for a response. See clause 6.11.2.

    Up
    5.2.3.3.2  3gpp-Sbi-Sender-TimestampWord‑p. 26
    The header contains the date and time (with a millisecond granularity) at which an HTTP request or response is originated.
    The encoding of the header follows the ABNF as defined in RFC 7230.
    3gpp-Sbi-Sender-Timestamp = "3gpp-Sbi-Sender-Timestamp" ":" day-name "," SP date1 SP time-of-day "." milliseconds SP GMT
    milliseconds = 3DIGIT
    day-name, date1, time-of-day shall comply with the definition in clause 7.1.1.1 of IETF RFC 7231 [11].
    When a 3gpp-Sbi-Sender-Timestamp header field is generated, the sender should generate its field value as the best available approximation of the date and time of message generation.
    EXAMPLE:
    3gpp-Sbi-Sender-Timestamp: Sun, 04 Aug 2019 08:49:37.845 GMT
    Up
    5.2.3.3.3  3gpp-Sbi-Max-Rsp-Time
    The header indicates the duration, expressed in milliseconds since the request was originated, during which the HTTP client waits for a response. See clause 6.8.2.
    The encoding of the header follows the ABNF as defined in RFC 7230.
    3gpp-Sbi-Max-Rsp-Time = "3gpp-Sbi-Max-Rsp-Time" ":" 1*5DIGIT
    EXAMPLE:
    3gpp-Sbi-Max-Rsp-Time: 10000

    Up   Top   ToC