E Use Cases for Allow Duplicate Subscriptions
This section describes the behavior of allowDuplicateSubscriptions
parameter for different use cases. For more information, about configuring
allowDuplicateSubscriptions parameter, see "NF Management Options"
section in Oracle Communications Cloud Native Core, Network Repository Function
REST API Guide.
Use Case 1: If the value of allowDuplicateSubscriptions is set as
false and same subscription request than existing ones
NRF checks for duplicate subscription by matching the current subscription request
with every subscription present in NRF except the validityTime
attribute.
Existing subscription with NRF:
Subscription-1
{
"nfStatusNotificationUri":http://notification-url.oracle.com/subscribe/notification,
"subscriptionId":"54d05ee9d3c042b0bf1499463cf53fe0",
"reqNotifEvents":["NF_REGISTERED","NF_PROFILE_CHANGED"],
"subscrCond":{"nfType" : "UDM"},
"validityTime":"2025-01-18T08:56:23.382Z"
}
New NFStatusSubscribe Request:
Subscription-2
{
"nfStatusNotificationUri":http://notification-url.oracle.com/subscribe/notification,
"reqNotifEvents":["NF_REGISTERED","NF_PROFILE_CHANGED"],
"subscrCond":{"nfType":"UDM"},
"validityTime":"2025-06-12T08:56:23.382Z"
}
As per the above example, Subscription-2 matches exactly with Subscription-1 except
with the validityTime, the subscription response contains the same
subscriptionId and validityTime of
Subscription-1.
Use Case 2: If the value of allowDuplicateSubscriptions value is set
to false and different subscription request than existing ones.
NRF checks for duplicate subscription by matching the current subscription request
with every subscription present in NRF except the validityTime
attribute.
Existing Subscription with NRF:
Subscription-1
{
"nfStatusNotificationUri":http://notification-url.oracle.com/subscribe/notification,
"subscriptionId":"54d05ee9d3c042b0bf1499463cf53fe0",
"reqNotifEvents":["NF_REGISTERED","NF_PROFILE_CHANGED"],
"subscrCond":{"nfType" : "UDM"},
"validityTime":"2025-01-18T08:56:23.382Z"
}
New NFStatusSubscribe Request:
Subscription-3
{
"nfStatusNotificationUri":http://notification-url.oracle.com/subscribe/notification-new,
"reqNotifEvents":["NF_REGISTERED","NF_PROFILE_CHANGED"],
"subscrCond":{"nfType" : "UDM"},
"validityTime":"2025-06-12T08:56:23.382Z"
}
As per the above example, Subscription-3 does not match with Subscription-1 as
nfStatusNotificationUri is different. In this case, NRF creates a new subscription.
Hence, subscription response returns the new subscriptionId.
Use Case 3:- If the value of allowDuplicateSubscriptions is set to
false and different subscription request than existing ones
NRF checks for duplicate subscription by matching the current subscription request
with every subscription present in NRF except the validityTime
attribute.
Existing Subscription with NRF:
Subscription-1
{
"nfStatusNotificationUri":http://notification-url.oracle.com/subscribe/notification,
"subscriptionId":"54d05ee9d3c042b0bf1499463cf53fe0",
"reqNotifEvents":["NF_REGISTERED","NF_PROFILE_CHANGED"],
"subscrCond":{"nfType" : "UDM"},
"validityTime":"2025-01-18T08:56:23.382Z"
}
New NFStatusSubscribe Request:
Subscription-3
{
"nfStatusNotificationUri":http://notification-url.oracle.com/subscribe/notification,
"reqNotifEvents":["NF_REGISTERED","NF_PROFILE_CHANGED"],
"subscrCond":{"nfType" : "AMF"},
"validityTime":"2025-06-12T08:56:23.382Z"
}
Subscription-3 does not match with Subscription-1 as the value of
subscrCond is different. NRF creates a new subscription. Hence,
subscription response returns the new subscriptionId.
Use Case-4:- When the value of allowDuplicateSubscriptions value is
set to true and same subscription request than existing ones
NRF does not check for duplicate subscription and creates a new subscription.
Existing Subscription with NRF:
Subscription-1
{
"nfStatusNotificationUri":http://notification-url.oracle.com/subscribe/notification,
"subscriptionId":"54d05ee9d3c042b0bf1499463cf53fe0",
"reqNotifEvents":["NF_REGISTERED","NF_PROFILE_CHANGED"],
"subscrCond":{"nfType" : "UDM"},
"validityTime":"2025-01-18T08:56:23.382Z"
}
New NFStatusSubscribe Request:-
Subscription-2
{
"nfStatusNotificationUri":http://notification-url.oracle.com/subscribe/notification,
"subscriptionId":"54d05ee9d3c042b0bf1499463cf53fe0",
"reqNotifEvents":["NF_REGISTERED","NF_PROFILE_CHANGED"],
"subscrCond":{"nfType" : "UDM"},
"validityTime":"2025-06-12T08:56:23.382Z"
}
Subscription-2 matches exactly with Subscription-1 except
validityTime, NRF creates a new subscription. Hence,
subscription response returns the new subscriptionId.