9 Supported REST API Interfaces
This chapter describes the REST APIs supported by OCNWDAF.
9.1 Analytics Subscription Service
REST APIs create, modify, and delete OCNWDAF Event Subscriptions. REST APIs also send notifications about the observed event to the consumer NF.
Create an OCNWDAF Event Subscription
URI: {apiRoot}/nwdaf-eventssubscription/v1/subscriptions
Method: POST
Request Body:
Type: NnwdafEventsSubscription
Table 9-1 Request Body Parameters
| Name | Data Type | P | Cardinality | Description |
|---|---|---|---|---|
| NnwdafEventsSubscription | Object | M | 1 | Creates a new individual OCNWDAF event subscription resource using a POST request. |
Response:
Table 9-2 Supported Response Codes
| Response Code | Description |
|---|---|
| 201 Created | The response to successfully creating an OCNWDAF event subscription using a POST request. The stored subscribed event is returned. |
| 400 Bad Request | The response to a POST request if the create subscription request does not contain valid data. |
| 500 Internal Server Error | The response to a request if there is an internal server processing error. |
Delete an OCNWDAF Event Subscription using SubscriptionID
URI: {apiRoot}/ocnwdaf-eventssubscription/v1/subscriptions/{subscriptionId}
Method: DELETE
Response:
Table 9-3 Supported Response Codes
| Response Code | Description |
|---|---|
| 204 No Content | The response to a successful delete subscription request. |
| 404 Not found | The response to a DELETE request if the subscription is not found. |
| 500 Internal Server Error | The response to a request if there is an internal server processing error. |
Notify the Consumer NF about an observed event
URI: Notification URI
Method: POST
Request Body:
Type: NnwdafEventsSubscriptionNotification
Table 9-4 Request Body Parameters
| Name | Data Type | P | Cardinality | Description |
|---|---|---|---|---|
| NnwdafEventsSubscriptionNotification | Array | M | 1 up to N | Provides information about observed events. |
Response:
Table 9-5 Supported Response Codes
| Response Code | Description |
|---|---|
| 204 No Content | The response to a successful notification event. |
| 500 Internal Server Error | The response to a request if there is an internal server processing error. |
9.2 Analytics Information Service
REST APIs are used to obtain analytics information from the Analytics Database service. The Analytics information service invokes Data collection and Analytics generation services by sending POST requests with specific AnalyticsIDs.
Retrieve OCNWDAF analytics information
URI: {apiRoot}/nnwdaf-analyticsinfo/v1/analytics
Method: GET
Request Body:
Type:
Table 9-6 Request Body Parameters
| Name | Data Type | P | Cardinality | Description |
|---|---|---|---|---|
| ana-req | EventReportingRequirement | O | 0 to 1 | Specifies the analytics event reporting requirement information. |
| event-id | EventId | M | 1 | Included to identify the analytics. |
| event-filter | EventFilter | C | 0 to 1 | Included to identify the analytics when filter information is needed for the related event. |
| supported-features | SupportedFeatures | O | 0 to 1 | Filters irrelevant responses related to unsupported features. |
| tgt-ue | TargetUeInformation | O | 0 to 1 | Identifies the target UE information. |
Response:
Table 9-7 Supported Response Codes
| Response Code | Description |
|---|---|
| 200 OK | A successful response, returned with requested analytics information in the message body. |
| 204 No Content | Response if the requested analytics data does not exist. |
| 400 Bad Request |
Response to the request:
|
| 422 Unprocessable Entity | The response for the request when OCNWDAF-NRFClient is not registered. |
| 500 Internal Server Error | The response to a request if there is an internal server processing error. |
9.3 OCNWDAF Analytics APIs
The 5G NFs can subscribe (or cancel) to a specific network analytics and also obtain a network analytics report for a particular context from the OCNWDAF. The analytics supported are Slice Load Level, UE Mobility, UE Abnormal Behavior, NF Load Level, Network Performance Analytics, User Data Congestion Analytics, and QoS Sustainability Analytics.
Note:
Pre-requisites:- The NRF is deployed and running.
- The OCNWDAF is deployed and running.
- The Notification microservice is deployed and running.
- OCNWDAF profile is created.
- OCNWDAF token is created.
APIs are invoked to obtain the following analytics information:
9.3.1 UE Abnormal Behavior Analytics
This service operation is used to subscribe to UE Abnormal Behavior Analytics.
Type: POST
URI: {apiRoot}/nnwdaf-eventssubscription/v1/subscriptions/
Initiated By: Consumers
Table 9-8 Request Body Parameters
| Field Name | Data Type | Description |
|---|---|---|
| notificationURI | Uri | The URI which receives the requested notifications from the OCNWDAF. This parameter is provided by the NF service consumer in the HTTP POST request that creates the subscriptions for event notifications. |
| supportedFeatures | SupportedFeatures | The supported feature number. |
| evtReq | ReportingInformation | Is the event reporting information applicable for each event. It contains the following attributes:
|
| immRep | Boolean | Immediate reporting indication.
If this value is set to "true" the OC-NWDAF includes the reports of the events subscribed (if available), in the HTTP POST response. |
| notifMethod | String | Event notification method. The allowed values are:
|
| maxReportNbr | Integer | Maximum number of reports. |
| monDur | Date time | Monitoring the duration. |
| eventSubscriptions | Array(EventSubscription) | A description of the subscribed events. It contains the following attributes:
|
| event | String | Indicates that the event subscribed is "ABNORMAL_BEHAVIOUR". |
| tgtUe | TargetUeInformation | Identifies the target UE information for which the subscription applies by "supis" and "anyUe" attributes. |
| exptAnaType | ExpectedAnalyticsType |
Represents expected UE analytics type. It should be set to "MOBILITY" Absent if the "excepRequs" attribute is provided. |
| exptUeBehav | ExpectedUeBehaviourData | Represents expected UE behaviour, it is used to define a geofence. |
| supis | Array | Identifies a SUPI for an UE. |
| anyUe | Boolean | Identifies any UE when set to true. |
| excepRequs | Array | Represents a list of Exception Ids with associated thresholds. |
| extraReportReq | EventReportingRequirement | The extra event reporting requirement information. |
| startTs | DateTime |
UTC time indicating the start time of the observation period. The absence of this attribute means subscription at the present time. |
| endTs | DateTime |
UTC time indicating the end time of the observation period. The absence of this attribute means subscription at the present time. If provided, it shall not be less than the start time. |
| notificationMethod | NotificationMethod | Indicates the notification method. |
| stationaryIndication | StationaryIndication | Identifies whether the UE is stationary or mobile |
| expectedUmts | Array | Identifies the UE's expected geographical movement. |
| nwAreaInfo | NetworkAreaInfo | Represents the network area information of the user where the UE is located. |
| ecgis | Array | Contains a list of E-UTRA cell identities. |
| plmnId | Plmnid | Indicates PLMN where Enhanced Coverage shall be restricted. |
| mcc | Integer | Mobile Country Code |
| mnc | Integer | Mobile Network Code |
| eutraCellId | Array | EUTRA cell identifier |
When the event parameter is "ABNORMAL_BEHAVIOUR", the following analytics are provided:
- Identification of target UE(s) to which the subscription applies by "supis" or "anyUe" attribute in the "tgtUe" attribute.
- Expected analytics type through the "exptAnaType" attribute.
- Expected UE behavior through "exptUeBehav" attribute.
- Either "excepRequs" or "exptAnaType" shall be provided if subscribed event is "ABNORMAL_BEHAVIOUR".
Note:
The data types supported by OCNWDAF comply with the 3GPP specifications. For more information about the 3GPP data types, see 3GPP Technical Specification 29.520, Release 16, Network Data Analytics Services.Table 9-9 Supported Response Codes
| Code | Description |
|---|---|
| 201 | The subscription resource is created successfully. |
| 400 |
Bad Request. The request is incorrect and subscription is not created. |
| 500 | Indicates a internal server processing error. |
Examples
The following example shows how an NF creates a subscription request for UE Abnormal Behavior Analytics by submitting a POST request on the REST resource using cURL.
cURL Command
curl --location --request POST '{HTTP_ENDPOINT}' \--header 'Content-Type: application/json' \--data-raw '{JSON_OBJECT}'Example of the Request Body
{"notificationURI": "http://10.123.158.150:32082/notification",
"supportedFeatures": "010",
"eventSubscriptions":
[{ "event": "ABNORMAL_BEHAVIOUR", "extraReportReq":
{"startTs": "2023-05-11T22:13:21Z", "endTs": "2023-05-11T22:33:21Z"}
,
"exptUeBehav":
{"expectedUmts": [{
"geographicAreas": [{ "shape": "POLYGON", "offsetAngle": 0, "includedAngle": 0, "uncertaintyAltitude": 0, "confidence": 0, "innerRadius": 0, "altitude": 0, "uncertaintyEllipse":
{"semiMajor": 0.0, "semiMinor": 0.0, "orientationMajor": 0}
,
"uncertainty": 0,
"uncertaintyRadius": 0,
"point": {"lon": 0.0, "lat": 0.0},
"pointList":
[{"lon": 14, "lat": 10},
{"lon": 14, "lat": 15},
{"lon": 19, "lat": 15},
{"lon": 19, "lat": 10}]}],
"umtTime": {"timeOfDay": "", "dayOfWeek": 1}}],
"validityTime": "2023-06-12T22:13:27Z"},
"tgtUe":
{"supis": ["imsi-334800660487647"], "anyUe": false}
,
"snssais": [\{"sst": 2, "sd": "405060"}]}],
"evtReq": {"notifMethod": "ONE_TIME", "monDur": "2023-05-17T22:13:21Z", "immRep": false, "maxReportNbr": 100, "repPeriod": 1, "sampRatio": 75, "grpRepTime": 0}}9.3.2 Slice Load Level Analytics
This service operation is used to subscribe to Slice Load Level Analytics.
Type: POST
URI: {apiRoot}/nnwdaf-eventssubscription/v1/subscriptions/
Initiated By: Consumers
Table 9-10 Request Body Parameters
| Field Name | Data Type | Description |
|---|---|---|
| notificationURI | uri | The URI which receives the requested notifications from the OCNWDAF. This parameter provided by the NF service consumer in the HTTP POST request that creates the subscriptions for event notifications. |
| supportedFeatures | SupportedFeatures | The supported feature number. |
| evtReq | ReportingInformation | Is the event reporting information applicable for each event. It contains the following attributes:
|
| immRep | boolean | Immediate reporting indication.
This value is set to "true" the OC-NWDAF includes the reports of the events subscribed, if available, in the HTTP POST response. |
| notifMethod | string | Event notification method. The allowed values are:
|
| maxReportNbr | integer | Maximum Number of Reports. |
| monDur | Date time | Monitoring duration. |
| eventSubscriptions | array(EventSubscription) |
A description of the subscribed events. It contains the following attributes:
|
| event | string |
Indicates that the event subscribed is load level information of Network Slice, "SLICE_LOAD_LEVEL" |
| anySlice | boolean |
|
| loadLevelThreshold | integer | The OCNWDAF reports the corresponding network slice load level to the NF service consumer when the load level of the network slice identified by snssais has reached. |
| notificationMethod | NotificationMethod | Indicates the notification method. The allowed values are:
|
| matchingDir | MatchingDirection |
This is an optional parameter. A matching direction can be provided along with a threshold. The options are "DESCENDING", "ASCENDING", and "CROSSED". The default value is "CROSSED". |
| snssaia | String | Identifies of network slice to which the subscription belongs. |
| sst | Uinteger | Unsigned integer, within the range 0 up to 255, representing the Slice or Service Type. |
| sd | String | 3-octet string, representing the Slice Differentiator, in hexadecimal representation. |
When the event parameter is "SLICE_LOAD_LEVEL", the following analytics are provided:
- The Network slice load level threshold in the "loadLevelThreshold" attribute if the "notifMethod" attribute in "evtReq" attribute is "ON_EVENT_DETECTION" or the "notificationMethod" attribute in "eventSubscriptions" attribute is "THRESHOLD" or "OMITTED".
- Identification of network slice(s) to which the subscription applies through the identification of network slice(s) in the "snssais" attribute or as indicated in the "anySlice" attribute.
Note:
The data types supported by OCNWDAF comply with the 3GPP specifications. For more information about the 3GPP data types, see 3GPP Technical Specification 29.520, Release 16, Network Data Analytics Services.Table 9-11 Supported Response Codes
| Code | Description |
|---|---|
| 201 | The subscription resource is created successfully. |
| 400 |
Bad Request. The request is incorrect and subscription is not created. |
| 500 | Indicates a internal server processing error. |
Examples
The following example shows how an NF creates a subscription request for Slice Load Level analytics by submitting a POST request on the REST resource using cURL.
cURL Command
curl --location --request POST '{HTTP_ENDPOINT}' \--header 'Content-Type: application/json' \--data-raw '{JSON_OBJECT}'Example of the Request Body
{ "notificationURI": "https://{CONSUMERAPIROOT}/notification",
"supportedFeatures": "100",
"evtReq": {
"immRep": false,
"notifMethod": "ON_EVENT_DETECTION",
"maxReportNbr": 0,
"monDur": "2022-06-24T04:00:00Z" }
"eventSubscriptions": [{
"event": "SLICE_LOAD_LEVEL",
"anySlice": false, "loadLevelThreshold": 10,
"notificationMethod": "THRESHOLD",
"matchingDir": "ASCENDING",
"snssaia": [
{
"sd": "708090"
"sst": "3",
}
]
}]}9.3.3 UE Mobility Analytics
This service operation is used to subscribe to UE Mobility Analytics.
Type: POST
URI: {apiRoot}/nnwdaf-eventssubscription/v1/subscriptions/
Initiated By: Consumers
Table 9-12 Request Body Parameters
| Field Name | Data Type | Description |
|---|---|---|
| notificationURI | uri | The URI which receives the requested notifications from the OCNWDAF. This parameter provided by the NF service consumer in the HTTP POST request that creates the subscriptions for event notifications. |
| supportedFeatures | SupportedFeatures | The supported feature number. |
| evtReq | ReportingInformation | Is the event reporting information applicable for each event. It contains the following attributes:
|
| immRep | boolean | Immediate reporting indication.
This value is set to "true" the OC-NWDAF includes the reports of the events subscribed, if available, in the HTTP POST response. |
| notifMethod | string | Event notification method. The allowed value is:
|
| maxReportNbr | integer | Maximum Number of Reports. |
| monDur | Date time | Monitoring duration. |
| eventSubscriptions | array(EventSubscription) |
A description of the subscribed events. It contains the following attributes:
|
| event | string |
Indicates that the event subscribed is "UE_MOBILITY". |
| tgtUe | TargetUeInformation | Identifies the target UE information for which the subscription applies by "supis" , "intGroupIds" and "anyUe" attributes. |
| networkArea | NetworkAreaInfo | Identification of network area to which the subscription applies. |
| supis | array | Identifies a SUPI for an UE. |
| intGroupIds | array | Represents an internal group identifier and identifies a group of UEs. |
| anyUe | boolean | Identifies any UE when set to true. |
When the event parameter is "UE_MOBILITY", the following analytics are provided:
- Identification of target UE(s) to which the subscription applies by "supis" or "intGroupIds" attribute in the "tgtUe" attribute.
- Identification of network area to which the subscription applies through the identification of network area by "networkArea" attribute.
Note:
The data types supported by OCNWDAF comply with the 3GPP specifications. For more information about the 3GPP data types, see 3GPP Technical Specification 29.520, Release 16, Network Data Analytics Services.Table 9-13 Supported Response Codes
| Code | Description |
|---|---|
| 201 | The subscription resource is created successfully. |
| 400 |
Bad Request. The request is incorrect and subscription is not created. |
| 500 | Indicates a internal server processing error. |
Examples
The following example shows how an NF creates a subscription request for UE Mobility Analytics by submitting a POST request on the REST resource using cURL.
cURL Command
curl --location --request POST '{HTTP_ENDPOINT}' \--header 'Content-Type: application/json' \--data-raw '{JSON_OBJECT}'Example of the Request Body
{ "notificationURI": "https://{CONSUMERAPIROOT}/notification",
"supportedFeatures": "002",
"evtReq": {
"immRep": "false",
"notifMethod": "ONE_TIME",
"maxReportNbr": 0,
"monDur": "2022-06-24T04:00:00Z" },
"eventSubscriptions": [{
"event": "UE_MOBILITY",
"tgtUe": {
"supis": ["{VALIDSUPID}"],
"intGroupIds": null,
"anyUe": false },
"networkArea": null
}]
}9.3.4 NF Load Analytics
This service operation is used to subscribe to NF Load Analytics.
Type: POST
URI: {apiRoot}/nnwdaf-eventssubscription/v1/subscriptions/
Initiated By: Consumers
Table 9-14 Request Body Parameters
| Field Name | Data Type | Description |
|---|---|---|
| AnySlice | boolean | Default is FALSE. If TRUE ignore any snssais, array of Snssai or slice IDs. |
| event | string | Event that is subscribed, in this case "NF_LOAD". |
| networkArea | array |
Identification of network area to which the subscription applies. The absence of networkArea means subscription to all network areas. Note: It should be set to "null". It is an optional field. |
| startTs | date format in UTC timezone |
UTC time indicating the start time of the observation period. The absence of this attribute means subscription at the present time. |
| endTs | date format in UTC timezone |
UTC time indicating the end time of the observation period. The absence of this attribute means subscription at the present time. If provided, it should not be less than the start time. |
| notificationMethod | string | Indicates the notification method.
When notificationMethod is not provided, the default value is "THRESHOLD". |
| matchingDir | boolean | A matching direction may be provided alongside a threshold. If omitted, the default value is CROSSED. This field is optional. |
| nfLoadLvlThds | Indicates when the reporting should start after the after the average load level is reached. This field is provided if the "notifMethod" in "evtReq" is set to "ON_EVENT_DETECTION" or "notificationMethod" in "eventSubscriptions" is set to "THRESHOLD" or omitted.
|
|
| nfInstanceIds | array | An array of Identification(s) of NF instances. This field is optional. |
| nfSetIds | array | An array of Identification(s) of NF instance sets. This field is optional. |
| nfTypes | array | An array of Identification(s) of NF types. This field is optional. |
| snssais | array | Identification(s) of network slice to which the subscription applies. This field is optional and should be set to NULL. |
| tgtUe | array(TargetUeInformation)
|
Only applicable to determine AMF or SMF (from the SUPI). Identifies target UE information. |
| exptAnaType | string |
It should be set to "MOBILITY" Represents expected UE analytics type. Absent if the "excepRequs" attribute is provided. |
| evtReq | array |
Should be ON_EVENT_DETECTION if thresholds are defined, or notificationMethod is THRESHOLD. Represents the reporting requirements of the event subscription. If omitted, the default values within the ReportingInformation data type apply.
|
| notificationURI | Uri | URI where to receive the requested notifications. Identifies the recipient of Notifications sent by the OCNWDAF. |
| supportedFeatures | string | This property should be “NfLoad”. |
Table 9-15 Supported Response Codes
| Code | Description |
|---|---|
| 201 | The subscription resource is created successfully. |
| 400 |
Bad Request. The request is incorrect and subscription is not created. |
| 500 | Indicates a internal server processing error. |
Examples
The following example shows how an NF creates a subscription request for NF load analytics by submitting a POST request on the REST resource using cURL.
cURL Command
curl --location --request PUT '{apiRoot}/nnwdaf-eventssubscription/v1/subscriptions/' \--header 'Content-Type: application/json' \--data-raw '{request_body}Example of the Request Body
{
"eventSubscriptions": [
{
"anySlice": true,
"event": "NF_LOAD",
"networkArea": null,
"extraReportReq": {
"startTs": "2022-09-06T05:00:30Z",
"endTs": "2022-10-19T23:59:59Z"
},
"notificationMethod": "THRESHOLD",
"matchingDir": null,
"nfLoadLvlThds": [
{
"congLevel": 20,
"nfLoadLevel": 20,
"nfCpuUsage": 90,
"nfMemoryUsage": 95,
"nfStorageUsage": 80
}
],
"nfInstanceIds": null,
"nfSetIds": null,
"nfTypes": [
"AMF",
"SMF"
],
"snssaia": null,
"tgtUe": {
"supis": null,
"intGroupIds": null,
"anyUe": false
},
"exptAnaType": "MOBILITY"
}
],
"evtReq": {
"immRep": false,
"notifMethod": "ON_EVENT_DETECTION",
"maxReportNbr": 50,
"monDur": "2022-10-19T23:59:59Z",
"repPeriod": 10,
"sampRatio": 75,
"grpRepTime": 0
},
"notificationURI": "{apiRoot}/notification",
"supportedFeatures": "040"
}Example of the Response Body
{
"eventSubscriptions": [
{
"anySlice": true,
"event": "NF_LOAD",
"extraReportReq": {
"startTs": "2022-09-06T05:00:30Z",
"endTs": "2022-10-19T23:59:59Z"
},
"notificationMethod": "THRESHOLD",
"nfLoadLvlThds": [
{
"congLevel": 20,
"nfLoadLevel": 20,
}
],
"nfTypes": [
"AMF",
"SMF"
],
"congThresholds": [
{
"congLevel": 20,
"nfLoadLevel": 50,
"nfCpuUsage": 90,
"nfMemoryUsage": 95,
"nfStorageUsage": 80
}
],
"exptAnaType": "MOBILITY"
}
],
"evtReq": {
"immRep": false,
"notifMethod": "ON_EVENT_DETECTION",
"maxReportNbr": 50,
"monDur": "2022-10-19T23:59:59Z",
"repPeriod": 10,
"sampRatio": 75,
"grpRepTime": 0
},
"notificationURI": "{apiRoot}/notification",
"supportedFeatures": "040"
}9.3.5 Network Performance Analytics APIs
Create a Network Performance Analytics Subscription
This service operation is used to create a Network Performance Analytics subscription.
Type: POST
{apiroot}:{serverPort}:/nnwdaf-eventsubscription/<api version>/subscriptionsTable 9-16 Endpoint Parameters
| Parameter | Description | Example |
|---|---|---|
{apiroot} |
The IP used to access the OCNWDAF subscription. | |
{serverport} |
The port used to access the OCNWDAF subscription. Default value is 8080. | |
{subscriptionId} |
Subscription ID | |
{analyticsId} |
The analytics ID is "NETWORK_PERFORMANCE" | |
{supported-features} |
080 | |
{tgt-ue} |
Encoded Target UE information. | |
{event-filter} |
Encoded event filter value. | |
{ana-req} |
Encoded value of analytics requirements. | |
Initiated By: Consumers
Request Body Parameters
Table 9-17 Type NnwdafEventsSubscription
| Parameter | Data Type | Presence | Description |
|---|---|---|---|
| eventSubscriptions | array(EventSubscription) | M | Subscribed events. The event parameter within event subscriptions is "NETWORK PERFORMANCE" |
| evtReq | ReportingInformation | O | Represents the reporting requirements of the event subscription. If this parameter is not given then the default values for ReportingInformation is used. The notification method "notifMethod" within ReportingInformation takes precedence over notificationMethod within EventSubscription. |
| notificationURI | URI | C | URI to which the NWDAF sends the reports. |
| eventNotifications | array(EventNotification) | C |
Notifications about Individual Events. Present only if the immediate reporting indication in the "immRep" attribute within the "evtReq" attribute is set to true in the event subscription, and the reports are available. Present in the response to NWDAF subscription if "immRep" is true and the reports are the available. |
| failEventReports | array(FailureEventInfo) | O | Supplied by the NWDAF. When this parameter is available,it contains the event(s) for which the subscription is not successful including the failure reason(s). This parameter is populated and returned in response to the error case. |
| consNfInfo | ConsumerNfInformation | O | Represents the analytics consumer NF information. |
| notifCorrId | String | M | Notification correlation ID. It is generated after successful subscription and is returned back in the response. |
| supportedFeatures | SupportedFeatures | C |
This parameter is supplied by NF service consumer in the POST request for creation of an NWDAF Event Subscriptions resource, and supplied by the NWDAF in the reply of corresponding request. Value is "080" for Network Performance ID. |
Table 9-18 Type EventSubscription
| Parameter | Data Type | Presence | Description |
|---|---|---|---|
| event | NwdafEvent | M |
Event that is subscribed. The value for network performance ID is "NETWORK PERFORMANCE" |
| extraReportReq | EventReportingRequirement | O | The extra event reporting requirement information. |
| loadLevelThreshold | Integer | C | Indicates that the NWDAF shall report the corresponding network slice load level to the NF service consumer where the load level of the network slice identified by snssais is reached. |
| matchingDir | MatchingDirection | O | A matching direction may be provided alongside a threshold. If omitted, the default value is CROSSED. |
| networkArea | NetworkAreaInfo | C |
Identification of network area to which the subscription applies. The absence of this parameter means the subscription is applicable to all the network areas. |
| notificationMethod | NotificationMethod | O | Indicates the notification method. |
| repetitionPeriod | DurationSec | C | Shall be supplied for notification method "PERIODIC" by the "notificationMethod" attribute. |
| tgtUe | TargetUeInformation | O | Identifies target UE information. |
| nwPerfRequs | array(NetworkPerfRequirement) |
Represents the network performance requirements. This attribute shall be included when subscribed event is "NETWORK_PERFORMANCE". It may only be present if "appIds" attribute is provided. |
Table 9-19 Type NnwdafEventsSubscriptionNotification
| Parameter | Data Type | Presence | Description |
|---|---|---|---|
| eventNotifications | array (EventNotification) | C | Notifications about individual events. |
| subscriptionId | String | M | String identifying a subscription to the Nnwdaf_EventsSubscription service. |
Table 9-20 Type EventNotification
| Parameter | Data Type | Presence | Description |
|---|---|---|---|
| event | NwdafEvent | M | Subscribed events. The event parameter within event Subscriptions has to be "NETWORK PERFORMANCE" |
| start | DateTime | O | It defines the start time from when the analytics information becomes valid. |
| expiry | DateTime | O | It defines the expiration time after which the analytics information will become invalid. |
| timeStampGen | DateTime | C | It defines the timestamp of analytics generation. |
| duration | Duration | C | It defines the time period for which the threshold was in the target state. |
| nwPerfs | array(NetworkPerfInfo) | C | The network performance information. |
Table 9-21 Supported Response Codes
| Code | Description |
|---|---|
| 201 | The subscription is created successfully. |
| 400 |
Bad Request. The request is incorrect and subscription is not created. |
| 500 | Indicates a internal server processing error. |
Examples
The following example shows how an NF creates a subscription for Network Performance analytics by submitting a POST request on the REST resource using cURL.
cURL Command
curl --location '10.123.159.23:8087/nnwdaf-eventssubscription/v1/subscriptions' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"notificationURI": "http://prodcon-1:9282/receive",
"supportedFeatures": "080",
"eventSubscriptions": [
{
"event": "NETWORK_PERFORMANCE",
"extraReportReq": {
"startTs": "2023-03-15T18:00:00Z",
"endTs": "2023-03-16T18:30:00Z",
"accuracy": null,
"sampRatio": 70,
"maxObjectNbr": 5,
"maxSupiNbr": 2,
"timeAnaNeeded": null
},
"loadLevelThreshold": 1,
"nfLoadLvlThds": [
{
"congLevel": 20,
"nfCpuUsage": 90,
"nfLoadLevel": 11,
"nfMemoryUsage": 95,
"nfStorageUsage": 80
}
],
"notificationMethod": "THRESHOLD",
"snssaia": [
{
"sst": 1,
"sd": "102030"
}
],
"tgtUe": {
"supis": null,
"intGroupIds": null,
"anyUe": true
},
"nfInstanceIds": null,
"nfSetIds": null,
"matchingDir": "CROSSED",
"networkArea": {
"ncgis": [
{
"plmnId": {
"mcc": "375",
"mnc": "36"
},
"nrCellId": "0E0FB2773",
"nid": "e5D8B1EbD11"
}
],
"tais": [
{
"plmnId": {
"mcc": "585",
"mnc": "162"
},
"tac": "ebef4B",
"nid": "fDfC6bbC673"
}
]
},
"nfTypes": [
"AMF"
]
}
],
"evtReq": {
"notifMethod": "ONE_TIME",
"monDur": "2023-04-14T11:10:00Z",
"immRep": false,
"maxReportNbr": 2,
"repPeriod": 1,
"sampRatio": 70,
"grpRepTime": 60
}
}'Example of the Request Body
{
"eventSubscriptions": [
{
"anySlice": "N/A",
"appIds": null,
"dnns": null,
"dnais": null,
"event": "NETWORK_PERFORMANCE",
// necessary for subscribing to AMF for number of UEs
"networkArea": // ---applicable if anyUE:true---
// 29.554 - 5.6.2.8
{
"ncgis": [
{
"plmnId": {
"mcc": "375",
"mnc": "36"
},
"nrCellId": "eFdEDcE7D",
"nid": "e5D8B1EbD11"
}
],
"tais": [
{
"plmnId": {
"mcc": "585",
"mnc": "162"
},
"tac": "ebef4B",
"nid": "fDfC6bbC673"
}
]
},
"extraReportReq": {
"startTs": "2022-11-23T05:00:30Z",
"endTs": "2022-11-30T23:59:59Z"
},
"loadLevelThreshold": 0,
// default THRESHOLD
"notificationMethod": "THRESHOLD",
// default CROSSED
"matchingDir": "ASCENDING / DESCENDING / CROSSED",
"nfLoadLvlThds": null,
"nfInstanceIds": null,
"nfSetIds": null,
"nfTypes": [
"SMF"
],
"nsiIdInfos": null,
"nsiLevelThrds": null,
"qosRequ": null,
"qosFlowRetThds": null,
"ranUeThrouThds": null,
"repetitionPeriod": 0,
"snssaia": "N/A",
"tgtUe": {
// Not applicable to NETWORK_PERFORMANCE
"supis": null,
"intGroupIds": null,
"anyUe": false
},
"congThresholds": null,
// ----applicable if appIds is provided -----but appIds is not applicable to NetworkPerformance, so default is not provided in which case analytics is for overall traffic as per sk3 doc
"nwPerfRequs": {
"nwPerfType": {
"GNB_ACTIVE_RATIO": null,
"GNB_COMPUTING_USAGE": null,
"GNB_MEMORY_USAGE": null,
"GNB_DISK_USAGE": null,
"NUM_OF_UE": null,
"SESS_SUCC_RATIO": null,
"HO_SUCC_RATIO": null
},
// Either "relativeRatio" or "absoluteNum" shall be provided
"relativeRatio": null,
"absoluteNum": null
},
"bwRequs": null,
"excepRequs": null,
"exptAnaType": null,
"exptUeBehav": null
}
],
// 29.523 - 5.6.2.4
"evtReq": {
"immRep": false,
// default ON_EVENT_DETECTION
// If thresholds are defined then ON_EVENT_DETECTION , otherwise THRESHOLD
"notifMethod": "ON_EVENT_DETECTION / THRESHOLD",
"maxReportNbr": 500,
"monDur": "2022-11-30T23:59:59Z",
"repPeriod": 10,
"sampRatio": 75,
"grpRepTime": 0
},
"notificationURI": "http://100.77.47.210:5002/notification",
// 29.571 - 5.2.2-3
// as per shared req doc sk3 - 080 for Network Performance
"supportedFeatures": "080",
// applicable if immRep is true
"eventNotifications": {
"event": "NETWORK_PERFORMANCE",
"start": "",
"expiry": "",
"timeStampGen": "",
// If the requested period identified by the "startTs" and "endTs" attributes in the EventReportingRequirement type is a future time period, which means the analytics result is a prediction. If no sufficient data is collected to provide the confidence of the prediction before the time deadline, the NWDAF shall return a zero confidence
"nwPerfs": [
{
"networkArea": {
// 29.554 - 5.6.2.8
"ncgis": null,
"tais": null
},
"nwPerfType": {
"GNB_ACTIVE_RATIO": null,
"GNB_COMPUTING_USAGE": null,
"GNB_MEMORY_USAGE": null,
"GNB_DISK_USAGE": null,
"NUM_OF_UE": null,
"SESS_SUCC_RATIO": null,
"HO_SUCC_RATIO": null
},
"relativeRatio": null,
"absoluteNum": null,
"confidence": null
}
]
},
// Supplied by the NWDAF. When available, shall contain the event(s) for which the subscription is not successful including the failure reason(s).
"failEventReports": [
{
// NwdafEvent
"event": "NETWORK_PERFORMANCE",
"failureCode": "UNAVAILABLE_DATA / BOTH_STAT_PRED_NOT_ALLOWED /UNSATISFIED_REQUESTED_ANALYTICS_TIME / OTHER"
}
],
// Either "taiList" or one of "nfId", "nfSetId" shall be provided
"consNfInfo": {
"nfId": "uuid",
"nfSetId": "",
"taiList": [
{
"plmnId": {
// TS 38.413
"mcc": "",
"mnc": ""
},
// 38.413
"tac": ""
}
]
},
// notifCorrId, string, requires support of feature EneNA (seems like this feature needs to be additionally supported in order to provide notification correlation id to subscribing NF
"notifCorrId": null
}Example of the Response Body
{
"eventSubscriptions": [
{
"anySlice": "N/A",
"appIds": null,
"dnns": null,
"dnais": null,
"event": "NETWORK_PERFORMANCE",
// necessary for subscribing to AMF for number of UEs
"networkArea": // ---applicable if anyUE:true---
// 29.554 - 5.6.2.8
{
"ncgis": [
{
"plmnId": {
"mcc": "375",
"mnc": "36"
},
"nrCellId": "eFdEDcE7D",
"nid": "e5D8B1EbD11"
}
],
"tais": [
{
"plmnId": {
"mcc": "585",
"mnc": "162"
},
"tac": "ebef4B",
"nid": "fDfC6bbC673"
}
]
},
"extraReportReq": {
"startTs": "2022-11-23T05:00:30Z",
"endTs": "2022-11-30T23:59:59Z"
},
"loadLevelThreshold": 0,
// default THRESHOLD
"notificationMethod": "THRESHOLD",
// default CROSSED
"matchingDir": "ASCENDING / DESCENDING / CROSSED",
"nfLoadLvlThds": null,
"nfInstanceIds": null,
"nfSetIds": null,
"nfTypes": [
"SMF"
],
"nsiIdInfos": null,
"nsiLevelThrds": null,
"qosRequ": null,
"qosFlowRetThds": null,
"ranUeThrouThds": null,
"repetitionPeriod": 0,
"snssaia": "N/A",
"tgtUe": {
// Not applicable to NETWORK_PERFORMANCE
"supis": null,
"intGroupIds": null,
"anyUe": false
},
"congThresholds": null,
// ----applicable if appIds is provided -----but appIds is not applicable to NetworkPerformance, so default is not provided in which case analytics is for overall traffic as per sk3 doc
"nwPerfRequs": {
"nwPerfType": {
"GNB_ACTIVE_RATIO": null,
"GNB_COMPUTING_USAGE": null,
"GNB_MEMORY_USAGE": null,
"GNB_DISK_USAGE": null,
"NUM_OF_UE": null,
"SESS_SUCC_RATIO": null,
"HO_SUCC_RATIO": null
},
// Either "relativeRatio" or "absoluteNum" shall be provided
"relativeRatio": null,
"absoluteNum": null
},
"bwRequs": null,
"excepRequs": null,
"exptAnaType": null,
"exptUeBehav": null
}
],
// 29.523 - 5.6.2.4
"evtReq": {
"immRep": false,
// default ON_EVENT_DETECTION
// If thresholds are defined then ON_EVENT_DETECTION , otherwise THRESHOLD
"notifMethod": "ON_EVENT_DETECTION / THRESHOLD",
"maxReportNbr": 500,
"monDur": "2022-11-30T23:59:59Z",
"repPeriod": 10,
"sampRatio": 75,
"grpRepTime": 0
},
"notificationURI": "http://100.77.47.210:5002/notification",
// 29.571 - 5.2.2-3
// as per shared req doc sk3 - 080 for Network Performance
"supportedFeatures": "080",
// applicable if immRep is true
"eventNotifications": {
"event": "NETWORK_PERFORMANCE",
"start": "",
"expiry": "",
"timeStampGen": "",
// If the requested period identified by the "startTs" and "endTs" attributes in the EventReportingRequirement type is a future time period, which means the analytics result is a prediction. If no sufficient data is collected to provide the confidence of the prediction before the time deadline, the NWDAF shall return a zero confidence
"nwPerfs": [
{
"networkArea": {
// 29.554 - 5.6.2.8
"ncgis": null,
"tais": null
},
"nwPerfType": {
"GNB_ACTIVE_RATIO": null,
"GNB_COMPUTING_USAGE": null,
"GNB_MEMORY_USAGE": null,
"GNB_DISK_USAGE": null,
"NUM_OF_UE": null,
"SESS_SUCC_RATIO": null,
"HO_SUCC_RATIO": null
},
"relativeRatio": null,
"absoluteNum": null,
"confidence": null
}
]
},
// Supplied by the NWDAF. When available, shall contain the event(s) for which the subscription is not successful including the failure reason(s).
"failEventReports": [
{
// NwdafEvent
"event": "NETWORK_PERFORMANCE",
"failureCode": "UNAVAILABLE_DATA / BOTH_STAT_PRED_NOT_ALLOWED /UNSATISFIED_REQUESTED_ANALYTICS_TIME / OTHER"
}
],
// Either "taiList" or one of "nfId", "nfSetId" shall be provided
"consNfInfo": {
"nfId": "uuid",
"nfSetId": "",
"taiList": [
{
"plmnId": {
// TS 38.413
"mcc": "",
"mnc": ""
},
// 38.413
"tac": ""
}
]
},
// notifCorrId, string, requires support of feature EneNA (seems like this feature needs to be additionally supported in order to provide notification correlation id to subscribing NF
"notifCorrId": null
}Modify an existing Network Performance Analytics Subscription
This service operation is used to modify an existing Network Performance Analytics subscription.
Type: PUT
URI: {apiroot}:{serverPort}:/nnwdaf-eventsubscription/<api version>/subscriptions/{subscriptionId}
For information on endpoint parameters see, Table 9-16.
Initiated By: Consumers
For information on request body parameters see, Table 9-17
Table 9-22 Supported Response Codes
| Code | Description |
|---|---|
| 204 | The subscription resource is successfully updated. |
| 400 |
Bad Request The request is incorrect and subscription is not updated. |
| 500 | Indicates a internal server processing error. |
Examples
The following example shows how an NF updates a Network Performance Analytics subscription by submitting a PUT request on the REST resource using cURL.
cURL Command
curl --location --request PUT '10.123.159.23:8087/nnwdaf-eventssubscription/v1/subscriptions/371d8527-dcc9-4179-9d67-82e5c93fc206' \
--header 'Content-Type: application/json' \
--data '{
"notificationURI": "http://prodcon-1:9282/receive",
"supportedFeatures": "080",
"eventSubscriptions": [
{
"event": "NETWORK_PERFORMANCE",
"extraReportReq": {
"startTs": "2023-03-15T18:00:00Z",
"endTs": "2023-03-16T18:30:00Z",
"accuracy": null,
"sampRatio": 70,
"maxObjectNbr": 5,
"maxSupiNbr": 2,
"timeAnaNeeded": null
},
"loadLevelThreshold": 1,
"nfLoadLvlThds": [
{
"congLevel": 20,
"nfCpuUsage": 90,
"nfLoadLevel": 11,
"nfMemoryUsage": 95,
"nfStorageUsage": 80
}
],
"notificationMethod": "THRESHOLD",
"snssaia": [
{
"sst": 1,
"sd": "102030"
}
],
"tgtUe": {
"supis": null,
"intGroupIds": null,
"anyUe": true
},
"nfInstanceIds": null,
"nfSetIds": null,
"matchingDir": "CROSSED",
"networkArea": {
"ncgis": [
{
"plmnId": {
"mcc": "375",
"mnc": "36"
},
"nrCellId": "0E0FB2773",
"nid": "e5D8B1EbD11"
}
],
"tais": [
{
"plmnId": {
"mcc": "585",
"mnc": "162"
},
"tac": "ebef4B",
"nid": "fDfC6bbC673"
}
]
},
"nfTypes": [
"AMF"
]
}
],
"evtReq": {
"notifMethod": "ONE_TIME",
"monDur": "2023-04-14T11:10:00Z",
"immRep": false,
"maxReportNbr": 2,
"repPeriod": 1,
"sampRatio": 70,
"grpRepTime": 60
}
}'Example of the Request Body
{
"eventSubscriptions": [
{
"anySlice": "N/A",
"appIds": null,
"dnns": null,
"dnais": null,
"event": "NETWORK_PERFORMANCE",
// necessary for subscribing to AMF for number of UEs
"networkArea": // ---applicable if anyUE:true---
// 29.554 - 5.6.2.8
{
"ncgis": [
{
"plmnId": {
"mcc": "375",
"mnc": "36"
},
"nrCellId": "eFdEDcE7D",
"nid": "e5D8B1EbD11"
}
],
"tais": [
{
"plmnId": {
"mcc": "585",
"mnc": "162"
},
"tac": "ebef4B",
"nid": "fDfC6bbC673"
}
]
},
"extraReportReq": {
"startTs": "2022-11-23T05:00:30Z",
"endTs": "2022-11-30T23:59:59Z"
},
"loadLevelThreshold": 0,
// default THRESHOLD
"notificationMethod": "THRESHOLD",
// default CROSSED
"matchingDir": "ASCENDING / DESCENDING / CROSSED",
"nfLoadLvlThds": null,
"nfInstanceIds": null,
"nfSetIds": null,
"nfTypes": [
"SMF"
],
"nsiIdInfos": null,
"nsiLevelThrds": null,
"qosRequ": null,
"qosFlowRetThds": null,
"ranUeThrouThds": null,
"repetitionPeriod": 0,
"snssaia": "N/A",
"tgtUe": {
// Not applicable to NETWORK_PERFORMANCE
"supis": null,
"intGroupIds": null,
"anyUe": false
},
"congThresholds": null,
// ----applicable if appIds is provided -----but appIds is not applicable to NetworkPerformance, so default is not provided in which case analytics is for overall traffic as per sk3 doc
"nwPerfRequs": {
"nwPerfType": {
"GNB_ACTIVE_RATIO": null,
"GNB_COMPUTING_USAGE": null,
"GNB_MEMORY_USAGE": null,
"GNB_DISK_USAGE": null,
"NUM_OF_UE": null,
"SESS_SUCC_RATIO": null,
"HO_SUCC_RATIO": null
},
// Either "relativeRatio" or "absoluteNum" shall be provided
"relativeRatio": null,
"absoluteNum": null
},
"bwRequs": null,
"excepRequs": null,
"exptAnaType": null,
"exptUeBehav": null
}
],
// 29.523 - 5.6.2.4
"evtReq": {
"immRep": false,
// default ON_EVENT_DETECTION
// If thresholds are defined then ON_EVENT_DETECTION , otherwise THRESHOLD
"notifMethod": "ON_EVENT_DETECTION / THRESHOLD",
"maxReportNbr": 500,
"monDur": "2022-11-30T23:59:59Z",
"repPeriod": 10,
"sampRatio": 75,
"grpRepTime": 0
},
"notificationURI": "http://100.77.47.210:5002/notification",
// 29.571 - 5.2.2-3
// as per shared req doc sk3 - 080 for Network Performance
"supportedFeatures": "080",
// applicable if immRep is true
"eventNotifications": {
"event": "NETWORK_PERFORMANCE",
"start": "",
"expiry": "",
"timeStampGen": "",
// If the requested period identified by the "startTs" and "endTs" attributes in the EventReportingRequirement type is a future time period, which means the analytics result is a prediction. If no sufficient data is collected to provide the confidence of the prediction before the time deadline, the NWDAF shall return a zero confidence
"nwPerfs": [
{
"networkArea": {
// 29.554 - 5.6.2.8
"ncgis": null,
"tais": null
},
"nwPerfType": {
"GNB_ACTIVE_RATIO": null,
"GNB_COMPUTING_USAGE": null,
"GNB_MEMORY_USAGE": null,
"GNB_DISK_USAGE": null,
"NUM_OF_UE": null,
"SESS_SUCC_RATIO": null,
"HO_SUCC_RATIO": null
},
"relativeRatio": null,
"absoluteNum": null,
"confidence": null
}
]
},
// Supplied by the NWDAF. When available, shall contain the event(s) for which the subscription is not successful including the failure reason(s).
"failEventReports": [
{
// NwdafEvent
"event": "NETWORK_PERFORMANCE",
"failureCode": "UNAVAILABLE_DATA / BOTH_STAT_PRED_NOT_ALLOWED /UNSATISFIED_REQUESTED_ANALYTICS_TIME / OTHER"
}
],
// Either "taiList" or one of "nfId", "nfSetId" shall be provided
"consNfInfo": {
"nfId": "uuid",
"nfSetId": "",
"taiList": [
{
"plmnId": {
// TS 38.413
"mcc": "",
"mnc": ""
},
// 38.413
"tac": ""
}
]
},
// notifCorrId, string, requires support of feature EneNA (seems like this feature needs to be additionally supported in order to provide notification correlation id to subscribing NF
"notifCorrId": null
}Obtain Network Performance Analytics Subscription Information
This service operation is used to obtain information about an existing Network Performance Analytics subscription.
Type: GET
URI: {apiroot}:{serverPort}:/nnwdaf-eventsubscription/<api version>/subscriptions/{subscriptionId}?event-id={analyticsId}&supported-features={supported-features}&tgt-ue={tgt-ue}&event-filter={event-filter}&ana-req={ana-req}
For information on endpoint parameters see, Table 9-16.
Initiated By: Consumers
For information on request body parameters see, Table 9-17
Examples
The following example shows how an NF gets subscription information by submitting a GET request on the REST resource using cURL.
cURL Command
curl --location 'http://10.123.159.29:8080/nnwdaf-analyticsinfo/v1/analytics?event-id=NETWORK_PERFORMANCE&supported-features=080&tgt-ue=%257B%250A%2520%2520%2520%2520%2520%2520%2520%2520%2522supis%2522%253A%2520null%252C%250A%2520%2520%2520%2520%2520%2520%2520%2520%2522intGroupIds%2522%253A%2520null%252C%250A%2520%2520%2520%2520%2520%2520%2520%2520%2522anyUe%2522%253A%2520true%250A%257D&event-filter=%257B%2522anySlice%2522%253Afalse%252C%2522appIds%2522%253A%255B%2522IQPKITNJSE%2522%255D%252C%2522dnns%2522%253A%255B%2522KCRFf30.lafQu2.fOntr02%2522%255D%252C%2522dnais%2522%253A%255B%2522KuDMa.fDOC%2540DgvaY7.dQUxS69.uTvFz6KCRFf30.lafQu2.fOntr02%2522%255D%252C%2522networkArea%2522%253A%257B%2522%2522%253A%255B%257B%2522plmnId%2522%253A%257B%2522mcc%2522%253A%2522611%2522%252C%2522mnc%2522%253A%2522946%2522%257D%252C%2522eutraCellId%2522%253A%252260De3B8%2522%252C%2522nid%2522%253A%25222f9CcfeEC9a%2522%257D%255D%252C%2522ncgis%2522%253A%255B%257B%2522plmnId%2522%253A%257B%2522mcc%2522%253A%2522375%2522%252C%2522mnc%2522%253A%252236%2522%257D%252C%2522nrCellId%2522%253A%2522eFdEDcE7D%2522%252C%2522nid%2522%253A%2522e5D8B1EbD11%2522%257D%255D%252C%2522%2522%253A%255B%257B%2522plmnId%2522%253A%257B%2522mcc%2522%253A%2522791%2522%252C%2522mnc%2522%253A%2522230%2522%257D%252C%2522n3IwfId%2522%253A%2522CB1E5ba%2522%252C%2522gNbId%2522%253A%257B%2522bitLength%2522%253A32%252C%2522gNBValue%2522%253A%2522BF6B9E%2522%257D%252C%2522ngeNbId%2522%253A%2522SMacroNGeNB-F5CCC%2522%252C%2522wagfId%2522%253A%25228f%2522%252C%2522tngfId%2522%253A%25221a473d3D%2522%252C%2522nid%2522%253A%2522BFbBAabEBD3%2522%252C%2522eNbId%2522%253A%2522MacroeNB-f26ab%2522%257D%255D%252C%2522tais%2522%253A%255B%257B%2522plmnId%2522%253A%257B%2522mcc%2522%253A%2522585%2522%252C%2522mnc%2522%253A%2522162%2522%257D%252C%2522tac%2522%253A%2522ebef4B%2522%252C%2522nid%2522%253A%2522fDfC6bbC673%2522%257D%255D%257D%252C%2522nwPerfTypes%2522%253A%255B%2522NUM_OF_UE%2522%255D%257D&ana-req=%257B%250A%2520%2520%2520%2520%2522startTs%2522%253A%25222020-07-08T12%253A00%253A10.000021%2522%252C%250A%2520%2520%2520%2520%2522endTs%2522%253A%25222021-12-13T12%253A02%253A05.000000%2522%252C%250A%2520%2520%2520%2520%2522timeAnaNeeded%2522%253A%25222022-12-13T12%253A00%253A01.000000%2522%252C%250A%2520%2520%2520%2520%2522maxObjectNbr%2522%253A0%252C%250A%2520%2520%2520%2520%2522sampRatio%2522%253A1%250A%257D'
Example of the Response Body
{
"eventSubscriptions": [
{
"anySlice": "N/A",
"appIds": null,
"dnns": null,
"dnais": null,
"event": "NETWORK_PERFORMANCE",
// necessary for subscribing to AMF for number of UEs
"networkArea": // ---applicable if anyUE:true---
// 29.554 - 5.6.2.8
{
"ncgis": [
{
"plmnId": {
"mcc": "375",
"mnc": "36"
},
"nrCellId": "eFdEDcE7D",
"nid": "e5D8B1EbD11"
}
],
"tais": [
{
"plmnId": {
"mcc": "585",
"mnc": "162"
},
"tac": "ebef4B",
"nid": "fDfC6bbC673"
}
]
},
"extraReportReq": {
"startTs": "2022-11-23T05:00:30Z",
"endTs": "2022-11-30T23:59:59Z"
},
"loadLevelThreshold": 0,
// default THRESHOLD
"notificationMethod": "THRESHOLD",
// default CROSSED
"matchingDir": "ASCENDING / DESCENDING / CROSSED",
"nfLoadLvlThds": null,
"nfInstanceIds": null,
"nfSetIds": null,
"nfTypes": [
"SMF"
],
"nsiIdInfos": null,
"nsiLevelThrds": null,
"qosRequ": null,
"qosFlowRetThds": null,
"ranUeThrouThds": null,
"repetitionPeriod": 0,
"snssaia": "N/A",
"tgtUe": {
// Not applicable to NETWORK_PERFORMANCE
"supis": null,
"intGroupIds": null,
"anyUe": false
},
"congThresholds": null,
// ----applicable if appIds is provided -----but appIds is not applicable to NetworkPerformance, so default is not provided in which case analytics is for overall traffic as per sk3 doc
"nwPerfRequs": {
"nwPerfType": {
"GNB_ACTIVE_RATIO": null,
"GNB_COMPUTING_USAGE": null,
"GNB_MEMORY_USAGE": null,
"GNB_DISK_USAGE": null,
"NUM_OF_UE": null,
"SESS_SUCC_RATIO": null,
"HO_SUCC_RATIO": null
},
// Either "relativeRatio" or "absoluteNum" shall be provided
"relativeRatio": null,
"absoluteNum": null
},
"bwRequs": null,
"excepRequs": null,
"exptAnaType": null,
"exptUeBehav": null
}
],
// 29.523 - 5.6.2.4
"evtReq": {
"immRep": false,
// default ON_EVENT_DETECTION
// If thresholds are defined then ON_EVENT_DETECTION , otherwise THRESHOLD
"notifMethod": "ON_EVENT_DETECTION / THRESHOLD",
"maxReportNbr": 500,
"monDur": "2022-11-30T23:59:59Z",
"repPeriod": 10,
"sampRatio": 75,
"grpRepTime": 0
},
"notificationURI": "http://100.77.47.210:5002/notification",
// 29.571 - 5.2.2-3
// as per shared req doc sk3 - 080 for Network Performance
"supportedFeatures": "080",
// applicable if immRep is true
"eventNotifications": {
"event": "NETWORK_PERFORMANCE",
"start": "",
"expiry": "",
"timeStampGen": "",
// If the requested period identified by the "startTs" and "endTs" attributes in the EventReportingRequirement type is a future time period, which means the analytics result is a prediction. If no sufficient data is collected to provide the confidence of the prediction before the time deadline, the NWDAF shall return a zero confidence
"nwPerfs": [
{
"networkArea": {
// 29.554 - 5.6.2.8
"ncgis": null,
"tais": null
},
"nwPerfType": {
"GNB_ACTIVE_RATIO": null,
"GNB_COMPUTING_USAGE": null,
"GNB_MEMORY_USAGE": null,
"GNB_DISK_USAGE": null,
"NUM_OF_UE": null,
"SESS_SUCC_RATIO": null,
"HO_SUCC_RATIO": null
},
"relativeRatio": null,
"absoluteNum": null,
"confidence": null
}
]
},
// Supplied by the NWDAF. When available, shall contain the event(s) for which the subscription is not successful including the failure reason(s).
"failEventReports": [
{
// NwdafEvent
"event": "NETWORK_PERFORMANCE",
"failureCode": "UNAVAILABLE_DATA / BOTH_STAT_PRED_NOT_ALLOWED /UNSATISFIED_REQUESTED_ANALYTICS_TIME / OTHER"
}
],
// Either "taiList" or one of "nfId", "nfSetId" shall be provided
"consNfInfo": {
"nfId": "uuid",
"nfSetId": "",
"taiList": [
{
"plmnId": {
// TS 38.413
"mcc": "",
"mnc": ""
},
// 38.413
"tac": ""
}
]
},
// notifCorrId, string, requires support of feature EneNA (seems like this feature needs to be additionally supported in order to provide notification correlation id to subscribing NF
"notifCorrId": null
}Delete an existing Network Performance Analytics Subscription
This service operation is used to delete an existing Network Performance Analytics subscription.
Type: DELETE
URI: {apiroot}:{serverPort}:/nnwdaf-eventsubscription/<api version>/subscriptions/{subscriptionId}
For information on endpoint parameters see, Table 9-16.
Initiated By: Consumers
Table 9-23 Supported Response Codes
| Code | Description |
|---|---|
| 204 | The subscription resource is successfully deleted. |
| 404 | Not found |
The following example shows how an NF deletes subscription information by submitting a DELETE request on the REST resource using cURL.
cURL Command
curl --location '10.123.159.23:8087/nnwdaf-eventssubscription/v1/subscriptions/371d8527-dcc9-4179-9d67-82e5c93fc206'9.3.6 User Data Congestion Analytics APIs
Create a User Data Congestion Analytics Subscription
This service operation is used to create a user data congestion analytics subscription.
Type: POST
URI:{apiroot}:{serverPort}:/nnwdaf-eventsubscription/<api version>/subscriptions
Table 9-24 Endpoint Parameters
| Parameter | Description | Example |
|---|---|---|
{apiroot} |
The IP used to access the OCNWDAF subscription. | |
{serverport} |
The port used to access the OCNWDAF subscription. Default value is 8080. | |
{subscriptionId} |
Subscription ID | |
{analyticsId} |
The analytics ID is "USER_DATA_CONGESTION" | |
{supported-features} |
020 | |
{tgt-ue} |
Encoded Target UE information. | |
{event-filter} |
Encoded event filter value. | |
{ana-req} |
Encoded value of analytics requirements. | |
Initiated By: Consumers
Request Body Parameters
Table 9-25 Type NnwdafEventsSubscription
| Parameter | Data Type | Presence | Description |
|---|---|---|---|
| eventSubscriptions | array(EventSubscription) | M | Subscribed events. The event parameter within event subscriptions is "USER DATA CONGESTION". |
| evtReq | ReportingInformation | O | Represents the reporting requirements of the event subscription. If this parameter is not given then the default values for ReportingInformation is used. The notification method "notifMethod" within ReportingInformation takes precedence over notificationMethod within EventSubscription. |
| notificationURI | URI | C | URI to which the OCNWDAF sends the reports. |
| eventNotifications | array(EventNotification) | C |
Notifications about Individual Events. Present only if the immediate reporting indication in the "immRep" attribute within the "evtReq" attribute is set to true in the event subscription, and the reports are available. Present in the response to OCNWDAF subscription if "immRep" is true and the reports are the available. |
| failEventReports | array(FailureEventInfo) | O | Supplied by the OCNWDAF. When this parameter is available, it contains the event(s) for which the subscription is not successful including the failure reason(s). This parameter is populated and returned in response to the error case. |
| consNfInfo | ConsumerNfInformation | O | Represents the analytics consumer NF information. |
| notifCorrId | String | M | Notification correlation ID. It is generated after a successful subscription and is returned in the response. |
| supportedFeatures | SupportedFeatures | C |
This parameter is supplied by NF service consumer in the POST request for OCNWDAF Event Subscriptions resource creation, and sent by the OCNWDAF in the corresponding response. Value is "020" for User Data Congestion ID. |
Table 9-26 Type EventSubscription
| Parameter | Data Type | Presence | Description |
|---|---|---|---|
| anySlice | AnySlice | M | Represents the any slice. |
| appIds | array(ApplicationId) | C | Note: This parameter is not applicable for user data congestion analytics. |
| dnns | array(Dnn) | C | Note: This parameter is not applicable for user data congestion analytics. |
| dnais | array(Dnai) | C | Note: This parameter is not applicable for user data congestion analytics. |
| event | NwdafEvent | M | Indicates the subscribed event. The value for user data congestion analytics is "USER DATA CONGESTION". |
| extraReportReq | EventReportingRequirement | O | The additional event reporting requirements information. |
| ladnDnns | array(Dnn) | M | Note: This parameter is not applicable for user data congestion analytics. |
| matchingDir | MatchingDirection | O | A matching direction can be provided along with a threshold. If this parameter is omitted, the default value is CROSSED. |
| nfLoadLvlThds | array(ThresholdLevel) | C | Note: This parameter is not applicable for user data congestion analytics. |
| networkArea | NetworkAreaInfo | C | Identification of network area to which the subscription applies. The absence of networkArea means subscription to all network areas. |
| visitedAreas | array(NetworkAreaInfo) | O | Note: This parameter is not applicable for user data congestion analytics. |
| maxTopAppUlNbr | Uinteger | Note: This parameter is not applicable for user data congestion analytics. | |
| maxTopAppDlNbr | Uinteger | Note: This parameter is not applicable for user data congestion analytics. | |
| nfInstanceIds | array(NfInstanceId) | Note: This parameter is not applicable for user data congestion analytics. | |
| nfSetIds | array(NfSetId) | Note: This parameter is not applicable for user data congestion analytics. | |
| nfTypes | array(NFType) | Note: This parameter is not applicable for user data congestion analytics. | |
| notificationMethod | NotificationMethod | O | Indicates the notification method. |
| nsiIdInfos | array(NsiIdInfo) | O | Note: This parameter is not applicable for user data congestion analytics. |
| nsiLevelThrds | array(Uinteger) | O | Note: This parameter is not applicable for user data congestion analytics. |
| qosRequ | QosRequirement | C | Note: This parameter is not applicable for user data congestion analytics. |
| qosFlowRetThds | array(RetainabilityThreshold) | C | Note: This parameter is not applicable for user data congestion analytics. |
| ranUeThrouThds | array(BitRate) | C | Note: This parameter is not applicable for user data congestion analytics. |
| repetitionPeriod | DurationSec | C | This parameter is provided by the "notificationMethod" attribute if the notification method is "PERIODIC". |
| snssais | array(Snssai) | C | Identification(s) of network slice to which the subscription applies.
Note: This parameter is not applicable for user data congestion analytics. |
| tgtUe | TargetUeInformation | O | Identifies target the UE information. |
| congThresholds | array(ThresholdLevel) | C | This parameter identifies the congestion thresholds for user data congestion analytics. |
| nwPerfRequs | array(NetworkPerfRequirement) | C | Note: This parameter is not applicable for user data congestion analytics. |
| bwRequs | array(BwRequirement) | O | Note: This parameter is not applicable for user data congestion analytics. |
| excepRequs | array(Exception) | C | Note: This parameter is not applicable for user data congestion analytics. |
| exptAnaType | ExpectedAnalyticsType | C | Note: This parameter is not applicable for user data congestion analytics. |
| exptUeBehav | ExpectedUeBehaviourData | O | Note: This parameter is not applicable for user data congestion analytics. |
| ratFreqs | array(RatFreqInformation) | O | Note: This parameter is not applicable for user data congestion analytics. |
| listOfAnaSubsets | array(AnalyticsSubset) | O | Note: This parameter is not applicable for user data congestion analytics. |
| disperReqs | array(DispersionRequirement) | O | Note: This parameter is not applicable for user data congestion analytics. |
| redTransReqs | array(RedundantTransmissionExpReq) | O | Note: This parameter is not applicable for user data congestion analytics. |
| wlanReqs | array(WlanPerformanceReq) | O | Note: This parameter is not applicable for user data congestion analytics. |
| upfInfo | UpfInformation | O | Note: This parameter is not applicable for user data congestion analytics. |
| appServerAddrs | array(AddrFqdn) | C | Note: This parameter is not applicable for user data congestion analytics. |
| dnPerfReqs | array(DnPerformanceReq) | O | Note: This parameter is not applicable for user data congestion analytics. |
Table 9-27 Type NnwdafEventsSubscriptionNotification
| Parameter | Data Type | Presence | Description |
|---|---|---|---|
| eventNotifications | array (EventNotification) | C | Notifications about individual events. |
| subscriptionId | String | M | String identifying a subscription to the Nnwdaf_EventsSubscription service. |
| notifCorrId | String | O | Note: This parameter is not applicable for user data congestion analytics. |
| oldSubscriptionId | String | C | Note: This parameter is not applicable for user data congestion analytics. |
| resourceUri | URI | C | Note: This parameter is not applicable for user data congestion analytics. |
| termCause | TermCause | O | Note: This parameter is not applicable for user data congestion analytics. |
Table 9-28 Type EventNotification
| Parameter | Data Type | Presence | Description |
|---|---|---|---|
| event | NwdafEvent | M | Subscribed events. The event parameter within event Subscriptions has to be "USER_DATA_CONGESTION" |
| start | DateTime | O | It defines the start time from when the analytics information becomes valid. |
| expiry | DateTime | O | It defines the expiration time after which the analytics information will become invalid. |
| timeStampGen | DateTime | C | It defines the timestamp of analytics generation. |
| failNotifyCode | NwdafFailureCode | C | Note: This parameter is not applicable for user data congestion analytics. |
| rvWaitTime | DurationSec | O | Note: This parameter is not applicable for user data congestion analytics. |
| anaMetaInfo | AnalyticsMetadataInfo | C | Note: This parameter is not applicable for user data congestion analytics. |
| nwPerfs | array(NetworkPerfInfo) | C | Note: This parameter is not applicable for user data congestion analytics. |
| nfLoadLevelInfos | array(NfLoadLevelInformation) | C | Note: This parameter is not applicable for user data congestion analytics. |
| nsiLoadLevelInfos | array(NsiLoadLevelInfo) | C | Note: This parameter is not applicable for user data congestion analytics. |
| qosSustainInfos | array(QosSustainabilityInfo) | C | Note: This parameter is not applicable for user data congestion analytics. |
| sliceLoadLevelInfo | SliceLoadLevelInformation | C | Note: This parameter is not applicable for user data congestion analytics. |
| svcExps | array(ServiceExperienceInfo) | Note: This parameter is not applicable for user data congestion analytics. | |
| ueComms | array(UeCommunication) | C | Note: This parameter is not applicable for user data congestion analytics. |
| ueMobs | array(UeMobility) | C | Note: This parameter is not applicable for user data congestion analytics. |
| abnorBehavrs | array(AbnormalBehaviour) | C | Note: This parameter is not applicable for user data congestion analytics. |
| userDataCongInfos | array(UserDataCongestionInfo) | C | The User Data Congestion information. |
| dnPerfInfos | array(DnPerfInfo) | C | Note: This parameter is not applicable for user data congestion analytics. |
| disperInfos | array(DispersionInfo) | C | Note: This parameter is not applicable for user data congestion analytics. |
| redTransInfos | array(RedundantTransmissionExpInfo) | C | Note: This parameter is not applicable for user data congestion analytics. |
| wlanInfos | array(WlanPerformanceInfo) | C | Note: This parameter is not applicable for user data congestion analytics. |
| smccExps | array(SmcceInfo) | C | Note: This parameter is not applicable for user data congestion analytics. |
Table 9-29 Type EventNotification
| Parameter | Data Type | Presence | Description |
|---|---|---|---|
| start | DateTime | O | It defines the start time from when the analytics information becomes valid. |
| expiry | DateTime | O | It defines the expiration time after which the analytics information will become invalid. |
| timeStampGen | DateTime | C | It defines the timestamp of analytics generation. |
| anaMetaInfo | AnalyticsMetadataInfo | C | Note: This parameter is not applicable for user data congestion analytics. |
| sliceLoadLevelInfos | array(SliceLoadLevelInformation) | C | Note: This parameter is not applicable for user data congestion analytics. |
| nsiLoadLevelInfos | array(NsiLoadLevelInfo) | C | Note: This parameter is not applicable for user data congestion analytics. |
| nwPerfs | array(NetworkPerfInfo) | C | Note: This parameter is not applicable for user data congestion analytics. |
| nfLoadLevelInfos | array(NfLoadLevelInformation) | C | Note: This parameter is not applicable for user data congestion analytics. |
| qosSustainInfos | array(QosSustainabilityInfo) | C | Note: This parameter is not applicable for user data congestion analytics. |
| ueMobs | array(UeMobility) | C | Note: This parameter is not applicable for user data congestion analytics. |
| ueComms | array(UeCommunication) | C | Note: This parameter is not applicable for user data congestion analytics. |
| userDataCongInfos | array(UserDataCongestionInfo) | C | The notification information for User Data Congestion. |
| suppFeat | SupportedFeatures | C | Note: This parameter is not applicable for user data congestion analytics. |
| svcExps | array(ServiceExperienceInfo) | C | Note: This parameter is not applicable for user data congestion analytics. |
| abnorBehavrs | array(AbnormalBehaviour) | C | Note: This parameter is not applicable for user data congestion analytics. |
| smccExps | array(SmcceInfo) | C | Note: This parameter is not applicable for user data congestion analytics. |
| disperInfos | array(DispersionInfo) | C | Note: This parameter is not applicable for user data congestion analytics. |
| redTransInfos | array(RedundantTransmissionExpInfo) | C | Note: This parameter is not applicable for user data congestion analytics. |
| wlanInfos | array(WlanPerformanceInfo) | C | Note: This parameter is not applicable for user data congestion analytics. |
| dnPerfInfos | array(DnPerfInfo) | C | Note: This parameter is not applicable for user data congestion analytics. |
Table 9-30 Supported Response Codes
| Code | Description |
|---|---|
| 201 | The subscription is created successfully. |
| 400 |
Bad Request. The request is incorrect and subscription is not created. |
| 500 | Indicates a internal server processing error. |
Examples
The following example shows how an NF creates a subscription for user data congestion analytics by submitting a POST request on the REST resource using cURL.
cURL Command
curl --location '10.123.159.23:8087/nnwdaf-eventssubscription/v1/subscriptions' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"notificationURI": "http://prodcon-1:9282/receive",
"supportedFeatures": "020",
"eventSubscriptions": [
{
"event": "USER_DATA_CONGESTION",
"extraReportReq": {
"startTs": "2023-07-17T10:00:00Z",
"endTs": "2023-07-17T11:00:00Z",
"accuracy": null,
"sampRatio": 70,
"maxObjectNbr": 5,
"maxSupiNbr": 2,
"timeAnaNeeded": null
},
"notificationMethod": null,
"congThresholds": [{
"congLevel": 10,
"nfLoadLevel": null,
"nfCpuUsage": null,
"nfMemoryUsage": null,
"nfStorageUsage": null,
"avgTrafficRate": null,
"avgPacketDelay": null,
"maxPacketDelay": null,
"avgPacketLossRate": null,
"svcExpLevel": null
}],
"tgtUe": {
"supis": null,
"intGroupIds": null,
"anyUe": true
},
"nfInstanceIds": null,
"nfSetIds": null,
"matchingDir": "ASCENDING",
"snssais": [
{
"sst": 1,
"sd": "104030"
}
],
"networkArea": {
"ecgis": [
{
"plmnId": {
"mcc": "611",
"mnc": "946"
},
"eutraCellId": "60De3B8",
"nid": "2f9CcfeEC9a"
}
],
"ncgis": [
{
"plmnId": {
"mcc": "375",
"mnc": "36"
},
"nrCellId": "27C042641",
"nid": "e5D8B1EbD11"
}
],
"tais": [
{
"plmnId": {
"mcc": "585",
"mnc": "162"
},
"tac": "ebef4B",
"nid": "fDfC6bbC673"
}
]
},
}
],
"evtReq": {
"notifMethod": "ONE_TIME",
"monDur": "2023-07-17T12:25:00Z",
"immRep": false,
"maxReportNbr": 2,
"repPeriod": 1,
"sampRatio": 70,
"grpRepTime": 60
}
}Example of the Request Body
{
"notificationURI": "http://prodcon-1:9282/receive",
"supportedFeatures": "020",
"eventSubscriptions": [
{
"event": "USER_DATA_CONGESTION",
"extraReportReq": {
"startTs": "2023-07-17T10:00:00Z",
"endTs": "2023-07-17T11:00:00Z",
"accuracy": null,
"sampRatio": 70,
"maxObjectNbr": 5,
"maxSupiNbr": 2,
"timeAnaNeeded": null
},
"notificationMethod": null,
"congThresholds": [{
"congLevel": 10,
"nfLoadLevel": null,
"nfCpuUsage": null,
"nfMemoryUsage": null,
"nfStorageUsage": null,
"avgTrafficRate": null,
"avgPacketDelay": null,
"maxPacketDelay": null,
"avgPacketLossRate": null,
"svcExpLevel": null
}],
"tgtUe": {
"supis": null,
"intGroupIds": null,
"anyUe": true
},
"nfInstanceIds": null,
"nfSetIds": null,
"matchingDir": "ASCENDING",
"snssais": [
{
"sst": 1,
"sd": "104030"
}
],
"networkArea": {
"ecgis": [
{
"plmnId": {
"mcc": "611",
"mnc": "946"
},
"eutraCellId": "60De3B8",
"nid": "2f9CcfeEC9a"
}
],
"ncgis": [
{
"plmnId": {
"mcc": "375",
"mnc": "36"
},
"nrCellId": "27C042641",
"nid": "e5D8B1EbD11"
}
],
"tais": [
{
"plmnId": {
"mcc": "585",
"mnc": "162"
},
"tac": "ebef4B",
"nid": "fDfC6bbC673"
}
]
},
]
}
],
"evtReq": {
"notifMethod": "ONE_TIME",
"monDur": "2023-07-17T12:25:00Z",
"immRep": false,
"maxReportNbr": 2,
"repPeriod": 1,
"sampRatio": 70,
"grpRepTime": 60
}
}Example of the Response Body
{
"eventSubscriptions": [
{
"event": "USER_DATA_CONGESTION",
"extraReportReq": {
"startTs": "2023-07-17T10:00:00Z",
"endTs": "2023-07-17T11:00:00Z",
"sampRatio": 70,
"maxObjectNbr": 5,
"maxSupiNbr": 2
},
"matchingDir": "ASCENDING",
"networkArea": {
"ecgis": [
{
"plmnId": {
"mcc": "611",
"mnc": "946"
},
"eutraCellId": "60De3B8",
"nid": "2f9CcfeEC9a"
}
],
"ncgis": [
{
"plmnId": {
"mcc": "375",
"mnc": "36"
},
"nrCellId": "27C042641",
"nid": "e5D8B1EbD11"
}
],
"tais": [
{
"plmnId": {
"mcc": "585",
"mnc": "162"
},
"tac": "ebef4B",
"nid": "fDfC6bbC673"
}
]
},
"snssais": [
{
"sst": 1,
"sd": "104030"
}
],
"tgtUe": {
"anyUe": true
},
"congThresholds": [
{
"congLevel": 10
}
]
}
],
"evtReq": {
"immRep": false,
"notifMethod": "ONE_TIME",
"maxReportNbr": 2,
"monDur": "2023-08-02T06:37:00Z",
"repPeriod": 1,
"sampRatio": 70,
"grpRepTime": 60
},
"notificationURI": "http://prodcon-1:9282/receive",
"notifCorrId": "c7e20068-fc61-45f9-87bb-ea6ecd4b27a0",
"supportedFeatures": "020"
}Modify an Existing User Data Congestion Analytics Subscription
This service operation is used to modify an existing User Data Congestion Analytics subscription.
Type: PUT
URI: {apiroot}:{serverPort}:/nnwdaf-eventsubscription/<api version>/subscriptions/{subscriptionId}
For information on endpoint parameters see, Table 9-24.
Initiated By: Consumers
For information on request body parameters see, Table 9-25
Table 9-31 Supported Response Codes
| Code | Description |
|---|---|
| 204 | The subscription resource is successfully updated. |
| 400 |
Bad Request The request is incorrect and subscription is not updated. |
| 500 | Indicates a internal server processing error. |
Examples
The following example shows how an NF updates a User Data Congestion Analytics subscription by submitting a PUT request on the REST resource using cURL.
cURL Command
curl --location --request PUT '10.123.159.23:8087/nnwdaf-eventssubscription/v1/subscriptions/371d8527-dcc9-4179-9d67-82e5c93fc206' \
--header 'Content-Type: application/json' \
--data '
{
"notificationURI": "http://prodcon-1:9282/receive",
"supportedFeatures": "020",
"eventSubscriptions": [
{
"event": "USER_DATA_CONGESTION",
"extraReportReq": {
"startTs": "2023-07-17T10:00:00Z",
"endTs": "2023-07-17T11:00:00Z",
"accuracy": null,
"sampRatio": 70,
"maxObjectNbr": 5,
"maxSupiNbr": 2,
"timeAnaNeeded": null
},
"notificationMethod": null,
"congThresholds": [{
"congLevel": 10,
"nfLoadLevel": null,
"nfCpuUsage": null,
"nfMemoryUsage": null,
"nfStorageUsage": null,
"avgTrafficRate": null,
"avgPacketDelay": null,
"maxPacketDelay": null,
"avgPacketLossRate": null,
"svcExpLevel": null
}],
"tgtUe": {
"supis": null,
"intGroupIds": null,
"anyUe": true
},
"nfInstanceIds": null,
"nfSetIds": null,
"matchingDir": "ASCENDING",
"snssais": [
{
"sst": 1,
"sd": "104030"
}
],
"networkArea": {
"ecgis": [
{
"plmnId": {
"mcc": "611",
"mnc": "946"
},
"eutraCellId": "60De3B8",
"nid": "2f9CcfeEC9a"
}
],
"ncgis": [
{
"plmnId": {
"mcc": "375",
"mnc": "36"
},
"nrCellId": "27C042641",
"nid": "e5D8B1EbD11"
}
],
"tais": [
{
"plmnId": {
"mcc": "585",
"mnc": "162"
},
"tac": "ebef4B",
"nid": "fDfC6bbC673"
}
]
},
}
],
"evtReq": {
"notifMethod": "ONE_TIME",
"monDur": "2023-07-17T12:25:00Z",
"immRep": false,
"maxReportNbr": 2,
"repPeriod": 1,
"sampRatio": 70,
"grpRepTime": 60
}
}Example of the Request Body
{
"notificationURI": "http://prodcon-1:9282/receive",
"supportedFeatures": "020",
"eventSubscriptions": [
{
"event": "USER_DATA_CONGESTION",
"extraReportReq": {
"startTs": "2023-07-17T10:00:00Z",
"endTs": "2023-07-17T11:00:00Z",
"accuracy": null,
"sampRatio": 70,
"maxObjectNbr": 5,
"maxSupiNbr": 2,
"timeAnaNeeded": null
},
"notificationMethod": null,
"congThresholds": [{
"congLevel": 10,
"nfLoadLevel": null,
"nfCpuUsage": null,
"nfMemoryUsage": null,
"nfStorageUsage": null,
"avgTrafficRate": null,
"avgPacketDelay": null,
"maxPacketDelay": null,
"avgPacketLossRate": null,
"svcExpLevel": null
}],
"tgtUe": {
"supis": null,
"intGroupIds": null,
"anyUe": true
},
"nfInstanceIds": null,
"nfSetIds": null,
"matchingDir": "ASCENDING",
"snssais": [
{
"sst": 1,
"sd": "104030"
}
],
"networkArea": {
"ecgis": [
{
"plmnId": {
"mcc": "611",
"mnc": "946"
},
"eutraCellId": "60De3B8",
"nid": "2f9CcfeEC9a"
}
],
"ncgis": [
{
"plmnId": {
"mcc": "375",
"mnc": "36"
},
"nrCellId": "27C042641",
"nid": "e5D8B1EbD11"
}
],
"tais": [
{
"plmnId": {
"mcc": "585",
"mnc": "162"
},
"tac": "ebef4B",
"nid": "fDfC6bbC673"
}
]
},
}
],
"evtReq": {
"notifMethod": "ONE_TIME",
"monDur": "2023-07-17T12:25:00Z",
"immRep": false,
"maxReportNbr": 2,
"repPeriod": 1,
"sampRatio": 70,
"grpRepTime": 60
}
}Obtain User Data Congestion Analytics Subscription Information
This service operation is used to obtain information about an existing User Data Congestion Analytics subscription.
Type: GET
URI: {apiroot}:{serverPort}:/nnwdaf-eventsubscription/<api version>/subscriptions/{subscriptionId}?event-id={analyticsId}&supported-features={supported-features}&tgt-ue={tgt-ue}&event-filter={event-filter}&ana-req={ana-req}
For information on endpoint parameters see, Table 9-24 .
Initiated By: Consumers
For information on request body parameters see, Table 9-25
Examples
The following example shows how an NF gets subscription information by submitting a GET request on the REST resource using cURL.
cURL Command
curl --location 'http://10.123.159.29:8080/nnwdaf-analyticsinfo/v1/analytics?event-id=USER_DATA_CONGESTION&supported-features=020&tgt-ue=%257B%250A%2520%2520%2520%2520%2520%2520%2520%2520%2522supis%2522%253A%2520null%252C%250A%2520%2520%2520%2520%2520%2520%2520%2520%2522intGroupIds%2522%253A%2520null%252C%250A%2520%2520%2520%2520%2520%2520%2520%2520%2522anyUe%2522%253A%2520true%250A%257D&event-filter=%257B%2522anySlice%2522%253Afalse%252C%2522appIds%2522%253A%255B%2522IQPKITNJSE%2522%255D%252C%2522dnns%2522%253A%255B%2522KCRFf30.lafQu2.fOntr02%2522%255D%252C%2522dnais%2522%253A%255B%2522KuDMa.fDOC%2540DgvaY7.dQUxS69.uTvFz6KCRFf30.lafQu2.fOntr02%2522%255D%252C%2522networkArea%2522%253A%257B%2522ecgis%2522%253A%255B%257B%2522plmnId%2522%253A%257B%2522mcc%2522%253A%2522611%2522%252C%2522mnc%2522%253A%2522946%2522%257D%252C%2522eutraCellId%2522%253A%252260De3B8%2522%252C%2522nid%2522%253A%25222f9CcfeEC9a%2522%257D%255D%252C%2522ncgis%2522%253A%255B%257B%2522plmnId%2522%253A%257B%2522mcc%2522%253A%2522375%2522%252C%2522mnc%2522%253A%252236%2522%257D%252C%2522nrCellId%2522%253A%2522eFdEDcE7D%2522%252C%2522nid%2522%253A%2522e5D8B1EbD11%2522%257D%255D%252C%2522plmnId%2522%253A%257B%2522mcc%2522%253A%2522791%2522%252C%2522mnc%2522%253A%2522230%2522%257D%252C%2522n3IwfId%2522%253A%2522CB1E5ba%2522%252C%2522gNbId%2522%253A%257B%2522bitLength%2522%253A32%252C%2522gNBValue%2522%253A%2522BF6B9E%2522%257D%252C%2522ngeNbId%2522%253A%2522SMacroNGeNB-F5CCC%2522%252C%2522wagfId%2522%253A%25228f%2522%252C%2522tngfId%2522%253A%25221a473d3D%2522%252C%2522nid%2522%253A%2522BFbBAabEBD3%2522%252C%2522eNbId%2522%253A%2522MacroeNB-f26ab%2522%257D%255D%252C%2522tais%2522%253A%255B%257B%2522plmnId%2522%253A%257B%2522mcc%2522%253A%2522585%2522%252C%2522mnc%2522%253A%2522162%2522%257D%252C%2522tac%2522%253A%2522ebef4B%2522%252C%2522nid%2522%253A%2522fDfC6bbC673%2522%257D%255D%257D%252C%2522nwPerfTypes%2522%253A%255B%2522NUM_OF_UE%2522%255D%257D&ana-req=%257B%250A%2520%2520%2520%2520%2522startTs%2522%253A%25222020-07-08T12%253A00%253A10.000021%2522%252C%250A%2520%2520%2520%2520%2522endTs%2522%253A%25222021-12-13T12%253A02%253A05.000000%2522%252C%250A%2520%2520%2520%2520%2522timeAnaNeeded%2522%253A%25222022-12-13T12%253A00%253A01.000000%2522%252C%250A%2520%2520%2520%2520%2522maxObjectNbr%2522%253A0%252C%250A%2520%2520%2520%2520%2522sampRatio%2522%253A1%250A%257D'
Example of the Response Body
{
"eventSubscriptions": [
{
"event": "USER_DATA_CONGESTION",
"extraReportReq": {
"startTs": "2023-07-17T10:00:00Z",
"endTs": "2023-07-17T11:00:00Z",
"sampRatio": 70,
"maxObjectNbr": 5,
"maxSupiNbr": 2
},
"matchingDir": "ASCENDING",
"networkArea": {
"ecgis": [
{
"plmnId": {
"mcc": "611",
"mnc": "946"
},
"eutraCellId": "60De3B8",
"nid": "2f9CcfeEC9a"
}
],
"ncgis": [
{
"plmnId": {
"mcc": "375",
"mnc": "36"
},
"nrCellId": "27C042641",
"nid": "e5D8B1EbD11"
}
],
"tais": [
{
"plmnId": {
"mcc": "585",
"mnc": "162"
},
"tac": "ebef4B",
"nid": "fDfC6bbC673"
}
]
},
"snssais": [
{
"sst": 1,
"sd": "104030"
}
],
"tgtUe": {
"anyUe": true
},
"congThresholds": [
{
"congLevel": 10
}
]
}
],
"evtReq": {
"immRep": false,
"notifMethod": "ONE_TIME",
"maxReportNbr": 2,
"monDur": "2023-08-02T06:37:00Z",
"repPeriod": 1,
"sampRatio": 70,
"grpRepTime": 60
},
"notificationURI": "http://prodcon-1:9282/receive",
"notifCorrId": "c7e20068-fc61-45f9-87bb-ea6ecd4b27a0",
"supportedFeatures": "020"
}Delete an Existing User Data Congestion Analytics Subscription
This service operation is used to delete an existing User Data Congestion Analytics subscription.
Type: DELETE
URI: {apiroot}:{serverPort}:/nnwdaf-eventsubscription/<api version>/subscriptions/{subscriptionId}
For information on endpoint parameters see, Table 9-24.
Initiated By: Consumers
Table 9-32 Supported Response Codes
| Code | Description |
|---|---|
| 204 | The subscription resource is successfully deleted. |
| 404 | Not found |
The following example shows how an NF deletes subscription information by submitting a DELETE request on the REST resource using cURL.
cURL Command
curl --location '10.123.159.23:8087/nnwdaf-eventssubscription/v1/subscriptions/371d8527-dcc9-4179-9d67-82e5c93fc206'9.3.7 QoS Sustainability Analytics APIs
QoS Sustainability Analytics Rest API Parameters
Note:
The data types supported by OCNWDAF comply with the 3GPP specifications. For more information about the 3GPP data types, see 3GPP Technical Specification 29.520, Release 17, Network Data Analytics Services.Request Parameters
Listed below are the QoS sustainability analytics request parameters:
Table 9-33 Request Parameters
| Parameter | Data Type | Presence | Description |
|---|---|---|---|
| eventSubscriptions | Table 9-34 | M | Specifies the subscribed event. The event parameter within the subscription is set to "QOS SUSTAINABILITY". |
| evtReq | ReportingInformation | O | Represents the reporting requirements of the event subscription. If this parameter is not provided, the default values for ReportingInformation is used. The notification method "notifMethod" within ReportingInformation takes precedence over the notificationMethod within EventSubscription. |
| notificationURI | Uri | C | The URI to which OCNWDAF sends the reports |
| eventNotifications | array | C |
Notifications about individual events This parameter is present if the immediate reporting indication in the "immRep" attribute within the "evtReq" attribute is set to true in the event subscription and the reports are available. This parameter is provided in response to the OCNWDAF subscription if immediatereport is true and the reports are available. |
| failEventReports | array | O | This parameter is provided by the OCNWDAF. When this parameter is available, it contains the event(s) for which the subscription is not successful, it also includes the failure reason(s). This parameter is populated and returned in the response for the error case. |
| consNfInfo | ConsumerNfInformation | O | Represents the analytics consumer NF information |
| notifCorrId | String | M | Notification correlation identifier. It is generated after a successful subscription and is returned in the response. |
| supportedFeatures | SupportedFeatures | C | This parameter is provided by the NF service consumer in the POST request for creating an OCNWDAF Event Subscription resource, and it is also provided in response to the corresponding request. |
Table 9-34 EventSubscription
| Parameter | Data Type | Presence | Description |
|---|---|---|---|
| anySlice | AnySlice | M | Represents the any slice. Default is FALSE. |
| appIds | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| dnns | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| dnais | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| event | NwdafEvent | M | Indicates the subscribed event. The value for QoS sustainability analytics is "QOS Sustainability". |
| extraReportReq | EventReportingRequirement | O | The additional event reporting requirements information. |
| ladnDnns | array | M | Note: This parameter is not applicable for QoS sustainability analytics. |
| loadLevelThreshold | Integer | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| matchingDir | MatchingDirection | O | A matching direction can be provided along with a threshold. If this parameter is omitted, the default value is CROSSED. |
| nfLoadLvlThds | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| visitedAreas | array | O | Note: This parameter is not applicable for QoS sustainability analytics. |
| maxTopAppUlNbr | Uinteger | O | Note: This parameter is not applicable for QoS sustainability analytics. |
| maxTopAppDlNbr | Uinteger | O | Note: This parameter is not applicable for QoS sustainability analytics. |
| nfInstanceIds | array | O | Note: This parameter is not applicable for QoS sustainability analytics. |
| nfSetIds | array | O | Note: This parameter is not applicable for QoS sustainability analytics. |
| nfTypes | array | O | Note: This parameter is not applicable for QoS sustainability analytics. |
| notificationMethod | NotificationMethod | O | Indicates the notification method. |
| nsiIdInfos | array | O | Note: This parameter is not applicable for QoS sustainability analytics. |
| nsiLevelThrds | array | O | Note: This parameter is not applicable for QoS sustainability analytics. |
| networkArea | NetworkAreaInfo | C | Identification of network area to which the subscription applies. The absence of this parameter implies the subscription is applicable for all network areas. |
| qosRequ | Table 9-35 | M | Indicates the QoS requirements when subscribed event is QOS_SUSTAINABILITY. |
| qosFlowRetThds | array | M | Represents the QoS flow retainability thresholds (provided by the consumer either for the 5QI or the GBR resource type specified in qosRequ parameter). |
| ranUeThrouThds | array | M | Represents the RAN UE throughput thresholds (provided by the consumer either for the 5QI or the non-GBR resource type specified in qosRequ parameter). |
| repetitionPeriod | DurationSec | C | This parameter is provided by the "notificationMethod" attribute if the notification method is "PERIODIC". |
| snssais | array | C | Identification(s) of network slice to which the subscription applies. |
| tgtUe | TargetUeInformation | O | Identifies target the UE information. |
| congThresholds | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| nwPerfRequs | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| bwRequs | array | O | Note: This parameter is not applicable for QoS sustainability analytics. |
| excepRequs | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| exptAnaType | ExpectedAnalyticsType | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| exptUeBehav | ExpectedUeBehaviourData | O | Note: This parameter is not applicable for QoS sustainability analytics. |
| ratFreqs | array | O | Note: This parameter is not applicable for QoS sustainability analytics. |
| listOfAnaSubsets | array | O | Note: This parameter is not applicable for QoS sustainability analytics. |
| disperReqs | array | O | Note: This parameter is not applicable for QoS sustainability analytics. |
| redTransReqs | array | O | Note: This parameter is not applicable for QoS sustainability analytics. |
| wlanReqs | array | O | Note: This parameter is not applicable for QoS sustainability analytics. |
| upfInfo | UpfInformation | O | Note: This parameter is not applicable for QoS sustainability analytics. |
| appServerAddrs | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| dnPerfReqs | array | O | Note: This parameter is not applicable for QoS sustainability analytics. |
Table 9-35 QosRequirement
| Parameter | Data Type | P | Cardinality | Description |
|---|---|---|---|---|
| 5qi | Table 9-36 | C | 1 | Represents a 5G QoS Identifier. It is included for standardized or preconfigured 5QIs. |
| gfbrUl | Table 9-45 | C | 0 to 1 |
Indicates Guaranteed Flow Bit Rate (GFBR) in the uplink. It is included for Guaranteed Bit Rate (GBR) 5QIs. |
| gfbrDl | Table 9-45 | C | 0 to 1 |
Indicates GFBR in the downlink. It is included for GBR 5QIs. |
| resType | QosResourceType | C | 0 to 1 | Resource type.
It is provided for the nonstandardized and nonpreconfigured QoS characteristics. |
| pdb | Table 9-37 | O | 0 to 1 | Packet Delay Budget.
This parameter may be provided for the non-standardized and non-pre-configured QoS characteristics. |
| per | Table 9-38 | O | 0 to 1 | Packet Error Rate.
This parameter may be provided for the non-standardized and non-pre-configured QoS characteristics. |
| deviceSpeed | VelocityEstimate | O | The Velocity Estimate. | |
| deviceType | DeviceType | O | The device type. |
Note:
Either 5QI within "5qi" attribute or the resource type within "resType" attribute is provided.Table 9-36 5Qi
| Type Name | Type Definition | Description |
|---|---|---|
| 5Qi | Integer | Unsigned integer representing a 5G QoS Identifier (see, 3GPP TS 23.501 [8], subclause 5.7.2.1). Range is 0 up to 255. |
Table 9-37 PacketDelBudget
| Type Name | Type Definition | Description |
|---|---|---|
| PacketDelBudget | Integer | Unsigned integer indicating Packet Delay Budget (see, 3GPP TS 23.501 [8], subclauses 5.7.3.4 and 5.7.4 ). Expressed in milliseconds, minimum value = 1. |
Table 9-38 PacketErrRate
| Type Name | Type Definition | Description |
|---|---|---|
| PacketErrRate | Integer | Unsigned integer indicating Packet Error Rate (see, 3GPP TS 23.501 [8], subclauses 5.7.3.5 and 5.7.4 ). Expressed in milliseconds, minimum value = 1.. |
Table 9-39 NnwdafEventsSubscriptionNotification
| Parameter | Data Type | Presence | Description |
|---|---|---|---|
| eventNotifications | array | C | Notifications about individual events. |
| subscriptionId | String | M | String identifying a subscription to the Nnwdaf_EventsSubscription service. |
| notifCorrId | String | O | Note: This parameter is not applicable for QoS sustainability analytics. |
| oldSubscriptionId | String | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| resourceUri | URI | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| termCause | TermCause | O | Note: This parameter is not applicable for QoS sustainability analytics. |
Table 9-40 EventNotification
| Parameter | Data Type | Presence | Description |
|---|---|---|---|
| event | NwdafEvent | M | Subscribed events. The event parameter within event Subscriptions has to be "QOS _SUSTAINABILITY" |
| start | DateTime | O | It defines the start time from when the analytics information becomes valid. |
| expiry | DateTime | O | It defines the expiry time after which the analytics information is invalid. |
| timeStampGen | DateTime | C | It defines the timestamp of analytics generation. |
| failNotifyCode | NwdafFailureCode | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| rvWaitTime | DurationSec | O | Note: This parameter is not applicable for QoS sustainability analytics. |
| anaMetaInfo | AnalyticsMetadataInfo | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| nwPerfs | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| nfLoadLevelInfos | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| nsiLoadLevelInfos | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| qosSustainInfos | array | C | The QOS sustainability information. |
| sliceLoadLevelInfo | SliceLoadLevelInformation | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| svcExps | array | Note: This parameter is not applicable for QoS sustainability analytics. | |
| ueComms | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| ueMobs | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| abnorBehavrs | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| userDataCongInfos | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| dnPerfInfos | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| disperInfos | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| redTransInfos | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| wlanInfos | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
| smccExps | array | C | Note: This parameter is not applicable for QoS sustainability analytics. |
Output QoS Sustainability Analytics
The following analytics information is obtained:
Table 9-41 Response Parameters
| Parameter | Data Type | Presence | Description |
|---|---|---|---|
| event | NwdafEvent | M | Event that is notified. |
| start | DateTime | O | UTC time indicating the start time of the observation period. The absence of this attribute means subscription at present time. |
| expiry | DateTime | O | It defines the expiration time after which the analytics information becomes invalid. |
| timeStampGen | DateTime | C | It defines the timestamp of analytics generation. |
| QosSustainabilityInfo | Table 9-42 | C | The QoS sustainability analytics information. |
QosSustainabilityInfo
Table 9-42 QosSustainabilityInfo
| Attribute Name | Data Type | P | Cardinality | Description |
|---|---|---|---|---|
| areaInfo | Table 9-43 | M | 1 | The network area information. |
| startTs | DateTime | M | 1 | UTC time indicating the start time of the observation period. |
| endTs | DateTime | M | 1 | UTC time indicating the end time of the observation period. |
| qosFlowRetThd | Table 9-44 | O | 0 to 1 | The reporting QoS Flow Retainability Threshold that is met or crossed for 5QI of GBR resource type. |
| ranUeThrouThd | Table 9-45 | O | 0 to 1 |
The reporting RAN UE Throughput Threshold that is met or crossed for 5QI of non-GBR resource type. |
| snssai | Snssai | C | 0 to 1 | Identifies an S-NSSAI.
Is present if the "snssais" was provided within the EventSubscription during the subscription for event notification procedure. |
| 5qi | Integer | M | 1 | The subscribed 5qi type. |
| confidence | Uinteger | C | 0 to 1 | Indicates the confidence of the prediction. If sufficient data is unavailable during the specified analytics target time interval, the confidence value returned is "0". This attribute is present in analytics prediction. |
Note:
Either of the attributes qosFlowRetThd or ranUeThrouThd are provided.
Note:
If the requested observation period identified by the "startTs" and "endTs" attributes in the "EventReportingRequirement" type is a future time interval, it implies that the analytics result is a prediction.
NetworkAreaInfo
Table 9-43 NetworkAreaInfo
| Attribute name | Data type | P | Cardinality | Description |
|---|---|---|---|---|
| ecgis | array | O | 0 to N | Is the list of E-UTRA cell identities. |
| ncgis | array | O | 0 to N | Is the list of NR cell identities |
| gRanNodeIds | array | O | 0 to N | Is the list of list of the NG-RAN nodes. |
| tais | array | O | 0 to N | Is the list of tracking area identities. |
RetainabilityThreshold
Table 9-44 RetainabilityThreshold
| Attribute Name | Data type | P | Cardinality | Description |
|---|---|---|---|---|
| relFlowNum | Uinteger | O | 0 to 1 | The number of abnormally released QoS flows. |
| relTimeUnit | TimeUnit | C | 0 to 1 | The time unit of the active session, present if relFlowNum is present. |
| relFlowRatio | SamplingRatio | O | 0 to 1 | Ratio of abnormally released QoS flows to the total released QoS flows, expressed as a percentage. |
Note:
Either relFlowNum and its associated relTimeUnit or relFlowRatio are provided. The relFlowNum and relTimeUnit together represents the number of abnormally released QoS flows (that is, relFlowNum) within the time unit (that is, relTimeUnit).
BitRate
Table 9-45 BitRate
| Type Name | Type Definition | Description |
|---|---|---|
| BitRate | String |
String representing a bit rate that is formatted as follows: Pattern: '^\d+(\.\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$' For example: "125 Mbps", "0.125 Gbps", "125000 Kbps" |
Create a QoS Sustainability Analytics Subscription
This service operation is used to create a QoS sustainability analytics subscription.
Type: POST
URI:{apiroot}:{serverPort}:/nnwdaf-eventsubscription/<api version>/subscriptions
Initiated By: Consumers
Table 9-46 Endpoint Parameters
| Parameter | Description | Example |
|---|---|---|
{apiroot} |
The IP used to access the OCNWDAF subscription. | |
{serverport} |
The port used to access the OCNWDAF subscription. Default value is 8080. | |
{subscriptionId} |
Subscription ID | |
{analyticsId} |
The analytics ID is "QOS_SUSTAINABILITY" | |
{supported-features} |
100 | |
{tgt-ue} |
Encoded Target UE information. | |
{event-filter} |
Encoded event filter value. | |
{ana-req} |
Encoded value of analytics requirements. | |
Table 9-47 Supported Response Codes
| Code | Description |
|---|---|
| 201 | The subscription is created successfully. |
| 400 |
Bad Request. The request is incorrect and subscription is not created. |
| 500 | Indicates a internal server processing error. |
Examples
The following example shows how an NF creates a subscription for QoS sustainability analytics by submitting a POST request on the REST resource using cURL.
cURL Command
curl --location '10.123.159.23:8087/nnwdaf-eventssubscription/v1/subscriptions' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"notificationURI": "http://prodcon-1:9282/receive",
"supportedFeatures": "008",
"eventSubscriptions": [
{
"event": "QOS_SUSTAINABILITY",
"networkArea": {
"ecgis": [
{
"plmnId": {
"mcc": "611",
"mnc": "946"
},
"eutraCellId": "60De3B8",
"nid": "2f9CcfeEC9a"
}
],
"ncgis": [
{
"plmnId": {
"mcc": "375",
"mnc": "36"
},
"nrCellId": "eFdEDcE7D",
"nid": "e5D8B1EbD11"
}
],
"gRanNodeIds": [
{
"plmnId": {
"mcc": "791",
"mnc": "230"
},
"n3IwfId": "CB1E5ba",
"gNbId": {
"bitLength": 32,
"gNBValue": "BF6B9E"
},
"ngeNbId": "SMacroNGeNB-F5CCC",
"wagfId": "8f",
"tngfId": "1a473d3D",
"nid": "BFbBAabEBD3",
"eNbId": "MacroeNB-f26ab"
}
],
"tais": [
{
"plmnId": {
"mcc": "585",
"mnc": "162"
},
"tac": "ebef4B",
"nid": "fDfC6bbC673"
}
]
},
"extraReportReq": {
"startTs": "2020-07-08T00:00:00.000Z",
"endTs": "2023-12-21T18:59:40.694Z"
},
"notificationMethod": "THRESHOLD",
"matchingDir": "CROSSED",
"qosRequ": {
"5qi": 1,
"resType": "NON_GBR/NON_CRITICAL_GBR/CRITICAL_GBR"
},
"qosFlowRetThds": [
{
"relTimeUnit": "MINUTE/HOUR/DAY"
}
],
"repetitionPeriod": 0,
"snssais": [
{
"sst": 1,
"sd": "102030"
}
],
"tgtUe": {
"anyUe": true
}
}
],
"evtReq": {
"immRep": false,
"notifMethod": "ON_EVENT_DETECTION",
"maxReportNbr": 50,
"monDur": "2023-12-21T18:59:40.694Z",
"repPeriod": 0,
"sampRatio": 75,
"grpRepTime": 0
},
"notificationURI": "http://10.123.159.82:31456/receive",
"supportedFeatures": "008"
} Example of the Request Body
{
"notificationURI": "http://prodcon-1:9282/receive",
"supportedFeatures": "008",
"eventSubscriptions": [
{
"event": "QOS_SUSTAINABILITY",
"networkArea": {
"ecgis": [
{
"plmnId": {
"mcc": "611",
"mnc": "946"
},
"eutraCellId": "60De3B8",
"nid": "2f9CcfeEC9a"
}
],
"ncgis": [
{
"plmnId": {
"mcc": "375",
"mnc": "36"
},
"nrCellId": "eFdEDcE7D",
"nid": "e5D8B1EbD11"
}
],
"gRanNodeIds": [
{
"plmnId": {
"mcc": "791",
"mnc": "230"
},
"n3IwfId": "CB1E5ba",
"gNbId": {
"bitLength": 32,
"gNBValue": "BF6B9E"
},
"ngeNbId": "SMacroNGeNB-F5CCC",
"wagfId": "8f",
"tngfId": "1a473d3D",
"nid": "BFbBAabEBD3",
"eNbId": "MacroeNB-f26ab"
}
],
"tais": [
{
"plmnId": {
"mcc": "585",
"mnc": "162"
},
"tac": "ebef4B",
"nid": "fDfC6bbC673"
}
]
},
"extraReportReq": {
"startTs": "2020-07-08T00:00:00.000Z",
"endTs": "2023-12-21T18:59:40.694Z"
},
"notificationMethod": "THRESHOLD",
"matchingDir": "CROSSED",
"qosRequ": {
"5qi": 1,
"resType": "NON_GBR/NON_CRITICAL_GBR/CRITICAL_GBR"
},
"qosFlowRetThds": [
{
"relTimeUnit": "MINUTE/HOUR/DAY"
}
],
"repetitionPeriod": 0,
"snssais": [
{
"sst": 1,
"sd": "102030"
}
],
"tgtUe": {
"anyUe": true
}
}
],
"evtReq": {
"immRep": false,
"notifMethod": "ON_EVENT_DETECTION",
"maxReportNbr": 50,
"monDur": "2023-12-21T18:59:40.694Z",
"repPeriod": 0,
"sampRatio": 75,
"grpRepTime": 0
},
"notificationURI": "http://10.123.159.82:31456/receive",
"supportedFeatures": "008"
}Example of the Response Body
{
"eventSubscriptions": [
{
"event": "QOS_SUSTAINABILITY",
"networkArea": {
"ecgis": [
{
"plmnId": {
"mcc": "611",
"mnc": "946"
},
"eutraCellId": "60De3B8",
"nid": "2f9CcfeEC9a"
}
],
"ncgis": [
{
"plmnId": {
"mcc": "375",
"mnc": "36"
},
"nrCellId": "eFdEDcE7D",
"nid": "e5D8B1EbD11"
}
],
"gRanNodeIds": [
{
"plmnId": {
"mcc": "791",
"mnc": "230"
},
"n3IwfId": "CB1E5ba",
"gNbId": {
"bitLength": 32,
"gNBValue": "BF6B9E"
},
"ngeNbId": "SMacroNGeNB-F5CCC",
"wagfId": "8f",
"tngfId": "1a473d3D",
"nid": "BFbBAabEBD3",
"eNbId": "MacroeNB-f26ab"
}
],
"tais": [
{
"plmnId": {
"mcc": "585",
"mnc": "162"
},
"tac": "ebef4B",
"nid": "fDfC6bbC673"
}
]
},
"extraReportReq": {
"startTs": "2020-07-08T00:00:00.000Z",
"endTs": "2023-12-21T18:59:40.694Z"
},
"notificationMethod": "THRESHOLD",
"matchingDir": "CROSSED",
"qosRequ": {
"5qi": 1,
"resType": "NON_GBR/NON_CRITICAL_GBR/CRITICAL_GBR"
},
"qosFlowRetThds": [
{
"relTimeUnit": "MINUTE/HOUR/DAY"
}
],
"repetitionPeriod": 0,
"snssais": [
{
"sst": 1,
"sd": "102030"
}
],
"tgtUe": {
"anyUe": true
}
}
],
"evtReq": {
"immRep": false,
"notifMethod": "ON_EVENT_DETECTION",
"maxReportNbr": 50,
"monDur": "2023-12-21T18:59:40.694Z",
"repPeriod": 0,
"sampRatio": 75,
"grpRepTime": 0
},
"notificationURI": "http://10.123.159.82:31456/receive",
"supportedFeatures": "008"
}
}Modify an Existing QoS Sustainability Analytics Subscription
This service operation is used to modify an existing QoS sustainability Analytics subscription.
Type: PUT
URI: {apiroot}:{serverPort}:/nnwdaf-eventsubscription/<api version>/subscriptions/{subscriptionId}
For information on endpoint parameters see, Table 9-46.
Initiated By: Consumers
For information on request body parameters see, Table 9-33
Table 9-48 Supported Response Codes
| Code | Description |
|---|---|
| 204 | The subscription resource is successfully updated. |
| 400 |
Bad Request The request is incorrect and subscription is not updated. |
| 500 | Indicates a internal server processing error. |
Examples
The following example shows how an NF updates a QoS sustainability Analytics subscription by submitting a PUT request on the REST resource using cURL.
cURL Command
curl --location --request PUT '10.123.159.23:8087/nnwdaf-eventssubscription/v1/subscriptions/371d8527-dcc9-4179-9d67-82e5c93fc206' \
--header 'Content-Type: application/json' \
--data '
{
"notificationURI": "http://prodcon-1:9282/receive",
"supportedFeatures": "008",
"eventSubscriptions": [
{
"event": "QOS_SUSTAINABILITY",
"networkArea": {
"ecgis": [
{
"plmnId": {
"mcc": "611",
"mnc": "946"
},
"eutraCellId": "60De3B8",
"nid": "2f9CcfeEC9a"
}
],
"ncgis": [
{
"plmnId": {
"mcc": "375",
"mnc": "36"
},
"nrCellId": "eFdEDcE7D",
"nid": "e5D8B1EbD11"
}
],
"gRanNodeIds": [
{
"plmnId": {
"mcc": "791",
"mnc": "230"
},
"n3IwfId": "CB1E5ba",
"gNbId": {
"bitLength": 32,
"gNBValue": "BF6B9E"
},
"ngeNbId": "SMacroNGeNB-F5CCC",
"wagfId": "8f",
"tngfId": "1a473d3D",
"nid": "BFbBAabEBD3",
"eNbId": "MacroeNB-f26ab"
}
],
"tais": [
{
"plmnId": {
"mcc": "585",
"mnc": "162"
},
"tac": "ebef4B",
"nid": "fDfC6bbC673"
}
]
},
"extraReportReq": {
"startTs": "2020-07-08T00:00:00.000Z",
"endTs": "2023-12-21T18:59:40.694Z"
},
"notificationMethod": "THRESHOLD",
"matchingDir": "CROSSED",
"qosRequ": {
"5qi": 1,
"resType": "NON_GBR/NON_CRITICAL_GBR/CRITICAL_GBR"
},
"qosFlowRetThds": [
{
"relTimeUnit": "MINUTE/HOUR/DAY"
}
],
"repetitionPeriod": 0,
"snssais": [
{
"sst": 1,
"sd": "102030"
}
],
"tgtUe": {
"anyUe": true
}
}
],
"evtReq": {
"immRep": false,
"notifMethod": "ON_EVENT_DETECTION",
"maxReportNbr": 50,
"monDur": "2023-12-21T18:59:40.694Z",
"repPeriod": 0,
"sampRatio": 75,
"grpRepTime": 0
},
"notificationURI": "http://10.123.159.82:31456/receive",
"supportedFeatures": "008"
}Example of the Request Body
{
"notificationURI": "http://prodcon-1:9282/receive",
"supportedFeatures": "008",
"eventSubscriptions": [
{
"event": "QOS_SUSTAINABILITY",
"networkArea": {
"ecgis": [
{
"plmnId": {
"mcc": "611",
"mnc": "946"
},
"eutraCellId": "60De3B8",
"nid": "2f9CcfeEC9a"
}
],
"ncgis": [
{
"plmnId": {
"mcc": "375",
"mnc": "36"
},
"nrCellId": "eFdEDcE7D",
"nid": "e5D8B1EbD11"
}
],
"gRanNodeIds": [
{
"plmnId": {
"mcc": "791",
"mnc": "230"
},
"n3IwfId": "CB1E5ba",
"gNbId": {
"bitLength": 32,
"gNBValue": "BF6B9E"
},
"ngeNbId": "SMacroNGeNB-F5CCC",
"wagfId": "8f",
"tngfId": "1a473d3D",
"nid": "BFbBAabEBD3",
"eNbId": "MacroeNB-f26ab"
}
],
"tais": [
{
"plmnId": {
"mcc": "585",
"mnc": "162"
},
"tac": "ebef4B",
"nid": "fDfC6bbC673"
}
]
},
"extraReportReq": {
"startTs": "2020-07-08T00:00:00.000Z",
"endTs": "2023-12-21T18:59:40.694Z"
},
"notificationMethod": "THRESHOLD",
"matchingDir": "CROSSED",
"qosRequ": {
"5qi": 1,
"resType": "NON_GBR/NON_CRITICAL_GBR/CRITICAL_GBR"
},
"qosFlowRetThds": [
{
"relTimeUnit": "MINUTE/HOUR/DAY"
}
],
"repetitionPeriod": 0,
"snssais": [
{
"sst": 1,
"sd": "102030"
}
],
"tgtUe": {
"anyUe": true
}
}
],
"evtReq": {
"immRep": false,
"notifMethod": "ON_EVENT_DETECTION",
"maxReportNbr": 50,
"monDur": "2023-12-21T18:59:40.694Z",
"repPeriod": 0,
"sampRatio": 75,
"grpRepTime": 0
},
"notificationURI": "http://10.123.159.82:31456/receive",
"supportedFeatures": "008"
}Obtain QoS Sustainability Analytics Subscription Information
This service operation is used to obtain information about an existing QoS Analytics subscription.
Type: GET
URI: {apiroot}:{serverPort}:/nnwdaf-eventsubscription/<api version>/subscriptions/{subscriptionId}?event-id={analyticsId}&supported-features={supported-features}&tgt-ue={tgt-ue}&event-filter={event-filter}&ana-req={ana-req}
For information on endpoint parameters see, Table 9-46.
Initiated By: Consumers
For information on request body parameters see, Table 9-33.
Examples
The following example shows how an NF gets subscription information by submitting a GET request on the REST resource using cURL.
cURL Command
curl --location 'http://10.123.159.29:8080/nnwdaf-analyticsinfo/v1/analytics?event-id=QOS_SUSTAINABILITY&supported-features=008&tgt-ue=%257B%250A%2520%2520%2520%2520%2520%2520%2520%2520%2522supis%2522%253A%2520null%252C%250A%2520%2520%2520%2520%2520%2520%2520%2520%2522intGroupIds%2522%253A%2520null%252C%250A%2520%2520%2520%2520%2520%2520%2520%2520%2522anyUe%2522%253A%2520true%250A%257D&event-filter=%257B%2522anySlice%2522%253Afalse%252C%2522appIds%2522%253A%255B%2522IQPKITNJSE%2522%255D%252C%2522dnns%2522%253A%255B%2522KCRFf30.lafQu2.fOntr02%2522%255D%252C%2522dnais%2522%253A%255B%2522KuDMa.fDOC%2540DgvaY7.dQUxS69.uTvFz6KCRFf30.lafQu2.fOntr02%2522%255D%252C%2522networkArea%2522%253A%257B%2522ecgis%2522%253A%255B%257B%2522plmnId%2522%253A%257B%2522mcc%2522%253A%2522611%2522%252C%2522mnc%2522%253A%2522946%2522%257D%252C%2522eutraCellId%2522%253A%252260De3B8%2522%252C%2522nid%2522%253A%25222f9CcfeEC9a%2522%257D%255D%252C%2522ncgis%2522%253A%255B%257B%2522plmnId%2522%253A%257B%2522mcc%2522%253A%2522375%2522%252C%2522mnc%2522%253A%252236%2522%257D%252C%2522nrCellId%2522%253A%2522eFdEDcE7D%2522%252C%2522nid%2522%253A%2522e5D8B1EbD11%2522%257D%255D%252C%2522plmnId%2522%253A%257B%2522mcc%2522%253A%2522791%2522%252C%2522mnc%2522%253A%2522230%2522%257D%252C%2522n3IwfId%2522%253A%2522CB1E5ba%2522%252C%2522gNbId%2522%253A%257B%2522bitLength%2522%253A32%252C%2522gNBValue%2522%253A%2522BF6B9E%2522%257D%252C%2522ngeNbId%2522%253A%2522SMacroNGeNB-F5CCC%2522%252C%2522wagfId%2522%253A%25228f%2522%252C%2522tngfId%2522%253A%25221a473d3D%2522%252C%2522nid%2522%253A%2522BFbBAabEBD3%2522%252C%2522eNbId%2522%253A%2522MacroeNB-f26ab%2522%257D%255D%252C%2522tais%2522%253A%255B%257B%2522plmnId%2522%253A%257B%2522mcc%2522%253A%2522585%2522%252C%2522mnc%2522%253A%2522162%2522%257D%252C%2522tac%2522%253A%2522ebef4B%2522%252C%2522nid%2522%253A%2522fDfC6bbC673%2522%257D%255D%257D%252C%2522nwPerfTypes%2522%253A%255B%2522NUM_OF_UE%2522%255D%257D&ana-req=%257B%250A%2520%2520%2520%2520%2522startTs%2522%253A%25222020-07-08T12%253A00%253A10.000021%2522%252C%250A%2520%2520%2520%2520%2522endTs%2522%253A%25222021-12-13T12%253A02%253A05.000000%2522%252C%250A%2520%2520%2520%2520%2522timeAnaNeeded%2522%253A%25222022-12-13T12%253A00%253A01.000000%2522%252C%250A%2520%2520%2520%2520%2522maxObjectNbr%2522%253A0%252C%250A%2520%2520%2520%2520%2522sampRatio%2522%253A1%250A%257D'
Example of the Response Body
{
"eventSubscriptions": [
{
"event": "QOS_SUSTAINABILITY",
"networkArea": {
"ecgis": [
{
"plmnId": {
"mcc": "611",
"mnc": "946"
},
"eutraCellId": "60De3B8",
"nid": "2f9CcfeEC9a"
}
],
"ncgis": [
{
"plmnId": {
"mcc": "375",
"mnc": "36"
},
"nrCellId": "eFdEDcE7D",
"nid": "e5D8B1EbD11"
}
],
"gRanNodeIds": [
{
"plmnId": {
"mcc": "791",
"mnc": "230"
},
"n3IwfId": "CB1E5ba",
"gNbId": {
"bitLength": 32,
"gNBValue": "BF6B9E"
},
"ngeNbId": "SMacroNGeNB-F5CCC",
"wagfId": "8f",
"tngfId": "1a473d3D",
"nid": "BFbBAabEBD3",
"eNbId": "MacroeNB-f26ab"
}
],
"tais": [
{
"plmnId": {
"mcc": "585",
"mnc": "162"
},
"tac": "ebef4B",
"nid": "fDfC6bbC673"
}
]
},
"extraReportReq": {
"startTs": "2020-07-08T00:00:00.000Z",
"endTs": "2023-12-21T18:59:40.694Z"
},
"notificationMethod": "THRESHOLD",
"matchingDir": "CROSSED",
"qosRequ": {
"5qi": 1,
"resType": "NON_GBR/NON_CRITICAL_GBR/CRITICAL_GBR"
},
"qosFlowRetThds": [
{
"relTimeUnit": "MINUTE/HOUR/DAY"
}
],
"repetitionPeriod": 0,
"snssais": [
{
"sst": 1,
"sd": "102030"
}
],
"tgtUe": {
"anyUe": true
}
}
],
"evtReq": {
"immRep": false,
"notifMethod": "ON_EVENT_DETECTION",
"maxReportNbr": 50,
"monDur": "2023-12-21T18:59:40.694Z",
"repPeriod": 0,
"sampRatio": 75,
"grpRepTime": 0
},
"notificationURI": "http://10.123.159.82:31456/receive",
"supportedFeatures": "008"
}Delete an Existing QoS Sustainability Analytics Subscription
This service operation is used to delete an existing QoS sustainability analytics subscription.
Type: DELETE
URI: {apiroot}:{serverPort}:/nnwdaf-eventsubscription/<api version>/subscriptions/{subscriptionId}
For information on endpoint parameters see, Table 9-46.
Initiated By: Consumers
Table 9-49 Supported Response Codes
| Code | Description |
|---|---|
| 204 | The subscription resource is successfully deleted. |
| 404 | Not found |
The following example shows how an NF deletes subscription information by submitting a DELETE request on the REST resource using cURL.
cURL Command
curl --location '10.123.159.23:8087/nnwdaf-eventssubscription/v1/subscriptions/371d8527-dcc9-4179-9d67-82e5c93fc206'