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 and Network Performance 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.
The following APIs are invoked to obtain 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'