3 Common Services REST Specifications
This section provides information about the REST specifications for Common Services used in Oracle Communications Cloud Native Core Binding Support Function (BSF). You can use the following APIs to update configurations related to the Overload Control feature.
3.1 Egress Gateway for SCP Health
Peer Configuration
Table 3-1 Peer Configuration supported REST APIs details:
Description | HTTP Method or Custom Operation | Resource URI | Content Type | Possible Result Codes |
---|---|---|---|---|
Get Peer Configuration | GET | /{nfType}/nf-common-component/v1/{serviceName}/peerconfiguration | application/json |
200: OK 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 405: Method Not Allowed 406: Not Acceptable 408: Request Timeout 409: Conflict 412: Precondition Failed 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout |
Update Peer Configuration | PUT | /{nfType}/nf-common-component/v1/{serviceName}/peerconfiguration | application/json |
200: OK Specifies that the update is successful and provides the values in database. 201: Created 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 405: Method Not Allowed 406: Not Acceptable 408: Request Timeout 409: Conflict 412: Precondition Failed 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout |
Partially Update Peer Configuration | PATCH | /{nfType}/nf-common-component/v1/{serviceName}/peerconfiguration | application/json |
200: OK 204: No Content 304: Not Modified 400: Bad Request 422: Unprocessable Entity |
Get All Peer Configuration | GET | /{nfType}/nf-common-component/v1/{serviceName}/{instanceId}/peerconfiguration | application/json |
200: OK 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 405: Method Not Allowed 406: Not Acceptable 408: Request Timeout 409: Conflict 412: Precondition Failed 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout |
Update All Peer Configurations | PUT | /{nfType}/nf-common-component/v1/{serviceName}/{instanceId}/peerconfiguration | application/json |
200: OK Specifies that the update is successful and provides the values in database. 201: Created 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 405: Method Not Allowed 406: Not Acceptable 408: Request Timeout 409: Conflict 412: Precondition Failed 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout |
Partially Update Peer Configurations in the list | PATCH | /{nfType}/nf-common-component/v1/{serviceName}/{instanceId}/peerconfiguration | application/json |
200: OK 204: No Content 304: Not Modified 400: Bad Request 422: Unprocessable Entity |
Table 3-2 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/ Optional(O)/ Conditional(C) | Description |
---|---|---|---|
id | string | O | Peer identifier
Note: Unique value in peerconfiguration |
host | string | O | Host details of a peer.It can be IPv4, IPv6 and FQDN details. |
virtualHost | string | O | Host details of a remote peer. For SLF feature, the virtualHost is SCP peer details. It must be a valid FQDN.This FQDN is sent to Alternate Route Service for DNS SRV resolution. |
port | string | O | Port details of a peer. |
apiPrefix | string | O | API prefix details of a peer.
Note: Keep the value as '/' only |
healthApiPath | string | O |
Path of health API. This attribute is added to maintain the health status of the API. This attribute is added as part of monitoring the availability of SCP health status. |
[
{
"id":"peer1",
"host":"10.75.225.67",
"port":"31235",
"apiPrefix":"/",
"healthApiPath":"/health/v1"
},
{
"id":"peer2",
"host":"10.75.214.18",
"port":"31236",
"apiPrefix":"/",
"healthApiPath":"/health/v2"
}
]
Peer Monitor Configuration
Table 3-3 Peer Monitor Configuration supported REST APIs details:
Description | HTTP Method or Custom Operation | Resource URI | Content Type | Possible Result Codes |
---|---|---|---|---|
Get Peer Monitor Configuration | GET | /{nfType}/nf-common-component/v1/{serviceName}/peermonitoringconfiguration | application/json |
200: OK 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 405: Method Not Allowed 406: Not Acceptable 408: Request Timeout 409: Conflict 412: Precondition Failed 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout |
Add or Update Peer Monitor Configuration | PUT, PATCH | /{nfType}/nf-common-component/v1/{serviceName}/peermonitoringconfiguration | application/json |
200: OK Specifies that the update is successful and provides the values in database. 201: Created 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 405: Method Not Allowed 406: Not Acceptable 408: Request Timeout 409: Conflict 412: Precondition Failed 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout |
Get Peer Monitor Configuration(array) | GET | /{nfType}/nf-common-component/v1/{serviceName}/{instanceId}/peermonitoringconfiguration | application/json |
200: OK 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 405: Method Not Allowed 406: Not Acceptable 408: Request Timeout 409: Conflict 412: Precondition Failed 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout |
Add or update Peer Monitor Configuration(array) | PUT, PATCH | /{nfType}/nf-common-component/v1/{serviceName}/{instanceId}/peermonitoringconfiguration | application/json |
200: OK Specifies that the update is successful and provides the values in database. 201: Created 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 405: Method Not Allowed 406: Not Acceptable 408: Request Timeout 409: Conflict 412: Precondition Failed 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout |
Table 3-4 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/ Optional(O)/ Conditional(C) | Description |
---|---|---|---|
enabled | Boolean | O | Attribute to enable or disable monitoring at a global level. |
timeout | Long | O | Flag to configure the duration after which calls to the SCP health API is timed out. |
frequency | Long | O | Indicates the frequency or interval at which Egress Gateway microservice initiates health check calls toward SCP. |
failureThreshold | Integer | O | Indicates the number of consecutive failure responses after which a healthy SCP can be marked as unhealthy. |
successThreshold | Integer | O |
Indicates the number of successful responses after which an unhealthy SCP can be marked as healthy. Health API call to given SCP shall succeed consecutively to these many attempts before it is marked as Available from UNAVAILABLE. |
{
"enabled":true,
"timeout":1000,
"frequency":2000,
"failureThreshold":3,
"successThreshold":3
}
Peer Set Configuration
Table 3-5 Peerset Configuration supported REST APIs details:
Description | HTTP Method or Custom Operation | Resource URI | Content Type | Possible Result Codes |
---|---|---|---|---|
Get Peerset Configuration | GET | {apiRoot}/egw/healthStatus/peerSet/{peerSetId} | application/json |
200: OK 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 405: Method Not Allowed 406: Not Acceptable 408: Request Timeout 409: Conflict 412: Precondition Failed 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout |
List of Peerset Configuration(array) | GET | {apiRoot}/egw/healthStatus/peerSet | application/json |
200: OK 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 405: Method Not Allowed 406: Not Acceptable 408: Request Timeout 409: Conflict 412: Precondition Failed 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout |
Get the list of peer sets where in each peer set consists of ID and list of http or https instances. | GET | /{nfType}/nf-common-component/v1/{serviceName}/peersetconfiguration | application/json |
200: OK 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 405: Method Not Allowed 406: Not Acceptable 408: Request Timeout 409: Conflict 412: Precondition Failed 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout |
Add or update the list of peer sets where in each peer set consists of ID and list of http or https instances. | PUT, PATCH | /{nfType}/nf-common-component/v1/{serviceName}/peersetconfiguration | application/json |
200: OK Specifies that the update is successful and provides the values in database. 201: Created 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 405: Method Not Allowed 406: Not Acceptable 408: Request Timeout 409: Conflict 412: Precondition Failed 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout |
Table 3-6 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/ Optional(O)/ Conditional(C) | Description |
---|---|---|---|
id | string | O | Identifier for Peer Set. |
httpConfiguration | array(PeerIdentiferConfiguration) | O | Configuration for HTTP based Peers. This value will be selected, if 3GPPAPIRootScheme value is http. |
httpsConfiguration | array(PeerIdentifierConfiguration) | O | Configuration for HTTPs based Peers. This value will be selected, if 3GPPAPIRootScheme value is https. |
Table 3-7 PeerIdentifierConfiguration
Field Name | Data Type | Mandatory(M)/ Optional(O)/ Conditional(C) | Description |
---|---|---|---|
priority | integer | O | Priority of peer to be used in a peer set. |
peerIdentifier | string | O | Peer identifier is the value of peer configured during PeerConfiguration. |
peerSetConfiguration[
{
"id":"set0",
"httpConfiguration":[
{
"priority": 1,
"peerIdentifier": "peer1"
}],
"httpsConfiguration":[
{
"priority": 1,
"peerIdentifier": "peer1"
}]
3.2 OC Policy Mapping
This URI can be used to update service names and corresponding policy name for the service which is mapped to "ocDiscardPolicies" based on "policyName" and also to enable/disable the Overload Control feature and the sampling period in overload control. By default, the Overload Control feature is disabled and the sampling period is the 60s. To enable the feature, REST API needs to be invoked and update the enabled flag to true.
Table 3-8 Supported REST APIs
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
Get OC Policy Mapping | GET | BSF/nf-common-component/v1/{serviceName}/ocpolicymapping |
Update OC Policy Mapping | PUT | BSF/nf-common-component/v1/{serviceName}/{instanceId}/ocpolicymapping |
Partially OC Policy Mapping | PATCH | BSF/nf-common-component/v1/{serviceName}/{instanceId}/ocpolicymapping |
Get, Update, and Patch OCPolicyMapping
Table 3-9 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C)aints | Description |
---|---|---|---|
enabled |
boolean |
M | To enable or disable Overload Control
feature. Set values to:
|
mappings.svcName | string | M | The SVC entry to determine a mapping between service and discard policy name per service. |
mappings.policyName | string | M | The discard policy entry to determine a mapping between service and discard policy name per service. |
samplingPeriod | integer | M | Time frame for each cycle of Overload Control per service. Its value is in milliseconds. |
Sample Request/Response body structure for GET, PUT, and PATCH operations:
{
"enabled": true,
"mappings": [
{
"svcName": "sm.bsf.com",
"policyName": "OCDP1"
},
{
"svcName": "cm.bsf.com",
"policyName": "OCDP2"
},
{
"svcName": "localhost",
"policyName": "OCDP3"
}],
"samplingPeriod": 200
}
3.3 Error Code Profiles
This URI can be used to update the errorCodeProfiles that are used in Overload Control feature for populating details in error responses when a request is discarded.
By default, the errorCodeProfiles remains null.
Table 3-10 Supported REST APIs
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
Get error code profiles | GET | BSF/nf-common-component/v1/{serviceName}/errorcodeprofiles |
Update error code profiles | PUT | BSF/nf-common-component/v1/{serviceName}/{instanceId}/errorcodeprofiles |
Partially update the error code profiles | PATCH | BSF/nf-common-component/v1/{serviceName}/{instanceId}/errorcodeprofiles |
Get, Update, and Patch errorCodeProfile
Table 3-11 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C)aints | Description |
---|---|---|---|
name |
string |
M | Error name. |
errorCode | integer | M | errorCode field in an errorScenario determines the HttpStatusCode that needs to be populated in ProblemDetails (HttpStatus field) response from IGW when the exception occurred at IGW matches the configured errorScenario's exceptionType field. |
errorCause | string | O |
errorCause field in an errorScenario determines the error cause that needs to be populated in ProblemDetails (Cause field) response from IGW when the exception occurred at IGW matches the configured errorScenario's exceptionType parameter. |
errorTitle | string | O |
errorTitle field in an errorScenario determines the title that needs to be populated in ProblemDetails (Title field) response from IGW when the exception occurred at IGW matches the configured errorScenario's exceptionType parameter. |
redirectURL | string | O |
redirectUrl field in an errorScenario determines the redirection URL, this value is populated in LOCATION header while sending response from IGW. The header is populated only when the exception occurred at IGW matches the configured errorScenario's exceptionType parameter, the errorCode configured for the particular errorScenario lies in 3xx error series and the redirectUrl field for the particular errorScenario is configured appropriately. |
retry-after | string | O |
retryAfter field in an errorScenario determines the value in seconds/ particular date after which the service should be retried, this value is populated in Retry-After header while sending response from IGW. The header is populated only when the exception occurred at IGW matches the configured errorScenario's exceptionType parameter, the errorCode configured for the particular errorScenario lies in 3xx error series and the retryAfter field for the particular errorScenario is configured appropriately in seconds. |
errorDescription | string | O | errorDescription field in an errorScenario determines the description that needs to be populated in ProblemDetails (Detail field) response from IGW when the exception occurred at IGW matches the configured errorScenario's exceptionType field. |
Sample Request/Response body structure for GET, PUT, and PATCH operations:
[
{
"name": "error300",
"errorCode": 300,
"errorCause": "",
"errorTitle": "",
"redirectURL": "",
"retry-after": "",
"errorDescription": ""
},
{
"name": "error500",
"errorCode": 500,
"errorCause": "",
"errorTitle": "",
"redirectURL": "",
"retry-after": "",
"errorDescription": ""
},
{
"name": "error429",
"errorCode": 429,
"errorCause": "",
"errorTitle": "",
"redirectURL": "",
"retry-after": "",
"errorDescription": ""
}
]
3.4 OC Discard Policies
This URI can be used to update discard policies that will be used in overload control to select the appropriate policy from the configured list based on the load level of a particular service. By default, ocDicardPolicies will be null.
Table 3-12 Supported REST APIs
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
Get Discard Policies | GET | BSF/nf-common-component/v1/{serviceName}/ocdiscardpolicies |
Update Discard Policy | PUT | BSF/nf-common-component/v1/{serviceName}/{instanceId}/ocdiscardpolicies |
Partially update the Discard Policy | PATCH | BSF/nf-common-component/v1/{serviceName}/{instanceId}/ocdiscardpolicies |
Get, Update, and Patch OCDiscardData
Table 3-13 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C)aints | Description |
---|---|---|---|
name |
string |
M | Name of the discarded policy. |
scheme | string
The value can
be:
|
M | Discarded policy scheme. |
policies.value | integer | M | Value of priority above which requests are considered as potential candidates for drop. Percentage of requests to drop in the current sampling period over the calculated rate in the previous sampling period. |
policies.action | string
The vaue can be: RejectWithErrorCode |
O | Defines the action to be taken on selected requests rejection based on error code. |
policies.level | string | O | Defines the overload level. |
policies.errorCodeProfile | string | O | The error code profiles. |
Sample Request/Response body structure for GET, PUT, and PATCH operations:
[
{
"name": "OCDP2",
"scheme": "PercentageBased",
"policies": [
{
"value": 20,
"action": "RejectWithErrorCode",
"level": "L1",
"errorCodeProfile": "error411"
},
{
"value": 40,
"action": "RejectWithErrorCode",
"level": "L2",
"errorCodeProfile": "error412"
},
{
"value": 60,
"action": "RejectWithErrorCode",
"level": "L3",
"errorCodeProfile": "error413"
},
{
"value": 80,
"action": "RejectWithErrorCode",
"level": "L4",
"errorCodeProfile": "error414"
},
{
"value": 95,
"action": "RejectWithErrorCode",
"level": "L5",
"errorCodeProfile": "error415"
}]
},
{
"name": "OCDP1",
"scheme": "PriorityBased",
"policies": [
{
"value": 30,
"action": "RejectWithErrorCode",
"level": "Minor",
"errorCodeProfile": "error300"
},
{
"value": 20,
"action": "RejectWithErrorCode",
"level": "Critical",
"errorCodeProfile": "error500"
}]
}
]
3.5 Overload Level Threshold
This URI can be used to configure the Overload Threshold Level. The data is saved in a line with service_name perf-info and used by the overload manager.
Table 3-14 Supported REST APIs
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
Get Overload Threshold Value of the required SVC (Backend service). | GET | /BSF/nf-common-component/v1/perf-info/overloadLevelThreshold |
Update the Overload Threshold Value of the required SVC (Backend service). | PUT | /BSF/nf-common-component/v1/perf-info/overloadLevelThreshold |
Update overloadLevelThreshold
Table 3-15 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C)aints | Description |
---|---|---|---|
svcName |
string |
M | Name of the backend service (svcName). |
metricsThresholdList | array | M | List of criteria used to calculate the load level. |
metricsThresholdList.metricsName | string | M | Name of criteria |
metricsThresholdList.levelThresholdList | array | M | List of threshold values |
metricsThresholdList.levelThresholdList.level | string | M | Specifies the name of the level. The
name specified in this parameter must match the level name in
Ingress Gateway's ocdiscardpolicies .
|
metricsThresholdList.levelThresholdList.abatementValue | integer | M | If the metric level goes below this
value, load level goes to a lower value.
Note: The abatement value must always be greater than zero. Also, it must be greater than onset value. |
metricsThresholdList.levelThresholdList.onsetValue | integer | M | If the metric level goes above this value, load level is set. |
Sample Request/Response body structure for GET/PUT operation:
[
{
"svcName": "bsf.management",
"metricsThresholdList": [
{
"metricsName": "svc_pending_count",
"levelThresholdList": [
{
"level": "L1",
"onsetValue": 50,
"abatementValue": 40
},
{
"level": "L2",
"onsetValue": 200,
"abatementValue": 180
},
{
"level": "L3",
"onsetValue": 400,
"abatementValue": 360
},
{
"level": "L4",
"onsetValue": 600,
"abatementValue": 540
},
{
"level": "L5",
"onsetValue": 800,
"abatementValue": 720
}
]
}
]
}
]
3.5.1 Overload Level Threshold Profiles
This URI can be used to configure the Overload Threshold Level Profiles. The data is saved in a line with service_name perf-info and used by the overload manager.
Table 3-16 Supported REST APIs
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
Get the Overload Threshold Profile of the required SVC (Backend service). |
GET |
/oc-bsf-configuration/v1/overloadlevelThreshold/activeProfile For details on Request/Response parameters for GET activeProfile, see Table 3-17 |
Activate the Overload Threshold Profile |
PUT |
/oc-bsf-configuration/v1/overloadlevelThreshold/activeProfile For details on Request/Response parameters for PUT activeProfile, see Table 3-17 |
Get all the overload threshold profiles names which includes default and custom profiles |
GET |
/oc-bsf-configuration/v1/overloadlevelThreshold/profiles For details on Request/Response parameters for GET profiles, see Table 3-18 |
Get Overload Threshold Value for particular profile. |
GET |
/oc-bsf-configuration/v1/overloadlevelThreshold/profiles/{name} For details on Request/Response parameters for GET profiles/{name}, see Table 3-19 |
Adds a new Overload Threshold Profile |
POST |
/oc-bsf-configuration/v1/overloadlevelThreshold/profiles/{name} For details on Request/Response parameters for POST profiles/{name}, see Table 3-19 |
Update the profile. |
PUT |
/oc-bsf-configuration/v1/overloadlevelThreshold/profiles/{name} For details on Request/Response parameters for PUT profiles/{name}, see Table 3-19 |
Delete the Overload Threshold Profile of the required SVC (Backend service). |
DELETE | /oc-bsf-configuration/v1/overloadlevelThreshold/profiles/{name} |
Migrate the data from standalone to profile i.e if any overloadlevelThreshold data is already configured then it will migrate that data to profile name - Name of the profile activate - if after migration , profile should be activated |
POST |
//oc-bsf-configuration/v1/overloadlevelThreshold/migrate For details on Request/Response parameters for POST migrate, see Table 3-20 |
Table 3-17 Request/Response Body Parameters for GET/PUT activeProfile
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
name |
string |
M | Name of the active profile. |
Sample Request/Response for GET/PUT activeProfile
{
"name":"custom"
}
Table 3-18 Request/Response Body Parameters for GET profiles
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
name |
string |
M | Name of the profile. |
isCustomProfile | string | M | To specify the type of profile: default or custom |
Sample Request/Response for GET profiles
[
{
"name":"default",
"isCustomProfile":false
},{
"name":"custom",
"isCustomProfile":true
}
]
Table 3-19 Request/Response Body Parameters for GET/PUT/POST profiles/{name}
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
name |
string |
M | Name of the profile. |
value.svcName |
string |
M | Name of the backend service (svcName). |
value.metricsThresholdList | array | M | List of criteria used to calculate the load level. |
value.metricsThresholdList.metricsName | string | M | Name of criteria |
value.metricsThresholdList.levelThresholdList | array | M | List of threshold values |
value.metricsThresholdList.levelThresholdList.level | string | M | Specifies the name of the level: L1/L2/L3. |
value.metricsThresholdList.levelThresholdList.abatementValue | integer | M | If the metric level goes below this
value, load level goes to a lower value.
Note:
|
value.metricsThresholdList.levelThresholdList.onsetValue | integer | M | If the metric level goes above this value, load level is set. |
Sample Request/Response for GET/PUT/POST profiles/{name}
{
"name": "custom",
"value": [
{
"svcName": "bsf.management",
"metricsThresholdList": [
{
"metricsName": "cpu",
"levelThresholdList": [
{
"level": "L1",
"onsetValue": 49,
"abatementValue": 46
},
{
"level": "L2",
"onsetValue": 55,
"abatementValue": 52
},
{
"level": "L3",
"onsetValue": 58,
"abatementValue": 56
}
]
}
]
}
]
}
Table 3-20 Request/Response Body Parameters for POST migrate
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
name |
string |
M | Name of the profile to migrate. |
activate | string | M |
To activate the profile. Set value to:
|
Sample Request/Response for GET profiles list
{
"name":"migrate_profile",
"activate":true/false
}
3.6 NF profile registration with NRF
These URIs can be used to update or retrieve Binding Support Function (BSF) profile to be registered with Network Repository Function (NRF).
Table 3-21 Supported REST APIs
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
Get BSF NfProfile | GET | BSF/nf-common-component/v1/nrf-client-nfmanagement/nfProfileList |
Update BSF NfProfile | PUT | BSF/nf-common-component/v1/nrf-client-nfmanagement/nfProfileList |
[
{
"nfInstanceId":"fe7d992b-0541-4c7d-ab84-c6d70b1b0666",
"nfType":"BSF",
"nfStatus":"REGISTERED",
"fqdn":"ocbsf1-2-api-gateway.bsf1-2.svc.atlantic.morrisville.us.lab.oracle.com",
"priority":1,
"capacity":1,
"load":2,
"bsfInfo":{
"ipv4AddressRanges":[
{
"start":"10.0.0.1",
"end":"10.113.255.255"
}
],
"ipv6PrefixRanges":[
{
"start":"2800:a00:cc03::/64",
"end":"2800:a00:cc04::/64"
}
]
},
"nfServices":[
{
"serviceInstanceId":"03063893-cf9e-4f7a-9827-111111111111",
"serviceName":"nbsf-management",
"versions":[
{
"apiVersionInUri":"v1",
"apiFullVersion":"1.0.0",
"expiry":"2019-08-03T18:66:08.871+0000"
}
],
"scheme":"http",
"nfServiceStatus":"REGISTERED",
"fqdn":"ocbsf1-2-api-gateway.bsf1-2.svc.atlantic.morrisville.us.lab.oracle.com",
"interPlmnFqdn":null,
"ipEndPoints":[
{
"ipv4Address":"10.233.22.149",
"transport":"TCP",
"port":80
}
],
"apiPrefix":null,
"allowedNfTypes":[
"PCF",
"AF",
"NEF"
],
"priority":1,
"capacity":1,
"load":2
}
]
}
]
BSF NRF Status
Table 3-22 BSF NRF Status supported REST APIs
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
Get BSF instance details | GET | BSF/v1/nrf-client/{nfInstanceId}/nf-status |
The sample request body structure for GET operation is as follows:
{
"nfStatus": "REGISTERED",
"currentNrfConnection": {
"apiRoot": "nf1stub.pdprodigiespolicy.svc:8080",
"connectionTime": "2022-54-22 08:54:24"
},
"registeredWithNrf": {
"apiRoot":null,
"connectionTime": "2022-54-22 08:54:24"
}
}
NRF Health Status
Table 3-23 NRF Health Status supported REST APIs
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
Get NRF instance details | GET | BSF/v1/nrf-client/nrf-health-status |
The sample request body structure for GET operation is as follows:
[{
"priority": 1,
"nrfApiRoot": "http://notify-stub-service.default:8080",
"status": "HEALTHY",
"statusChangeTime": "yyyy-MM-dd HH:mm:ss",
"errorReason": "SocketTimeoutException"
}]
3.7 Server Header at Ingress Gateway
Note:
You can configure server header at both global and route level. However, if you define server header configuration at both global and route level, the route level configuration (irrespective of being enabled or disabled) takes precendence over the global level configuration.Error Code Series List
The following table describes the URIs available to define and retrieve error code series list:
Table 3-24 Supported REST APIs for Error Code Series List
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
Get Error Code Series List | GET | {apiRoot}/BSF/nf-common-component/v1/igw/errorcodeserieslist |
Define Error Code Series List | PUT | {apiRoot}/BSF/nf-common-component/v1/igw/errorcodeserieslist |
Delete Error Code Series List | PUT
To delete the configurations, put an empty json in the
request.
|
{apiRoot}/BSF/nf-common-component/v1/igw/errorcodeserieslist |
errorcodeserieslist:
[
{
"id": "E1",
"errorCodeSeries":
[
{
"errorSet": "4xx",
"errorCodes": [400, 408]
},
{
"errorSet": "5xx",
"errorCodes": [500, 503]
}
]
},
{
"name": "E2",
"errorCodeSeries":
[
{
"errorSet": "4xx",
"errorCodes": [-1]
}
]
}
]
Table 3-25 Request and Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
id | string | M | Specifies the unique ID that is used
in the errorCodeSeriesId while configuring server
header at global or route level.
|
errorCodeSeries.errorSet | string | M | Specifies an errorSet (4XX, 5XX) in errorCodeSeries for matching server response. |
errorCodeSeries.errorCodes | array | M | Specifies the error codes in a specific error set against which the server response is validated for populating server header. |
Configuring Server header (global level)
The following table describes the URIs available to enable and configure server header at global level:
Table 3-26 Supported REST APIs
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
Get Server Header | GET | {apiRoot}/BSF/nf-common-component/v1/igw/serverheaderdetails |
Define Server Header | PUT | {apiRoot}/BSF/nf-common-component/v1/igw/serverheaderdetails |
serverheaderdetails:
{
"enabled": true,
"errorCodeSeriesId": "E1", # See "errorcodeserieslist" resource below for more details.
"configuration": {
"nfType": "BSF",
"nfInstanceId": "123456"
}
}
Table 3-27 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
enabled |
boolean |
M | When the value for this parameter is
set to true, server headers are generated at a global level.
To generate server headers at route level, set the value to false. |
errorCodeSeriesId | string | M | Specifies the error list IDs. |
configuration.nfType | string | M | Specifies the type of network
function.
Default value: BSF |
configuration.nfInstanceId | string | M | Specifies the NF Instance ID of the BSF. |
Configuring Server header (route level)
The following table describes the URIs available to enable and configure server header at route level:
Table 3-28 Supported REST APIs
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
Get Route Level Configuration | GET | {apiRoot}/BSF/nf-common-component/v1/igw/routesconfiguration |
Define Server Header at Route Level | PUT | {apiRoot}/BSF/nf-common-component/v1/igw/routesconfiguration |
[{
"id": "reverse_bsf_service",
"serverHeaderDetails": {
"enabled": true,
"errorCodeSeriesId": "E1"
}
}]
[]
Table 3-29 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
id | string | M | Specifies the route IDs for which you
need to define server header.
You can define the
server header at route level for any of the following supported
route IDs:
|
serverHeaderDetails.enabled | boolean | M | Set the value for this parameter to true if you want to define server header at the route level. |
serverHeaderDetails.errorCodeSeriesId | string | M | Specifies the error list IDs. |
[{
"id":"reverse_bsf_service"
}]
3.8 Rate Limiting at Ingress Gateway
This section describes the URIs that you can use to configure route level rate limiting in persistent configuration at Ingress Gateway.
Error Code Profiles
The following table describes the URIs available to define and retrieve error code profiles in persistent configuration:
Table 3-30 Supported REST APIs for Error Code Profiles
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
Get Error Code Profiles | GET | {apiRoot}/BSF/nf-common-component/v1/igw/errorcodeprofiles |
Define Error Code Profiles | PUT | {apiRoot}/BSF/nf-common-component/v1/igw/errorcodeprofiles |
[
{
"name": "error453",
"errorCode": 453,
"errorDescription": "",
"errorCause": "",
"errorTitle": "",
"redirectURL": "",
"retry-after": ""
},
{
"name": "error500",
"errorCode": 500,
"errorDescription": "",
"errorCause": "",
"errorTitle": "",
"redirectURL": "",
"retry-after": ""
},
{
"name": "error429",
"errorCode": 429,
"errorDescription": "",
"errorCause": "",
"errorTitle": "",
"redirectURL": "",
"retry-after": ""
}
]
Table 3-31 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
name | string | M | Specifies the unique name for the error profile. |
errorCode | string | M | errorCode field in an errorScenario determines the HttpStatusCode that needs to be populated in ProblemDetails (HttpStatus field) response from IGW when the exception occurred at IGW matches the configured errorScenario's exceptionType field. |
errorCause | string | M |
errorCause field in an errorScenario determines the error cause that needs to be populated in ProblemDetails (Cause field) response from IGW when the exception occurred at IGW matches the configured errorScenario's exceptionType parameter. |
errorTitle | string | O |
errorTitle field in an errorScenario determines the title that needs to be populated in ProblemDetails (Title field) response from IGW when the exception occurred at IGW matches the configured errorScenario's exceptionType parameter. |
redirectURL | string | O |
redirectUrl field in an errorScenario determines the redirection URL, this value is populated in LOCATION header while sending response from IGW. The header is populated only when the exception occurred at IGW matches the configured errorScenario's exceptionType parameter, the errorCode configured for the particular errorScenario lies in 3xx error series and the redirectUrl field for the particular errorScenario is configured appropriately. |
retry-after | string | O |
retryAfter field in an errorScenario determines the value in seconds/ particular date after which the service should be retried, this value is populated in Retry-After header while sending response from IGW. The header is populated only when the exception occurred at IGW matches the configured errorScenario's exceptionType parameter, the errorCode configured for the particular errorScenario lies in 3xx error series and the retryAfter field for the particular errorScenario is configured appropriately in seconds. |
errorDescription | string | O | errorDescription field in an errorScenario determines the description that needs to be populated in ProblemDetails (Detail field) response from IGW when the exception occurred at IGW matches the configured errorScenario's exceptionType field. |
Configuring Rate Limit for BSF
The following table describes the URIs available to enable and configure ratelimit:
Table 3-32 Supported REST APIs
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
Get Rate Limit | GET | {apiRoot}/BSF/nf-common-component/v1/igw/routelevelratelimiting |
Define Rate Limit | PUT | {apiRoot}/BSF/nf-common-component/v1/igw/routelevelratelimiting |
{
"enabled": true,
"samplingPeriod": 2000,
"rateLimitPolicies": [
{
"name": "R1",
"value": 5,
"action": "RejectWithErrorCode",
"scheme": "PriorityBased",
"errorCodeProfile": "error429"
}
]
}
Table 3-33 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
enabled | boolean | M | Specifies whether to enable or disable rate limiting feature. |
samplingPeriod | M | Specifies the duration for each cycle of route rate limit. The value of sampling period is defined in milliseconds. | |
rateLimitPolicies.name | string | M | Specifies the unique name of the discard policy. |
rateLimitPolicies.value | integer | M | Specifies the value of priority above which requests are considered as potential candidates for drop. |
rateLimitPolicies.action | string | M | Specifies the action such as silent drop or rejection for the selected requests. |
rateLimitPolicies.scheme | string | M | Specifies the scheme on the basis of
which requests are selected to be dropped.
The only supported value for this parameter is PriorityBased. |
rateLimitPolicies.errorCodeProfile | string | M | Specifies the error code profile. |
Configuring Rate Limit for BSF at route level
The following table describes the URIs available to enable and configure rate-limit at route level:
Table 3-34 Supported REST APIs
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
Get Rate Limit at route level Configuration | GET | {apiRoot}/BSF/nf-common-component/v1/igw/routesconfiguration |
Define Rate Limit at route level Configuration | PUT | {apiRoot}/BSF/nf-common-component/v1/igw/routesconfiguration |
[
{
"id": "reverse_bsf_service",
"rateLimiting": {
"methods": [
{
"name": "POST",
"rate": 3,
"rateLimitPolicy": "R1"
}
]
}
}
]
Table 3-35 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
id | string | M | Specifies the route IDs for which you
need to define the rate limit.
You can define the
rate limit at route level for any of the following supported
route IDs:
|
rateLimiting.methods.name | string | M | Specifies the name of the HTTP method such as GET, PUT, POST, DELETE, or PATCH. The rate limit is calculated by considering the method along with the route ID. |
rateLimiting.methods.rate | integer | M | Specifies the rate for route level rate limit. Any requests with sbi-priority header with a value greater than the configured number are discarded. |
rateLimiting.methods.rateLimitPolicy | string | M | Specifies the unique rate limit policy name. |
3.9 Pod Protection Mechanism at Ingress Gateway
This section describes the URIs that you can configure to apply congestion control on Ingress Gateway when the pod is overloaded.
Pod Protection
The following table describes the URIs available to retrieve and update pod protection configurations:
Table 3-36 Supported REST APIs for Pod Protection
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
Get Pod Protection | GET | {apiRoot}/BSF/nf-common-component/v1/igw/podprotection |
Update subset of Pod Protection | PATCH | {apiRoot}/BSF/nf-common-component/v1/igw/podprotection |
Update Pod Protection | PUT | {apiRoot}/BSF/nf-common-component/v1/igw/podprotection |
{
"podProtection": {
"enabled": false,
"monitoringInterval": 100,
"congestionControl": {
"enabled": false,
"stateChangeSampleCount": 10,
"actionSamplingPeriod": 3,
"states": [
{
"name": "Normal",
"weight": 0,
"entryAction": [
{
"action": "MaxConcurrentStreamsUpdate",
"args": {
"incrementBy": 30,
"incrementByActionSamplingPeriod": 3,
"maxConcurrentStreamsPerCon": 100
}
},
{
"action": "AcceptIncomingConnections",
"args": {
"accept": true
}
}
]
},
{
"name": "DoC",
"weight": 1,
"resourceThreshold": {
"cpu": 60,
"memory": 60,
"pendingMessage": 5000
},
"entryAction": [
{
"action": "AcceptIncomingConnections",
"args": {
"accept": false
}
},
{
"action": "MaxConcurrentStreamsUpdate",
"args": {
"incrementBy": 30,
"incrementByActionSamplingPeriod": 3,
"decrementBy": 30,
"decrementByActionSamplingPeriod": 1,
"maxConcurrentStreamsPerCon": 50
}
}
]
},
{
"name": "Congested",
"weight": 2,
"resourceThreshold": {
"cpu": 75,
"memory": 75,
"pendingMessage": 7000
},
"entryAction": [
{
"action": "AcceptIncomingConnections",
"args": {
"accept": false
}
},
{
"action": "MaxConcurrentStreamsUpdate",
"args": {
"decrementBy": 30,
"decrementByActionSamplingPeriod": 1,
"maxConcurrentStreamsPerCon": 10
}
}
]
}
]
}
}
}
Table 3-37 Request and Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
enabled | boolean | M | Specifies whether to enable or disable pod protection at Ingress Gateway. |
monitoringInterval | integer | M | Specifies the interval (in ms) in which the state of the resource is checked and then updated. |
congestionControl.enabled | boolean | M | Specifies whether to enable or disable congestion control at Ingress Gateway. |
congestionControl.stateChangeSampleCount | integer | M | Specifies the number of times the pod must remain in the same state in order to transition to a different state. For instance, if a given pod is in the normal state (weight 0) and the value for this parameter is configured as 10, then the pod must remain in DOC state for 10 consecutive counts before it can transition to the DOC state. |
congestionControl.actionSamplingPeriod | integer | M | Specifies the time at which action is performed. |
congestionControl.states | M | Specifies the pre-defined congestion
states for a pod.
The supported values for the state are as
follow
|
Table 3-38 states
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
name | string | M | Specifies the name of the state. |
weight | integer | M | Specifies the weight for a state. The
criticality of a state is directly proportional to its weight.
For example, the resource threshold for weight 0 (Normal) must be less than the resource threshold of weight 1 (DOC). Similarly, the maxConcurrentStreamsPerCon of weight 0 (Normal) must be greater than weight 1 (DOC). |
resourceThreshold | integer | O | Specifies the threshold values for CPU, memory, and pending requests at Ingress Gateway for each state. |
entryAction.action | string | M | Specifies the action associated with
each state.
The supported values for this parameter are as
follow:
|
entryAction.args | array | O | Specifies the args associated with
each action type.
For the action
For the action
MaxConcurrentStreamsUpdate , the supported
args are as follow:
|
3.10 User-Agent Header
3.10.1 Configuration for User-Agent Header Generation at Egress Gateway
This section describes the URIs that you can configure for user-agent header generation at Egress Gateway.
The configuration to enable and disable the generation of the user-agent header can be done using REST API exposed by the config-service when sending the following JSON body.
Table 3-39 Supported REST APIs for User-Agent Generation
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
PUT User-Agent Generation | PUT | http://<config-service IP>:<config-service PORT>/bsf/nf-common-component/v1/egw/useragentheader |
CURL command for PUT Operation: curl -X PUT
http://10.75.232.35:8000/bsf/nf-common-component/v1/egw/useragentheader -H
"Content-Type: application/json" -d
{
"enabled": true,
"nfType": "BSF",
"nfInstanceId": "fe7d992b-0541-4c7d-ab84-c6d70b1b0555",
"nfFqdn": "pcf.oracle.org",
"addFqdnToHeader": true,
"overwriteHeader": false
}
Table 3-40 Request Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
egress-gateway.userAgentHeaderConfigMode | String | M | This parameter is used to accept the user-agent configurations from Helm or REST. |
egress-gateway.userAgentHeader.enabled | Boolean | M | Specifies whether the feature is enabled or disabled.
By default, the value is set to false. |
egress-gateway.userAgentHeader.nfType | String | M | This parameter holds the nfType that will be used to generate the user agent header. |
egress-gateway.userAgentHeader.nfInstanceId | String | M | This parameter represents the UUID of the CNPCF deployment that will be used to generate the user agent header. |
egress-gateway.userAgentHeader.addFqdnToHeader | Boolean | M | This parameter specifies if the user agent will use the
FQDN information under the module to append it when generating the user
agent header.The default value is set to 'false' meaning that the FQDN
information will not be encoded into the user agent header during its
generation.
By default, the value is set to false. |
egress-gateway.userAgentHeader.nfFqdn | String | O | This is an optional parameter and can be present or not, if operators want to include the FQDN string configured under this section then the parameter userAgentHeader.addFqdnToHeader needs to be enabled. |
egress-gateway.userAgentHeader.overwriteHeader | Boolean | M | This parameter specifies if the the user agent header is sent or not. |
3.10.2 Configuration for User-Agent Header Validation at Ingress Gateway
This section describes the URIs that you can configure for user-agent header Validation at Ingress Gateway.
The configuration to enable and disable the validation of the user-agent header can be done using REST API exposed by the config-service when sending the following JSON body.
Table 3-41 Supported REST APIs for User-Agent Validation
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
PUT User-Agent Validation | PUT | http://<config-service IP>:<config-service PORT>/bsf/nf-common-component/v1/igw/useragentheadervalidation |
CURL command for PUT Operation: curl -X PUT
http://10.75.192.253:8000/bsf/nf-common-component/v1/igw/useragentheadervalidation
-H "Content-Type: application/json"
{
"enabled": true,
"validationType": "relaxed",
"consumerNfTypes": [
"PCF","AF","NEF"
]
}
Table 3-42 Request Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
ingress-gateway.userAgentHeaderValidationConfigMode | String | M | This flag is used to accept the user-agent configurations from Helm or REST. |
ingress-gateway. userAgentHeaderValidation.enabled | Boolean | M | Specifies the type of validation that will be taken into consideration when processing the values born on the user agent header. |
ingress-gateway.userAgentHeaderValidation.validationType | String | M | Specifies the type of validation that will be taken into consideration when processing the values on the user agent header. |
ingress-gateway.userAgentHeaderValidation.consumerNfTypes | String | M | Compares the NF Type born in the user agent header present in the incoming requests towards BSF's Ingress Gateway. |
3.11 Controlled Shutdown at Ingress and Diameter Gateway
This section describes the URIs that you can use to enable and configure Controlled Shutdown at Ingress and Diameter Gateway.
Operational State
The following table describes the URIs available to define and retrieve operational state:
Table 3-43 Supported REST APIs for Operational State
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
GET Operational State | GET | {apiRoot}/oc-bsf-configuration/v1/controlledShutdown/operationalState |
PUT Operational State | PUT | {apiRoot}/oc-bsf-configuration/v1/controlledShutdown/operationalState |
{
"operationalState": "NORMAL"
}
Table 3-44 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
Operational State | Enum
|
M | Specifies the operational state |
Operational State History
The following table describes the URIs available to retrieve operational state history:
Table 3-45 Supported REST APIs for Operational State History
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
GET Operational State History | GET | {apiRoot}/oc-bsf-configuration/v1/controlledShutdown/operationalStateHistory |
[
{
"id": "ea01053b-5a3b-4de2-850b-7210bf2a04d5",
"type": "operationalState",
"value": "{\"state\":\"NORMAL\"}",
"timeStamp": "2022-08-30T08:12:45.88519",
"status": "SUCCESS"
}
]
Table 3-46 Request/Response Body Parameters
Field Name | Data Type | Description |
---|---|---|
id | UUID | Auto-generated ID |
type | String | Type of historical data |
value | String | Operational state value |
timeStamp | Date | Logs the timestamp when the operational state event took place |
status | String |
|
Table 3-47 Request Parameters
Field Name | Data Type | Mandatory(M)/ Optional(O)/ Conditional(C) | Description |
---|---|---|---|
Offset | Integer | O | Offset is a position in the set of records. |
Limit | Integer | O | Limit as an option allows to limit the number of rows returned from a query. |
Page | Integer | O | Page shows the set of records based on the limit. If the limit is not provided the page will fetch all the records. |
Note:
If offset and Limit are not provided in the API, then the query fetches all the records from the database.Controlled Shutdown Error Mapping
The following table describes the URIs available to define and retrieve Controlled Shutdown Error Mapping:
Table 3-48 Supported REST APIs for Controlled Shutdown Error Mapping
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
PUT Controlled Shutdown Error Mapping | PUT | {apiRoot}/BSF/nf-common-component/v1/igw/controlledshutdownerrormapping |
{
"routeErrorProfileList": [
{
"errorProfileName": "ERR_100",
"routeIds": [
"reverse_nrf_notify_service",
"bsf_management_register"
]
}
]
}
Note:
Here, the routeId attribute must be the first field.
Table 3-49 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
routeErrorProfileList | Array | M | Specifies the route error profile list. |
routeErrorProfileList.routeIDs | Array | M |
Specifies the route ID. You can define the server header at route level for
any of the following supported route IDs:
|
routeErrorProfileList.errorProfileName | String | M | Specifies the error code profile. |
Message Type
The following table describes the URIs available to define and retrieve Message Type:
Table 3-50 Supported REST APIs for Message Type
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
GET Message Type | GET | {apiRoot}/oc-bsf-configuration/v1/diameter/controlledshutdown/errormappings/{messageType} |
PUT Message Type | PUT | {apiRoot}/oc-bsf-configuration/v1/diameter/controlledshutdown/errormappings/{messageType} |
{
"messageType": "CER",
"ansWithResultCode": "CUSTOM_RESULT_CODE",
"resultCode": "7899",
"useExperimentalResultCode": true,
"vendorId": "2"
}
Table 3-51 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
messageType | String | M | Rx _AAR_I and Rx_AAR_U, STR, RAR, ASR, and CER. |
ansWithResultCode | Enum
The supported
values are:
|
M | Specifies the result code, returned in the answer response. |
resultCode | Integer | M |
Specify a value for
this parameter when you choose
CUSTOM_RESULT_CODE value for the
Specifies the custom result code, which is returned in the answer response. . |
useExperimentalResultCode | Boolean | O |
Specify a value for this parameter when you choose
CUSTOM_RESULT_CODE value for the
Specifies the value of result code by user according to their requirement. Result code associates with the vendor ID, when the useExperimentalResultCode is true. |
vendorId | Integer | O |
Specify a value for this parameter when you choose
CUSTOM_RESULT_CODE value for the
|
Export/Import
The following table describes the URIs available to define and retrieve Export/Import:
Table 3-52 Supported REST APIs for Export/Import
Description | HTTP Method or Custom Operation | Resource URI |
---|---|---|
GET Export | GET | {apiRoot}/oc-bsf-configuration/v1/diameter/controlledshutdown/errormappings/export |
Put Import | PUT | {apiRoot}/oc-bsf-configuration/v1/diameter/controlledshutdown/errormappings/import |
"exportData": [
{
"messageType": "Rx_AAR_I",
"ansWithResultCode": "CUSTOM_RESULT_CODE",
"useExperimentalResultCode": false,
"resultCode": "1300"
},
{
"messageType": "Rx_AAR_U",
"ansWithResultCode": "DIAMETER_TOO_BUSY",
"useExperimentalResultCode": false
},
{
"messageType": "STR",
"ansWithResultCode": "CUSTOM_RESULT_CODE",
"useExperimentalResultCode": true,
"resultCode": "2109",
"vendorId": "1"
}
Table 3-53 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
messageType | String | M | Type of the request |
ansWithResultCode | Enum
The supported
values are:
|
M | Specifies the result code, returned in the answer response. |
resultCode | Integer | M |
Specify a value for
this parameter when you choose
CUSTOM_RESULT_CODE value for the
Specifies the custom result code, which is returned in the answer response. . |
useExperimentalResultCode | Boolean | O |
Specify a value for this parameter when you choose
CUSTOM_RESULT_CODE value for the
Specifies the value of result code by user according to their requirement. Result code associates with the vendor ID, when the useExperimentalResultCode is true. |
vendorId | Integer | O |
Specify a value for this parameter when you choose
CUSTOM_RESULT_CODE value for the
|
3.12 NF Scoring for a Site
The following table describes the URI available to define NF Scoring:
Table 3-54 NF Scoring
Description | HTTP Method or Custom Operations | Resource API |
---|---|---|
GET for NF Score | GET | /oc-bsf-configuration/v1/nfscore |
Table 3-55 Fields
Field Name | Mandatory (M)/Optional(O)/Conditional(C) | Datatype | Description |
---|---|---|---|
NF Score | M | Float | The score of a site based on NF-specific factors (metrics, alerts, and so on). |
detailedReport | M | NA | Detailed report of NFScore calculation. |
scoringFactors | M | NA | Comprises the factors that contributed to the NFScore |
criteria | C | NA |
Factors involved in NFScore calculation Criteria are present for a specific factor If it is enabled for NF-Scoring. |
maxScore | C | Integer |
Max score of that factor maxScore is present for a specific factor If it is enabled for NF-Scoring. |
calculatedScore | C | Float |
calculated score of that factor calculatedScore are present for a specific factor If it is enabled for NF-Scoring. |
additionalInfo | O | NA | additional info related to factor's score calculation. |
configuredValue | C | Integer |
An expected value configured for a factor configuredValue is present for a specific factor If it is enabled for NF-Scoring. |
actualValue | C | Float |
An actual value for a particular factor after doing factor-specific configuration. actualValue is present for a specific factor If it is enabled for NF-Scoring. |
totalSvcs | C | Integer |
Total configured services. totalSvcs is present when the factor SVC-Health is enabled |
upSvcs | C | Integer |
Total running services. upSvcs is present when the factor SVC-Health is enabled |
totalSites | C | Integer |
Total configured sites totalSites is present when the factor replicationHealth is enabled. |
availableLinks | C | Integer |
Total healthy sites availableLinks is present when the factor replicationHealth is enabled. |
critical | C | Integer |
Critical alert's contribution to alert's calculated score This attribute is present when ActiveAlerts are enabled as NF-Scoring factor |
major | C | Float |
Major alert's contribution to alert's calculated score This attribute is present when ActiveAlerts are enabled as NF-Scoring factor |
minor | C | Float |
Minor alert's contribution to alert's calculated score This attribute is present when ActiveAlerts are enabled as NF-Scoring factor |
failedFactors | C | Float |
Enabled factors that failed to contribute to NFScore This attribute is present when an application fails to calculate the score for 1 or more factors. |
detail | C | NA |
Factor's failure reason This attribute is present when there are 1 or more failed factors. |
Note: When the 'Enable' flag is true for any criteria, then its related fields will be shown.
{
"NFScore": 129,
"detailedReport": {
"scoringFactors": [
{
"criteria": "tps",
"maxScore": 100,
"calculatedScore": 75,
"additionalInfo": {
"configuredValue": 4000,
"actualValue": 3000
}
},
{
"criteria": "serviceHealth",
"maxScore": 100,
"calculatedScore": 70,
"additionalInfo": {
"totalSvcs": 10,
"upSvcs": 7
}
},
{
"criteria": "signallingConnections",
"maxScore": 100,
"calculatedScore": 50,
"additionalInfo": {
"configuredValue": 50,
"actualValue": 25
}
},
{
"criteria": "replicationHealth",
"maxScore": 100,
"calculatedScore": 50,
"additionalInfo": {
"totalSites": 3,
"availableLinks": 1
}
},
{
"criteria": "localityPreference",
"maxScore": 100, #remove
"calculatedScore": 100
},
{
"criteria": "activeAlert",
"score": -30,#rename to "calculatedScore"
"additionalInfo": {
"critical": -10,
"major": -20,
"minor": 0
}
}
]
},
"failedFactors": [
{
"criteria": "replicationHealth",
"detail": "failed to calculate replicationHealth score"
}
]
}