5.5 ChargeableParty API

29.1223GPPRelease 18T8 reference point for Northbound APIsTS

5.5.1 Overview

The ChargeableParty API is a RESTful API that allows the SCS/AS to either request to sponsor the traffic from the beginning or to request becoming the chargeable party at a later point in time via the T8 interface. The ChargeableParty API defines a set of data models, resources and the related procedures for the creation and management of the AS sessions with chargeable party change. The corresponding JSON schema for the representation of the resources and operations defined by the Chargeable API is provided in its complete form in Annex A.5.

5.5.2 Data model

5.5.2.1 Resource data types

5.5.2.1.1 Introduction

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

Table 5.5.2.1.1-1 specifies data types re-used by the ChargeableParty API from other specifications, including a reference to their respective specifications and when needed, a short description of their use within the ChargeableParty API.

Table 5.5.2.1.1-1: ChargeableParty API re-used Data Types

Data type

Reference

Comments

Dnn

3GPP TS 29.571 [45]

Identifies a DNN.

EthFlowDescription

3GPP TS 29.514 [52]

Defines a packet filter for an Ethernet flow.(NOTE)

IpAddr

3GPP TS 29.571 [45]

UE IP Address.

MacAddr48

3GPP TS 29.571 [45]

MAC Address.

ServAuthInfo

3GPP TS 29.514 [52]

The authorization result of a request bound to a transfer policy.

Snssai

3GPP TS 29.571 [45]

Identifies the S-NSSAI.

SupportedFeatures

3GPP TS 29.571 [45]

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

NOTE: In order to support a set of MAC addresses with a specific range in the traffic filter, feature MacAddressRange_5G as specified in clause 5.5.4 shall be supported.

Table 5.5.2.1.1-2 specifies the data types defined for the ChargeableParty API.

Table 5.5.2.1.1-2: ChargeableParty API specific Data Types

Data type

Clause defined

Description

Applicability

ChargeableParty

5.5.2.1.2

Represents the configuration of a chargeable party.

ChargeablePartyPatch

5.5.2.1.3

Represents a modification request of a chargeable party resource.

5.5.2.1.2 Type: ChargeableParty

This type represents the configuration of a chargeable party. The same structure is used in the configuration request and configuration response.

Table 5.5.2.1.2-1: Definition of type ChargeableParty

Attribute name

Data type

Cardinality

Description

Applicability (NOTE 1)

self

Link

0..1

Link to the resource "Individual Chargeable Party Transaction". This parameter shall be supplied by the SCEF in HTTP responses.

dnn

Dnn

0..1

Identifies a DNN, a full DNN with both the Network Identifier and Operator Identifier, or a DNN with the Network Identifier only. (NOTE 3)

snssai

Snssai

0..1

Identifies an S-NSSAI. (NOTE 3)

supportedFeatures

SupportedFeatures

0..1

Used to negotiate the supported optional features of the API as described in clause 5.2.7.

This attribute shall be provided in the POST request and in the response of successful resource creation.

notificationDestination

Link

1

Contains the URI to receive the notification of bearer level event(s) from the SCEF.

requestTestNotification

boolean

0..1

Set to true by the SCS/AS to request the SCEF to send a test notification as defined in clause 5.2.5.3. Set to false or omitted otherwise.

Notification_test_event

websockNotifConfig

WebsockNotifConfig

0..1

Configuration parameters to set up notification delivery over Websocket protocol as defined in clause 5.2.5.4.

Notification_websocket

exterAppId

string

0..1

Identifies the external Application Identifier. (NOTE 2)

AppId

ipv4Addr

Ipv4Addr

0..1

Identifies the Ipv4 address.

(NOTE 2)

ipDomain

string

0..1

The IPv4 address domain identifier.

The attribute may only be provided if the ipv4Addr attribute is present.

ipv6Addr

Ipv6Addr

0..1

Identifies the Ipv6 address.

(NOTE 2)

macAddr

MacAddr48

0..1

Identifies the MAC address.

(NOTE 2)

EthChgParty_5G

flowInfo

array(FlowInfo)

0..N

Describes the IP flows.

(NOTE 2)

ethFlowInfo

array(EthFlowDescription)

0..N

Identifies Ethernet packet flows.

(NOTE 2)

EthChgParty_5G

