4 Naf_EventExposure Service
29.5173GPP5G SystemApplication Function Event Exposure ServiceRelease 18Stage 3TS
4.1 Service Description
4.1.1 Overview
The Application Function Exposure Service, as defined in 3GPP TS 23.502 [3] and 3GPP TS 23.288 [4], is provided by the Application Function (AF). When the UE Application data is collected via the Data Collection AF, the Application Function Exposure Service, as defined in 3GPP TS 26.531 [28], 3GPP TS 26.501 [29], and 3GPP TS 26.512 [30], is provided by the Data Collection AF instantiated in 5GMS AF for the Event Consumer AF instantiated in 5GMS ASP.
This service:
– allows NF service consumers to subscribe, modify and unsubscribe for application events; and
– notifies NF service consumers with a corresponding subscription about observed events on the AF.
The types of observed events include:
AF application events exposed by AF:
– Service Experience information for an application;
– UE mobility information;
– UE communication information;
– Exceptions information;
– User Data Congestion information;
– Collective Behaviour information;
– Dispersion information; and
– Performance Data information;
UE application events exposed via Data Collection AF:
– Media Streaming QoE metrics;
– Media Streaming Consumption reports;
– Media Streaming Network Assistance invocation;
– Media Streaming Dynamic Policy invocation; and
– Media Streaming access activity.
When the event to which the NF service consumer has subscribed occurs, the AF reports the requested information to the NF service consumer based on the event reporting information definition requested by the NF service consumer (see 3GPP TS 23.502 [3]).
4.1.2 Service Architecture
The Data Analytics Architecture is defined in 3GPP TS 23.288 [4]. The Media Streaming UE application data collection via the Data Collection AF is defined in 3GPP TS 26.531 [28].
The Application Function Exposure Service (Naf_EventExposure) is part of the Naf service-based interface exhibited by the Application Function (AF).
The known NF service consumers of the Naf_EventExposure service are the Network Exposure Function (NEF) and the Network Data Analytics Function (NWDAF), or the Event Consumer AF in the 5GMS ASP.
The Naf_EventExposure service is provided by the AF and consumed by NF service consumers (e.g. NEF, NWDAF, Event Consumer AF), as shown in figure 4.1.2-1 for the SBI representation model and in figure 4.1.2-2 for reference point representation model.
Figure 4.1.2-1: Naf_EventExposure service Architecture, SBI representation
Figure 4.1.2-2: Naf_EventExposure service Architecture, reference point representation
4.1.3 Network Functions
4.1.3.1 Application Function (AF)
The AF is a functional element that provides service or application related information to NF service consumers.
The AF allows NF service consumers to subscribe to and unsubscribe from periodic notifications and/or notifications related to the detection of subscribed event.
4.1.3.2 NF Service Consumers
The Network Data Analytics Function (NWDAF):
– supports (un)subscribing to notifications of event(s) as described in clause 4.2.2.1;
– supports receiving the notifications of subscribed event(s) from the AF.
The Network Exposure Function (NEF):
– supports (un)subscribing to notifications of event(s) as described in clause 4.2.2.1;
– supports receiving the notifications of subscribed event(s) from the AF.
The Event Consumer Application Function (Event Consumer AF):
– supports (un)subscribing to notifications of event(s) as described in clause 4.2.2.1;
– supports receiving the notifications of subscribed event(s) from the Data Collection AF.
4.2 Service Operations
4.2.1 Introduction
Service operations defined for the Naf_EventExposure Service are shown in table 4.2.1-1.
Table 4.2.1-1: Naf_EventExposure Service Operations
|
Service Operation Name |
Description |
Initiated by |
|
Naf_EventExposure_Subscribe |
This service operation is used by an NF service consumer to subscribe to, or modify a subscription in the AF for event notifications on a specified application related event for one or more UE(s) or any UE. |
NF Consumer (NWDAF, NEF, Event Consumer AF) |
|
Naf_EventExposure_Unsubscribe |
This service operation is used by an NF service consumer to unsubscribe from event notifications. |
NF Consumer (NWDAF, NEF, Event Consumer AF) |
|
Naf_EventExposure_Notify |
This service operation is used by the AF to report application related event(s) to the NF service consumer which has subscribed to the event report service. |
AF/Data Collection AF |
4.2.2 Naf_EventExposure_Subscribe service operation
4.2.2.1 General
This service operation is used by an NF service consumer to subscribe for event notifications on specific event(s), or to modify an existing subscription.
The following are the types of events for which a subscription can be made by the NWDAF or NEF as the NF service consumer:
– Service Experience information for an application;
– UE mobility information;
– UE communication information;
– Exceptions information;
– User Data Congestion information;
– Collective Behaviour information;
– Dispersion information; and
– Performance Data information.
The following are the types of events for which a subscription can be made by the NWDAF, Event Consumer AF or NEF as the NF service consumer:
– Media Streaming QoE metrics.
The following are the types of events for which a subscription can be made by the Event Consumer AF or NEF as the NF service consumer:
– Media Streaming Consumption reports;
– Media Streaming Network Assistance invocation;
– Media Streaming Dynamic Policy invocation; and
– Media Streaming access activity.
The following procedures using the Naf_EventExposure_Subscribe service operation are supported:
– creating a new subscription;
– modifying an existing subscription.
4.2.2.2 Creating a new subscription
Figure 4.2.2.2-1 illustrates the creation of a subscription.
Figure 4.2.2.2-1: Creation of a subscription
To subscribe to event notifications, the NF service consumer shall send an HTTP POST request to the AF with: "{apiRoot}/naf-eventexposure/<apiVersion>/subscriptions" as request URI as shown in step 1 of figure 4.2.2.2-1, and the "AfEventExposureSubsc" data structure as request body.
The "AfEventExposureSubsc" data structure shall include:
– description of subscribed event information as "eventsSubs" attribute by using one or more "EventsSubs" data;
– description of the event reporting information as "eventsRepInfo" attribute;
– a URI where to receive the requested notifications as "notifUri" attribute;
– a Notification Correlation Identifier assigned by the NF service consumer for the requested notifications as "notifId" attribute.
The "AfEventExposureSubsc" data may include:
– a specific Authorization AS provisioned Data Access Profile Identifier as "dataAccProfId" attribute, if the feature "DataAccProfileId" is supported and the subscribed events including "MS_QOE_METRICS", "MS_CONSUMPTION", "MS_NET_ASSIST_INVOCATION", "MS_DYN_POLICY_INVOCATION", and/or "MS_ACCESS_ACTIVITY".
NOTE 1: The optional Data Access Profile Identifier provisioned by the Authorization AS procedures are specified in clause 5.8 of 3GPP TS 26.531 [28].
The "EventsSubs" data shall include:
– a event to subscribe as a "event" attribute; and
– event filter information as "eventFilter" attribute associated with the event.
The "eventsRepInfo" attribute may include:
– event notification method (periodic, one time, on event detection) as "notifMethod" attribute;
– Maximum Number of Reports as "maxReportNbr" attribute;
– Monitoring Duration as "monDur" attribute;
– repetition period for periodic reporting as "repPeriod" attribute;
– immediate reporting indication as "immRep" attribute;
– sampling ratio as "sampRatio" attribute;
– partitioning criteria for partitioning the UEs before performing sampling as "partitionCriteria" attribute if the EneNA feature is supported;
– group reporting guard time as "grpRepTime" attribute; and/or
– a notification flag as "notifFlag" attribute if the EneNA feature is supported.
The "eventFilter" shall include:
– identification of target UE(s) to which the subscription applies via :
1) identification of individual UE(s) via "gpsis" attribute or "supis" attribute; or
2) identification of group(s) of UE(s) via "exterGroupIds" attribute or "interGroupIds" attribute; or
3) identification of any UE via "anyUeInd" attribute.
NOTE 2: It is assumed that the AF is provisioned with the list of UE IDs (GPSIs or SUPIs) belonging to an External or Internal Group ID.
Depending on the event type:
– if the feature "ServiceExperience" is supported and the event is "SVC_EXPERIENCE", the "eventFilter" attribute may provide:
1) identification of application to which the subscription applies via "appIds" attribute;
2) an area of interest via "locArea" attribute.
– if the feature "Exceptions" is supported and the event is "EXCEPTIONS", the "eventFilter" attribute may provide:
1) identification of application to which the subscription applies via "appIds" attribute;
2) an area of interest via "locArea" attribute;
– if the feature "UeCommunication" is supported and the event is "UE_COMM", the "eventFilter" attribute may provide:
1) identification of application to which the subscription applies via "appIds" attribute;
2) an area of interest via "locArea" attribute.
– if the feature "UeMobility" is supported and the event is "UE_MOBILITY", the "eventFilter" attribute may provide:
1) identification of application to which the subscription applies via "appIds" attribute;
2) an area of interest via "locArea" attribute.
– if the feature "UserDataCongestion" is supported and the event is "USER_DATA_CONGESTION", the "eventFilter" attribute may provide:
1) identification of application to which the subscription applies via "appIds" attribute;
2) an area of interest via "locArea" attribute.
– if the feature "PerformanceData" is supported and the event is "PERF_DATA", the "eventFilter" attribute may provide:
1) identification of application to which the subscription applies via "appIds" attribute;
2) an area of interest via "locArea" attribute.
– if the feature "CollectiveBehaviour" is supported and the event is "COLLECTIVE_BEHAVIOUR", the "eventFilter" attribute may provide:
1) collective attributes information via "collAttrs" attribute;
2) an area of interest via "locArea" attribute.
– if the feature "Dispersion" is supported and the event is "DISPERSION", the "eventFilter" attribute may provide:
1) identification of application to which the subscription applies via "appIds" attribute;
2) an area of interest via "locArea" attribute.
– if the feature "MSQoeMetrics" is supported and the event is "MS_QOE_METRICS", the "eventFilter" attribute may provide:
1) identification of application to which the subscription applies via "appIds" attribute;
2) an area of interest via "locArea" attribute.
– if the feature "MSConsumption" is supported and the event is "MS_CONSUMPTION", the "eventFilter" attribute may provide:
1) identification of application to which the subscription applies via "appIds" attribute;
2) an area of interest via "locArea" attribute.
– if the feature "MSNetAssInvocation" is supported and the event is "MS_NET_ASSIST_INVOCATION", the "eventFilter" attribute may provide:
1) identification of application to which the subscription applies via "appIds" attribute;
2) an area of interest via "locArea" attribute.
– if the feature "MSDynPolicyInvocation" is supported and the event is "MS_DYN_POLICY_INVOCATION", the "eventFilter" attribute may provide:
1) identification of application to which the subscription applies via "appIds" attribute;
2) an area of interest via "locArea" attribute.
– if the feature "MSAccessActivity" is supported and the event is "MS_ACCESS_ACTIVITY", the "eventFilter" attribute may provide:
1) identification of application to which the subscription applies via "appIds" attribute;
2) an area of interest via "locArea" attribute.
If the AF cannot successfully fulfil the received HTTP POST request due to an internal error or an error in the HTTP POST request, the AF shall send the HTTP error response as specified in clause 5.7.
Upon successful reception of the HTTP POST request with "{apiRoot}/naf-eventexposure/<apiVersion>/subscriptions" as request URI and "AfEventExposureSubsc" data structure as request body, the AF shall create a new "Individual Application Event Subscription" resource, store the subscription and send an HTTP "201 Created" response as shown in step 2 of figure 4.2.2.2-1, containing:
– a Location header field; and
– an "AfEventExposureSubsc" data type in the payload body.
The Location header field shall contain the URI of the created individual application session context resource i.e. "{apiRoot}/naf-eventexposure/<apiVersion>/subscriptions/{subscriptionId}".
The "AfEventExposureSubsc" data type payload body shall contain the representation of the created "Individual Application Event Subscription".
When the "monDur" attribute is included in the response by the AF, it represents AF selected expiry time that is equal or less than the expiry time received in the request.
When the "immRep" attribute is included and sets to "true" in the subscription and the subscribed events are available, the AF shall include the reports of the events subscribed, if available, in the HTTP POST response.
When the sampling ratio as, "sampRatio" attribute, is included in the subscription without a "partitionCriteria" attribute, the AF shall select a random subset of UEs among the target UEs according to the sampling ratio and only report the event(s) related to the selected subset of UEs. If the "partitionCriteria" attribute is additionally included, then the AF shall first partition the UEs according to the value of the "partitionCriteria" attribute and then select a random subset of UEs from each partition according to the sampling ratio and only report the event(s) related to the selected subsets of UEs.
When the group reporting guard time as the "grpRepTime" attribute is included in the subscription, the AF shall accumulate all the event reports for the target UEs until the group reporting guard time expires. Then the AF shall notify the NF service consumer using the Naf_EventExposure_Notify service operation, as described in clause 4.2.4.2.
When the "notifFlag" attribute is included and set to "DEACTIVATE" in the request, the AF shall mute the event notification and store the available events.
4.2.2.3 Modifying an existing subscription
Figure 4.2.2.3-1 illustrates the modification of an existing subscription.
Figure 4.2.2.3-1: Modification of an existing subscription
To modify an existing subscription to event notifications, the NF service consumer shall send an HTTP PUT request with: "{apiRoot}/naf-eventexposure/<apiVersion>/subscriptions/{subscriptionId}" as request URI, as shown in step 1 of figure 4.2.2.3-1, where "{subscriptionId}" is the subscription correlation ID of the existing subscription. The "AfEventExposureSubsc" data structure is included as request body as described in clause 4.2.2.2.
NOTE 1: An alternate NF service consumer than the one that requested the generation of the subscription resource can send the PUT request.
NOTE 2: The "notifUri" attribute within the AfEventExposureSubsc data structure can be modified to request that subsequent notifications are sent to a new NF service consumer.
NOTE 3: The "monDur" attribute within the AfEventExposureSubsc data structure can be modified to extend the expiry time to keep receiving notifications.
If the AF cannot successfully fulfil the received HTTP PUT request due to an internal error or an error in the HTTP PUT request, the AF shall send an HTTP error response as specified in clause 5.7.
If the feature "ES3XX" is supported, and the AF determines the received HTTP PUT request needs to be redirected, the AF shall send an HTTP redirect response as specified in clause 6.10.9 of 3GPP TS 29.500 [5].
Upon successful reception of an HTTP PUT request with: "{apiRoot}/naf-eventexposure/<apiVersion>/subscriptions/{subscriptionId}" as request URI and "AfEventExposureSubsc" data structure as request body, the AF shall update the subscription and send either a HTTP "200 OK" response with the "AfEventExposureSubsc" data structure as response body containing the representation of the modified "Individual Application Event Subscription", or an HTTP "204 No Content" response, as shown in step 2 of figure 4.2.2.3-1.
When the "monDur" attribute is included in the response by the AF, it represents AF selected expiry time that is equal or less than the expiry time received in the request.
When the "immRep" attribute is included and sets to "true" in the subscription and the subscribed events are available, the AF shall include the reports of the events subscribed, if available, in the HTTP PUT response.
When the sampling ratio, as "sampRatio" attribute, is included in the subscription without a "partitionCriteria" attribute, the AF shall select a random subset of UEs among the target UEs according to the sampling ratio and only report the event(s) related to the selected subset of UEs. If the "partitionCriteria" attribute is additionally included, then the AF shall first partition the UEs according to the value of the "partitionCriteria" attribute and then select a random subset of UEs from each partition according to the sampling ratio and only report the event(s) related to the selected subsets of UEs.
When the group reporting guard time, as "grpRepTime" attribute, is included in the subscription, the AF shall accumulate all the event reports for the target UEs until the group reporting guard time expires. Then, the AF shall notify the NF service consumer using the Naf_EventExposure_Notify service operation, as described in clause 4.2.4.2.
When the "notifFlag" attribute is included, and set to "DEACTIVATE" in the request, the AF shall mute the event notification and store the available events; if it is set to "RETRIEVAL" in the request, the AF shall send the stored events to the NF service consumer, and mute the event notification again and store available events; if it is set to "ACTIVATE" and the event notifications are muted (due to a previously received "DECATIVATE" value), the AF shall unmute the event notification, i.e. start sending again notifications for available events.
4.2.3 Naf_EventExposure_Unsubscribe service operation
4.2.3.1 General
This service operation is used by an NF service consumer to unsubscribe from event notifications.
The following procedure using the Naf_EventExposure_Unsubscribe service operation is supported:
– unsubscription from event notifications.
4.2.3.2 Unsubscription from event notifications
Figure 4.2.3.2-1 illustrates the unsubscription from event notifications.
Figure 4.2.3.2-1: Unsubscription from event notifications
To unsubscribe from event notifications, the NF service consumer shall send an HTTP DELETE request with "{apiRoot}/naf-eventexposure/<apiVersion>/subscriptions/{subscriptionId}" as request URI, as shown in step 1 of figure 4.2.3.2-1, where "{subscriptionId}" is the subscription correlation identifier of the existing resource subscription that is to be deleted.
If the AF cannot successfully fulfil the received HTTP DELETE request due to an internal error or an error in the HTTP DELETE request, the AF shall send an HTTP error response as specified in clause 5.7.
If the feature "ES3XX" is supported, and the AF determines the received HTTP DELETE request needs to be redirected, the AF shall send an HTTP redirect response as specified in clause 6.10.9 of 3GPP TS 29.500 [5].
Upon successful reception of the HTTP DELETE request with: "{apiRoot}/naf-eventexposure/<apiVersion>/subscriptions/{subscriptionId}" as request URI, the AF shall remove the corresponding subscription and send an HTTP "204 No Content" response as shown in step 2 of figure 4.2.3.2-1.
4.2.4 Naf_EventExposure_Notify service operation
4.2.4.1 General
The Naf_EventExposure_Notify service operation enables the AF to notify to the NF service consumer(s) that the previously subscribed application related event occurred.
The following procedure using the Naf_EventExposure_Notify service operation is supported:
– notification about subscribed events.
4.2.4.2 Notification about subscribed events
Figure 4.2.4.2-1 illustrates the notification about subscribed events.
Figure 4.2.4.2-1: Notification about subscribed events
If the AF observes application related event(s) for which an NF service consumer has subscribed, the AF shall send an HTTP POST request as shown in step 1 of figure 4.2.4.2-1, with the "{notifUri}" as request URI containing the value previously provided by the NF service consumer within the corresponding subscription, and the "AfEventExposureNotif" data structure.
The "AfEventExposureNotif" data structure shall include:
a) the notification correlation ID provided by the NF service consumer during the subscription as "notifId" attribute; and
b) information about the observed event(s) within the "eventNotifs" attribute that shall contain for each observed event an "AfEventNotification" data structure that shall include:
1) the application related event as "event" attribute;
2) the time at which the event was observed encoded as "timeStamp" attribute;
3) if the "event" attribute is "SVC_EXPERIENCE":
– service experience information about the application involved in the reported event in the "svcExprcInfos" attribute;
4) if the "event" attribute is "UE_MOBILITY":
– UE mobility information associated with the application as "ueMobilityInfos" attribute;
5) if the "event" attribute is "UE_COMM":
– application communication information associated with the application as "ueCommInfos" attribute;
6) if the "event" attribute is "EXCEPTIONS":
– exceptions information associated with a service flow as "excepInfos" attribute;
7) if the "event" attribute is "COLLECTIVE_BEHAVIOUR":
– collective beahviour information associated with the UEs and its applications as "collBhvrInfs" attribute;
8) if the "event" attribute is "PERF_DATA":
– performance data information associated with the application as "perfDataInfos" attribute;
9) if the "event" attribute is "USER_DATA_CONGESTION":
– user data congestion information collected for an AF application as "congestionInfos" attribute; and
10) if the "event" attribute is "DISPERSION":
– UE dispersion information collected for an AF application as "dispersionInfos" attribute.
11) if the "event" attribute is "MS_QOE_METRICS":
– Media Streaming QoE metrics information collected for an UE application via the Data Collection AF as "msQoeMetrInfos" attribute.
12) if the "event" attribute is "MS_CONSUMPTION":
– Media Streaming Consumption reports collected for an UE application via the Data Collection AF as "msConsumpInfos" attribute.
13) if the "event" attribute is "MS_NET_ASSIST_INVOCATION":
– Media Streaming Network Assistance invocation collected for an UE application via the Data Collection AF as "msNetAssInvInfos" attribute.
14) if the "event" attribute is "MS_DYN_POLICY_INVOCATION":
– Media Streaming Dynamic Policy invocation collected for an UE application via the Data Collection AF as "msDynPlyInvInfos" attribute.
15) if the "event" attribute is "MS_ACCESS_ACTIVITY":
– Media Streaming access activity collected for an UE application via the Data Collection AF as "msAccActInfos" attribute.
If the NF service consumer cannot successfully fulfil the received HTTP POST request due to an internal error or an error in the HTTP POST request, the NF service consumer shall send an HTTP error response as specified in clause 5.7.
If the feature "ES3XX" is supported, and the NF service consumer determines the received HTTP POST request needs to be redirected, the NF service consumer shall send an HTTP redirect response as specified in clause 6.10.9 of 3GPP TS 29.500 [5].
Upon successful reception of the HTTP POST request with "{notifUri}" as request URI and "AfEventExposureNotif" data structure as request body, the NF service consumer shall send a "204 No Content" HTTP response, as shown in step 2 of figure 4.2.4.2-1.