5 Nnef_PFDmanagement API

29.5513GPP5G SystemPacket Flow Description Management ServiceRelease 18Stage 3TS

5.1 Introduction

The Packet Flow Description Management Service shall use the Nnef_PFDmanagement API.

The API URI of the Nnef_PFDmanagement API shall be:

{apiRoot}/<apiName>/<apiVersion>

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

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

with the following components:

– The {apiRoot} shall be set as described in 3GPP TS 29.501 [6].

– The <apiName> shall be "nnef-pfdmanagement".

– 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 [7], shall be used as specified in clause 5.2 of 3GPP TS 29.500 [5].

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

The OpenAPI [9] specification of HTTP messages and content bodies for the Nnef_PFDmanagement 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 [5] for the usage of HTTP standard headers.

5.2.2.2 Content type

JSON, IETF RFC 8259 [8], 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 [5]. 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 [16].

5.2.3 HTTP custom headers

5.2.3.1 General

The Nnef_PFDmanagement 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 Nnef_PFDmanagement API.

5.3 Resources

5.3.1 Resource Structure

Figure 5.3.1-1: Resource URI structure of the Nnef_PFDmanagement 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

PFD of applications

/applications

GET

Nnef_PFDmanagement_Fetch.

Retrieve PFDs for one or multiple applications using query parameters.

/applications/partialpull

partialpull

(POST)

Request PFDs for one or multiple application identifier(s) by the partial update.

Individual application PFD

/applications/{appId}

GET

Nnef_PFDmanagement_Fetch.

Retrieve the PFD for an application.

PFD subscriptions

/subscriptions

POST

Nnef_PFDmanagement_Subscribe.

Subscribe the notification of PFD changes.

Individual PFD subscription

/subscriptions/{subscriptionId}

PUT

Nnef_PFDmanagement_Subscribe.

Update a subscription to PFD change notifications.

Individual PFD subscription

/subscriptions/{subscriptionId}

DELETE

Nnef_PFDmanagement_Unsubscribe.

Delete a subscription to PFD change notifications.

5.3.2 Resource: PFD of applications

5.3.2.1 Description

This resource represents PFDs for all applications.

5.3.2.2 Resource definition

Resource URI: {apiRoot}/nnef-pfdmanagement/v1/applications

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 GET

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 GET method on this resource

Name

Data type

P

Cardinality

Description

application-ids

array(ApplicationId)

M

1..N

The requested application identifier(s) for which PFD(s) shall be returned.

supported-features

SupportedFeatures

O

0..1

To filter irrelevant responses related to unsupported features.

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 GET Request Body on this resource

Data type

P

Cardinality

Description

n/a

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

Data type

P

Cardinality

Response

codes

Description

array(PfdDataForApp)

M

0..N

200 OK

The PFDs for one or more application identifier(s) provided in the request URI are returned.

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

5.3.2.4 Resource Custom Operations

5.3.2.4.1 Overview

Table 5.3.2.4.1-1: Custom operations

Operation Name

Custom operation URI

HTTP method or custom operation

Description

Partialpull

/applications/partialpull

partialpull (POST)

Request PFDs for one or multiple application identifier(s) by the partial update.

5.3.2.4.2 Operation: partialpull
5.3.2.4.2.1 Description
5.3.2.4.2.2 Operation Definition

This custom operation requests PFDs for one ore multiple application identifier(s) by the partial update..

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

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

Data type

P

Cardinality

Description

array(ApplicationForPfdRequest)

M

1

Contains the application Identifier(s) for PFDs request.

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

Data type

P

Cardinality

Response codes

Description

array(PfdDataForApp)

M

0..N

200 OK

The PFDs for one or more application identifier(s) are returned.

n/a

204 No Content

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

5.3.3 Resource: Individual application PFD

5.3.3.1 Description

This resource represents the PFD identified by an application identifier.

5.3.3.2 Resource definition

Resource URI: {apiRoot}/nnef-pfdmanagement/v1/applications/{appId}

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.

appId

string

Identifies a set of PFD for an application identifier.

