5 Nchf_SpendingLimitControl Service API

29.5943GPP5G SystemSpending Limit Control ServiceStage 3TS

5.1 Introduction

The Nchf_SpendingLimitControl service shall use the Nchf_SpendingLimitControl API.

The API URI of the Nchf_SpendingLimitControl API shall be:

{apiRoot}/<apiName>/<apiVersion>

The request URIs used in HTTP requests from the NF service consumer towards the CHF shall have the Resource URI structure defined in clause 4.4.1 of 3GPP TS 29.501 [5], i.e.:

{apiRoot}/<apiName>/<apiVersion>/<apiSpecificResourceUriPart>

with the following components:

– The {apiRoot} shall be set as described in 3GPP TS29.501 [5].

– The <apiName> shall be "nchf-spendinglimitcontrol".

– The <apiVersion> shall be "v1".

– The <apiSpecificResourceUriPart> shall be set as described in clause 5.3.

5.2 Usage of HTTP

5.2.1 General

HTTP/2, IETF RFC 7540 [8], shall be used as specified in clause 5.2 of 3GPP TS 29.500 [4].

HTTP/2 shall be transported as specified in clause 5.3 of 3GPP TS 29.500 [4].

The OpenAPI [9] specification of HTTP messages and content bodies for the Nchf_SpendingLimitControl service is contained in Annex A.

5.2.2 HTTP standard headers

5.2.2.1 General

See clause 5.2.2 of 3GPP TS 29.500 [4] for the usage of HTTP standard headers.

5.2.2.2 Content type

JSON, IETF RFC 8259 [10], shall be used as content type of the HTTP bodies specified in the present specification, as specified in clause 5.4 of 3GPP TS 29.500 [4]. The use of the JSON format shall be signalled by the content type "application/json".

"Problem Details" JSON object shall be used to indicate additional details of the error in a HTTP response body and shall be signalled by the content type "application/problem+json", as defined in IETF RFC 7807 [13].

5.2.3 HTTP custom headers

5.2.3.1 General

The Nchf_SpendingLimitControl API shall support HTTP custom header fields specified in clause 5.2.3.2 of 3GPP TS 29.500 [4] and may support HTTP custom header fields specified in clause 5.2.3.3 of 3GPP TS 29.500 [4].

In this Release of the specification, no specific custom headers are defined for the Nchf_SpendingLimitControl API.

5.3 Resources

5.3.1 Resource Structure

This clause describes the structure for the Resource URIs and the resources and methods used for the service.

Figure 5.3.1-1 shows the resource URI structure of the Nchf_SpendingLimitControl API.

Figure 5.3.1-1: Resource URI structure of the Nchf_SpendingLimitControl API

Table 5.3.1-1 provides an overview of the resources and applicable HTTP methods.

Table 5.3.1-1: Resources and methods overview

Resource name

Resource URI

HTTP method or custom operation

Description

Spending Limit Retrieval Subscriptions

/subscriptions

POST

Creates a new individual spending limit retrieval subscription.

Individual Spending Limit Retrieval Subscription

/subscriptions/{subscriptionId}

PUT

Modifies an existing subscription (e.g. addition of additional policy counters).

DELETE

Deletes an individual subscription.

5.3.2 Resource: Spending Limit Retrieval Subscriptions (Collection)

5.3.2.1 Description

This resource represents the collection of Nchf_SpendingLimitControl service subscriptions at a given CHF.

5.3.2.2 Resource definition

Resource URI: {apiRoot}/nchf-spendinglimitcontrol/v1/subscriptions

This resource shall support the resource URI variables defined in table 5.3.2.2-1.

Table 5.3.2.2-1: Resource URI variables for this resource

Name

Data type

Definition

apiRoot

string

See clause 5.1

5.3.2.3 Resource Standard Methods

5.3.2.3.1 POST

This method shall support the URI query parameters specified in table 5.3.2.3.1-1.

Table 5.3.2.3.1-1: URI query parameters supported by the POST method on this resource

Name

Data type

P

Cardinality

Description

n/a

This method shall support the request data structures specified in table 5.3.2.3.1-2 and the response data structures and response codes specified in table 5.3.2.3.1-3.

Table 5.3.2.3.1-2: Data structures supported by the POST Request Body on this resource

Data type

P

Cardinality

Description

SpendingLimitContext

M

1

Contains the information for the creation of a new individual spending limit retrieval subscription.

