6.2 Nchf_ OfflineOnlyCharging Service API

32.2913GPP5G system, charging serviceCharging managementRelease 17Stage 3Telecommunication managementTS

6.2.1 Introduction

The APIs defined in this clause implement the service operation defined in clause 5.3.2.

The Nchf_OfflineOnlyCharging service shall use the Nchf_OfflineOnlyCharging API.

The request URI used in each HTTP request from the NF service consumer towards the CHF shall have the 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 TS 29.501 [5].

– The {apiName} shall be "Nchf_OfflineOnlyCharging".

– The {apiVersion} shall be "v1".

– The {apiSpecificResourceUriPart} shall be set as described in clause 6.2.3.

6.2.2 Usage of HTTP

See clause 6.1.2 in this document.

6.2.3 Resources

6.2.3.1 Overview

Figure 6.2.3.1-1: Resource URI structure of the Nchf_OfflineOnlyCharging API

Offline Only Charging Data Ref is a unique identifier for an offline only charging data resource in a PLMN. It’s created in CHF when CHF receives a Nchf_ OfflineOnlyCharging_Create request and provided to NF (CTF) in the Location header field in the Nchf_ OfflineOnlyCharging_Create response. The NF (CTF) shall use the Offline Only Charging Data Ref received in subsequent requests to the CHF for the same charging data resource.

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

Table 6.2.3.1-1: Resources and methods overview

Resource name

Resource URI

HTTP method or custom operation

Description

Corresponding service operation

Offline Only Charging Data

{apiRoot}/
nchf-offlineonlycharging/
{apiVersion}/offlinechargingdata

POST

Create a new Offline Only Charging Data resource

Nchf_OfflineOnlyCharging_Create

Individual Offline Only Charging Data

{apiRoot}/
nchf-offlineonlycharging/{apiVersion}/
offlinechargingdata/{OfflineChargingDataRef }/update

update

(POST)

Update an existing Offline Only Charging Data resource.

Nchf_OfflineOnlyCharging_Update

{apiRoot}/
nchfofflineonlycharging/v1/
offlinechargingdata /{OfflineChargingDataRef}/release

release

(POST)

Update and release an existing Offline Only Charging Data resource.

Nchf_OfflineOnlyCharging_Release

6.2.3.2 Resource: Charging Data

6.2.3.2.1 Description

Offline Only Charging Data resource represents a collection of the different offline only charging data resources created by the CHF for offline only charging as defined in 3GPP TS 32.290 [58].

6.2.3.2.2 Resource Definition

Resource URI: {apiRoot}/nchf-offlineonlycharging/v1/offlinechargingdata

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

Table 6.2.3.2.2-1: Resource URI variables for this resource

Name

Definition

apiRoot

See clause 6.2.1

6.2.3.2.3 Resource Standard Methods
6.2.3.2.3.1 POST

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

Table 6.2.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 6.2.3.2.3.1-2 and the response data structures and response codes specified in table 6.2.3.2.3.1-3.

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

Data type

P

Cardinality

Description

ChargingDataRequest

M

1

Parameters to create a new Offline Only Charging Data resource.

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

Data type

P

Cardinality

Response

codes

Description

ChargingDataResponse

M

1

201 Created

The creation of an Offline Only Charging Data resource is confirmed and a representation of that resource is returned.

The Offline Only Charging Data resource which is created and returned successfully. The representation of created resource is identified via Location header field in the 201 response.

307 Temporary Redirect

(NOTE 2)

ChargingDataResponse

M

1

400

Bad Request

(NOTE 2)

ChargingDataResponse

M

1

403

Forbidden

(NOTE 2)

ChargingDataResponse

M

1

404

Not Found

(NOTE 2)

M

1

405

Method Not Allowed

(NOTE 2)

M

1

408

Request Timeout

(NOTE 2)

M

1

500

Internal Server Error

(NOTE 2)

M

1

503

Service Unavailable

(NOTE 2)

M

1

508

Gateway

Timeout

