Configuring NF Service Groups

SCP provides NF/Service Group Configuration, where the operator provides the Primary and Secondary CHF instance information to create the routing rules based on the CHF NF topology information provided by the NRF via NF Register/Deregister/Change notifications.

Parameters for Configuring NF Service Groups

Table 3-11 Parameters for NF Service Groups

Resource Name Resource URI HTTP method or custom operation Description
servicegroups {apiRoot}/soothsayer/v1/servicegroups/{serviceName}

Ex: {apiRoot}/soothsayer/v1/servicegroups/nchf-spendinglimitcontrol

GET Returns the NF Service for a given serviceName
servicegroups {apiRoot}/soothsayer/v1/servicegroups?nfType=value

Ex: {apiRoot}/soothsayer/v1/servicegroups?nfType=CHF

GET Returns a list of NF Services for a given NF Type
servicegroups {apiRoot}/soothsayer/v1/servicegroups PUT Updates the NF Service.
servicegroups {apiRoot}/soothsayer/v1/servicegroups?nfType=value&serviceName=value

Ex: {apiRoot}/soothsayer/v1/servicegroups?nfType=CHF&serviceName=nchf-spendinglimitcontrol

PATCH Updates a single NF Service based on serviceName or Updates multiple NF Services based on NF Type
servicegroups {apiRoot}/soothsayer/v1/servicegroups/{serviceName}

Ex: {apiRoot}/soothsayer/v1/servicegroups/nchf-spendinglimitcontrol

DELETE Deletes the given NFService with serviceName.
servicegroups {apiRoot}/soothsayer/v1/servicegroups?nfType=value

Ex: {apiRoot}/soothsayer/v1/servicegroups?nfType=CHF

DELETE Deletes all the services for a given NF Type.

Resource Definition

Table 3-12 Supported Parameters

Query Parameter Request Body HTTP method or custom operation Data type P Cardinality Response Codes Description
servicename n/a GET NFServiceGroup M 1 200 OK Upon success, a response body is returned containing the NFServiceGroup for requested Service Name.
String M 1 404 NOT FOUND The response body contains the message indicating that the there were no services found for the requested Service Name.
serviceName: Optional nfType: Optional Note: Either one of above parameters are mandatory. Both cannot be left empty. NFServiceGroupModifiableFields object with any of the attributes. Note: Data Model for this request body is provided in "Data Models" section. PATCH String M 1 200 OK

Upon success, following message is returned:

Updated NF Service with serviceName: nchf-spendinglimitcontrol

String M 1 403 FORBIDDEN primaryRegionLocalities can not be empty or its size cannot be zero
String M 1 400 BAD REQUEST If both request parameters are missing then Bad Request error would be returned with following message: Please pass either serviceName or nfType
serviceName n/a DELETE String M 1 200 OK

Upon success, following message is returned: Successfully deleted the Nf Service for ServiceName:

nchf - spendinglimitcontrol
nfType n/a GET List<NFServiceGroup> M 1 200 OK Upon success, a response body is returned containing a List of NFServiceGroup's for requested nfType.
String M 1 404 BAD REQUEST Required parameter 'nfType' is not present
DELETE String M 1 200 OK

Upon success, following message is returned: Successfully deleted all Services for NFType : CHF

n/a "NFServiceGroup" object with updated fields. Note: Sample data is provided in Example column and also the "Data Model" for this Request Body could be found in the "Data Models" section. PUT NFServiceGroup M 1 200 OK Upon success, a response body is returned containing the updated NFServiceGroup object.
String M 1 403 FORBIDDEN Not allowed to modify NfType or serviceName of NFServiceGroup
String M 1 400 BAD REQUEST

If any of the mandatory parameters are missing in the Request Body, then BAD REQUEST error would be returned.

Note: Please refer to Data Model for Mandatory parameters.

String M 1 400 BAD REQUEST

If "primaryRegionLocalities" attribute in Request Body is assigned with empty list, then a BAD REQUEST error would be returned as this value cannot be empty.

Response message: Primary Region Localities for a NF Service cannot be Null or empty.

Data Models for NF Service Groups

NFServiceGroup

Table 3-13 NFServiceGroup

Field Name Type P Description(With default Values)
nfType Enum M NRF, UDM, AMF, SMF, AUSF, NEF, PCF, SMSF, NSSF, UDR, LMF, GMLC, 5GEIR, SEPP, UPF, N3IWF, AF, UDSF, BSF, CHF, NWDAF, CUSTOM_ORACLE_SCP Note: This parameter cannot be modified.
serviceName String M Only CHF Services are supported currently: nchf-convergedcharging, nchf-spendinglimitcontrol Note: This parameter cannot be modified.
primaryRegionLocalities List<String> M This parameter can be modified but, empty values cannot be assigned to this parameter.
secondaryRegionLocalities List<String> O This is an optional parameter and can also be modified.
subsequentRequestRoutePolicy SubReqRoutePolicy M This parameter can be modified.
SubReqRoutePolicy

Table 3-14 SubReqRoutePolicy

Field Name Type P Description(With default Values)
routePolicy Enum M Possible values: Forward_Proxy, Load_Balance
reroutePolicy ReroutePolicy M

ReroutePolicy

Table 3-15 ReroutePolicy

Field Name Type P Description(With default Values)
rerouteOptions Enum M Possible values: RerouteDisabled, RerouteWithinRegion, RerouteAcrossRegion
NFServiceGroupModifiableFields

Table 3-16 NFServiceGroupModifiableFields

Field Name Type P Description(With default Values)
primaryRegionLocalities List<String> O This parameter can be modified but, empty values cannot be assigned to this parameter.
secondaryRegionLocalities List<String> O
subsequentRequestRoutePolicy SubReqRoutePolicy O

Configuring Operations for NF Service Groups

User can configure routing options by using the operations GET, PUT and PATCH.

provides sample details of the operations to configure routing options.

Table 3-17 NF Service Groups Operations

Operations REST Command
GET
curl -X GET "http://10.178.246.62:31108/soothsayer/v1/servicegroups/nchf-spendinglimitcontrol"

-H "accept: application/json"
PUT
curl -X PUT "http://10.178.246.62:31108/soothsayer/v1/servicegroups"

-H "accept: application/json"

-H "Content-Type: application/json"

-d "{ \"nfType\": \"CHF\", \"serviceName\": \"nchf-spendinglimitcontrol\", \"primaryRegionLocalities\": [ \"Loc7\", \"USEast\",\"Loc6\" ], \"secondaryRegionLocalities\": [ \"Loc8\", \"Loc9\" ], \"subsequentRequestRoutePolicy\": { \"routePolicy\": \"Forward_Proxy\", \"reroutePolicy\": { \"rerouteOptions\": \"RerouteWithinRegion\" } } }"
PATCH
curl -X PATCH "http://10.178.246.62:31108/soothsayer/v1/servicegroups?serviceName=nchf-spendinglimitcontrol"

-H "accept: application/json"

-H "Content-Type: application/merge-patch+json"

-d "{ \"primaryRegionLocalities\": [ \"Loc7\" ] }"