Table 5.3.2.3.1-3: Data structures supported by the POST Response Body on this resource

Data type

P

Cardinality

Response codes

Description

SpendingLimitStatus

M

1

201 Created

The spending limit subscription was created and spending limit reports are provided.

ProblemDetails

O

0..1

400 Bad Request

(NOTE 2)

NOTE 1: In addition, the HTTP status codes which are specified as mandatory in table 5.2.7.1-1 of 3GPP TS 29.500 [4] for the POST method shall also apply.

NOTE 2: In addition to protocol and application errors which are specified in clause 5.2.7.2 of 3GPP TS 29.500 [4], specific errors are described in clause 5.7.

Table 5.3.2.3.1-4: Headers supported by the 201 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

Contains the URI of the newly created resource, according to the structure: {apiRoot}/nchf-spendinglimitcontrol/v1/subscriptions/{subscriptionId}

5.3.2.4 Resource Custom Operations

None.

5.3.3 Resource: Individual Spending Limit Retrieval Subscription (Document)

5.3.3.1 Description

This resource represents an individual Nchf_SpendingLimitControl service subscription at a given CHF.

5.3.3.2 Resource definition

Resource URI: {apiRoot}/nchf-spendinglimitcontrol/v1/subscriptions/{subscriptionId}

This resource shall support the resource URI variables defined in table 5.3.3.2-1.

Table 5.3.3.2-1: Resource URI variables for this resource

Name

Data type

Definition

apiRoot

string

See clause 5.1

subscriptionId

string

Identifies a subscription to the CHF spending limit control retrieval service.

5.3.3.3 Resource Standard Methods

5.3.3.3.1 PUT

This method shall support the URI query parameters specified in table 5.3.3.3.1-1.

Table 5.3.3.3.1-1: URI query parameters supported by the PUT method on this resource

Name

Data type

P

Cardinality

Description

n/a

This method shall support the request data structures specified in table 5.3.3.3.1-2 and the response data structures and response codes specified in table 5.3.3.3.1-3.

Table 5.3.3.3.1-2: Data structures supported by the PUT Request Body on this resource

Data type

P

Cardinality

Description

SpendingLimitContext

M

1

Modifies the existing individual spending limit retrieval subscription.

Table 5.3.3.3.1-3: Data structures supported by the PUT Response Body on this resource

Data type

P

Cardinality

Response codes

Description

SpendingLimitStatus

M

1

200 OK

Successful case: The individual spending limit subscription was modified and spending limit reports are provided.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection, during Individual Spending Limit Retrieval Subscription modification. The response shall include a Location header field containing an alternative URI of the resource located in an alternative CHF (service) instance.

Applicable if the feature "ES3XX" is supported.

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection, during Individual Spending Limit Retrieval Subscription modification. The response shall include a Location header field containing an alternative URI of the resource located in an alternative CHF (service) instance.

Applicable if the feature "ES3XX" is supported.

ProblemDetails

O

0..1

400 Bad Request

(NOTE 2)

NOTE 1: In addition, the HTTP status codes which are specified as mandatory in table 5.2.7.1-1 of 3GPP TS 29.500 [4] for the PUT method shall also apply.

NOTE 2: In addition to protocol and application errors which are specified in clause 5.2.7.2 of 3GPP TS 29.500 [4], specific errors are described in clause 5.7.

Table 5.3.3.3.1-4: Headers supported by the 307 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located in an alternative CHF (service) instance.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target NF (service) instance towards which the request is redirected

Table 5.3.3.3.1-5: Headers supported by the 308 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located in an alternative CHF (service) instance.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target NF (service) instance towards which the request is redirected

5.3.3.3.2 DELETE

This method shall support the URI query parameters specified in table 5.3.3.3.2-1.

Table 5.3.3.3.3-1: URI query parameters supported by the DELETE method on this resource

Name

Data type

P

Cardinality

Description

n/a

This method shall support the request data structures specified in table 5.3.3.3.2-2 and the response data structures and response codes specified in table 5.3.3.3.2-3.

Table 5.3.3.3.2-2: Data structures supported by the DELETE Request Body on this resource

Data type

P

Cardinality

Description

n/a

Table 5.3.3.3.2-3: Data structures supported by the DELETE Response Body on this resource

Data type

P

Cardinality

Response codes

Description

n/a

204 No Content