sponsorInformation

SponsorInformation

1

Describes the sponsor information such as who is sponsoring the traffic.

sponsoringEnabled

boolean

1

Indicates whether the sponsoring data connectivity is enabled.

– true: the sponsoring data connectivity is enabled;

– false: the sponsoring data connectivity is not enabled.

referenceId

BdtReferenceId

0..1

The reference ID for a previously selected policy of background data transfer.

servAuthInfo

ServAuthInfo

0..1

Indicates the authorization result for the request bound to the transfer policy indicated by the "referenceId" attribute.

Supplied by the SCEF

usageThreshold

UsageThreshold

0..1

Time period and/or traffic volume.

events

array(Event)

0..N

Corresponds to the event(s) to which the SCS/AS requests to subscribe.

enNB

NOTE 1: Properties marked with a feature as defined in clause 5.5.4 are applicable as described in clause 5.2.7. If no feature are indicated, the related property applies for all the features.

NOTE 2: One of the "ipv4Addr", "ipv6Addr", or "macAddr" attribute shall be provided. If ipv4 or ipv6 address is provided, IP flow information shall be provided. If MAC address is provided and the AppId feature is not supported, Ethernet flow information shall be provided. If the AppId feature is supported, one of IP flow information, Ethernet flow information (if EthChgParty_5G is supported) or External Application Identifier shall be provided.

NOTE 3: The property is only applicable for the NEF.

5.5.2.1.3 Type: ChargeablePartyPatch

This type represents the configuration of a chargeable party. The structure is used for PATCH request.

Table 5.5.2.1.3-1: Definition of type ChargeablePartyPatch

Attribute name

Data type

Cardinality

Description

Applicability (NOTE)

flowInfo

array(FlowInfo)

0..N

Describes the IP flows. (NOTE 2)

exterAppId

string

0..1

Identifies the AF Application Identifier. (NOTE 2)

AppId

ethFlowInfo

array(EthFlowDescription)

0..N

Describes Ethernet packet flows. (NOTE 2)

EthChgParty_5G

sponsoringEnabled

boolean

0..1

Indicates whether the sponsoring data connectivity is enabled.

– true: the sponsoring data connectivity is enabled;

– false: the sponsoring data connectivity is not enabled.

referenceId

BdtReferenceId

0..1

The reference ID for a previously selected policy of background data transfer.

usageThreshold

UsageThresholdRm

0..1

Time period and/or traffic volume.

notificationDestination

Link

0..1

Contains the URL to receive the notification event(s) from the SCEF.

events

array(Event)

0..N

Corresponds to the event(s) to which the SCS/AS requests to subscribe to.

enNB

NOTE 1: Properties marked with a feature as defined in clause 5.5.4 are applicable as described in clause 5.2.7. If no features are indicated, the related property applies for all the features.

NOTE 2: One of "flowInfo", "exterAppId" or "ethFlowInfo" may be provided.

5.5.3 Resource structure

5.5.3.1 General

All resource URIs of this API should have the following root:

{apiRoot}/3gpp-chargeable-party/v1

"apiRoot" is set as described in clause 5.2.4. All resource URIs in the clauses below are defined relative to the above root URI.

The following resources and HTTP methods are supported for this API:

Table 5.5.3.1-1: Resources and methods overview

Resource name

Resource URI

HTTP method

Meaning

Chargeable Party Transactions

/{scsAsId}/transactions

GET

Read all or queried chargeable party transaction resources for a given SCS/AS

POST

Create a new chargeable party transaction resource

Individual Chargeable Party Transaction

/{scsAsId}/transactions/{transactionId}

GET

Read a chargeable party transaction resource

PATCH

Partial update a chargeable party transaction resource.

DELETE

Delete an existing chargeable party transaction resource

5.5.3.2 Resource: Chargeable Party Transactions

5.5.3.2.1 Introduction

This resource allows the SCS/AS to read all active long-term transactions related to setting a chargeable party and create individual long-term transactions.

5.5.3.2.2 Resource definition

Resource URI: {apiRoot}/3gpp-chargeable-party/v1/{scsAsId}/transactions

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

Table 5.5.3.2.2-1: Resource URI variables for resource "Chargeable Party Transactions"

Name

Data type

Definition

apiRoot

string

See clause 5.2.4.

