The Nnef_EventExposure service, as defined in TS 23.502, is provided by the Network Exposure Function (NEF). When the UE Application data is collected via the Data Collection AF, the Application Function Exposure Service, as defined in TS 26.531, TS 26.501 and TS 26.512, is provided by the Data Collection AF instantiated in the 5GMS AF for the Event Consumer AF instantiated in the 5GMS ASP.
This service:
allows NF service consumers to subscribe to, modify and unsubscribe from application events reporting; and
notifies NF service consumers with a corresponding subscription about observed events at the NEF.
The types of observed events applicable for the NEF include:
AF application events exposed by an AF:
Service experience;
UE mobility;
UE communication;
Exceptions;
User Data Congestion;
Dispersion;
Performance Data information;
Collective Behaviour information;
GNSS Assistance Data information; and
Data volume transfer time information.
UE application events exposed via the 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.
The target of the event reporting may include one or more UE(s), a group of UEs or any UE (i.e. all UEs). When an event to which the NF service consumer has subscribed occurs, the NEF reports the requested information to the NF service consumer based on the event reporting information definition requested by the NF service consumer.
The 5G System Architecture is defined in TS 23.501. The Network Data Analytics Exposure architecture is defined in TS 23.288. The Media Streaming UE application data collection via the Data Collection AF is defined in TS 26.531. The architecture for GNSS Assistance Data Collection for LCS is defined in TS 23.273.
The Nnef_EventExposure service is part of the Nnef service-based interface exhibited by the Network Exposure Function (NEF).
Known consumers of the Nnef_EventExposure service are:
Network Data Analytics Function (NWDAF)
Data Collection Coordination Function (DCCF)
Messaging Framework Adaptor Function (MFAF)
Location Management Function (LMF)
Event Consumer AF in the 5GMS ASP
The Nnef_EventExposure service is provided by the NEF and consumed by NF service consumers (e.g. NWDAF, LMF, DCCF, MFAF, Event Consumer AF), as shown in Figure 4.2.1.2-1 for the SBI representation model and in Figure 4.2.1.2-2 for reference point representation model.
The Network Exposure Function (NEF) is a functional element that provides application or user related information to the NF service consumers as defined in this specification.
The NEF allows the NF consumer(s) to (un)subscribe to notifications of monitoring observed event, and sends the notification to the NF consumer(s) when a subscribed event is detected.
The known NF service consumers are as follows:
The Network Data Analytics Function (NWDAF), the Data Collection Coordination Function (DCCF), the Messaging Framework Adaptor Function (MFAF) or the Location Management Function (LMF):
supports (un)subscribing to notifications of subscribed event(s) from the NEF;
supports receiving the notifications of subscribed event(s) from the NEF.
The Event Consumer Application Function (Event Consumer AF):
supports (un)subscribing to notifications of service experience information from the NEF;
supports receiving the notifications of subscribed event(s) from the NEF.
This service operation is used by an NF service consumer to subscribe to, or modify a subscription in the NEF for event notifications on a specified application or user related event.
NF service consumer
Nnef_EventExposure_Unsubscribe
This service operation is used by an NF service consumer to unsubscribe from event notifications.
NF service consumer
Nnef_EventExposure_Notify
This service operation is used by the NEF to report application or user related event(s) to the NF service consumer which has subscribed to the event report service.
This service operation is used by an NF service consumer to subscribe to notifications on specified event(s) or modify an existing subscription.
The following are the types of events for which a subscription to notifications can be created by the NWDAF, the DCCF, or the MFAF as the NF service consumer:
Service experience;
UE mobility;
UE communication;
Exceptions;
User Data Congestion;
Dispersion;
Performance Data information; and
Collective Behaviour information.
The following are the types of events for which a subscription can be made by the NWDAF, DCCF, MFAF, or Event Consumer AF as the NF service consumer:
Media Streaming QoE metrics;
The following are the types of events for which a subscription to notifications can be created by the LMF as the NF service consumer:
GNSS Assistance Data information.
The following are the types of events for which a subscription can be made by the Event Consumer AF 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 Nnef_EventExposure_Subscribe service operation are supported:
To subscribe to event notifications, the NF service consumer shall send an HTTP POST request to the NEF with: "{apiRoot}/nnef-eventexposure/<apiVersion>/subscriptions" as request URI as shown in step 1 of Figure 4.2.2.2.2-1, and the "NefEventExposureSubsc" data structure as request body.
The "NefEventExposureSubsc" data structure shall include:
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; and
description of subscribed event information as "eventsSubs" attribute by using one or more "NefEventSubs" data.
The "NefEventExposureSubsc" data structure may also include:
the description of the event reporting information as "eventsRepInfo" attribute.
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".
The "NefEventSubs" data structure shall include:
an event to subscribe to as a "event" attribute; and
event filter information as "eventFilter" attribute associated with the event;
and may include:
event-specific reporting information, within the "eventRepInfo" attribute, if the "PerEventRepReq" feature is supported.
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;
a notification flag as "notifFlag" attribute if the EneNA feature is supported; and/or
notification muting exception instructions within the "notifFlagInstruct" attribute, if the EnhDataMgmt feature is supported and the "notifFlag" attribute is provided and set to "DEACTIVATE".
When the "PerEventRepReq" feature is supported and the "eventsRepInfo" attribute is present, the common events reporting requirements provided within the "eventsRepInfo" attribute shall apply to a subscribed event only when no event-specific reporting requirements are provided within the "eventsSubs" attribute via the "eventRepInfo" attribute of the NefEventSubs data structure for this subscribed event, as specified above.
If the NEF cannot successfully fulfil the received HTTP POST request due to an internal error or an error in the HTTP POST request, the NEF shall send an HTTP error response as specified in clause 5.1.7.
Upon successful reception of an HTTP POST request with "{apiRoot}/nnef-eventexposure/<apiVersion>/subscriptions" as request URI and "NefEventExposureSubsc" data structure as request body, the NEF shall create a new "Individual Network Exposure Event Subscription" resource, store the subscription and send an HTTP "201 Created" response, as shown in step 2 of Figure 4.2.2.2.2-1. The NEF shall include in the "201 Created" response:
a Location header field; and
an "NefEventExposureSubsc" data type in the content.
The Location header field shall contain the URI of the created individual application session context resource i.e. "{apiRoot}/nnef-eventexposure/<apiVersion>/subscriptions/{subscriptionId}".
The "NefEventExposureSubsc" data type content shall contain the representation of the created "Individual Network Exposure Event Subscription".
When the "monDur" attribute is included in the response by the NEF, it represents NEF selected expiry time that is equal or less than the expiry time received in the request.
When the "immRep" attribute is included and set to "true" in the subscription and the subscribed events are available, the NEF shall include the reports of the events subscribed, if available, in the HTTP POST response.
When the sampling ratio attribute, as "sampRatio", is included in the subscription without a "partitionCriteria" attribute, the NEF 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 NEF 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 NEF shall accumulate all the event reports for the target UEs until the group reporting guard time expires. Then, the NEF shall notify the NF service consumer using the Nnef_EventExposure_Notify service operation, as described in clause 4.2.2.4.
When the "notifFlag" attribute is included and set to "DEACTIVATE" in the request, the NEF shall mute the event notification and store the available events until the NF service consumer requests to retrieve them by setting the "notifFlag" attribute to "RETRIEVAL" or until a muting exception occurs (e.g. full buffer). When a muting exception occurs, the NEF may consider the contents of the "notifFlagInstruct" attribute (if provided) and/or local configuration to determine its actions.
If the EnhDataMgmt feature is supported and the NEF accepts the muting instructions provided in the "notifFlag" and/or the "notifFlagInstruct" attributes, it may indicate the applied muting notification settings within the "mutingSetting" attribute in the response. If the NEF does not accept the muting instructions provided in the "notifFlag" and/or the "notifFlagInstruct" attributes, it shall send an HTTP "403 Forbidden" error response including the "cause" attribute set to "MUTING_INSTR_NOT_ACCEPTED".
To modify an existing subscription to event notifications, the NF service consumer shall send an HTTP PUT request with: "{apiRoot}/nnef-eventexposure/<apiVersion>/subscriptions/{subscriptionId}" as request URI, as shown in step 1 of Figure 4.2.2.2.3-1, where "{subscriptionId}" is the subscription correlation ID of the existing subscription. The "NefEventExposureSubsc" data structure is included as request body as described in clause 4.2.2.2.2.
If the NEF cannot successfully fulfil the received HTTP PUT request due to an internal error or an error in the HTTP PUT request, the NEF shall send an HTTP error response as specified in clause 5.1.7.
If the feature "ES3XX" is supported, and the NEF determines the received HTTP PUT request needs to be redirected, the NEF shall send an HTTP redirect response as specified in clause 6.10.9 of TS 29.500.
Upon successful reception of an HTTP PUT request with: "{apiRoot}/nnef-eventexposure/<apiVersion>/subscriptions/{subscriptionId}" as request URI and "NefEventExposureSubsc" data structure as request body, the NEF shall update the subscription and send an HTTP "200 OK" response with the "NefEventExposureSubsc" data structure as response body containing the representation of the modified "Individual Network Exposure Event Subscription", or an HTTP "204 No Content" response, as shown in step 2 of Figure 4.2.2.2.3-1.
When the "monDur" attribute is included in the response by the NEF, it represents NEF 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 NEF 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 NEF 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 NEF 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 NEF shall accumulate all the event reports for the target UEs until the group reporting guard time expires. Then, the NEF shall notify the NF service consumer using the Nnef_EventExposure_Notify service operation, as described in clause 4.2.2.4.
When the "notifFlag" attribute is included, and set to "DEACTIVATE" in the request, the NEF shall mute the event notification and store the available events until the NF service consumer requests to retrieve them by setting the "notifFlag" attribute to "RETRIEVAL" or until a muting exception occurs (e.g. full buffer). When a muting exception occurs, the NEF may consider the contents of the "notifFlagInstruct" attribute (if provided) and/or local configuration to determine its actions; if the "notifFlag" attribute is set to "RETRIEVAL" in the request, the NEF shall send the stored events to the NF service consumer, and mute the event notification again and store available events; if the "notifFlag" attribute is set to "ACTIVATE" and the event notifications are muted (due to a previously received "DECATIVATE" value), the NEF shall unmute the event notification, i.e. start sending again notifications for available events.
If the EnhDataMgmt feature is supported and the NEF accepts the muting instructions provided in the "notifFlag" and/or the "notifFlagInstruct" attributes, it may indicate the applied muting notification settings within the "mutingSetting" attribute in the response. If the NEF does not accept the muting instructions provided in the "notifFlag" and/or the "notifFlagInstruct" attributes, it shall send an HTTP "403 Forbidden" error response including the "cause" attribute set to "MUTING_INSTR_NOT_ACCEPTED".
This service operation is used by an NF service consumer to unsubscribe from event notifications.
The following procedure using the Nnef_EventExposure_Unsubscribe service operation is supported:
To unsubscribe from event notifications, the NF service consumer shall send an HTTP DELETE request with "{apiRoot}/nnef-eventexposure/<apiVersion>/subscriptions/{subscriptionId}" as request URI, as shown in step 1 of Figure 4.2.2.3.2-1, where "{subscriptionId}" is the subscription correlation identifier of the existing subscription resource that is to be deleted.
If the NEF cannot successfully fulfil the received HTTP DELETE request due to an internal error or an error in the HTTP DELETE request, the NEF shall send an HTTP error response as specified in clause 5.1.7.
If the feature "ES3XX" is supported, and the NEF determines the received HTTP DELETE request needs to be redirected, the NEF shall send an HTTP redirect response as specified in clause 6.10.9 of TS 29.500.
Upon successful reception of an HTTP DELETE request with: "{apiRoot}/nnef-eventexposure/<apiVersion>/subscriptions/{subscriptionId}" as request URI, the NEF shall remove the corresponding subscription and send an HTTP "204 No Content" response, as shown in step 2 of Figure 4.2.2.3.2-1.
The Nnef_EventExposure_Notify service operation enables the NEF to notify the NF service consumer(s) that the previously subscribed application related event occurred.
The following procedure using the Nnef_EventExposure_Notify service operation is supported:
If the NEF observes application related event(s) for which an NF service consumer has subscribed, the NEF shall send an HTTP POST request as shown in step 1 of Figure 4.2.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 "NefEventExposureNotif" data structure.
The "NefEventExposureNotif" data structure shall include:
notification correlation ID provided by the NF service consumer during the subscription as "notifId" attribute; and
information about the observed event(s) within the "eventNotifs" attribute that shall contain for each observed event an "NefEventNotification" data structure that shall include:
the application related event as "event" attribute;
the time at which the event was observed encoded as "timeStamp" attribute;
if the "event" attribute is "SVC_EXPERIENCE", service experience information about the application involved in the reported event in the "svcExprcInfos" attribute;
if the "event" attribute is "UE_MOBILITY", UE mobility information assoicated with the application as "ueMobilityInfos" attribute;
if the "event" attribute is "UE_COMM", UE communication information assoicated with the application as "ueCommInfos" attribute;
if the "event" attribute is "EXCEPTIONS", exceptions information associated with a service flow as "excepInfos" attribute;
if the "event" attribute is "PERF_DATA", Performance Data Analytics related information as "perfDataInfos" attribute;
if the "event" attribute is "COLLECTIVE_BEHAVIOUR", collective behaviour information associated with the UEs and its applications as "collBhvrInfs" attribute;
if the "event" attribute is "USER_DATA_CONGESTION", user data congestion information collected for an AF application as "congestionInfos" attribute;
if the "event" attribute is "DISPERSION", UE dispersion information collected for an AF as "dispersionInfos" attribute;
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; This attribute is deprecated; the attribute "msQoeMetrics" should be used instead;
if the "MSEventExposure" feature is supported, the Media Streaming QoE metrics information collected for an UE application via the Data Collection AF as "msQoeMetrics" attribute;
if the "event" attribute is "MS_CONSUMPTION",
Media Streaming Consumption reports information collected for an UE application via the Data Collection AF as "msConsumpInfos" attribute; This attribute is deprecated; the attribute "msConsumpReports" should be used instead;
if the "MSEventExposure" feature is supported, the Media Streaming Consumption reports collected for an UE application via the Data Collection AF as "msConsumpReports" attribute;
if the "event" attribute is "MS_NET_ASSIST_INVOCATION",
Media Streaming Network Assistance invocation information collected for an UE application via the Data Collection AF as "msNetAssInvInfos" attribute; This attribute is deprecated; the attribute "msNetAssistInvocation" should be used instead;
if the "MSEventExposure" feature is supported, the Media Streaming Network Assistance invocation collected for an UE application via the Data Collection AF as "msNetAssistInvocation" attribute;
if the "event" attribute is "MS_DYN_POLICY_INVOCATION",
Media Streaming Dynamic Policy invocations information collected for an UE application via the Data Collection AF as "msDynPlyInvInfos" attribute; This attribute is deprecated; the attribute "msDynPlyInvocation" should be used instead;
if the "MSEventExposure" feature is supported, the Media Streaming Dynamic Policy invocation collected for an UE application via the Data Collection AF as "msDynPlyInvocation" attribute;
if the "event" attribute is "MS_ACCESS_ACTIVITY",
Media Streaming access activity information collected for an UE application via the Data Collection AF as "msAccActInfos" attribute; This attribute is deprecated; the attribute "msAccess" should be used instead.
if the "MSEventExposure" feature is supported, the Media Streaming access activity collected for an UE application via the Data Collection AF as "msAccess" attribute; and
if the "event" attribute is "GNSS_ASSISTANCE_DATA", GNSS Assistance Data information within the "gnssAssistDataInfo" attribute;
if the "event" attribute is "DATA_VOLUME_TRANSFER_TIME", data volume transfer time information assoicated with the application as "datVolTransTimeInfos" 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.1.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 TS 29.500.
Upon successful reception of an HTTP POST request with "{notifUri}" as request URI and "NefEventExposureNotif" data structure as request body, the NF service consumer shall send an HTTP "204 No Content" response, as shown in step 2 of Figure 4.2.2.4.2-1, in case of a successful processing.