6 API Definitions
29.5643GPP5G SystemRelease 17Stage 3TSUser Plane Function Services
6.1 Nupf_EventExposure Service API
6.1.1 API URI
The Nupf_EventExposure shall use the Nupf_EventExposure API.
The API URI of the Nupf_EventExposure API shall be:
{apiRoot}/<apiName>/<apiVersion>
The request URIs used in HTTP requests from the NF service consumer towards the NF service producer shall have the Resource URI structure defined in clause 4.4.1 of 3GPP TS 29.501 [5], i.e.:
{apiRoot}/<apiName>/<apiVersion>/<apiSpecificResourceUriPart>
with the following components:
– The {apiRoot} shall be set as described in 3GPP TS 29.501 [5].
– The <apiName> shall be "nupf-ee".
– The <apiVersion> shall be "v1".
– The <apiSpecificResourceUriPart> shall be set as described in clause 6.1.3.
6.1.2 Usage of HTTP
6.1.2.1 General
HTTP/2, IETF RFC 7540 [11], shall be used as specified in clause 5 of 3GPP TS 29.500 [4].
HTTP/2 shall be transported as specified in clause 5.3 of 3GPP TS 29.500 [4].
The OpenAPI [6] specification of HTTP messages and content bodies for the Nupf_EventExposure API is contained in Annex A.
6.1.2.2 HTTP standard headers
6.1.2.2.1 General
See clause 5.2.2 of 3GPP TS 29.500 [4] for the usage of HTTP standard headers.
6.1.2.2.2 Content type
JSON, IETF RFC 8259 [12], shall be used as content type of the HTTP bodies specified in the present specification as specified in clause 5.4 of 3GPP TS 29.500 [4]. The use of the JSON format shall be signalled by the content type "application/json".
"Problem Details" JSON object shall be used to indicate additional details of the error in a HTTP response body and shall be signalled by the content type "application/problem+json", as defined in IETF RFC 7807 [13].
6.1.2.3 HTTP custom headers
The mandatory HTTP custom header fields specified in clause 5.2.3.2 of 3GPP TS 29.500 [4] shall be supported, and the optional HTTP custom header fields specified in clause 5.2.3.3 of 3GPP TS 29.500 [4] may be supported.
In this release of this specification, no custom headers specific to the Nupf_EventExposure service are defined.
6.1.3 Resources
6.1.3.1 Overview
Figure 6.1.3.1-1: Resource URI structure of the nupf-ee API
Table 6.1.3.1-1 provides an overview of the resources and applicable HTTP methods.
Table 6.1.3.1-1: Resources and methods overview
Resource name |
Resource URI |
HTTP method or custom operation |
Description |
EventExposureSubscriptions (Collection) |
/ee-subscriptions |
POST |
This is a pseudo operation. |
6.1.3.2 Resource: EventExposureSubscriptions
6.1.3.2.1 Description
6.1.3.2.2 Resource Definition
Resource URI: {apiRoot}/nupf-ee/<apiVersion>/ee-subscriptions
This resource shall support the resource URI variables defined in table 6.1.3.2.2-1.
Table 6.1.3.2.2-1: Resource URI variables for this resource
Name |
Data type |
Definition |
apiRoot |
string |
See clause 6.1.1 |
apiVersion |
string |
See clause 6.1.1 |
6.1.3.2.3 Resource Standard Methods
6.1.3.2.3.1 POST
This method will not be actually invoked.
This method shall support the URI query parameters specified in table 6.1.3.2.3.1-1.
Table 6.1.3.2.3.1-1: URI query parameters supported by the POST method on this resource
Name |
Data type |
P |
Cardinality |
Description |
Applicability |
n/a |
This method shall support the request data structures specified in table 6.1.3.2.3.1-2 and the response data structures and response codes specified in table 6.1.3.2.3.1-3.
Table 6.1.3.2.3.1-2: Data structures supported by the POST Request Body on this resource
Data type |
P |
Cardinality |
Description |
Any |
Table 6.1.3.2.3.1-3: Data structures supported by the POST Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
n/a |
||||
NOTE: The mandatory HTTP error status code for the POST method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply. |
6.1.4 void
6.1.5 Notifications
6.1.5.1 General
Notifications shall comply to clause 6.2 of 3GPP TS 29.500 [4] and clause 4.6.2.3 of 3GPP TS 29.501 [5].
Table 6.1.5.1-1: Notifications overview
Notification |
Callback URI |
HTTP method or custom operation |
Description (service operation) |
Event Notification |
{eventNotificationUri} (This URI is not provided by NF service consumer via Nupf interface, it is provided via N4 interface during the provisioning of Session Reporting Rule) |
POST |
Notify about the events that UPF exposes and to which the NF service consumer may subscribe to. |
6.1.5.2 Event Notification
6.1.5.2.1 Description
The Event Notification is used by the UPF to report one or several observed Events to a NF service consumer that has subscribed to such Notifications.
6.1.5.2.2 Target URI
The POST method shall be used for Event Notification and the URI shall be the Event Notification URI provided by the SMF during the provisioning of Session Reporting Rule, see clause 5.33.5 of 3GPP TS 29.244 [15].
Resource URI: {eventNotificationUri}
Support of URI query parameters is specified in table 6.1.5.2.2-1.
Table 6.1.5.2.2-1: Callback URI variables
Name |
Data type |
P |
Cardinality |
Description |
n/a |
Support of request data structures is specified in table 6.1.5.2.2-2, and support of response data structures and response codes is specified in table 6.1.5.2.2-3.
Table 6.1.5.2.2-2: Data structures supported by the POST Request Body
Data type |
P |
Cardinality |
Description |
NotificationData |
M |
1 |
Representation of the event notification. |
Table 6.1.5.2.2-3: Data structures supported by the POST Response Body
Data type |
P |
Cardinality |
Response codes |
Description |
n/a |
204 No Content |
This case represents a successful notification of the event. |
||
ProblemDetails |
O |
0..1 |
404 Not Found |
If the NF Service Consumer considers the "eventNotificationUri" and/or "Notification Correlation ID" is not recognized, the NF Service Consumer shall return "404 Not Found" status code |
RedirectResponse |
O |
0..1 |
307 Temporary Redirect |
The NF service consumer shall generate a Location header field containing a URI pointing to the endpoint of another NF Service Consumer instance to which the notification should be sent. If an SCP redirects the message to another SCP then the location header field shall contain the same URI or a different URI pointing to the endpoint of the NF service consumer to which the notification should be sent. |
RedirectResponse |
O |
0..1 |
308 Permanent Redirect |
The NF service consumer shall generate a Location header field containing a URI pointing to the endpoint of another NF Service Consumer instance to which the notification should be sent. If an SCP redirects the message to another SCP then the location header field shall contain the same URI or a different URI pointing to the endpoint of the NF service consumer to which the notification should be sent. |
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] other than those specified in the table above also apply, with a ProblemDetails data type (see clause 5.2.7 of 3GPP TS 29.500 [4]). |
Table 6.1.5.2.2-4: Headers supported by the 307 Response Code on this endpoint
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
A URI pointing to the endpoint of the NF service consumer instance to which the request should be sent |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF instance ID towards which the notification is redirected |
Table 6.1.5.2.2-5: Headers supported by the 308 Response Code on this endpoint
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
A URI pointing to the endpoint of the NF service consumer instance to which the request should be sent |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF instance ID towards which the notification is redirected |
6.1.6 Data Model
6.1.6.1 General
This clause specifies the application data model supported by the API.
Table 6.1.6.1-1 specifies the data types defined for the Nupf_EventExposure service.
Table 6.1.6.1-1: Nupf_EventExposure specific Data Types
Data type |
Clause defined |
Description |
Applicability |
NotificationData |
6.1.6.2.2 |
The list of NotificationItems |
|
NotificationItem |
6.1.6.2.3 |
Represents a report on one subscribed event |
|
QosMonitoringMeasurement |
6.1.6.2.4 |
QoS Monitoring Measurement information |
|
EventType |
6.1.6.3.3 |
Event Type |
Table 6.1.6.1-2 specifies data types re-used by the Nupf_EventExposure service from other specifications, including a reference to their respective specifications and when needed, a short description of their use within the Nupf_EventExposure service.
Table 6.1.6.1-2: Nupf_EventExposure re-used Data Types
Data type |
Reference |
Comments |
Applicability |
DateTime |
3GPP TS 29.571 [16] |
Date time |
|
Dnn |
3GPP TS 29.571 [16] |
DNN |
|
Gpsi |
3GPP TS 29.571 [16] |
GPSI |
|
Snssai |
3GPP TS 29.571 [16] |
S-NSSAI |
|
Uint32 |
3GPP TS 29.571 [16] |
Uint32 |
|
MacAddr48 |
3GPP TS 29.571 [16] |
MAC Address |
|
Ipv4Addr |
3GPP TS 29.571 [16] |
IPv4 address |
|
Ipv6Prefix |
3GPP TS 29.571 [16] |
IPv6 address prefix |
6.1.6.2 Structured data types
6.1.6.2.1 Introduction
This clause defines the structures to be used in resource representations.
6.1.6.2.2 Type: NotificationData
Table 6.1.6.2.2-1: Definition of type NotificationData
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
notificationItems |
array(NotificationItem) |
M |
1..N |
The list of NotificationItem, each entry corresponds to a report on one subscribed event. |
|
correlationId |
string |
C |
0..1 |
The UPF shall include this attribute in the notification if the "Notification Correlation ID" IE was received via N4 interface (see clause 7.5.2.9 of 3GPP TS 29.244 [15]) |
6.1.6.2.3 Type: NotificationItem
Table 6.1.6.2.3-1: Definition of type NotificationItem
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
eventType |
EventType |
M |
1 |
The event type of the event for which the notification is generated. |
|
ueIpv4Addr |
Ipv4Addr |
C |
0..1 |
IPv4 address of the UE (NOTE 1) |
|
ueIpv6Prefix |
Ipv6Prefix |
C |
0..1 |
IPv6 address prefix of the UE (NOTE 1) |
|
ueMacAddr |
MacAddr48 |
O |
0..1 |
MAC address of the UE. |
|
dnn |
Dnn |
O |
0..1 |
When present, this attribute indicates the DNN of the PDU session for which the notification is generated. |
|
snssai |
Snssai |
O |
0..1 |
When present, this attribute indicates the S-NSSAI of the PDU session for which the notification is generated. |
|
gpsi |
Gpsi |
O |
0..1 |
When present, this attribute indicates the GPSI of the UE for which the notification is generated. |
|
timeStamp |
DateTime |
M |
1 |
The value represents the UTC time when the information in this report was generated. |
|
startTime |
DateTime |
O |
0..1 |
When present, this attribute shall provide the timestamp when the information in this report was started |
|
qosMonitoringMeasurement |
QosMonitoringMeasurement |
C |
0..1 |
This attribute shall be present if eventType is set to "QOS_MONITORING" |
|
NOTE 1: At least one of ueIpv4Addr and ueIpv6Prefix shall be present if IP PDU session is monitored.. |
6.1.6.2.4 Type: QosMonitoringMeasurement
Table 6.1.6.2.3-1: Definition of type QosMonitoringMeasurement
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
dlPacketDelay |
Uint32 |
O |
0..1 |
When present, the value of this attribute is set to the measured downlink packet delay in millisecond (ms). |
|
ulPacketDelay |
Uint32 |
O |
0..1 |
When present, the value of this attribute is set to the measured uplink packet delay in millisecond (ms). |
|
rtrPacketDelay |
Uint32 |
O |
0..1 |
When present, the value of this attribute is set to the measured round trip packet delay in millisecond (ms). |
|
measureFailure |
boolean |
C |
0..1 |
This IE shall be present to report packet delay measurement failure. When present, it shall be set to true to indicate the report is sent due to packet delay measurement failure. This IE is named as the "PLMF" flag over PFCP interface. See also clauses 5.24.4.3 and 8.2.171 in 3GPP TS 29.244 [15]. |
6.1.6.3 Simple data types and enumerations
6.1.6.3.1 Introduction
This clause defines simple data types and enumerations that can be referenced from data structures defined in the previous clauses.
6.1.6.3.2 Simple data types
No specific simple data types are defined in this release.
6.1.6.3.3 Enumeration: EventType
The enumeration EventType represents the type of event to which the service consumer may subscribe to and for which the notification is generated. It shall comply with the provisions defined in table 6.1.5.3.3-1.
Table 6.1.6.3.3-1: Enumeration EventType
Enumeration value |
Description |
Applicability |
"QOS_MONITORING" |
QoS Monitoring Measurement |
6.1.7 Error Handling
6.1.7.1 General
For the Nupf_EventExposure API, HTTP error responses shall be supported as specified in clause 4.8 of 3GPP TS 29.501 [5]. Protocol errors and application errors specified in table 5.2.7.2-1 of 3GPP TS 29.500 [4] shall be supported for an HTTP method if the corresponding HTTP status codes are specified as mandatory for that HTTP method in table 5.2.7.1-1 of 3GPP TS 29.500 [4].
In addition, the requirements in the following clauses are applicable for the Nupf_EventExposure API.
6.1.7.2 Protocol Errors
No specific procedures for the Nupf_EventExposure service are specified in this release.
6.1.7.3 Application Errors
No application errors for the Nupf_EventExposure service are specified in this release.
6.1.8 Feature negotiation
No specific features for Nupf_EventExposure service are defined in this release.
6.1.9 Security
In this release there is only notification procedure which will be actually invoked, the authorization mechanism does not apply.
Annex A (normative):
OpenAPI specification