5.3.3.3 Resource Standard Methods

5.3.3.3.1 GET

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 GET method on this resource

Name

Data type

P

Cardinality

Description

supported-features

SupportedFeatures

O

0..1

To filter irrelevant responses related to unsupported features.

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 GET Request Body on this resource

Data type

P

Cardinality

Description

n/a

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

Data type

P

Cardinality

Response

codes

Description

PfdDataForApp

M

1

200 OK

A representation of PFDs for an application in the request URI is returned.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection, during Individual PFD subscription retrieval. The response shall include a Location header field containing an alternative URI of the resource located in an alternative PFDF (service) instance.

Applicable if the feature "ES3XX" is supported.

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection, during Individual PFD subscription retrieval. The response shall include a Location header field containing an alternative URI of the resource located in an alternative PFDF (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 [5] for the GET method shall also apply.

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 PFDF (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 PFDF (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.4 Resource Custom Operations

None.

5.3.4 Resource: PFD subscriptions

5.3.4.1 Description

This resource represents a collection of subscriptions created by NF service consumers of Nnef_PFDmanagement service.

5.3.4.2 Resource definition

Resource URI: {apiRoot}/nnef-pfdmanagement/v1/subscriptions

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

Table 5.3.4.2-1: Resource URI variables for this resource

Name

Data type

Definition

apiRoot

string

See clause 5.1

5.3.4.3 Resource Standard Methods

5.3.4.3.1 POST

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

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

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

Data type

P

Cardinality

Description

PfdSubscription

M

1

Create a PfdSubscription resource.

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

Data type

P

Cardinality

Response

codes

Description

PfdSubscription

M

1

201 Created

The creation of a PfdSubscription resource is confirmed and a representation of that resource is returned.

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

Table 5.3.4.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}/nnef-pfdmanagement/v1/subscriptions/{subscriptionId}

5.3.4.4 Resource Custom Operations

None.

5.3.5 Resource: Individual PFD subscription

5.3.5.1 Description

This resource represents an individual PFD subscription created by an NF service consumer of the Nnef_PFDmanagement service.

5.3.5.2 Resource definition

Resource URI: {apiRoot}/nnef-pfdmanagement/v1/subscriptions/{subscriptionId}

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

Table 5.3.5.2-1: Resource URI variables for this resource

Name

Data type

Definition

apiRoot

string

See clause 5.1

subscriptionId

string

Identifies an individual subscription to the PFD management service

5.3.5.3 Resource Standard Methods

5.3.5.3.1 DELETE

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

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

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

Data type

P

Cardinality

Description

n/a

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

Data type

P

Cardinality

Response

codes

Description

n/a

204 No Content

The PfdSubscription resource matching the subscriptionId was deleted successfully.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection, during Individual PFD subscription deletion. The response shall include a Location header field containing an alternative URI of the resource located in an alternative PFDF (service) instance.

Applicable if the feature "ES3XX" is supported.

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection, during Individual PFD subscription deletion. The response shall include a Location header field containing an alternative URI of the resource located in an alternative PFDF (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 [5] for the DELETE method shall also apply.

Table 5.3.5.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 PFDF (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.5.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 PFDF (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.5.3.2 PUT

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

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

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

Data type

P

Cardinality

Description

PfdSubscription

M

1

Update a PfdSubscription resource.

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

Data type

P

Cardinality

Response

codes

Description

PfdSubscription

M

1

200 OK

The update of a PfdSubscription resource is confirmed and a representation of that resource is returned.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection, during Individual PFD subscription modification. The response shall include a Location header field containing an alternative URI of the resource located in an alternative PFDF (service) instance.

Applicable if the feature "ES3XX" is supported.

RedirectResponse

O

0..1

308 Permanent Redirect

Permanent redirection, during Individual PFD subscription modification. The response shall include a Location header field containing an alternative URI of the resource located in an alternative PFDF (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 [5] for the PUT method shall also apply.

Table 5.3.5.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 PFDF (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.5.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 PFDF (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.5.4 Resource Custom Operations

None.

5.4 Custom Operations without associated resources

None

5.5 Notifications

5.5.1 General

Notifications shall comply to clause 6.2 of 3GPP TS 29.500 [5] and clause 4.6.2.3 of 3GPP TS 29.501 [6].

Table 5.5.1-1: Notifications overview

Notification

Callback URI

HTTP method or custom operation

Description (service operation)

PFD Change Notification

{notifyUri}

POST

Notification of PFD change.

Notification Push

{notifyUri}/notifypush

notifypush (POST)

Notifies NF service consumer to retrieve the PFDs for application identifier(s).

5.5.2 PFD Change Notification

5.5.2.1 Description

The PFD Change Notification is used by the PFDF to inform the NF service consumer, which has subscribed to this Notification via the PFD subscriptions resource.

5.5.2.2 Target URI

The Callback URI "{notifyUri}" 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

notifyUri

Uri

The Notification Uri as assigned within the PFD subscriptions resource and described within the PfdSubscription data type (see table 5.6.2.3-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

array(PfdChangeNotification)

M

1..N

Provides PFD change information.

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 PFD operation in the notification is performed successfully, i.e. all PFD changes are accepted by the NF service consumer.

array(PfdChangeReport)

M

1..N

200 OK

The PFD operation in the notification is performed and the PfdChangeReport indicates failure reason for each failed application in the partial success.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection, during PFD Change Notification. 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 PFD Change Notification. 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.

ProblemDetails

O

0..1

500 Internal Server Error

The server encountered an unexpected condition that prevented it from fulfilling the request. PFDs for all applications are not accepted by the NF service consumer. (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 [5] for the POST method shall also apply.

NOTE 2: Failure cases are described in clause 5.7.

Table 5.5.2.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.2.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.5.3 Notification Push

5.5.3.1 Description

The Notification Push is used by the PFDF to inform the NF service consumer, which has subscribed to this Notification via the PFD subscriptions resource.

5.5.3.2 Target URI

The Callback URI "{notifyUri}/notifypush" 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

notifyUri

Uri

The Notification Uri as assigned within the PFD subscriptions resource and described within the PfdSubscription data type (see table 5.6.2.3-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

array(NotificationPush)

M

1..N

Provides the information for the NF service consumer to retrieve and/or remove the PFDs.

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

Notification PUSH is accepted.

RedirectResponse

O

0..1

307 Temporary Redirect

Temporary redirection, during PFD Change Notification. 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 PFD Change Notification. 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 1: In addition, the HTTP status codes which are specified as mandatory in table 5.2.7.1-1 of 3GPP TS 29.500 [5] for the POST method shall also apply.

NOTE 2: Failure cases are described in clause 5.7.

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 Nnef_PFDmanagement service based interface protocol.

Table 5.6.1-1: Nnef_PFDmanagement specific Data Types

Data type

Section defined

Description

Applicability

ApplicationForPfdRequest

5.6.2.8

Contains the application identifier(s) for the PFDs request.

PartialPull

NotificationPush

5.6.2.7

Provides the information for the NF service consumer to retrieve the PFDs and/or remove the PFDs of the applicable application identifier(s).

NotificationPush

PfdChangeNotification

5.6.2.4

Represents PFD change information.

PfdChangeReport

5.6.2.6

Represents error of PFD change.

PfdContent

5.6.2.5

Represents the content of a PFD for an application identifier.

PfdDataForApp

5.6.2.2

Represents the PFDs for an application identifier.

PfdOperation

5.6.3.3

Indicates the operation of the PFDs.

NotificationPush

PfdSubscription

5.6.2.3

Represents a PFD subscription.

Table 5.6.1-2 specifies data types re-used by the Nnef_PFDmanagement 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 Nnef_PFDmanagement service based interface.

Table 5.6.1-2: Nnef_PFDmanagement re-used Data Types

Data type

Reference

Comments

Applicability

ApplicationId

3GPP TS 29.571 [10]

DateTime

3GPP TS 29.571 [10]

DomainNameProtocol

3GPP TS 29.122 [11]

Indicates the additional protocol and protocol field for domain names to be matched.

DomainNameProtocol

DurationSec

3GPP TS 29.571 [10]

Identifies a period of time in units of seconds.

NotificationPush

RedirectResponse

3GPP TS 29.571 [10]

Contains redirection related information.

ES3XX

SupportedFeatures

3GPP TS 29.571 [10]

Uri

3GPP TS 29.571 [10]

5.6.2 Structured data types

5.6.2.1 Introduction

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

Allowed structures are: array, object.

5.6.2.2 Type: PfdDataForApp

Table 5.6.2.2-1: Definition of type PfdDataForApp

Attribute name

Data type

P

Cardinality

Description

Applicability

applicationId

ApplicationId

M

1

Identifier of an application.

pfds

array(PfdContent)

C

1..N

PFDs for the application identifier.

cachingTime

DateTime

O

0..1

Caching time for an application identifier.

cachingTimer

DurationSec

O

0..1

Caching timer for an application identifer expressed as duration with unit of second.

CachingTimer

pfdTimestamp

DateTime

O

0..1

The value represents the UTC time set for the PFD(s) of the application identifier provisioning by the PFDF.

PartialPull

partialFlag

boolean

O

0..1

Indication of partial update of PFDs for an existing application identifier if it is included and set to true. The default value "false" applies, if the attribute is not present.

PartialPull

supportedFeatures

SupportedFeatures

C

0..1

Used to negotiate the applicability of the optional features.

This attribute shall be present in in the HTTP GET response if the "supported-features" attribute query parameter is included in the HTTP GET request.

NOTE: The "pfds" attribute shall be included if the "PartialPull" feature is not supported.

5.6.2.3 Type: PfdSubscription

Table 5.6.2.3-1: Definition of type PfdSubscription

Attribute name

Data type

P

Cardinality

Description

Applicability

applicationIds

array(ApplicationId)

O

1..N

Identifiers of applications with PFDs change.

notifyUri

Uri

M

1

Identifies the recipient of notifications sent by PFDF for this subscription.

supportedFeatures

SupportedFeatures

M

1

List of supported features used as described in clause 5.8.

5.6.2.4 Type: PfdChangeNotification

Table 5.6.2.4-1: Definition of type PfdChangeNotification

Attribute name

Data type

P

Cardinality

Description

Applicability

applicationId

ApplicationId

M

1

Identifier of an application.

removalFlag

boolean

O

0..1

Indication of removal of PFDs for an existing application identifier.

partialFlag

boolean

O

0..1

Indication of partial update of PFDs for an existing application identifier if this operation is supported according to feature negotiation.

PartialUpdate

pfds

array(PfdContent)

O

1..N

PFD creation/update for the application identifier as specified in clause 6.3.3.5 of 3GPP TS 29.251 [12].

5.6.2.5 Type: PfdContent

Table 5.6.2.5-1: Definition of type PfdContent

Attribute name

Data type

P

Cardinality

Description

Applicability

pfdId

string

C

0..1

Identifies a PDF of an application identifier. If PartialUpdate or PartialPull feature is supported, this attribute shall be provided by the PFDF.

flowDescriptions

array(string)

O

1..N

Represents a 3-tuple with protocol, server ip and server port for UL/DL application traffic. The content of the string has the same encoding as the IPFilterRule AVP value as defined in IETF RFC 6733 [18]. (NOTE)

urls

array(string)

O

1..N

Indicates a URL or a regular expression which is used to match the significant parts of the URL. (NOTE)

domainNames

array(string)

O

1..N

Indicates an FQDN or a regular expression as a domain name matching criteria. (NOTE)

dnProtocol

DomainNameProtocol

C

0..1

Indicates the additional protocol and protocol field for domain names to be matched, it may only be provided when domainNames attribute is present.

DomainNameProtocol

NOTE: If a PFD contains multiple filter types, the PFD is only matched when every filter type contained in the PFD has a matching value.

5.6.2.6 Type: PfdChangeReport

Table 5.6.2.6-1: PfdChangeReport

Attribute name

Data type

P

Cardinality

Description

Applicability

pfdError

ProblemDetails

M

1

More information on the error shall be provided in the "cause" attribute of the "ProblemDetails" structure.

The "cause" attribute in the ProblemDetails shall be set to one of following application errors (see table 5.2.7.1-1 of 3GPP TS 29.500 [5]):

– SYSTEM_FAILURE

– INSUFFICIENT_RESOURCES

– UNSPECIFIED_NF_FAILURE

applicationId

array(ApplicationId)

M

1..N

Indicates the application identifier(s) which PFD(s) are failed to be added or modified.

5.6.2.7 Type: NotificationPush

Table 5.6.2.7-1: Definition of type NotificationPush

Attribute name

Data type

P

Cardinality

Description

Applicability

appIds

array(ApplicationId)

M

1..N

Identifiers of one or more applications.

allowedDelay

DurationSec

O

0..1

Indicates the time limit that the NF service consumer shall retrieve the PFD(s).

pfdOp

PfdOperation

O

0..1

Indication the operation of the PFDs.

5.6.2.8 Type: ApplicationForPfdRequest

Table 5.6.2.8-1: Definition of ApplicationForPfdRequest

Attribute name

Data type

P

Cardinality

Description

Applicability

applicationId

ApplicationId

M

1

Identifier of an application.

pfdTimestamp

DateTime

O

1

The value represents the UTC time set for the PFD(s) of the application identifier provisioning by the PFDF.

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

5.6.3.3 Enumeration: PfdOperation

Table 5.6.3.3-1: Enumeration PfdOperation

Enumeration value

Description

Applicability

RETRIEVE

Indicates to retrieve the PFD(s) for the application identifier(s). The NF service consumer determines which pull procedure can be applied to retrieve the PFD(s).

FULLPULL

Indicates to retrieve the PFD(s) for the application identifier(s) by the full pull procedure.

PARTIALPULL

Indicates to retrieve the PFD(s) for the application identifier(s) by the partial pull procedure. The NF consumer may decide to use full pull procedure instead if needed.

REMOVE

Indicates to remove the PFD(s) for the application identifier(s).

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 [5].

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

Protocol errors and application errors specified in table 5.2.7.2-1 of 3GPP TS 29.500 [5] 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 [5].

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 Nnef_PFDmanagement API.

5.7.3 Application Errors

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

Table 5.7.3-1: Application errors

Application Error

HTTP status code

Description

SYSTEM_FAILURE

500 Internal Server Error

Something functions wrongly in PFD provisioning or the PFD provisioning does not function at all. (NOTE)

INSUFFICIENT_RESOURCE

500 Internal Server Error

There is limitation for resource storage. (NOTE)

UNSPECIFIED_NF_FAILURE

500 Internal Server Error

Unspecified reason. (NOTE)

NOTE: This application error is included in the responses to the POST request of PFD change notification.

5.8 Feature negotiation

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

Table 5.8-1: Supported Features

Feature number

Feature Name

Description

1

PartialUpdate

The PFDF can use this feature for partial update of PFDs.

2

DomainNameProtocol

This feature supports the additional protocol matching condition for the domain name in PFD data.

3

PfdChgSubsUpdate

The NF service consumer can use this feature for updating the PFD change subscription.

4

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 [5] and according to HTTP redirection principles for indirect communication, as specified in clause 6.10.9 of 3GPP TS 29.500 [5].

5

PartialPull

The NF service consumer can use this feature to retrieve the PFDs by the partial update.

6

NotificationPush

The PFDF can use this feature to notify the NF service consumer to retrieve the PFDs.

7

CachingTimer

The PFDF and the NF service consumer can use this feature to support caching timer with unit of duration second.

5.9 Security

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

If OAuth2 is used, an NF service consumer, prior to consuming services offered by the Nnef_PFDmanagement API, shall obtain a "token" from the authorization server, by invoking the Access Token Request service, as described in 3GPP TS 29.510 [13], 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 Nnef_PFDmanagement service.

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

Annex A (normative):
OpenAPI specification