scsAsId

string

Identifier of the SCS/AS.

5.5.3.2.3 Resource methods
5.5.3.2.3.1 GET

The GET method allows to read all or queried active chargeable party transactions for a given SCS/AS. The SCS/AS shall initiate the HTTP GET request message and the SCEF shall respond to the message.

This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the table 5.5.3.2.3.1-1 and table 5.5.3.2.3.1-2.

Table 5.5.3.2.3.1-1: URI query parameters supported by the GET method on this resource

Name

Data type

Cardinality

Remarks

Applicability

ip-addrs

array(IpAddr)

0..N

The IP address(es) of the requested UE(s).

enNB

ip-domain

string

0..1

The IPv4 address domain identifier.

The attribute may only be provided if IPv4 address is included in the ip-addrs query parameter.

enNB

mac-addrs

array(MacAddr48)

0..N

The MAC address(es) of the requested UE(s).

enNB

NOTE: Either the "ip-addrs" parameter or the "mac-addrs" parameter may be provided at the same time. If multiple elements are provided in the array data structure, then each element shall be treated as a separate query parameter.

Table 5.5.3.2.3.1-2: Data structures supported by the GET request/response by the resource

Request body

Data type

Cardinality

Remarks

none

Response body

Data type

Cardinality

Response

codes

Remarks

array(ChargeableParty)

0..N

200 OK

The chargeable party transactions information for the SCS/AS in the request URI are returned.

none

307 Temporary Redirect

Temporary redirection, during transaction retrieval. The response shall include a Location header field containing an alternative URI of the resource located in an alternative SCEF.

Redirection handling is described in clause 5.2.10.

none

308 Permanent Redirect

Permanent redirection, during transaction retrieval. The response shall include a Location header field containing an alternative URI of the resource located in an alternative SCEF.

Redirection handling is described in clause 5.2.10.

NOTE: The mandatory HTTP error status codes for the GET method listed in table 5.2.6-1 also apply.

Table 5.5.3.2.3.1-3: 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 SCEF.

Table 5.5.3.2.3.1-4: 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 SCEF.

5.5.3.2.3.2 PUT

This HTTP method is not supported for the resource.

5.5.3.2.3.3 PATCH

This HTTP method is not supported for the resource.

5.5.3.2.3.4 POST

The POST method creates a new chargeable party transaction resource for a given SCS/AS. The SCS/AS shall initiate the HTTP POST request message and the SCEF shall respond to the message. The SCEF shall construct the URI of the created resource.

This method shall support request and response data structures, and response codes, as specified in the table 5.5.3.2.3.4-1.

Table 5.5.3.2.3.4-1: Data structures supported by the POST request/response by the resource

Request body

Data type

Cardinality

Remarks

ChargeableParty

1

Parameters to create a chargeable party transaction with the SCEF.

Response body

Data type

Cardinality

Response

codes

Remarks

ChargeableParty

1

201 Created

The transaction was created successfully.

The URI of the created resource shall be returned in the "Location" HTTP header.

NOTE: The mandatory HTTP error status codes for the POST method listed in table 5.2.6-1 also apply.

Table 5.5.3.2.3.4-2: 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}/3gpp-chargeable-party/v1/{scsAsId}/transactions/{transactionId}

5.5.3.2.3.5 DELETE

This HTTP method is not supported for the resource.

5.5.3.3 Resource: Individual Chargeable Party Transaction

5.5.3.3.1 Introduction

This resource allows the SCS/AS to configure a chargeable party for some application flows using a long-term transaction.

5.5.3.3.2 Resource definition

Resource URI: {apiRoot}/3gpp-chargeable-party/v1/{scsAsId}/transactions/{transactionId}

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

Table 5.5.3.3.2-1: Resource URI variables for resource "Individual Chargeable Party Transaction"

Name

Data type

Definition

apiRoot

string

See clause 5.2.4.

scsAsId

string

Identifier of the SCS/AS.

transactionId

string

Identifier of the transaction. The transactionId corresponds to the stage 2 TLTRI.

5.5.3.3.3 Resource methods
5.5.3.3.3.1 GET

The GET method allows to read a transaction resource to obtain details of an active. The SCS/AS shall initiate the HTTP GET request message and the SCEF shall respond to the message.