(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 [299] for the POST method also apply.

NOTE 2: Failure cases are described in clause 6.2.7.

6.2.3.2.4 Resource Custom Operations

None.

6.2.3.3 Resource: Individual Offline Only Charging Data

6.2.3.3.1 Description

Individual Offline Only Charging Data resource represents an offline only charging data resource created in the CHF.

6.2.3.3.2 Resource Definition

Resource URI: {apiRoot}/nchf-offlineonlycharging/v1/offlinechargingdata/{OfflineChargingDataRef}

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

Table 6.2.3.3.2-1: Resource URI variables for this resource

Name

Definition

apiRoot

See clause 6.2.1

OfflineChargingDataRef

Offline only charging data resource reference assigned by the CHF during the Nchf_ OfflineOnlyCharging_Create operation,

6.2.3.3.3 Resource Standard Methods

None.

6.2.3.3.4 Resource Custom Operations
6.2.3.3.4.1 Overview

Table 6.2.3.3.4.1-1: Custom operations

Custom operation URI

Mapped HTTP method

Description

{apiRoot}/
nchf-offlineonlyncharging/v1/
offlinechargingdata/{OfflineChargingDataRef }/update

POST

Update an existing Offline Only Charging Data resource.

{apiRoot}/
nchf-offlinecharging/v1/
offlinechargingdata /{OfflineChargingDataRef}/release

POST

Update and release an existing Offline Only Charging Data resource.

6.2.3.3.4.2 Operation: update

6.2.3.3.4.2.1 Description

This operation updates an existing Offline Only Charging Data resource.

6.2.3.3.4.2.2 Operation Definition

This operation shall support the request data structures specified in table 6.2.3.3.4.2.2-1 and the response data structures and response codes specified in table 6.2.3.3.4.2.2-2.

Table 6.2.3.3.4.2.2-1: Data structures supported by the POST Request Body on this resource

Data type

P

Cardinality

Description

ChargingDataRequest

M

1

Parameters to modify an existing Offline Only Charging Data resource matching the OfflineChargingDataRef according to the representation in the OfflineChargingData.

The request URI is the representation in the Location header field in the 201 response of resource creation.

Table 6.2.3.3.4.2.2-2: Data structures supported by the POST Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

ChargingDataResponse

M

1

200 OK

The modification of an Offline Only Charging Data resource is confirmed and a representation of that resource is returned.

The Offline Only Charging Data resource which is modified and returned successfully.

307 Temporary Redirect

(NOTE 2)

ChargingDataResponse

M

1

400

Bad Request

(NOTE 2)

ChargingDataResponse

M

1

403

Forbidden

(NOTE 2)

ChargingDataResponse

M

1

404

Not Found

(NOTE 2)

M

1

405

Method Not Allowed

(NOTE 2)

M

1

408

Request Timeout

(NOTE 2)

M

1

500

Internal Server Error

(NOTE 2)

M

1

503

Service Unavailable

(NOTE 2)

M

1

508

Gateway

Timeout

(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 [299] for the POST method also apply.

NOTE 2: Failure cases are described in clause 6.2.7.

6.2.3.3.4.3 Operation: release

6.2.3.3.4.3.1 Description

This operation update and release an existing charging session

6.2.3.3.4.3.2 Operation Definition

This operation shall support the request data structures specified in table 6.2.3.3.4.3.2-1 and the response data structures and response codes specified in table 6.2.3.3.4.3.2-2.

Table 6.2.3.3.4.3.2-1: Data structures supported by the POST Request Body on this resource

Data type

P

Cardinality

Description

ChargingDataRequest

M

1

Parameters to modify and then release the Offline Only Charging Data resource matching the OfflineChargingDataRef according to the representation in the OfflineChargingData.

The request URI is the representation in the Location header field in the 201 response of resource creation.

Table 6.2.3.3.4.3.2-2: Data structures supported by the POST Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

n/a

M

1

204 No Content

Successful case: The Offline Only Charging Data resource matching the OfflineChargingDataRef is modified and then released.

ChargingDataResponse

M

1

404 Not Found

(NOTE 2)

NOTE 1: The mandatory HTTP error status codes for the POST method listed in table 5.2.7.1-1 of 3GPP TS 29.500 [299] also apply.

NOTE 2: Failure cases are described in clause 6.2.7.

6.2.4 Custom Operations without associated resources

None.

6.2.5 Data Model

6.2.5.1 General

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

The Nchf_OfflineOnlyCharging Service API allows the NF consumer to consume the offline only charging service from the CHF as defined in 3GPP TS 32.290 [58].

Table 6.2.5.1-1 specifies the data types defined for the OfflineOlnyCharging service based interface protocol.

Table 6.2.5.1-1: Nchf_ OfflineOnlyCharging specific Data Types

Data type

Clause defined

Description

Applicability

ChargingDataRequest

6.2.5.2.1.1

6.2.5.2.2.1

Describes the attributes of Charging Data Request to CHF for initial, update and termination of the charging session.

ChargingDataResponse

6.2.5.2.1.2

6.2.5.2.2.2

Describes the attributes of Charging Data Response from CHF on charging session initial, update and termination.

The data types specified in Table 6.1.6.1-2 of this document are applied and re-used by the Nchf_OfflineOnlyCharging service based interface protocol.

6.2.5.2 Structured data types

6.2.5.2.1 Common Data Type
6.2.5.2.1.1 Type ChargingDataRequest

Table 6.2.5.2.1.1-1: Definition of type ChargingDataRequest

Attribute name

Data type

P

Cardinality

Description

Applicability

subscriberIdentifier

SubscriberIdentifier

OM

0..1

Identifier of the subscriber that uses the requested service.

nfConsumerIdentification

NFConsumerIdentification

M

1

This is a grouped field which contains a set of information identifying the NF consumer of the charging service.

invocationTimeStamp

DateTime

M

1

The time at which the request is send

invocationSequenceNumber

Uint32

M

1

This field contains the sequence number of the charging service invocation by the NF consumer ,i.e. the order of charging data requests.

The sequence number in charging data request [initial] starts from 1, and increased by 1 for subsequent charging data request.

It is allowed to start from 0 for backwards compatibility.

service SpecificationInformation

String

OC

0..1

Identifies service specific document that applies to the request, e.g. the service specific document (‘middle tier’ TS) and 3GPP release the service specific document is based upon.

multipleUnitUsage

array(MultipleUnitUsage)

OC

0..N

This field contains the parameters for usage reporting.

triggers

array(Trigger)

OC

0..N

This field identifies the event(s) triggering the request.

6.2.5.2.1.2 Type ChargingDataResponse

Table 6.2.5.2.1.2-1: Definition of type ChargingDataResponse

Attribute name

Data type

P

Cardinality

Description

Applicability

invocationTimestamp

DateTime

M

1

This field holds the timestamp of the charging service response from the CHF.

invocationResult

InvocationResult

OC

1

This field holds the result code in case of unsuccessful charging service invocation by the NF consumer

invocationSequenceNumber

Uint32

M

1

This field contains the sequence number of the charging service invocation by the NF consumer.The same value of the sequence number received in the request should be used in the response

sessionFailover

SessionFailover

OC

0..1

This field indicates whether alternative CHF is supported for ongoing charging service failover handling by NF consumer.

triggers

array(Trigger)

OC

0..N

This field identifies the chargeable event(s) supplied by CHF to override/activate the existing chargeable event(s) in NF consumer.

The presence of the triggers attribute without any triggerType is used by CHF to disable all the triggers.

6.2.5.2.1.3 Type MultipleUnitUsage

Table 6.2.5.2.1.3-1: Definition of type MultipleUnitUsage

Attribute name

Data type

P

Cardinality

Description

Applicability

ratingGroup

RatingGroup

M

1

The identifier of a rating group.

usedUnitContainer

array(UsedUnitContainer)

OC

0..N

This field contains the amount of used non-monetary service units measured.

6.2.5.2.1.4 Type UsedUnitContainer

Table 6.2.5.2.1.4-1: Definition of type UsedUnitContainer

Attribute name

Data type

P

Cardinality

Description

Applicability

serviceId

ServiceId

OC

0..1

This field identity of the used service

triggers

array (Trigger)

OC

0..N

This field specifies the reason for usage reporting for one or more types of unit associated to the rating group.

triggerTimestamp

DateTime

Oc

0..1

This field holds the timestamp when the reporting trigger occur.

time

Uint32

OC

0..1

This field holds the amount of requested time.

totalVolume

Uint64

OC

0..1

This field holds the amount of requested volume in both uplink and downlink directions.

uplinkVolume

Uint64

OC

0..1

This field holds the amount of requested volume in uplink direction.

downlinkVolume

Uint64

OC

0..1

This field holds the amount of requested volume in downlink direction.

serviceSpecific Units

Uint64

OC

0..1

This field holds the amount of used service specific units.

eventTimeStamps

Array(DateTime)

OC

0..N

This field holds the timestamps of the event reported in the Service Specific Unit s, if the reported units are event based

localSequenceNumber

integer

M

1

holds the Used Unit sequence number, i.e. the order when charging event occurs. It increased by 1 for each Used Unit generation.

6.2.5.2.1.5 Type Trigger

Table 6.2.5.2.1.5-1: Definition of type Trigger

Attribute name

Data type

P

Cardinality

Description

Applicability

triggerType

TriggerType

Oc

0..1

the events whose occurrence lead to charging event is issued towards the CHF

triggerCategory

TriggerCategory

M

1

This field indicates whether the charging data generated by the NF consumer for the trigger lead to a Charging Event towards the CHF immediately or not.

timeLimit

DurationSec

OC

0..1

Time limit if trigger type is "Expiry of data time limit"

volumeLimit64

Uint64

OC

0..1

Volume limit if trigger type is "Expiry of data volume limit".

eventLimit

Uint32

OC

0..1

Event limit if trigger type is "Expiry of data event limit"

maxNumberOfccc

Uint32

OC

0..1

Maximum number if trigger type is "Max nb of number of charging condition changes"

6.2.5.2.2 5G Data Connectivity Specified Data Type
6.2.5.2.2.1 Type ChargingDataRequest

The additional attributes of the type ChargingDataRequest defined in clause 6.2.5.2.1.1 for 5G data connectivity charging see table 6.1.6.2.2.1-1.

6.2.5.2.2.2 Type ChargingDataResponse

The additional attributes of the type ChargingDataResponse defined in clause 6.2.5.2.1.2 for 5G data connectivity charging see table 6.1.6.2.2.2-1.

6.2.5.2.2.3 Type MultipleUnitUsage

The additional attributes of the type MultipleUnitUsage defined in clause 6.2.5.2.1.3 for 5G data connectivity charging see table 6.1.6.2.2.3-1.

6.2.5.2.2.4 Type UsedUnitContainer

The additional attributes of the type UsedUnitContainer defined in clause 6.2.5.2.1.4 for 5G data connectivity charging see table 6.1.6.2.2.5-1.

6.2.5.2.2.5 Type PDUSessionChargingInformation

The additional attributes of the Type PDUSessionChargingInformation for 5G data connectivity charging see table 6.1.6.2.2.6-1.

6.2.5.2.2.6 Type UserInformation

The additional attributes of the Type UserInformation for 5G data connectivity charging see table 6.1.6.2.2.7-1.

6.2.5.2.2.7 Type PDUSessionInformation

The additional attributes of the Type PDUSessionInformation for 5G data connectivity charging see table 6.1.6.2.2.8-1.

6.2.5.2.2.8 Type PDUContainerInformation

The additional attributes of the Type PDUContainerInformation for 5G data connectivity charging see table 6.1.6.2.2.9-1.

6.2.5.2.2.9 Type NetworkSlicingInfo

The additional attributes of the Type NetworkSlicingInfo for 5G data connectivity charging see table 6.1.6.2.2.10-1.

6.2.5.2.2.10 Type PDUAddress

The additional attributes of the Type PDUAddress for 5G data connectivity charging see table 6.1.6.2.2.11-1.

6.2.5.2.2.11 Type ServingNetworkFunctionID

The additional attributes of the Type ServingNetworkFunctionID for 5G data connectivity charging see table 6.1.6.2.2.12-1.

6.2.5.2.2.12 Type RoamingQBCInformation

The additional attributes of the Type RoamingQBCInformation for 5G data connectivity charging see table 6.1.6.2.2.13-1.

6.2.5.2.2.13 Type MultipleQFIcontainer

The additional attributes of the Type MultipleQFIcontainer for 5G data connectivity charging see table 6.1.6.2.2.14-1.

6.2.5.2.2.14 Type RoamingChargingProfile

The additional attributes of the Type RoamingChargingProfile for 5G data connectivity charging see table 6.1.6.2.2.15-1.

6.2.5.2.2.15 Type QFIContainerInformation

The additional attributes of the Type QFIContainerInformation for 5G data connectivity charging see table 6.1.6.2.2.16-1.

6.2.5.2.2.16 Type RANSecondaryRATUsageReport

The additional attributes of the Type RANSecondaryRATUsageReport for 5G data connectivity charging see table 6.1.6.2.2.17-1.

6.2.5.2.2.17 Type QosFlowsUsageReport

The additional attributes of the Type QosFlowsUsageReport for 5G data connectivity charging see table 6.1.6.2.2.18-1.

6.2.5.3 Simple data types and enumerations

6.2.5.3.1 Introduction

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

6.2.5.3.2 Simple data types

The simple data types are the same as definitions in table 6.1.6.3.2-1.

6.2.5.3.3 Enumeration: ChargingCharacteristicsSelectionMode

The Enumeration ChargingCharacteristicsSelectionMode is the same as definition in table 6.1.6.3.5-1.

6.2.5.3.4 Enumeration: NodeFunctionality

Table 6.2.5.3.4-1: Enumeration NodeFunctionality

Enumeration value

Description

Applicability

SMF

This field identifies that NF is a SMF.

I_SMF

This field identifies that node is an I-SMF, only applicable for PDU session served by SMF + I-SMF.

6.2.5.3.5 Enumeration: TriggerType

Table 6.2.5.3.5-1: Enumeration TriggerType

Enumeration value

Description

Applicability

FINAL

a service termination has happened

ABNORMAL_RELEASE

PDU session has abnormal released.

QOS_CHANGE

In request message, this value is used to indicate that QoS change has happened. Any of elements of QoSData may result in QoS change.

VOLUME_LIMIT

Volume limit has been reached.

TIME_LIMIT

Time limit has been reached

EVENT_LIMIT

Event limit has been reached

PLMN_CHANGE

PLMN has been changed.

USER_LOCATION_CHANGE

In request message, this value is used to indicate that User location has been changed. The change in location information that triggered reporting is included.

RAT_CHANGE

In request message, this value is used to indicate that RAT type has been changed.

SESSION_AMBR_CHANGE

In request message, this value is used to indicate that Session AMBR has been changed.

UE_TIMEZONE_CHANGE

In request message, this value is used to indicate that UE timezone has been changed.

TARIFF_TIME_CHANGE

Tariff time change has happened.

MAX_NUMBER_OF_CHANGES_IN CHARGING_CONDITIONS

Max number of change has been reached

MANAGEMENT_INTERVENTION

Management intervention

CHANGE_OF_UE_PRESENCE_IN PRESENCE_REPORTING_AREA

In request message, this value is used to indicate that Change of UE presence in PRA has happened.

In response message, this value is used to indicate a request of reporting the event that the user enters/leaves the area(s) as indicated in the presenceReportingArea Attribute

CHANGE_OF_3GPP_PS_DATA_OFF_STATUS

In request message, this value is used to indicate that Change of 3GPP PS Data off status has happened.

SERVING_NODE_CHANGE

A serving node (e.g., AMF) change in the NF Consumer

REMOVAL_OF_UPF

A used UPF is removed

ADDITION_OF_UPF

A new UPF is added.

INSERTION_OF_ISMF

A new I-SMF is inserted

REMOVAL_OF_ISMF

A used I-SMF is removed

CHANGE_OF_ISMF

A used I-SMF is removed, and a new I-SMF is inserted

START_OF_SERVICE_DATA_FLOW

A service data flow has started

GFBR_GUARANTEED_STATUS_CHANGE

In request message,thisvalue is used to indicate that GFBR targets for the indicated SDFs are changed ("NOT_GUARANTEED" or "GUARANTEED" again).

In response message, this value is used to indicate that a NF Consumer (CTF) needs to ensure requesting the notification from the access network and that a change in the GFBR targets shall cause the service consumer to ask for a re-authorization of the associated quota.

HANDOVER_CANCEL

The handover is cancelled.

HANDOVER_START

The handover is started.

HANDOVER_COMPLETE

The handover is complete.

ADDITION_OF_ACCESS

Addition of access to the MA PDU session

ATSSS

REMOVAL_OF_ACCESS

Removal of access to the MA PDU session

ATSSS

START_OF_SDF_ADDITIONAL_ACCESS

Start of service data flow on additional access in a MA PDU session

ATSSS

6.2.5.3.6 Enumeration: ResultCode

Table 6.2.5.3.6-1: Enumeration ResultCode

Enumeration value

Description

Applicability

SUCCESS

The CHF opens or updates CDR.

6.2.5.3.7 Enumeration: 3GPPPSDataOffStatus

The Enumeration 3GPPPSDataOffStatus is the same as definition in table 6.1.6.3.13-1.

6.2.5.3.8 Enumeration: PartialRecordMethod

The Enumeration PartialRecordMethod is the same as definition in table 6.1.6.3.15-1.

6.2.5.3.9 Enumeration: RoamerInOut

The Enumeration RoamerInOut is the same as definition in table 6.1.6.3.16-1.

6.2.5.3.10 Void

6.2.6 Error handling

6.2.6.1 General

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

For the Nchf_OfflineOnlyCharging API, HTTP error responses shall be supported as specified in clause 4.8 of 3GPP TS 29.501 [2]. Protocol errors and application errors specified in table 5.2.7.2-1 of 3GPP TS 29.500 [299] 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 [299]. In addition, the requirements in the following clauses shall apply.

6.2.6.2 Protocol Errors

In this Release of the specification, there are no additional protocol errors applicable for the Nchf_OfflineOnlyCharging API compared to the Protocol Error Handling specified in clause 5.2.7.2 of 3GPP TS 29.500 [299].

6.2.6.3 Application errors

The application errors defined for the Nchf_OfflineOnlyCharging API are listed in table 6.2.6.3-1. The CHF shall include in the HTTP status code a "ProblemDetails" data structure with the "cause" attribute indicating the application error as listed in table 6.2.6.3-1. The common application errors defined in the Table 5.2.7.2-1 in 3GPP TS 29.500 [299] may also be used for the Nchf_OfflineOnlyCharging service.

Table 6.1.7.3-1: Application errors

Application Error

HTTP status code

Description

CHARGING_FAILED

400 Bad Request

The HTTP request is rejected because the set of session or subscriber information needed by the CHF for charging or CDR creation is incomplete, erroneous, or not available. (E.g. Rating Group, subscriber information)

6.2.7 Feature negotiation

The optional features in table 6.2.7-1 are defined for the Nchf_OfflineOnlyCharging API. They shall be negotiated using the extensibility mechanism defined in clause 6.6 of 3GPP TS 29.500 [299].

Table 6.2.7-1: Supported Features

Feature number

Feature Name

Description

4

ATSSS

This feature indicates support of Access Traffic Steering, Switching, Splitting (ATSSS).

20

SMF_Charging_Id

Indicates the support of strings as SMF charging Identifiers