Successful case: The individual spending limit subscription matching the subscriptionId was deleted.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection, during Individual Spending Limit Retrieval Subscription deletion. The response shall include a Location header field containing an alternative URI of the resource located in an alternative CHF (service) instance.

Applicable if the feature "ES3XX" is supported.

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection, during Individual Spending Limit Retrieval Subscription deletion. The response shall include a Location header field containing an alternative URI of the resource located in an alternative CHF (service) instance.

Applicable if the feature "ES3XX" is supported.

NOTE: In addition, the HTTP status codes which are specified as mandatory in table 5.2.7.1-1 of 3GPP TS 29.500 [4] for the DELETE method shall also apply.

Table 5.3.3.3.2-4: Headers supported by the 307 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located in an alternative CHF (service) instance.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target NF (service) instance towards which the request is redirected

Table 5.3.3.3.2-5: Headers supported by the 308 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located in an alternative CHF (service) instance.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target NF (service) instance towards which the request is redirected

5.4 Custom Operations without associated resources

None.

5.5 Notifications

5.5.1 General

Notification shall comply with clause 6.2 of 3GPP TS 29.500 [4] and clause 4.6.2.3 of 3GPP TS 29.501 [5].

Table 5.5.1-1: Notifications overview

Notification

Callback URI

HTTP method or custom operation

Description (service operation)

Spending limit notification

{notifUri}/notify

notify (POST)

Counter Status changes notification.

Subscription Termination

{notifUri}/terminate

terminate (POST)

Indication of subscription termination.

5.5.2 Spending limit notification

5.5.2.1 Description

The spending limit notification is used by the CHF to notify the change of the status of the subscribed policy counters for a subscriber and/or to provide one or more pending statuses for a subscribed policy counter together with the time they shall be applied.

5.5.2.2 Target URI

The Callback URI {notifUri}/notify shall be used with the callback URI variables defined in table 5.5.2.2-1.

Table 5.5.2.2-1: Callback URI variables

Name

Data type

Definition

notifUri

Uri

The Notification Uri as assigned by the NF service consumer during the subscription service operation and described within the SpendingLimitContext data type (see table 5.6.2.2-1).

5.5.2.3 Standard Methods

5.5.2.3.1 POST

This method shall support the URI query parameters specified in table 5.5.2.3.1-1.

Table 5.5.2.3.1-1: URI query parameters supported by the POST method on this resource

Name

Data type

P

Cardinality

Description

n/a

This method shall support the request data structures specified in table 5.5.2.3.1-2 and the response data structures and response codes specified in table 5.5.2.3.1-3.

Table 5.5.2.3.1-2: Data structures supported by the POST Request Body on this resource

Data type

P

Cardinality

Description

SpendingLimitStatus

M

1

Provides information about the statuses of policy counters.

Table 5.5.2.3.1-3: Data structures supported by the POST Response Body on this resource

Data type

P

Cardinality

Response codes

Description

n/a

204 No Content

The receipt of the notification is acknowledged.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection, during Spending limit report. The response shall include a Location header field containing an alternative URI representing the end point of an alternative NF consumer (service) instance where the notification should be sent.

Applicable if the feature "ES3XX" is supported.

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection, during Spending limit report. The response shall include a Location header field containing an alternative URI representing the end point of an alternative NF consumer (service) instance where the notification should be sent.

Applicable if the feature "ES3XX" is supported.

NOTE: In addition, the HTTP status codes which are specified as mandatory in table 5.2.7.1-1 of 3GPP TS 29.500 [4] for the POST method shall also apply.

Table 5.3.3.3.2-4: Headers supported by the 307 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI representing the end point of an alternative NF consumer (service) instance towards which the notification should be redirected.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target NF (service) instance towards which the notification request is redirected

Table 5.3.3.3.2-5: Headers supported by the 308 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI representing the end point of an alternative NF consumer (service) instance towards which the notification should be redirected.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target NF (service) instance towards which the notification request is redirected

5.5.3 Subscription Termination

5.5.3.1 Description

The Subscription Termination request is used by the CHF to request the NF service consumer the termination of the subscription to policy counter status changes.

5.5.3.2 Target URI

The Callback URI {notifUri}/terminate shall be used with the callback URI variables defined in table 5.5.3.2-1.

Table 5.5.3.2-1: Callback URI variables

Name

Data type

Definition

notifUri

Uri

