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
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. |
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 |
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\" ] }" |