This method shall support the URI query parameters, request and response data structures, and response codes, as specified in the table 5.5.3.3.3.1-1 and table 5.5.3.3.3.1-2.

Table 5.5.3.3.3.1-1: URI query parameters supported by the GET method on this resource

Name

Data type

Cardinality

Remarks

none specified

Table 5.5.3.3.3.1-2: Data structures supported by the GET request/response by the resource

Request body

Data type

Cardinality

Remarks

none

Response body

Data type

Cardinality

Response

codes

Remarks

ChargeableParty

1

200 OK

The chargeable party transactions information related to the request URI is returned.

none

307 Temporary Redirect

Temporary redirection, during transaction retrieval. The response shall include a Location header field containing an alternative URI of the resource located in an alternative SCEF.

Redirection handling is described in clause 5.2.10.

none

308 Permanent Redirect

Permanent redirection, during transaction retrieval. The response shall include a Location header field containing an alternative URI of the resource located in an alternative SCEF.

Redirection handling is described in clause 5.2.10.

NOTE: The mandatory HTTP error status codes for the GET method listed in table 5.2.6-1 also apply.

Table 5.5.3.3.3.1-3: 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 SCEF.

Table 5.5.3.3.3.1-4: 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 SCEF.

5.5.3.3.3.2 PUT

This HTTP method is not supported for the resource.

5.5.3.3.3.3 PATCH

The PATCH method allows to change the sponsoring status of an active chargeable party transaction. It also allows to activate a background data tranfer policy. The SCS/AS shall initiate the HTTP PATCH request message and the SCEF shall respond to the message.This method shall support request and response data structures, and response codes, as specified in the table 5.5.3.3.3.3-1.

Table 5.5.3.3.3.3-1: Data structures supported by the PATCH request/response by the resource

Request body

Data type

Cardinality

Remarks

ChargeablePartyPatch

1

Sponsor status change, usage threshold change and/or background data transfer policy activation.

Response body

Data type

Cardinality

Response

codes

Remarks

ChargeableParty

1

200 OK

The chargeable party transaction resource was modified successfully.

The SCEF shall return a representation of the updated chargeable party transaction resource in the response payload body.

none

204 No Content

The chargeable party transaction resource was modified successfully.

none

307 Temporary Redirect

Temporary redirection, during transaction modification. The response shall include a Location header field containing an alternative URI of the resource located in an alternative SCEF.

Redirection handling is described in clause 5.2.10.

none

308 Permanent Redirect

Permanent redirection, during transaction modification. The response shall include a Location header field containing an alternative URI of the resource located in an alternative SCEF.

Redirection handling is described in clause 5.2.10.

NOTE: The mandatory HTTP error status codes for the PATCH method listed in table 5.2.6-1 also apply.

Table 5.5.3.3.3.3-2: 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 SCEF.

Table 5.5.3.3.3.3-3: 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 SCEF.

5.5.3.3.3.4 POST

This HTTP method is not supported for the resource.

5.5.3.3.3.5 DELETE

The DELETE method allows to delete an active chargeable party transaction resource and to terminate the related chargeable party transaction. The SCS/AS shall initiate the HTTP DELETE request message and the SCEF shall respond to the message.

This method shall support request and response data structures, and response codes, as specified in the table 5.5.3.3.3.5-1.

Table 5.5.3.3.3.5-1.: Data structures supported by the DELETE request/response by the resource

Request body

Data type

Cardinality

Remarks

none

Response body

Data type

Cardinality

Response

codes

Remarks

none

204 No Content

The subscription was deleted successfully.

NotificationData

1

200 OK

The subscription was deleted successfully. The notification data shall be included in the response.

none

307 Temporary Redirect

Temporary redirection, during transaction termination. The response shall include a Location header field containing an alternative URI of the resource located in an alternative SCEF.

Redirection handling is described in clause 5.2.10.

none

308 Permanent Redirect

Permanent redirection, during transaction termination. The response shall include a Location header field containing an alternative URI of the resource located in an alternative SCEF.

Redirection handling is described in clause 5.2.10.

NOTE: The mandatory HTTP error status codes for the DELETE method listed in table 5.2.6-1 also apply.

Table 5.5.3.3.3.5-2: 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 SCEF.

Table 5.5.3.3.3.5-3: 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 SCEF.