The Notification Uri as assigned by the NF service consumer during the subscription service operation and described within the SpendingLimitContext data type (see table 5.6.2.2-1).

5.5.3.3 Standard Methods

5.5.3.3.1 POST

This method shall support the URI query parameters specified in table 5.5.3.3.1-1.

Table 5.5.3.3.1-1: URI query parameters supported by the POST method on this resource

Name

Data type

P

Cardinality

Description

n/a

This method shall support the request data structures specified in table 5.5.3.3.1-2 and the response data structures and response codes specified in table 5.5.3.3.1-3.

Table 5.5.3.3.1-2: Data structures supported by the POST Request Body on this resource

Data type

P

Cardinality

Description

SubscriptionTerminationInfo

M

1

Provides information about the deletion of the resource.

Table 5.5.3.3.1-3: Data structures supported by the POST Response Body on this resource

Data type

P

Cardinality

Response codes

Description

n/a

204 No Content

The receipt of the Notification is acknowledged.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection, during subscription termination. The response shall include a Location header field containing an alternative URI representing the end point of an alternative NF consumer (service) instance where the notification should be sent.

Applicable if the feature "ES3XX" is supported.

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection, during subscription termination. The response shall include a Location header field containing an alternative URI representing the end point of an alternative NF consumer (service) instance where the notification should be sent.

Applicable if the feature "ES3XX" is supported.

NOTE: In addition, the HTTP status codes which are specified as mandatory in table 5.2.7.1-1 of 3GPP TS 29.500 [4] for the POST method shall also apply.

Table 5.5.3.3.1-4: Headers supported by the 307 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI representing the end point of an alternative NF consumer (service) instance towards which the notification should be redirected.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target NF (service) instance towards which the notification request is redirected

Table 5.5.3.3.1-5: Headers supported by the 308 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI representing the end point of an alternative NF consumer (service) instance towards which the notification should be redirected.

3gpp-Sbi-Target-Nf-Id

string

O

0..1

Identifier of the target NF (service) instance towards which the notification request is redirected

5.6 Data Model

5.6.1 General

This clause specifies the application data model supported by the API.

Table 5.6.1-1 specifies the data types defined for the Nchf_SpendingLimitControl service based interface protocol.

Table 5.6.1-1: Nchf_SpendingLimitControl specific Data Types

Data type

Section defined

Description

Applicability

SpendingLimitContext

5.6.2.2

Describes the subscription data structure required for an individual CHF spending limit subscription.

SpendingLimitStatus

5.6.2.3

Describes the data structure presenting the statuses of policy counters.

PolicyCounterInfo

5.6.2.4

Describes the data structure presenting the policy counter status.

PendingPolicyCounterStatus

5.6.2.5

Describes the data structure presenting the pending policy counter status.

PolicyCounterId

5.6.3.2

Identifies a policy counter.

SubscriptionTerminationInfo

5.6.2.6

Describes the data structure presenting the indication of the termination of the subscription.

TerminationCause

5.6.3.3

Represents the types of causes for requesting the termination of the subscription.

Table 5.6.1-2 specifies data types re-used by the Nchf_SpendingLimitControl service based interface protocol from other specifications, including a reference to their respective specifications and when needed, a short description of their use within the Nchf_SpendingLimitControl service based interface.

Table 5.6.1-2: Nchf_SpendingLimitControl re-used Data Types

Data type

Reference

Comments

Applicability

DateTime

3GPP TS 29.571 [11]

String with format "date-time" as defined in OpenAPI Specification [9].

Uri

3GPP TS 29.571 [11]

Supi

3GPP TS 29.571 [11]

Gpsi

3GPP TS 29.571 [11]

RedirectResponse

3GPP TS 29.571 [11]

Contains redirection related information.

ES3XX

SupportedFeatures

3GPP TS 29.571 [11]

Used to negotiate the applicability of the optional features defined in table 5.8-1.

5.6.2 Structured data types

5.6.2.1 Introduction

This clause defines the structures to be used in resource representations.

5.6.2.2 Type SpendingLimitContext

Table 5.6.2.2-1: Definition of type SpendingLimitContext

Attribute name

Data type

P

Cardinality

Description

Applicability

supi

Supi

C

0..1

The Subscription Permanent Identifier (Supi) shall be present within the initial spending limit retrieval procedure (creation of a new individual subscription) and intermediate spending limit retrieval procedure (modification of an existing subscription).

