Feature Description

The SMF uses the NRF-provided Subscribe service to subscribe to NF status changes that the NF receives as a discovery response. This helps in updating the cached NF discovery responses.

The SMF honors only the notification changes in load, capacity, status at the NF level, and at the service level. It ignores all other parameter changes in the notification.

After the successful subscription for notification service, the SMF receives notifications of registration and deregistration of NF Instances, or notifications of changes of the NF profile of a given NF Instance.

The SMF supports the "NFProfile" field and "ChangeItem" field in the "NotificationData". If the notification event type is set to “NF_PROFILE_CHANGED", the SMF receives notification on either the profile level changes or a list of individual change items for the NFProfile parameters along with the nfInstanceUri.

The "ChangeItem" field includes the following parameters:

  • op - Indicates the type of change that happens to the resource.

  • path - Contains JSON pointer value which indicates the target location within the resource.

  • from - Indicates the path of the JSON element being moved or copied to the location indicated by “path” attribute”. It will be present if the "op" attribute is of value "MOVE".

  • origValue - Indicates the original value at the target location within the resource specified in the "path" attribute.

  • newValue - Indicates a new value at the target location within the resource specified in the "path" attribute.

Note

The SMF currently supports only the ADD, REPLACE, and REMOVE operations as part of the "op" parameter.

The following is an example of the notification payload sent from the NRF when an NF instance has changed its profile by updating the IP address value and the TCP port for the first NF Service’s first endpoint.

Example 1:


{
  "event": "NF_PROFILE_CHANGED",
  "nfInstanceUri": ".../nf-instances/4947a69a-f61b-4bc1-b9da-47c9c5d14b64",
  "profileChanges": [
    {
      "op": "REPLACE",
      "path": "/nfServices/0/ipEndPoints/0/ipAddress", ===> Change ipAddress to ipv4Address
      "newValue": "10.10.10.0"
    },
    {
      "op": "REPLACE",
      "path": "/nfServices/0/ipEndPoints/0/port",
      "newValue": 8080
    }
  ]
 

Example 2:


{
"event": "NF_PROFILE_CHANGED",
"nfInstanceUri": ".../nf-instances/4947a69a-f61b-4bc1-b9da-47c9c5d14b64",
"nfProfile": <Newly updated complete profile> 
}