5.5.3.4 Void

5.5.3A Notifications

5.5.3A.1 General

The notifications provided by the ChargeableParty API are specified in this clause.

Table 5.5.3A-1: Notifications overview

Notification

Callback URI

HTTP method or custom operation

Description

(service operation)

Event Notification

{notificationDestination}

POST

Notify the bearer level event(s) from the SCEF to the SCS/AS identified by the notification destination URI

5.5.3A.2 Event Notification

5.5.3A.2.1 Description

The Event Notification allows the SCEF to notify the SCS/AS of the bearer level event(s).

5.5.3A.2.2 Target URI

The Callback URI "{notificationDestination}" shall be used with the callback URI variables defined in table 5.5.3A.2.2-1.

Table 5.5.3A.2.2-1: Callback URI variables

Name

Data type

Definition

notificationDestination

Link

Reference provided by the SCS/AS when the SCS/AS requests to sponsor the traffic from the beginning or to become the chargeable party at a later point.

This URI shall be provided within the "notificationDestination" attribute in the ChargeableParty type.

5.5.3A.2.3 Standard Methods
5.5.3A.2.3.1 Notification via POST

The POST method allows to notify SCS/AS identified by the notification destination URI of the bearer level event(s) by the SCEF and the SCS/AS shall respond to the message.

This method shall support the request data structures specified in table 5.5.3A.2.3.1-1 and the response data structures and response codes specified in table 5.5.3A.2.3.1-2.

Table 5.5.3A.2.3.1-1: Data structures supported by the POST Request Body

Data type

Cardinality

Description

NotificationData

1

Representation of the bearer level notification.

Table 5.5.3A.2.3.1-2: Data structures supported by the POST Response Body

Data type

Cardinality

Response codes

Description

none

204 No Content

This case represents a successful notification of bearer level event(s).

none

307 Temporary Redirect

Temporary redirection, during event notification. The response shall include a Location header field containing an alternative URI representing the end point of an alternative SCS/AS where the notification should be sent.

Redirection handling is described in clause 5.2.10.

none

308 Permanent Redirect

Permanent redirection, during event notification. The response shall include a Location header field containing an alternative URI representing the end point of an alternative SCS/AS where the notification should be sent.

Redirection handling is described in clause 5.2.10.

NOTE: The mandatory HTTP error status codes for the POST method listed in table 5.2.6-1 also apply.

Table 5.5.3A.2.3.1-3: 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 SCS/AS towards which the notification should be redirected.

Table 5.5.3A.2.3.1-4: 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 SCS/AS towards which the notification should be redirected.

5.5.3A.2.3.2 Notification via Websocket

If supported by both SCS/AS and SCEF and successfully negotiated, the NotificationData may alternatively be delivered through the Websocket mechanism as defined in clause 5.2.5.4.

5.5.4 Used Features

The table below defines the features applicable to the ChargeableParty API. Those features are negotiated as described in clause 5.2.7.

Table 5.5.4-1: Features used by ChargeableParty API

Feature Number

Feature

Description

1

Notification_websocket

The delivery of notifications over Websocket is supported according to clause 5.2.5.4. This feature requires that the Notification_test_event feature is also supported.

2

Notification_test_event

The testing of notification connection is supported according to clause 5.2.5.3.

3

EthChgParty_5G

Chargeable Party for Ethernet UE. This feature may only be supported in 5G.

4

MacAddressRange_5G

Indicates the support of a set of MAC addresses with a specific range in the traffic filter. This feature may only be supported in 5G.

5

AppId

Indicates the support of dynamically providing the Application Identifier via the API.

6

enNB

Indicates the support of enhancements to the northbound interfaces, e.g. enable an SCS/AS to explicitly indicate the event(s) that it would like to subscribe to.

Feature: A short name that can be used to refer to the bit and to the feature, e.g. "Notification".

Description: A clear textual description of the feature.

5.5.5 Error handling

5.5.5.1 General

HTTP error handling shall be supported as specified in clause 5.2.6.

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

5.5.5.2 Protocol Errors

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

5.5.5.3 Application Errors

The application errors defined for ChargeableParty API are listed in table 5.5.5.3-1.

Table 5.5.5.3-1: Application errors

Application Error

HTTP status code

Description

Applicability