gpsi

Gpsi

O

0..1

The Generic Public Subscription Identifier (Gpsi) shall contain either an External Id or an MSISDN. It may be present within the initial spending limit retrieval procedure (creation of a new individual subscription) and intermediate spending limit retrieval procedure (modification of an existing subscription).

policyCounterIds

array(PolicyCounterId)

O

1..N

This is a list of policy counter identifier(s), which identifies policy counters maintained per subscriber within the CHF.

notifUri

Uri

C

0..1

This attribute identifies the recipient of spending limit notifications sent to the NF service consumer by the CHF. The notifUri shall be present within the initial spending limit retrieval procedure (creation of a new individual subscription and within the intermediate spending limit retrieval procedure (modification of an existing subscription).

notifId

string

C

0..1

Notification Correlation ID assigned by the NF service consumer. It shall be included if the NotificationCorrelation feature is supported, the notifUri does not encode the notification correlation Id, and the NF service consumers require multiple subscriptions for the same SUPI, e.g. UE accesses multiple network slices.

NotificationCorrelation

expiry

DateTime

O

0..1

The expiry time may be included in a subscription request. When present, this IE shall represent the longest duration time after which the subscription shall become invalid.

SubscriptionExpirationTimeControl

supportedFeatures

SupportedFeatures

C

0..1

The list of supported features as described in clause 5.8 shall be supplied by the NF service consumer in the POST request that request the creation of a spending limit report resource and intermediate spending limit retrieval procedure (modification of an existing subscription).

5.6.2.3 Type SpendingLimitStatus

Table 5.6.2.3-1: Definition of type SpendingLimitStatus

Attribute name

Data type

P

Cardinality

Description

Applicability

supi

Supi

O

0..1

The Subscription Permanent Identifier (Supi) shall be present within the callback notify service operation (notification of the status of subscribed policy counters).

notifId

string

C

0..1

Notification Correlation ID assigned by the NF service consumer. It shall be included if provided during the subscription within the SpendingLimitContext data type.

NotificationCorrelation

statusInfos

map(PolicyCounterInfo)

C

1..N

Status of the requested policy counters. The key of the map is the attribute "policyCounterId".

It may be omitted when the feature SubscriptionExpirationTimeControl is supported and the CHF only requires to update the "expiry" attribute.

expiry

DateTime

C

0..1

This expiry time shall be included in a subscription response, if the expiry time was included in the request.

It may be included in a subscription response and notification request based on operator policies for the control in the CHF of the subscription duration.

SubscriptionExpirationTimeControl

supportedFeatures

SupportedFeatures

C

0..1

If the supportedFeatures is included in the request by the NF service consumer, it shall be supplied in the reply of the corresponding request by the CHF.

5.6.2.4 Type PolicyCounterInfo

Table 5.6.2.4-1: Definition of type PolicyCounterInfo

Attribute name

Data type

P

Cardinality

Description

Applicability

policyCounterId

PolicyCounterId

M

1

Identifies the requested policy counter.

currentStatus

string

M

1

Identifies the policy counter status applicable for a specific policy counter identified by the policyCounterId. The values (e.g. valid, invalid or any other status) are not specified. The interpretation and actions related to the defined values are out of scope of 3GPP.

penPolCounterStatuses

array(PendingPolicyCounterStatus)

O

1..N

Provides the pending policy counter status.

5.6.2.5 Type PendingPolicyCounterStatus

Table 5.6.2.5-1: Definition of type PendingPolicyCounterStatus

Attribute name

Data type

P

Cardinality

Description

Applicability

policyCounterStatus

string

M

1

Identifies the policy counter status applicable for a specific policy counter identified by the PolicyCounterId. The values (e.g. valid, invalid or any other status) are not specified. The interpretation and actions related to the defined values are out of scope of 3GPP.

activationTime

DateTime

M

1

Indicates the time at which the pending policy counter status becomes the current status of a policy counter.

5.6.2.6 Type SubscriptionTerminationInfo

Table 5.6.2.6-1: Definition of type SubscriptionTerminationInfo

Attribute name

Data type

P

Cardinality

Description

Applicability

supi

Supi

M

1

Subscription Permanent Identifier.

notifId

string

C

0..1

Notification Correlation ID assigned by the NF service consumer. It shall be included if provided during the subscription within the SpendingLimitContext data type.

NotificationCorrelation

termCause

TerminationCause

O

0..1

Indicates the cause for requesting the termination of the subscription to policy counter status changes.

5.6.3 Simple data types and enumerations

5.6.3.1 Introduction

This clause defines simple data types and enumerations that can be referenced from data structures defined in the previous clauses.

5.6.3.2 Simple data types

The simple data types defined in table 5.6.3.2-1 shall be supported.

Table 5.6.3.2-1: Simple data types

Type Name

Type Definition

Description

Applicability

PolicyCounterId

string

Identifies a policy counter.

5.6.3.3 Enumeration: TerminationCause

The enumeration "TerminationCause" represents the types of causes the CHF can report when requesting the termination of the subscription.

Table 5.6.3.3-1: Enumeration TerminationCause

Enumeration value

Description

Applicability

REMOVED_SUBSCRIBER

The subscriber identified by the SUPI has been removed from the CHF.

5.7 Error handling

5.7.1 General

HTTP error handling shall be supported as specified in clause 5.2.4 of 3GPP TS 29.500 [4].

For the Nchf_SpendingLimitControl service API, HTTP error responses shall be supported as specified in clause 4.8 of 3GPP TS 29.501 [5].

Protocol errors and application errors specified in table 5.2.7.2-1 of 3GPP TS 29.500 [4] shall be supported for an HTTP method if the corresponding HTTP status codes are specified as mandatory for that HTTP method in table 5.2.7.1-1 of 3GPP TS 29.500 [4].

In addition, the requirements in the following clauses shall apply.

5.7.2 Protocol Errors

In this Release of the specification, there are no additional protocol errors applicable for the Nchf_SpendingLimitControl service API.

5.7.3 Application Errors

The application errors defined for the Nchf_SpendingLimitControl service API are listed in table 5.7.3-1.

Table 5.7.3-1: Application errors

Application Error

HTTP status code

Description

USER_UNKNOWN

400 Bad Request

The subscriber specified in the request is not known at the CHF and the subscription cannot be created.

NO_AVAILABLE_POLICY_COUNTERS

400 Bad Request

There are no policy counters available for the subscriber at the CHF

UNKNOWN_POLICY_COUNTERS

400 Bad Request

The policy counter identifiers in the request are not known at the CHF.

NOTE: Including a "ProblemDetails" data structure with the "cause" attribute in the HTTP response is optional unless explicitly mandated in the service operation clauses.

5.8 Feature negotiation

The optional features in table 5.8-1 are defined for the Nchf_SpendingLimitControl Service API. They shall be negotiated using the extensibility mechanism defined in clause 6.6.2 of 3GPP TS 29.500 [4].

Table 5.8-1: Supported Features

Feature number

Feature Name

Description

1

SubscriptionExpirationTimeControl

Indicates the support of a expiry time to control the time duration of the subscription to changes of policy counters status.

2

NotifiationCorrelation

Indicates the support of the explicit indication of the notification correlation id

3

ES3XX

Extended Support for 3xx redirections. This feature indicates the support of redirection for any service operation, according to Stateless NF procedures as specified in clauses 6.5.3.2 and 6.5.3.3 of 3GPP TS 29.500 [4] and according to HTTP redirection principles for indirect communication, as specified in clause 6.10.9 of 3GPP TS 29.500 [4].

5.9 Security

As indicated in 3GPP TS 33.501 [14] and 3GPP TS 29.500 [4], the access to the Nchf_SpendingLimitControl API, based on local configuration, may be authorized by means of the OAuth2 protocol (see IETF RFC 6749 [15]), using the "Client Credentials" authorization grant, where the NRF (see 3GPP TS 29.510 [16]) plays the role of the authorization server.

If OAuth2 is used, an NF service consumer, prior to consuming services offered by the Nchf_SpendingLimitControl API, shall obtain a "token" from the authorization server, by invoking the Access Token Request service, as described in 3GPP TS 29.510 [16], clause 5.4.2.2.

NOTE: When multiple NRFs are deployed in a network, the NRF used as authorization server is the same NRF that the NF service consumer used for discovering the Nchf_SpendingLimitControl service.

The Nchf_SpendingLimitControl API defines a single scope "nchf-spendinglimitcontrol" for OAuth2 authorization (as specified in 3GPP TS 33.501 [14]) for the entire API, and it does not define any additional scopes at resource or operation level.

Annex A (normative):
OpenAPI specification