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