2 BSF REST Specifications
This section provides information about REST specifications used in Oracle Communications Cloud Native Core Binding Support Function (BSF).
2.1 Congestion Control Configurations
Note:
The default Congestion Control Threshold profile cannot be updated by the User.Congestion Control Configurations
{serviceName}
values can be:
oc-diam-gateway
BSF Management
Table 2-1 Congestion Control Settings APIs
API Description | HTTP Method or Custom Operation | Resource URI | Description | Possible Result Code |
---|---|---|---|---|
Get congestion control settings. | GET | {apiRoot}/oc-bsf-configuration/v1/congestionConfigurations/{serviceName} | To get enable, stateChangeSampleCount and stateCalculationInterval |
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 congestion control settings. | PUT | {apiRoot}/oc-bsf-configuration/v1/congestionConfigurations/{serviceName} | To update enable, stateChangeSampleCount and stateCalculationInterval |
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 and Update Operations
Table 2-2 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
enable | boolean | O |
Enable or Disable the Pod Congestion Control feature. Default value: false (after upgrade) Default value: true (for fresth installation) |
stateChangeSampleCount | integer | M | After how many continuous intervals, state can be
changed. The count can range from 1 to 2147483647.
Default value: 5 |
stateCalculationInterval | integer | M | Number of interval in milliseconds, after which
the pod congestion state will be re-verified.
Default value: 200ms |
activeThresholdProfile | String | O | Active threshold profile name.
Default value: Default |
advancedSettings | AdvancedSettings | O | To add additional advanced settings keys to the settings. |
Table 2-3 AdvancedSettings
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
key | string | O | Specifies the key name. |
value | string | O | Specifies the value of the key. |
{
"activeThresholdProfile": "profileName",
"stateChangeSampleCount": 5,
"stateCalculationInterval": 200,
"enable": true,
"advancedSettings": [
{
"key": "string",
"value": "string"
}
]
}
Congestion Control Threshold Profile
Table 2-4 Congestion Control Threshold Profile APIs
API Description | HTTP Method or Custom Operation | Resource URI | Description | Possible Result Code |
---|---|---|---|---|
Update congestion control active threshold profile. | PUT | {apiRoot}/oc-bsf-configuration/v1/congestionActiveThresholdProfile/{serviceName}/{activeThresholdProfile} | To update the active threshold profile. |
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 active congestion threshold profile. | GET | {apiRoot}/oc-bsf-configuration/v1/congestionActiveThresholdProfile/{serviceName} | To get the CPU and Queue threshold of DANGER_OF_CONGESTION, CONGESTION_L1, CONGESTION_L2 and CONGESTED states for all threshold profiles |
200: OK General configuration is returned 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 429: Too Many Requests 500: Internal Server Error 503: Service Unavailable |
Update congestion control threshold profile. | PUT | {apiRoot}/oc-bsf-configuration/v1/congestionThresholdProfiles/{serviceName}/{profileName} | To update the CPU and Queue threshold of DANGER_OF_CONGESTION, CONGESTION_L1, CONGESTION_L2 and CONGESTED states of specific threshold profile. |
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 congestion control threshold profiles. | GET | {apiRoot}/oc-bsf-configuration/v1/congestionThresholdProfiles/{serviceName} | To get the CPU(%) and Queue(pending counts) of DANGER_OF_CONGESTION, CONGESTION_L1, CONGESTION_L2 and CONGESTED states for all threshold profiles. |
200: OK General configuration is returned 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 429: Too Many Requests 500: Internal Server Error 503: Service Unavailable |
Add congestion control threshold profile. | POST | {apiRoot}/oc-bsf-configuration/v1/congestionThresholdProfiles/{serviceName}/{profileName} | To add new congestion threshold profile with specified name |
200: OK 201: Imported 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 |
Delete congestion control threshold profile. | DELETE | {apiRoot}/oc-bsf-configuration/v1/congestionThresholdProfiles/{serviceName}/{profileName} | To delete new congestion threshold profile with specified name |
200: OK 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 429: Too many Requests 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout |
Get, Put, and Post Operations
Table 2-5 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
name | String | M | This value should be same as the
profileName in path variable.
|
value | CongestionThresholdState | M | Provide the congestion state. |
isCustomProfile | Boolean | M | Denotes that this profile is custom created.
Note: Currently user can create custom
profiles only. Hence this value should be set to
|
Table 2-6 CongestionThresholdState
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
state | String | M | The value can be following pod Congestion states:
Bulwark service supports only two states DANGER_OF_CONGESTION and CONGESTED. |
resourceUsageLimit | CongestionResourceUsageLimit | M | The Threshold profiles resource usage limits for CPU & Queue. |
Table 2-7 CongestionResourceUsageLimit
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
cpu | integer | M | Specifies the Queue percentage for Bulwark and Queue (pending requests) for all other BSF services across all the congestion levels. For Bulwark the range is 1 to 100 and for other services the range is between 1 to 2147483647. |
queue | integer | M | Specifies the CPU percentage across all the congestion levels. The number can be between 1 to 100. |
Sample body request for Put and Post operations for Congestion Threshold Profiles:
{
"name": "profileName",
"isCustomProfile": true,
"value": [
{
"state": "DANGER_OF_CONGESTION",
"resourceUsageLimit": {
"cpu": 40,
"queue": 32
}
},
{
"state": "CONGESTION_L1",
"resourceUsageLimit": {
"cpu": 50,
"queue": 34
}
},
{
"state": "CONGESTION_L2",
"resourceUsageLimit": {
"cpu": 60,
"queue": 36
}
},
{
"state": "CONGESTED",
"resourceUsageLimit": {
"cpu": 70,
"queue": 38
}
}
]}
Import or Export the Congestion Control Settings
Table 2-8 Imort/Export Congestion Control Settings
API Name | HTTP Method or Custom Operation | Resource URI | Description | Possible Result Code |
---|---|---|---|---|
Export Congestion Control Settings | GET | {apiRoot}/oc-bsf-configuration/v1/congestionConfigurations/export | To export congestion control settings |
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 |
Import Congestion Control Settings | POST | {apiRoot}/oc-bsf-configuration/v1/congestionConfigurations/import?action={action} | To import congestion control settings |
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 |
Table 2-9 Request/Response Body Parameters
Field Name | Data Type | Mandatory/Optional/Conditional | Description |
---|---|---|---|
topic | String | M | It should be commonconfig.congestionControlSettings |
sourceVersion | String | M | Build version |
date | String | M | Date in pattern "yyyy-MM-dd'T'HH:mm:ss'Z'" |
exportData | Congestion Control Settings Data | M |
Array for Congestion Control Settings. This array contains JSON objects for each service that supports congestion control feature. |
{
"topic": "commonconfig.congestionControlSettings",
"sourceVersion": "23.4.0-nb-20231118",
"date": "2023-12-03T10:48:08Z",
"exportData": [
{
"serviceName": "BSF Management",
"stateChangeSampleCount": 2,
"stateCalculationInterval": 5000,
"enable": true
},
{
"serviceName": "bulwark",
"activeThresholdProfile": "DEFAULT",
"stateChangeSampleCount": 2,
"stateCalculationInterval": 5000
}
]
}
Import and Export Congestion Control Threshold Profiles
Table 2-10 Import/Export Congestion Control Threshold Profiles
API Name | Request Type | Request Url | Description |
---|---|---|---|
Export Congestion Control Threshold Profiles | GET | {apiRoot}/oc-bsf-configuration/v1/congestionThresholdProfiles/export | To export congestion control threshold profiles |
Import Congestion Control Threshold Profiles | POST | {apiRoot}//oc-bsf-configuration/v1/congestionThresholdProfiles/import?action={action} | To import congestion control threshold profiles |
Table 2-11 Request/Response Body Parameters
Field Name | Data Type | Mandatory/Optional/Conditional | Description |
---|---|---|---|
topic | String | M | It should be commonconfig.congestionThresholdProfiles |
sourceVersion | String | M | Build version |
date | String | M | Date in pattern "yyyy-MM-dd'T'HH:mm:ss'Z'" |
exportData | Congestion Threshold Profiles Data | M | Array for Congestion Control Threshold Profiles. This array contains JSON objects of each service that supports congestion control feature. |
{
"topic": "commonconfig.congestionThresholdProfiles",
"sourceVersion": "24.1.0-rc.4",
"date": "2024-02-29T10:03:44Z",
"exportData": [
{
"activeThresholdProfile": "DEFAULT",
"congestionThresholdProfiles": [
{
"name": "DEFAULT",
"value": [
{
"state": "DANGER_OF_CONGESTION",
"resourceUsageLimit": {
"cpu": 55,
"queue": 60
}
},
{
"state": "CONGESTION_L1",
"resourceUsageLimit": {
"cpu": 65,
"queue": 70
}
},
{
"state": "CONGESTION_L2",
"resourceUsageLimit": {
"cpu": 75,
"queue": 80
}
},
{
"state": "CONGESTED",
"resourceUsageLimit": {
"cpu": 85,
"queue": 90
}
}
],
"isCustomProfile": false
}
],
"serviceName": "BSF Management"
},
{
"activeThresholdProfile": "DEFAULT",
"congestionThresholdProfiles": [
{
"name": "DEFAULT",
"value": [
{
"state": "DANGER_OF_CONGESTION",
"resourceUsageLimit": {
"cpu": 80,
"queue": 75
}
},
{
"state": "CONGESTED",
"resourceUsageLimit": {
"cpu": 90,
"queue": 85
}
}
],
"isCustomProfile": false
}
],
"serviceName": "bulwark"
}
]
}
2.2 Congestion Control Load Shedding Profiles
Congestion Control Load Shedding Rules APIs
Table 2-12 Congestion Control Load Shedding Rules APIs
API Description | HTTP Method or Custom Operation | Resource URI | Description | Possible Result Code |
---|---|---|---|---|
Get congestion load shedding profiles. | GET | {apiRoot}/oc-bsf-configuration/v1/congestionLoadSheddingProfile/{serviceName} | To get the name, type and active load shedding rule. |
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 congestion load shedding profile. | PUT | {apiRoot}/oc-bsf-configuration/v1/congestionLoadSheddingProfile/{serviceName} | To update name and loadSheddingRuleName |
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 congestion control load shedding rules. | GET | {apiRoot}/oc-bsf-configuration/v1/congestionLoadSheddingRule/{serviceName} | To get the discard priority of DANGER_OF_CONGESTION, CONGESTION_L1, CONGESTION_L2 and CONGESTED states for all load shedding rules. |
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 congestion control load shedding rule. | PUT | {apiRoot}/oc-bsf-configuration/v1/congestionLoadSheddingRule/{serviceName}/{ruleName} | To update the discard priority of DANGER_OF_CONGESTION, CONGESTION_L1, CONGESTION_L2 and CONGESTED states of specific threshold rule. |
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 congestion control load shedding rule. | POST | {apiRoot}/oc-bsf-configuration/v1/congestionLoadSheddingRule/{serviceName}/{ruleName} | To add new congestion load shedding rule with specified name |
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 |
Delete congestion control load shedding rule. | DELETE | {apiRoot}/oc-bsf-configuration/v1/congestionLoadSheddingRule/{serviceName}/{ruleName} | To delete congestion load shedding rule with specified name |
200: OK 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 429: Too many Requests 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout |
Table 2-13 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
name | String | M | This value should be same as the
ruleName in path variable.
|
value | CongestionLoadSheddingState | M | This value should be different congestion states. |
isCustomProfile | Boolean | M | Denotes that the rule is custom created by
user.
Note: Currently user can create
custom rules only. Hence this value should be set to
|
Table 2-14 CongestionLoadSheddingState
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
state | String | M | The value can be following pod Congestion states:
Bulwark service supports only two states DANGER_OF_CONGESTION and CONGESTED. |
discardPriority | integer | M |
The discard priority value for the requests. The
minimum value is Default Value: 5 |
discardPriorityPercentage | DiscardPriorityPercentage | O |
The discard priority range or percentage for the requests. Note: This is applicable only to
|
Table 2-15 DiscardPriorityPercentage
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
range | string | M |
The discard priority value or range for the requests. The values allowed is a number such as
Note: This is applicable only to
|
percentage | integer | M |
The percentage of requests that needs to be
discarded. The minimum value is Example: 23 Note: This is applicable only to
|
{
"name": "ruleName",
"value":
[
{
"state": "CONGESTED",
"discardPriority": 5
},
{
"state": "CONGESTION_L2",
"discardPriority": 10
},
{
"state": "CONGESTION_L1",
"discardPriority": 15
},
{
"state": "DANGER_OF_CONGESTION",
"discardPriority": 20
}
],
"isCustomProfile": true
}
Import or Export Congestion Control Load Shedding Rules
Table 2-16 Import/Export Congestion Control Load Shedding Rules
API Name | HTTP Method or Custom Operation | Resource URI | Description | Possible Result Code |
---|---|---|---|---|
Export Congestion Control Load Shedding Rules | GET | {apiRoot}//oc-bsf-configuration/v1/congestionLoadSheddingRule/export | To export congestion control load shedding rules |
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 |
Import Congestion Control Load Shedding rules | POST | {apiRoot}/oc-bsf-configuration/v1/congestionThresholdProfiles/import?action={action} | To import congestion control load shedding rules |
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 |
Table 2-17 Request/Response Body Parameters
Field Name | Data Type | Mandatory/Optional/Conditional | Description |
---|---|---|---|
topic | String | M | commonconfig.congestionLoadSheddingRules |
sourceVersion | String | M | Build version |
date | String | M | Date in pattern "yyyy-MM-dd'T'HH:mm:ss'Z'" |
exportData | Congestion Load Shedding Data | M |
Array for Congestion Control Settings. This array contains JSON objects for each service that supports congestion control feature. |
{
"topic": "commonconfig.congestionLoadSheddingRules",
"sourceVersion": "23.4.0-nb-20231118",
"date": "2023-12-03T11:14:26Z",
"exportData": [
{
"congestionLoadSheddingProfiles": [
{
"name": "loadSheddingProfile",
"loadSheddingRuleName": "rule1",
"type": "congestion"
}
],
"congestionLoadSheddingRules": [
{
"name": "DEFAULT",
"value": [
{
"state": "CONGESTED",
"discardPriority": 5
},
{
"state": "CONGESTION_L2",
"discardPriority": 10
},
{
"state": "CONGESTION_L1",
"discardPriority": 15
},
{
"state": "DANGER_OF_CONGESTION",
"discardPriority": 20
}
],
"isCustomProfile": false
},
{
"name": "rule1",
"value": [
{
"state": "CONGESTED",
"discardPriority": 5
},
{
"state": "CONGESTION_L2",
"discardPriority": 10
},
{
"state": "CONGESTION_L1",
"discardPriority": 15
},
{
"state": "DANGER_OF_CONGESTION",
"discardPriority": 20
}
],
"isCustomProfile": true
}
],
"serviceName": "BSF Management"
},
{
"congestionLoadSheddingProfiles": [
{
"name": "loadSheddingProfile",
"loadSheddingRuleName": "DEFAULT",
"type": "congestion"
}
],
"congestionLoadSheddingRules": [
{
"name": "DEFAULT",
"value": [
{
"state": "DANGER_OF_CONGESTION",
"discardPriority": 20
},
{
"state": "CONGESTED",
"discardPriority": 10
}
],
"isCustomProfile": false
}
],
"serviceName": "bulwark"
}
]
}
2.3 Diameter Gateway Congestion Migration
Diameter Gateway Congestion Control Data Migration
Table 2-18 Diameter Gateway Congestion Migration APIs
API Description | HTTP Method or Custom Operation | Resource URI | Description | Possible Result Code |
---|---|---|---|---|
Get Diameter-Gateway Congestion Migration Details | GET | {apiRoot}/oc-bsf-configuration/v1/congestioncontrol/diameter-gateway/migration | To get the status of data migration details when the systems is upgraded from the older version to current version. |
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 |
Migrate congestion control previous version configuration data to current version | POST | {apiRoot}/oc-bsf-configuration/v1/congestioncontrol/diameter-gateway/migration | Migrate congestion control previous version configuration data to current version by taking some required inputs from the user and this migration is the one-time activity after version upgrade from old version to current version. |
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 |
Table 2-19 Request/Response Congestion Migration Data
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
enable | boolean | M | This enables the congestion control feature after successful migration. |
thresholdsProfileData | ThresholdsProfileData | M | This new thresholds profile will be created with this profile data. |
loadSheddingProfileData | LoadSheddingProfileData | M | This load shedding profile will configure as default profile for congestion load shedding rules. |
messagePriorityProfileData | MessagePriorityProfileData | M | This message priority profile will configure as default profile for message priority profile, and this will be the common profile for both overload and congestion control feature. |
Table 2-20 Request/Response ThresholdsProfileData
Field Name | Field Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
profileName | string | M | A new thresholds profile will be created with this profile name to migrate the old version thresholds data. |
queueData | CongestionStateData | M | This queue data will be applied for different congestion states to migrate the old version threshold data. |
cpuData | CongestionStateData | M | This CPU data will be applied for congestion states to migrate the old version thresholds data. |
Table 2-21 Request/Response LoadSheddingProfileData
Field Name | Field Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
profileName | string | M | The provided load shedding profile will become the
default profile for congestion load shedding rules.
Value: Provide previous version profile name. |
ruleDiscardPriorityData | CongestionStateData | M | This Respective Discard Priority data will be applied for congestion states to migrate the old version thresholds data. |
loadSheddingResponseCodeData | LoadSheddingResponseCodeData | M | This congestion response result code will configure as common response code for all congestion discards in advance settings configurations. |
ruleDiscardPriorityPercentageData | CongestionStatePriorityPercentageData | M | This is to decide the result code is the general result code or experimental result code, so if this value is greater than then the congestionResponseResultCode is consider as experimental result code. |
Table 2-22 Request/Response CongestionStateData
Field Name | Field Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
queueData.state | string | M | Specifiy different congestion states. The allowed
values are:
|
queueData.value | integer | M | Provide a numerical value in the range of 1-2147483647. |
cpuData.state | string | M | Specifiy different congestion states. The allowed
values are:
|
cpuData.value | integer | M | Provide a numerical value in the range of 1-100. |
ruleDiscardPriorityData.state | string | M | Specifiy different congestion states. The allowed
values are:
|
ruleDiscardPriorityData.value | integer | M | Provide a numerical value in the range of 1-31. |
Table 2-23 Request/Response CongestionStatePriorityPercentageData
Field Name | Field Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
state | string | M | |
discardPriorityPercentagesData | DiscardPriorityPercentage | M |
Table 2-24 Request/Response DiscardPriorityPercentage
Field Name | Field Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
range | string | M | |
percentage | integer | M |
Table 2-25 Request/Response LoadSheddingResponseCodeData
Field Name | Field Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
congestionResponseResultCode | integer | M | Provide a numerical value in the range of 1001-5999. |
congestionResponseVendorId | integer | O | Provide a numerical value in the range of 0-4294967295 |
Table 2-26 Request/Response MessagePriorityProfileData
Field Name | Field Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
profileName | string | M | This message priority profile will configure as
default profile for message priority profile, and this will be the
common profile for both overload and congestion control feature
Value: Provide previous version profile name. |
{
"migrated": true,
"attempts": 0,
"cause": "string"
}
{
"enable": true,
"thresholdsProfileData": {
"profileName": "string",
"queueData": [
{
"state": "string",
"value": 0
}
],
"cpuData": [
{
"state": "string",
"value": 0
}
]
},
"loadSheddingProfileData": {
"profileName": "string",
"ruleDiscardPriorityData": [
{
"state": "string",
"value": 0
}
],
"ruleDiscardPriorityPercentageData": [
{
"state": "string",
"discardPriorityPercentagesData": [
{
"range": "1 or 11-13",
"percentage": 23
}
]
}
],
"loadSheddingResponseCodeData": {
"congestionResponseResultCode": 0,
"congestionResponseVendorId": 0
}
},
"messagePriorityProfileData": {
"profileName": "string"
}
}
2.4 General Configurations
This section provides information for configuring General Configurations in BSF.
Resource Name: General Configurations
Table 2-27 Supported REST APIs - General Configurations
Resource Name | Resource URI | HTTP Method or Custom Operation | Description | Possible Result Code |
---|---|---|---|---|
General Configurations | -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/general/export | GET | Export General Configuration |
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 |
-H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/general/import -d "{}" | POST | Import General Configuration |
200: OK 201: Imported 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 |
|
-H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/general | GET | Get Individual General Configuration |
200: OK General configuration is returned 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 429: Too Many Requests 500: Internal Server Error 503: Service Unavailable |
|
-H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/general -d " {} " | PUT | Update General Configuration |
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 |
Sample cURL Command for GET operation:
curl -X 'GET' \
'http://10.148.210.26:8000/oc-bsf-configuration/v1/general' \
-H 'accept: application/json'
GET and PUT - Get and Update General Configuration
Table 2-28 Data structures supported by GET and PUT response body
Name | Data Type | Mandatory (M)/Optional (O) | Description |
---|---|---|---|
enableTracing | Boolean | M | Specifies whether to enable tracing. Possible
values are:
|
enableMetrics | Boolean | M | Specifies whether to enable system metrics.
Possible values are:
|
enableCollisionDetection | Boolean | M | Specifies whether to enable collision detection
for BSF. Possible values are:
|
bindingDiscoveryRequestTimeout | Integer | M | Specifies the request timeout value for the Authentication Request (AAR) message towards the BSF Diameter gateway. |
enableSubscriberLog | Boolean | M | - |
enableSBICorrelation | Boolean | M | - |
enhancedLogging | Array | O | Used to configure the enhanced logging for BSF. For details on the parameters under in section, see Table 2-29. |
Table 2-29 Request/Response Parameters for Enhanced Logging
Name | Data Type | Mandatory (M)/Optional (O) | Description |
---|---|---|---|
enhancedLogging.enableEnhancedLogging | Boolean | O |
Specifies whether to enable or disable enhanced logging for the BSF deployment. Default value: false |
enhancedLogging.staleSessionDeletionLogLevel | String | O |
Specifies the log level for stale session deletions. The available log levels for stale session deletions are:
The logs for BSF stale binding deletion are generated at the specified level. Note: The value of this field does not modify in any way the log level that BSF Management service has. The root log level of BSF Management service must be either the same log level defined in the selected or lower for these deletion logs to appear. For example, if the stale session deletions log level is at INFO, then BSF Management service log level must be either TRACE, DEBUG, or INFO. Default value: INFO. |
enhancedLogging.enableLogUEIdentifierInfo | Boolean | O |
Specifies whether to enable or disable UE Identifier information for the BSF deployment. Default value: false |
enhancedLogging.enableLogUeInfoInSessionDeletion | Boolean | O |
Specifies whether to enable or disable UE Identifier information in stale session deletion logging. When this field is disabled, the UE Identifier information in the logs are masked. That is, the identifier information appears like 'xxxx'. Default value: false |
Sample Request body structure for GET and PUT operations:
{
"enableMetrics": true,
"enableTracing": true,
"bindingDiscoveryRequestTimeout": 0,
"enableCollisionDetection": true,
"enableSubscriberLog": true,
"enableSBICorrelation": true,
"enhancedLogging": {
"enableEnhancedLogging": true,
"staleSessionDeletionLogLevel": "string",
"enableLogUEIdentifierInfo": true,
"enableLogUeInfoInSessionDeletion": true,
}
}
Sample Response body structure for GET and PUT operations:
{
"enableMetrics": true,
"enableTracing": true,
"bindingDiscoveryRequestTimeout": 0,
"enableCollisionDetection": true,
"enableSubscriberLog": true,
"enableSBICorrelation": true,
"enhancedLogging": {
"enableEnhancedLogging": true,
"staleSessionDeletionLogLevel": "string",
"enableLogUEIdentifierInfo": true,
"enableLogUeInfoInSessionDeletion": true,
}
}
Export and Import General Configurations
Sample cURL Command for Export Operation:
curl -X 'GET' \
'http://10.148.210.26:8000/oc-bsf-configuration/v1/general/export' \
-H 'accept: application/json'
Table 2-30 Data structures supported by Export and Import Response Body
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
date | string | - | Current timestamp |
exportData | array | - | Exported list of general configurations. For more information, see Table 2-28 |
sourceVersion | string | - | System version of the product from which data is exported |
topic | string | - | Topic of each managed object |
Sample Request Body structure for Import/Export operations:
{
"topic": "string",
"sourceVersion": "string",
"date": "string",
"exportData": {
"enableMetrics": true,
"enableTracing": true,
"bindingDiscoveryRequestTimeout": 0,
"enableCollisionDetection": true,
"enableSubscriberLog": true,
"enableSBICorrelation": true,
"enhancedLogging": {
"enableEnhancedLogging": true,
"staleSessionDeletionLogLevel": "string",
"enableLogUEIdentifierInfo": true,
"enableLogUeInfoInSessionDeletion": true,
}
}
}
2.5 SBI Error Codes
Table 2-31 Supported REST APIs - SBI Error Codes
Description | HTTP Method or Custom Operation | Resource URI | Possible Result Code |
---|---|---|---|
Get SBI Error Codes | GET | -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/sbiErrorCodes/{conditionName} |
200: OK SBI Error Codes is returned 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 429: Too Many Requests 500: Internal Server Error 503: Service Unavailable |
Update SBI Error Codes | PUT | -H "accept: application/json" -H "Content-Type: application/json" -d " {} "{apiRoot}/oc-bsf-configuration/v1/sbiErrorCodes/{conditionName} |
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 |
Export SBI Error Codess | GET | -H "accept: application/json"{apiRoot}/oc-bsf-configuration/v1/sbiErrorCodes/export |
200: OK 201: Imported 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 |
Import SBI Error Codess | POST | -H "accept: application/json"{apiRoot}/oc-bsf-configuration/v1/sbiErrorCodes/import |
200: OK 201: Imported 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 and Update SBI Error Codes
Table 2-32 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
applicationErrorCode | string | Mandatory | Specifies the application error code for a defined condition. |
conditionName | string | Mandatory | Specifies the system defined name for a given condition. |
errorDescription | string | Optional | Specifies the description for a defined condition. It is recommended to use descriptions that clearly explain the condition. |
httpStatusCode | string | Mandatory | Specifies the HTTP Status code for a defined condition. |
Sample Request body for SBI Error Codes PUT operation:
{
"applicationErrorCode": "string",
"conditionName": "string",
"errorDescription": "string",
"httpStatusCode": "string"
}
Sample Response body structure for SBI Error Codes GET and PUT operation:
{
"applicationErrorCode": "string",
"conditionName": "string",
"errorDescription": "string",
"httpStatusCode": "string"
}
Import and Export SBI Error Codes
Table 2-33 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
date | string | Current timestamp | |
errors.message | Error message | ||
errors.name | Name of the error | ||
exportData | array | Exported list of SBI Error Codes. For more information, see Get and Update SBI Error Codes. | |
key | string | Indicates the ID | |
sourceVersion | string | System version of product from which data is exported | |
topic | string | Topic of each managed object |
Sample Request Body structure for SBI Error Codes Import and Export operations:
{
"date": "string",
"errors": [
{
"message": "string",
"name": "string"
}
],
"exportData": [
{
"applicationErrorCode": "string",
"conditionName": "string",
"errorDescription": "string",
"httpStatusCode": "string"
}
],
"key": "string",
"sourceVersion": "string",
"topic": "string"
}
2.6 Management Service
This section provides information for configuring Management Service in BSF.
Resource Name: Management Service
The following table describes the APIs for Resource - Management Service:
Table 2-34 Supported REST APIs - Management Service
Tasks | Resource URI | HTTP Method or Custom Operation | Possible Result Code |
---|---|---|---|
Export Management Service | -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/services/managementservice/export | GET |
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 |
Import Management Service | -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/services/managementservice/import | POST |
200: OK 201: Imported 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 Management Service | -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/services/managementservice | GET |
200: OK Management Service is returned 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 429: Too Many Requests 500: Internal Server Error 503: Service Unavailable |
Update Management Service | -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/services/managementservice | PUT |
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 |
Sample Request to Update Management Service
The following table describes the parameters:
Table 2-35 Data structures supported by GET and PUT response body
Name | Data Type | Mandatory (M)/Optional (O) | Description |
---|---|---|---|
apiRoot | String | O | Indicates the URL for server root. |
logLevels | BSFSystemConfigurationLogLevels | O | Indicates the different log levels and log name. |
audit | BsfAuditConfiguration | O | |
bsfNfBindingsSettings | BSFNFBindingsSettings | O | |
bsfNfServerSettings | BSFNFServerSettings | O | |
activeSessionCounting | BSFActiveSessionCounting | O | |
nfCorrelationSettings | NfCorrelationSettings | O | |
advancedSettings | AdvancedSettings | M | |
enableBindingRevalidation | boolean | O |
When this field is enabled, BSF checks if the binding information for the PDU session is present in BSF. Existence of the binding association for the PDU session in BSF confirms the binding association being valid in BSF. If the binding association is missing in BSF, it is restored by creating the association in BSF. Default value: false |
rootLogLevel | string | M | Specifies the status of root log level.
Possible values are:
|
activeSessionCounting.countRecords | Boolean | O | Enables or disables the active sessions
counting. By default, the active sessions counting is
disabled. To enable the feature, set the value of this
parameter to
. |
activeSessionCounting.countRecordsInterval | Integer | O | Specifies the time interval (in minutes) for
which maximum active sessions are reported as a metric.
Default value is 15 minutes. You can set the time interval to any value between 1 to 60 minutes. |
audit.enable | Boolean | O | Indicates whether to enable or disable auditing of stale records. |
audit.frequency | Integer | M | Indicates the time when next audit for the BSF management service table will begin after delta time if auditing this table has been finished before the specified minimum audit passes interval. |
audit.ansWithResultCodeCfg | Array | O | Indicates the value that is compared with the result code received in the AAA-I answer. If both the values match, a request is sent towards the BSF Management service to initiate stale record notification. For more information, see Table 2-38. |
audit.maxTtl | Integer | M | Specifies the maximum binding age for
binding records. Once the binding age for a record exceeds
the configured value, audit service marks the record as
stale and BSF removes the record from its local database.
The recommended value is 7200. |
audit.notificationRate | Integer | M | Specifies the number of notifications that
Audit service sends to the BSF Management service in one
second.
The recommended value is 50. Default and Recommended Value: 50 Note: To configure higher number than the recommended value, contact My Oracle Support (https://support.oracle.com) |
audit.queryToPcf | Boolean | O | Indicates whether BSF management service
queries PCF to confirm the status of a PcfBinding record,
which is suspected as stale by the audit service.
Default value: false Note: When Query to PCF parameter is set to false, the value of "Minimum Audit Attempts" parameter in Service Configurations of Management Service, and "Forced Deletion - Minimum Audit Attempts" parameter in Service configurations of Audit Service should be set to 0. |
audit.ttl | Integer | M |
Specifies the binding age for binding records. Once the binding age for a record exceeds the configured value, audit service marks the record as suspected stale. The recommended value is 3600. |
audit.vendorId | string
Example: 000111 |
O | Specifies the vendor ID that BSF retrieves
from the Vendor Specific Attribute to send query requests
towards PCF. The vendor ID should be 6-digit long.
Note: PCF sends the Vendor Specific Attribute in the request body at the time of binding registration. |
bsfNfBindingsSettings.bsfBindingLevel | String | O | Indicates the binding level to be included in the 3gpp-sbi-binding header when BSF adds this header in a message to another NF. |
bsfNfBindingsSettings.bsfSendBindingHeader | Boolean | O | Indicates if BSF includes the 3gpp-sbi-binding header in SBI messages. |
bsfNfServerSettings.bsfSendServerHeader | Boolean | O | Indicates if BSF management service includes server header while sending an error response. |
bsfNfServerSettings.bsfServerHeaderErrorCodes | integer | O | Indicates the error codes for which service header is generated. The error codes can be from 100 to 999. |
logLevels:loggerName | String | O | Specifies the name of the logger. For Example, trace |
nfCorrelationSettings.sendCorrelationHeader | Boolean | O | |
nfCorrelationSettings.allowedCorrelationInfoIdType | array | M |
|
Table 2-36 BSFSystemConfigurationLogLevels
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
level | String:Enum | O | Possible values are:
|
loggername | String | O | Specifies the name of the logger. For Example, trace |
Table 2-37 BsfAuditConfiguration
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
enable | boolean | O | Possible values are: |
enter a range in sec from [20-700] | String | M | Specifies the name of the logger. For Example, trace |
enter a range in minutes from [1-10080] | integer | M | |
minAuditAttempts | integer | M | |
enter a range in minutes from [1-1440] | integer | M | |
ansWithResultCodeCfg | AnsWithResultCode | O | |
queryToPcf | boolean | O | |
enter a 6 digit Vendor ID | string | O |
Table 2-38 ansWithResultCodeCfg
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
ansWithResultCode | String:Enum | O | Specifies the result code. Possible values:
|
resultCode | Integer | O | Specifies the custom result code when ansWithResultCode is EXPERIMENTAL_RESULT_CODE. |
vendorId | Integer | O | Specifies the custom vendor ID when ansWithResultCode is EXPERIMENTAL_RESULT_CODE. |
curl -X PUT "http://10.75.206.200:8000/oc-bsf-configuration/v1/services/managementservice" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"activeSessionCounting\": { \"countRecords\": true, \"countRecordsInterval\": 15 }, \"apiRoot\": \"string\", \"audit\": { \"ansWithResultCodeCfg\": [ { \"ansWithResultCode\": \"DIAMETER_UNABLE_TO_COMPLY\", \"resultCode\": 0, \"vendorId\": 0 } ], \"enable\": true, \"frequency\": 330, \"maxTtl\": 7200, \"notificationRate\": 50, \"queryToPcf\": true, \"ttl\": 1440, \"vendorId\": \"000111\" }, \"bsfNfBindingsSettings\": { \"bsfBindingLevel\": \"NF_SET\", \"bsfSendBindingHeader\": true }, \"bsfNfServerSettings\": { \"bsfSendServerHeader\": true, \"bsfServerHeaderErrorCodes\": [ 0 ] }, \"logLevels\": [ { \"level\": \"ALWAYS\", \"loggerName\": \"string\" } ], \"rootLogLevel\": \"ALWAYS\"}"
The following is the schema for adding/updating Management Service:
{
"apiRoot": "string",
"logLevels": [
{
"level": "TRACE",
"loggerName": "string"
}
],
"audit": {
"enable": true,
"enter a range in sec from [20-700]": 50,
"enter a range in minutes from [1-10080]": 7200,
"minAuditAttempts": 5,
"enter a range in minutes from [1-1440]": 330,
"ansWithResultCodeCfg": [
{
"ansWithResultCode": "DIAMETER_UNABLE_TO_COMPLY",
"resultCode": 9999,
"vendorId": 4294967295
}
],
"queryToPcf": true,
"enter a 6 digit Vendor ID": "000111"
},
"bsfNfBindingsSettings": {
"bsfBindingLevel": "NF_SET",
"bsfSendBindingHeader": true
},
"bsfNfServerSettings": {
"bsfSendServerHeader": true,
"bsfServerHeaderErrorCodes": [
0
]
},
"activeSessionCounting": {
"countRecords": true,
"enter a range in sec from [1-60]": 15
},
"nfCorrelationSettings": {
"sendCorrelationHeader": true,
"allowedCorrelationInfoIdType": [
"imsi"
]
},
"advancedSettings": [
{
"key": "string",
"value": "string"
}
],
"enableBindingRevalidation": true,
"rootLogLevel": "TRACE"
}
Export and Import Management Service
Table 2-39 Data structures supported by Export and Import Response Body
Field Name | Data Type | Mandatory(M)/Optional(O) | Description |
---|---|---|---|
date | string | Optional | Current timestamp |
exportData | array | Mandatory | Exported list of Management Service. For more information, see Table 2-35 |
sourceVersion | string | Optional | System version of the product from which data is exported |
topic | string | Mandatory | Topic of each managed object |
Sample Request Body structure for Import operation:
{
"date": "string",
"exportData": {
"apiRoot": "string",
"audit": {
"ansWithResultCodeCfg": [
{
"ansWithResultCode": "DIAMETER_UNABLE_TO_COMPLY",
"resultCode": 0,
"vendorId": 0
}
],
"enable": true,
"frequency": 330,
"maxTtl": 7200,
"notificationRate": 50,
"queryToPcf": true,
"ttl": 1440,
"vendorId": "000111"
},
"bsfNfBindingsSettings": {
"bsfBindingLevel": "NF_SET",
"bsfSendBindingHeader": true
},
"bsfNfServerSettings": {
"bsfSendServerHeader": true,
"bsfServerHeaderErrorCodes": [
0
]
},
"nfCorrelationSettings": {
"sendCorrelationHeader": true,
"allowedCorrelationInfoIdType": [
"imsi"
]
},
"logLevels": [
{
"level": "ALWAYS",
"loggerName": "string"
}
],
"rootLogLevel": "ALWAYS"
"enableBindingRevalidation": true
},
"sourceVersion": "string",
"topic": "string"
}
2.7 Diameter Settings
This section provides information for configuring diameter gateway in BSF.
Diameter Settings
Table 2-40 Supported REST APIs - Diameter Settings
Resource Name | Resource URI | HTTP Method or Custom Operation | Description | Possible Result Code |
---|---|---|---|---|
Diameter Settings | -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/settings/export | GET | Export Diameter Settings |
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 |
Diameter Settings | -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/settings/import -d "{}" | POST | Import Diameter Settings |
200: OK 201: Imported 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 |
Diameter Settings | -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/settings | GET | Get Diameter Settings |
200: OK Diameter Settings are returned 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 429: Too Many Requests 500: Internal Server Error 503: Service Unavailable |
Diameter Settings | -H "accept: application/json" -H "Content-Type: application/json" {apiRoot} /oc-bsf-configuration/v1/diameter/settings -d " {} " | PUT | Update Diameter Settings |
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 and Update Diameter Settings
Table 2-41 Data structures supported by GET and PUT response body
Name | Data Type | Mandatory (M)/Optional (O) | Description |
---|---|---|---|
timer:connectionTimeout | Number | O | Specifies the connection timeout interval in seconds. The default is 3 seconds. |
timer:reconnectDelay | Number | O | Specifies the time frame to delay before attempting to reconnect after a connection failure in seconds. The default is 3 seconds. |
timer:responseTimeout | Number | O | Specifies the response timeout interval in seconds. The default is 5 seconds. |
timer:watchdog interval | Number | O | Specifies the watchdog interval in seconds. The default is 6 seconds. |
transport:protocol | String | O | TCP/SCTP |
Table 2-42 congestionControl
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
congestionLoadSheddingProfile | string | O | Specifies the load shedding profile name. |
congestionMessagePriorityProfile | string | O | Specifies the message priority profile name. |
Table 2-43 DiamSettingsOverloadControl
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
overloadLoadSheddingProfile | string | O | Specifies the load shedding profile name for overload control. |
overloadMessagePriorityProfile | string | O | Specifies the message priority profile name for overload control. |
Table 2-44 Enhanced Timer Configuration
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
appId | Integer | M | Specifies the application name. |
appResponseTimeoutValue | Integer | M | Specifies the application response timeout in milliseconds. |
cmdCodeResponseTimeoutValueMap | Map <Integer, Integer> | O | Specifies the command code response timeout for the AAR, RAR, STR, and ASR message types in milliseconds. |
Sample Request body structure for PUT operations:
{
"advancedSettings": [
{
"key": "string",
"value": "string"
}
],
"congestionControl": {
"congestionLoadSheddingProfile": "string",
"congestionMessagePriorityProfile": "string"
},
"messageTimers": [
{
"appId": 0,
"appResponseTimeoutValue": 0,
"cmdCodeResponseTimeoutValueMap": {
"258": 0,
"265": 0,
"274": 0,
"275": 0
}
}
],
"overloadControl": {
"overloadLoadSheddingProfile": "string",
"overloadMessagePriorityProfile": "string"
},
"timer": {
"connectionTimeout": 3,
"reconnectDelay": 3,
"responseTimeout": 5,
"watchdogInterval": 6
},
"topologyhiding": {
"AppsToHide": [
"All"
],
"EnableTopologyHiding": true
},
"transport": {
"protocol": "SCTP"
}
}
Sample Response body structure for GET and PUT operations:
{
"advancedSettings": [
{
"key": "string",
"value": "string"
}
],
"congestionControl": {
"congestionLoadSheddingProfile": "string",
"congestionMessagePriorityProfile": "string"
},
"messageTimers": [
{
"appId": 0,
"appResponseTimeoutValue": 0,
"cmdCodeResponseTimeoutValueMap": {
"258": 0,
"265": 0,
"274": 0,
"275": 0
}
}
],
"overloadControl": {
"overloadLoadSheddingProfile": "string",
"overloadMessagePriorityProfile": "string"
},
"timer": {
"connectionTimeout": 3,
"reconnectDelay": 3,
"responseTimeout": 5,
"watchdogInterval": 6
},
"topologyhiding": {
"AppsToHide": [
"All"
],
"EnableTopologyHiding": true
},
"transport": {
"protocol": "SCTP"
}
}
Export and Import Diameter Settings
Table 2-45 Data structures supported by Export and Import Response Body
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
date | string | - | Current timestamp |
exportData | array | - | Exported list of Diameter Settings. For more information, see Table 2-41 |
sourceVersion | string | - | System version of the product from which data is exported |
topic | string | - | Topic of each managed object |
Sample Request Body structure for Import/Export operations:
{
"date": "string",
"errors": [
{
"message": "string",
"name": "string"
}
],
"exportData": {
"advancedSettings": [
{
"key": "string",
"value": "string"
}
],
"congestionControl": {
"congestionLoadSheddingProfile": "string",
"congestionMessagePriorityProfile": "string"
},
"messageTimers": [
{
"appId": 0,
"appResponseTimeoutValue": 0,
"cmdCodeResponseTimeoutValueMap": {
"258": 0,
"265": 0,
"274": 0,
"275": 0
}
}
],
"overloadControl": {
"overloadLoadSheddingProfile": "string",
"overloadMessagePriorityProfile": "string"
},
"timer": {
"connectionTimeout": 3,
"reconnectDelay": 3,
"responseTimeout": 5,
"watchdogInterval": 6
},
"topologyhiding": {
"AppsToHide": [
"All"
],
"EnableTopologyHiding": true
},
"transport": {
"protocol": "SCTP"
}
},
"sourceVersion": "string",
"topic": "string"
}
2.8 Diameter Routing Table
Table 2-46 Supported REST APIs
Description | HTTP Method or Custom Operation | Resource URI | Possible Result Code |
---|---|---|---|
Export Diameter Routing Table | GET | {apiRoot}/oc-bsf-configuration/v1/diameter/routingTable/export |
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 |
Import Diameter Routing Table | POST | {apiRoot}/oc-bsf-configuration/v1/diameter/routingTable/import |
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 Diameter Routing Table | GET | {apiRoot}/oc-bsf-configuration/v1/diameter/routingTable |
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 Diameter Routing Table | PUT | {apiRoot}/oc-bsf-configuration/v1/diameter/routingTable |
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 and Update Operations
Table 2-47 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
defaultRoute | string | M | Provide the default route. |
routeTable | string | M | The route table information. |
Table 2-48 defaultRoute
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
serverID | string | O | The serverID details. |
Table 2-49 routeTable
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
appIDs | integer | M | |
hosts | string | M | |
name | string | O | |
priority | string | O | |
realms | string | O | |
type | Realm | O |
Sample Request body structure for PUT operations:
"defaultRoute": {
"serverId": "string"
},
"routeTable": [
{
"appIds": [
"All"
],
"hosts": [
"string"
],
"name": "string",
"priority": "string",
"realms": [
"string"
],
"serverIds": [
"string"
],
"type": "Host"
}
]
}
Sample Response body structure for GET and PUT operations:
{
"defaultRoute": {
"serverId": "string"
},
"routeTable": [
{
"appIds": [
"All"
],
"hosts": [
"string"
],
"name": "string",
"priority": "string",
"realms": [
"string"
],
"serverIds": [
"string"
],
"type": "Host"
}
]
}
Export/Import Diameter Routing Table
Table 2-50 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
date | string | Current timestamp | |
exportData | array | Exported list of diamteter routing table. | |
sourceVersion | string | System version of product from which data is exported | |
topic | string | Topic of each managed object |
Sample Request Body structure for Import/Export operations:
{
"date": "string",
"exportData": {
"defaultRoute": {
"serverId": "string"
},
"routeTable": [
{
"appIds": [
"All"
],
"hosts": [
"string"
],
"name": "string",
"priority": "string",
"realms": [
"string"
],
"serverIds": [
"string"
],
"type": "Host"
}
]
},
"sourceVersion": "string",
"topic": "string"
}
2.9 Load Shedding Profile
Table 2-51 Supported REST APIs - Load Shedding Profile
Description | HTTP Method or Custom Operation | Resource URI | Possible Result Code |
---|---|---|---|
Create Load Shedding Profile | POST | -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/loadsheddingprofiles |
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 Load Shedding Profile | GET | -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/loadsheddingprofiles/{loadsheddingName} |
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 Load Shedding Profile | PUT | -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/loadsheddingprofiles/{loadsheddingName} |
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 |
Export Load Shedding Profiles | GET | -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/loadsheddingprofiles/export |
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 |
Import Load Shedding Profiles | POST | -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/loadsheddingprofiles/import |
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 |
Delete Load Shedding Profile | DELETE | -H "accept: */*" {apiRoot}/oc-bsf-configuration/v1/diameter/loadsheddingprofiles/{loadsheddingName} |
200: OK 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 429: Too many Requests 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout |
Create and Update Load Shedding Profile
Table 2-52 PUT and POST Request Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
loadSheddingRules | CongestionLoadSheddingRules | Optional | Specifies the list of configured Congestion Load Shedding Rules. |
name | string | Mandatory | Specifies the unqiue name of the load shedding profile. |
overloadLoadSheddingRules | OverloadLoadSheddingRules | Optional | Specifies the list of configured Overload Load Shedding Rules. |
type | Enum
The supported
values are:
|
Optional | Specifies the type of load shedding
profile. The load shedding profile can be one of the following
types:
|
Table 2-53 CongestionLoadSheddingRules
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
ansWithResultCode | Enum
The supported
values are:
|
Optional | Specifies the result code, returned in the answer response, when request message is rejected as part of congestion control. |
discardPriority | integer | Mandatory | Specifies the discard priority for the congestion load shedding rule. The discard priority value can be a number from 0 to 15. Any request message with equal or lower priority is rejected. |
resultCode | integer | Conditional |
Note: Specify a
value for this parameter when you choose
EXPERIMENTAL_RESULT_CODE value for
the Specifies the custom result code, which is returned in the answer response when service request is rejected due to congestion control. . |
state | Enum
The supported
values are:
|
Optional | Specifies the type of state for which you are defining the rule. |
vendorId | integer | Conditional |
Note: Specify
a value for this parameter when you choose
EXPERIMENTAL_RESULT_CODE value for
the Specifies the vendor ID, which is returned in the answer response when service request is rejected due to congestion control. . |
Table 2-54 OverloadLoadSheddingRules
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
ansWithResultCode | Enum
The supported
values are:
|
Optional | Specifies the result code, returned in the answer response, when request message is rejected as part of overload control. |
discardPriority | integer | Mandatory | Specifies the discard priority for the overload shedding rule. The discard priority value can be a number from 0 to 15. Any request message with equal or lower priority is rejected. |
level | Enum
The supported values are:
|
Mandatory | Specifies the name of the level. The name specified in this parameter must match the level name in Ingress Gateway's ocdiscardpolicies. |
resultCode | integer | Conditional |
Note: Specify a
value for this parameter when you choose
EXPERIMENTAL_RESULT_CODE value for
the Specifies the custom result code, which is returned in the answer response when service request is rejected due to overload control. . |
vendorId | integer | Conditional |
Note: Specify a
value for this parameter when you choose
EXPERIMENTAL_RESULT_CODE value for
the Specifies the vendor ID, which is returned in the answer response when service request is rejected due to overload control. . |
Sample Request body for Load Shedding Profile (PUT and POST operations):
{
"loadSheddingRules": [
{
"ansWithResultCode": "DIAMETER_TOO_BUSY",
"discardPriority": 0,
"resultCode": 0,
"state": "CONGESTED",
"vendorId": 0
}
],
"name": "string",
"overloadLoadSheddingRules": [
{
"ansWithResultCode": "DIAMETER_TOO_BUSY",
"discardPriority": 0,
"level": "L1",
"resultCode": 0,
"vendorId": 0
}
],
"type": "DIAMETER_TOO_BUSY"
}
Sample Response body structure for GET, PUT, and POST operation:
{
"loadSheddingRules": [
{
"ansWithResultCode": "DIAMETER_TOO_BUSY",
"discardPriority": 0,
"resultCode": 0,
"state": "CONGESTED",
"vendorId": 0
}
],
"name": "string",
"overloadLoadSheddingRules": [
{
"ansWithResultCode": "DIAMETER_TOO_BUSY",
"discardPriority": 0,
"level": "L1",
"resultCode": 0,
"vendorId": 0
}
],
"type": "DIAMETER_TOO_BUSY"
}
Import and Export Load Shedding Profile
Table 2-55 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
date | string | M | Current timestamp |
exportData | array | M | Exported list of Load Shedding Profile. For more information, see Create and Update Load Shedding Profile. |
key | string | M | Indicates the ID |
sourceVersion | string | M | System version of product from which data is exported |
topic | string | M | Topic of each managed object |
Sample Request Body structure for Load Shedding Profile Import and Export operations:
{
"date": "string",
"errors": [
{
"message": "string",
"name": "string"
}
],
"exportData": [
{
"loadSheddingRules": [
{
"ansWithResultCode": "DIAMETER_TOO_BUSY",
"discardPriority": 0,
"resultCode": 0,
"state": "CONGESTED",
"vendorId": 0
}
],
"name": "string",
"overloadLoadSheddingRules": [
{
"ansWithResultCode": "DIAMETER_TOO_BUSY",
"discardPriority": 0,
"level": "L1",
"resultCode": 0,
"vendorId": 0
}
],
"type": "DIAMETER_TOO_BUSY"
}
],
"key": "string",
"sourceVersion": "string",
"topic": "string"
}
2.10 Congestion Threshold
Table 2-56 Supported REST APIs - Congestion Threshold
Description | HTTP Method or Custom Operation | Resource URI | Possible Result Code |
---|---|---|---|
Get Congestion Threshold | GET | -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/threshold/{serviceType} |
200: OK 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 405: Method Not Allowed 406: Not Acceptable 408: Request Timeout 409: Conflict 429: Precondition Failed 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout |
Update Congestion Threshold | PUT | -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/threshold/{serviceType} |
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 |
Export Congestion Thresholds | GET | -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/threshold/export/{serviceType} |
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 |
Import Congestion Thresholds | POST | -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/threshold/import/{serviceType} |
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 and Update Congestion Threshold
Table 2-57 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
stateCalculationInterval | integer | Mandatory |
Specifies the interval at which congestion state is calculated. |
stateChangeSampleCount | integer | Mandatory | Specifies the continuous sample counts for which calculated state remains the same. |
thresholds[] | array | An array to define threshold values for each resource for a given state, | |
thresholds[].state | string | Specifies the congestion state. | |
thresholds[].resourceUsageLimit | Specifies the resource usage limit for a defined state. | ||
thresholds[].resourceUsageLimit.cpu | integer | Specifies the threshold value for CPU message. | |
thresholds[].resourceUsageLimit.memory | integer | Specifies the threshold value for memory message. | |
thresholds[].resourceUsageLimit.queue | integer | Specifies the threshold value for number of messages in the queue. |
Sample Request body for Congestion Threshold PUT operation:
{
"stateCalculationInterval": 100,
"stateChangeSampleCount": 10,
"thresholds": [
{
"state": "CONGESTED",
"resourceUsageLimit": {
"cpu": 80,
"memory": 80,
"queue": 50
}
},
{
"state": "DANGER_OF_CONGESTION",
"resourceUsageLimit": {
"cpu": 60,
"memory": 60,
"queue": 30
}
}
]
}
Sample Response body structure for Congestion Threshold GET and PUT operation:
{
"stateCalculationInterval": 100,
"stateChangeSampleCount": 10,
"thresholds": [
{
"state": "CONGESTED",
"resourceUsageLimit": {
"cpu": 80,
"memory": 80,
"queue": 50
}
},
{
"state": "DANGER_OF_CONGESTION",
"resourceUsageLimit": {
"cpu": 60,
"memory": 60,
"queue": 30
}
}
]
}
Import and Export Congestion Threshold
Table 2-58 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
date | string | Current timestamp | |
exportData | array | Exported list of Congestion Threshold. For more information, see Get and Update Congestion Threshold. | |
key | string | Indicates the ID | |
sourceVersion | string | System version of product from which data is exported | |
topic | string | Topic of each managed object |
Sample Request Body structure for Congestion Threshold Import and Export operations:
{
"date": "string",
"errors": [
{
"message": "string",
"name": "string"
}
],
"exportData": {
"stateCalculationInterval": 100,
"stateChangeSampleCount": 10,
"thresholds": [
{
"state": "CONGESTED",
"resourceUsageLimit": {
"cpu": 80,
"memory": 80,
"queue": 50
}
},
{
"state": "DANGER_OF_CONGESTION",
"resourceUsageLimit": {
"cpu": 60,
"memory": 60,
"queue": 30
}
}
]
},
"sourceVersion": "string",
"topic": "string"
}
2.11 Peer Node
This section provides information for configuring Peer Node in BSF.
Resource Name: Peer Node
Table 2-59 Supported REST APIs - Peer Node
Resource Name | Resource URI | HTTP Method or Custom Operation | Description | Possible Result Code |
---|---|---|---|---|
Peer Node | -H "accept: application/json" -H "Content-Type: application/json" /oc-bsf-configuration/v1/diameter/peernodes | POST | Create Peer Node |
200: OK 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 |
-H "accept: application/json" /oc-bsf-configuration/v1/diameter/peernodes/export | GET | Get All (Export) Peer Nodes |
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 |
|
-H "accept: application/json" -H "Content-Type: application/json" /oc-bsf-configuration/v1/diameter/peernodes/import | POST | Import Peer Nodes |
200: OK 201: Imported 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 |
|
-H "accept: application/json" /oc-bsf-configuration/v1/diameter/peernodes/{peernodeName} | GET | Get Peer Node |
200: OK 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 429: Too Many Requests 500: Internal Server Error 503: Service Unavailable |
|
-H "accept: application/json" -H "Content-Type: application/json" /oc-bsf-configuration/v1/diameter/peernodes/{peernodeName} | PUT | Update Peer Node |
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 |
|
-H "accept: */*" /oc-bsf-configuration/v1/diameter/peernodes/{peernodeName} | DELETE | Delete Peer Node |
200: OK 204: Peer Node was succesfully deleted 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 429: Too Many Requests 500: Internal Server Error 503: Service Unavailable |
GET and PUT - Get, Create, and Update Peer Node
Table 2-60 Data structures supported by the GET and PUT Response Body
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
diamName | String | O | Unique Name of the Peer Node |
dtype | String | O | Defines which type of Diameter Service it should take up. The value can be Application function (af), backend, diameter routing agent(dra), ocs, tdf, or udr. |
host | String | O | The host name. Enter a FQDN, ipv4 or ipv6 address available for establishing diameter transport connections to the peer node. |
identity | String | O | An identity to define a node in a realm. |
initiateConnection | boolean | O | Set it to True to initiate a
connection for this peer node.
Default Value: FALSE |
port | Number | O | The port number. Enter a number from 0 to 65535. |
realm | String | O | The realm name, that is, FQDNs to all of that computers that transact diameter traffic. |
reconnectLimit | Number |
Sample Request body structure for PUT operations:
{
"diamName": "string",
"dtype": "af",
"host": "string",
"identity": "string",
"initiateConnection": true,
"port": "3868",
"realm": "string",
"reconnectLimit": "3"
}
Sample Response body structure for GET and PUT operations:
{
"diamName": "string",
"dtype": "af",
"host": "string",
"identity": "string",
"initiateConnection": true,
"port": "3868",
"realm": "string",
"reconnectLimit": "3"
}
DELETE - delete peer node
Table 2-61 Data structures supported by the DELETE Response Body
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
Peer Node Name | string | M | Peer Node Name |
Get All (Export) and Import Peer Node
Table 2-62 Data structures supported by Export and Import Response Body
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
date | string | Current timestamp | |
exportData | array | Exported list of peer nodes. | |
key | string | Indicates the ID | |
sourceVersion | string | System version of product from which data is exported | |
topic | string | Topic of each managed object |
Sample Request Body structure for Import/Export operations:
{
"date": "string",
"errors": [
{
"message": "string",
"name": "string"
}
],
"exportData": [
{
"diamName": "string",
"dtype": "af",
"host": "string",
"identity": "string",
"initiateConnection": true,
"port": "3868",
"realm": "string",
"reconnectLimit": "3"
}
],
"key": "string",
"sourceVersion": "string",
"topic": "string"
}
2.12 Message Priority Profile
Table 2-63 Supported REST APIs - Message Priority Profile
Description | HTTP Method or Custom Operation | Resource URI | Possible Result Code |
---|---|---|---|
Create Message Priority Profile | POST | -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/messagepriorityprofiles |
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 Message Priority Profile | GET | -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/messagepriorityprofiles/{messagepriorityName} |
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 Message Priority Profile | PUT | -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/messagepriorityprofiles/{messagepriorityName} |
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 |
Export Message Priority Profiles | GET | -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/messagepriorityprofiles/export |
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 |
Import Message Priority Profiles | POST | -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/messagepriorityprofiles/import |
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 |
Delete Message Priority Profile | DELETE | -H "accept: */*" {apiRoot}/oc-bsf-configuration/v1/diameter/messagepriorityprofiles/{messagepriorityName} |
200: OK 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 429: Too many Requests 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout |
Create and Update Message Priority Profile
Table 2-64 PUT and POST Request Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
name | string | Mandatory | Unique name of the message priority profile. |
priorityRules [] | array | Optional | Specifies configured message priority rules. |
priorityRules [].conditions | conditions | Optional | Specifies the conditions for message priority rule. |
priorityRules [].conditions.application | string | Mandatory | Specifies the type of application. |
priorityRules [].conditions.message | string | Mandatory | Specifies the type of message for the selected application. |
priorityRules [].conditions.preDefinedAVPConditions | array | Optional | Specifies the pre-defined AVP conditons. |
enableDRMPPriority | boolean | Optional | When this switch is enabled, the priority for the message rule is assigned from DRMP AVP. |
messagePriority | integer | Mandatory | Specifies the priority assigned to the message. It can be a number from 0 to 15. |
ruleName | string | Mandatory | Specifies the unique name of the message priority rule. |
rulePriority | integer | Mandatory | Specifies the priority assigned to the message priority rule. |
Sample Request body for PUT and POST operations:
{
"name": "string",
"priorityRules": [
{
"conditions": {
"application": "Gx",
"message": "CCR",
"preDefinedAVPConditions": [
{
"conditionCCRTValue": "UPDATE_REQUEST",
"conditionCSIDValue": [
"string"
],
"conditionMCPTTIdValue": [
"string"
],
"conditionMCVideoIdValue": [
"string"
],
"conditionMPSIdValue": [
"string"
],
"conditionName": "CC-Request-Type",
"conditionReservPriorityValue": [
"string"
],
"conditionRxRTValue": [
"INITIAL_REQUEST"
],
"conditionSNRTypeValue": [
"ABORT_SESSION_REQUEST"
],
"conditionServiceURNIDValue": [
"string"
]
}
]
},
"enableDRMPPriority": true,
"messagePriority": 8,
"ruleName": "string",
"rulePriority": 3
}
]
}
Sample Response body structure for GET, PUT, and POST operations:
{
"name": "string",
"priorityRules": [
{
"conditions": {
"application": "Gx",
"message": "CCR",
"preDefinedAVPConditions": [
{
"conditionCCRTValue": "UPDATE_REQUEST",
"conditionCSIDValue": [
"string"
],
"conditionMCPTTIdValue": [
"string"
],
"conditionMCVideoIdValue": [
"string"
],
"conditionMPSIdValue": [
"string"
],
"conditionName": "CC-Request-Type",
"conditionReservPriorityValue": [
"string"
],
"conditionRxRTValue": [
"INITIAL_REQUEST"
],
"conditionSNRTypeValue": [
"ABORT_SESSION_REQUEST"
],
"conditionServiceURNIDValue": [
"string"
]
}
]
},
"enableDRMPPriority": true,
"messagePriority": 8,
"ruleName": "string",
"rulePriority": 3
}
]
}
Import and Export Message Priority Profile
Table 2-65 Request and Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
date | string | Current timestamp | |
exportData | array | Exported list of Message Priority Profile. For more information, see Create and Update Message Priority Profile. | |
key | string | Indicates the ID | |
sourceVersion | string | System version of product from which data is exported | |
topic | string | Topic of each managed object |
Sample Request Body structure for Message Priority Profile Import operation:
{
"date": "string",
"errors": [
{
"message": "string",
"name": "string"
}
],
"exportData": [
{
"name": "string",
"priorityRules": [
{
"conditions": {
"application": "Gx",
"message": "CCR",
"preDefinedAVPConditions": [
{
"conditionCCRTValue": "UPDATE_REQUEST",
"conditionCSIDValue": [
"string"
],
"conditionMCPTTIdValue": [
"string"
],
"conditionMCVideoIdValue": [
"string"
],
"conditionMPSIdValue": [
"string"
],
"conditionName": "CC-Request-Type",
"conditionReservPriorityValue": [
"string"
],
"conditionRxRTValue": [
"INITIAL_REQUEST"
],
"conditionSNRTypeValue": [
"ABORT_SESSION_REQUEST"
],
"conditionServiceURNIDValue": [
"string"
]
}
]
},
"enableDRMPPriority": true,
"messagePriority": 8,
"ruleName": "string",
"rulePriority": 3
}
]
}
],
"key": "string",
"sourceVersion": "string",
"topic": "string"
}
2.13 Diameter Error Codes
Table 2-66 Supported REST APIs - Diameter Error Codes
Description | HTTP Method or Custom Operation | Resource URI | Possible Result Code |
---|---|---|---|
Get Diameter Error Codes | GET | -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/diameterErrorCodes/{conditionName} |
200: OK SBI Error Codes is returned 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 429: Too Many Requests 500: Internal Server Error 503: Service Unavailable |
Update Diameter Error Codes | PUT | {apiRoot}/oc-bsf-configuration/v1/diameter/diameterErrorCodes/{conditionName} |
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 |
Export Diameter Error Codes | GET | -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/diameterErrorCodes/export |
200: OK 201: Imported 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 |
Import Diameter Error Codes | POST | -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/diameterErrorCodes/import -d " {} " |
200: OK 201: Imported 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 and Update Diameter Error Codes
Table 2-67 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
conditionName | string | Mandatory | Specifies the system defined name for a given condition. |
diameterResultCode | string | Conditional | Specifies the Diameter result code for a defined condition. |
errorMessage | string | Optional | Specifies the description for a defined condition. It is recommended to use descriptions that clearly explain the condition. |
experimentalResultCode | string | Conditional | Specifies the custom Diameter result code for a defined condition. |
useExperimentalResultCode | boolean | Optional | Indicates whether to use the Result Code AVP (268) or Experimental Result AVP (297) when an error result is generated by BSF. |
vendorId | string | Conditional | Specifies the Vendor ID of the
operator or governing body that manages the code entered by the user
in the experimentalResultCode field.
|
Sample Request body for Diameter Error Codes PUT operation:
{
"conditionName": "string",
"diameterResultCode": "string",
"errorMessage": "string",
"experimentalResultCode": "string",
"useExperimentalResultCode": true,
"vendorId": "string"
}
Sample Response body structure for Diameter Error Codes GET and PUT operation:
{
"conditionName": "string",
"diameterResultCode": "string",
"errorMessage": "string",
"experimentalResultCode": "string",
"useExperimentalResultCode": true,
"vendorId": "string"
}
Import and Export Diameter Error Codes
Table 2-68 Request or Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
date | string | Optional | Current timestamp |
errors.message | string | Optional | Error message |
errors.name | string | Optional | Name of the error |
exportData | array | Mandatory | Exported list of SBI Error Codes. For more information, see Table 2-67. |
key | string | Optional | Indicates the ID |
sourceVersion | string | Optional | System version of product from which data is exported |
topic | string | Mandatory | Topic of each managed object |
Sample Request Body structure for Diameter Error Codes Import and Export operations:
{
"date": "string",
"errors": [
{
"message": "string",
"name": "string"
}
],
"exportData": [
{
"conditionName": "string",
"diameterResultCode": "string",
"errorMessage": "string",
"experimentalResultCode": "string",
"useExperimentalResultCode": true,
"vendorId": "string"
}
],
"key": "string",
"sourceVersion": "string",
"topic": "string"
}
2.14 Session Viewer
Table 2-69 Supported REST APIs - Session Viewer
Description | HTTP Method or Custom Operation | Resource URI | Possible Result Code |
---|---|---|---|
Get PCF Bindings | GET | -H "accept: application/json" {apiRoot}/oc-bsf-query/v1/pcfBindings |
200: OK. PCF bindings is returned 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 429: Too Many Requests 500: Internal Server Error 503: Service Unavailable |
Delete Binding IDs | POST | {apiRoot}/oc-bsf-query/v1/pcfBindings/cleanup |
200: OK. 201: Created 204: No content 401: Unauthorized 403: Forbidden 404: Not Found 500: Internal Server Error |
Get Active Session Counter | GET | /v1/activeSessionCount/pcfBindings |
200 : OK 401: Unauthorized 403: Forbidden 404: Not Found |
Get PCF Bindings
To fetch PCF bindings, it is required to use any one of the following query parameters:
- SUPI
- GPSI
- UE Address
Table 2-70 Query Parameters
Parameter Name | Data Type | Mandatory(M)/Optional(O) | Description |
---|---|---|---|
dnn | string | Optional | Specifies the Data Network Name. |
gpsi | string | Optional | Specifies the Generic Public Subscription
Identifier. For example -
msisdn-9192503899 .
|
ipDomain | string | Optional | Specifies the IPv4 address domain identifier |
ipv4Addr | string | Optional | Specifies the IP addresses in IPv4 format |
ipv6Prefix | string | Optional | Specifies the IPv6 Address Prefix.
Note: When you use IPv6 prefix to query a session, ensure that you provide the full notation value. Example:
|
mac | string | Optional | Specifies the MAC address, which is formatted as six groups of two hexadecimal digits separated by colons (:) or hyphens (-). For example, in the format hh:hh:hh:hh:hh:hh. |
sNssaiSd | string | Optional | Specifies the Slice Differentiator (SD) for a given S-NSSAI (Single Network Slice Selection Assistance Information). This optional information is used to differentiate slice or service type across multiple network slices. |
sNssaiSst | integer | Optional | Specifies the Slice or Service type for a given S-NSSAI (Single Network Slice Selection Assistance Information). |
supi | string | Optional | Specifies the Subscription Permanent Identifier. For
example - imsi-450081100100001 .
|
curl -X GET "http://10.75.168.25:32202/api-docs/oc-bsf-query/v1/pcfBindings?supi=imsi-450080000000001" -H "accept: application/json"
Sample Response body structure for Pcf Bindings GET operation:
In the response, PCF bindings is returned as a string.
Delete PCF Bindings
Table 2-71 Request Body Parameters
Parameter Name | Data Type | Mandatory(M)/Optional(O) | Description |
---|---|---|---|
bindingIds | string | Mandatory | Specifies the binding IDs to be deleted manually by the user. |
Sample request body structure for Pcf Bindings delete operation:
{
"bindingIds": [
"string"
]
}
curl -X POST "http://10.75.168.25:32202/api-docs/oc-bsf-query/v1/pcfBindings/cleanup" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"bindingIds\": [ \"string\" ]}"
Get Active Session Counter
Get Active Session Counter is used to get an active session counter for a service.
There are no input parameters for this API.
Table 2-72 Response paramters
Parameter Name | Data Type | Mandatory(M)/Optional (O) | Description |
---|---|---|---|
dateTime | string | NA | Time stamp of the query |
count | string | NA | Active sessions count |
errorMsg | integer | NA | Error message to include in the response in case the request fails. |
Sample success response:
{
"dateTime": "Tue, 02 Jan 2018 18:07:59",
"count": 2211
}
Sample failure response:
{
"dateTime": "Tue, 02 Jan 2018 18:07:59"
"errMsg": "Active Session Counting is not enabled"
}
curl -X GET "http://10.75.206.200:8000/oc-bsf-query/v1/activeSessionCount/pcfBindings" -H "accept: */*"
2.15 Bulk Import/Export Controller
This section provides information for configuring bulk import/export in BSF.
Resource Name: Bulk Import Export Controller
Table 2-73 Supported REST APIs - Bulk Import Export Controller
Resource Name | Resource URI | HTTP Method or Custom Operation | Description | Possible Result Code |
---|---|---|---|---|
Bulk Import Export Controller | -H "accept: */*" -H "ConttedFiles.zip;type=application/x-zip-compressed" /oc-bsf-configuration/v1/administration/import | POST | Bulk Import |
200: OK 201: Created 401: Unauthorized 403: Forbidden 404: Not Found |
-H 'accept: application/json' -H 'Content-Type: application/json' -d @sampleput.json /oc-bsf-configuration/v1/administration/import/{importResourceId}/status | GET | Import Status |
200: OK 401: Unauthorized 403: Forbidden 404: Not Found |
|
-H 'accept: application/json' -H 'Content-Type: application/json' -d @sampleput.json /oc-bsf-configuration/v1/administration/import/{importResourceId}/report | GET | Import Report |
200: OK 401: Unauthorized 403: Forbidden 404: Not Found |
|
-H "accept: */*" /oc-bsf-configuration/v1/administration/import | GET | Import Resource Ids |
200: OK 401: Unauthorized 403: Forbidden 404: Not Found |
|
-H "accept: */*" -d "" /oc-bsf-configuration/v1/administration/export | POST | Bulk Export |
200: OK 201: Created 401: Unauthorized 403: Forbidden 404: Not Found |
|
-H "accept: application/json" /oc-bsf-configuration/v1/administration/export/{exportResourceId}/status | GET | Export Status for BSF |
200: OK 401: Unauthorized 403: Forbidden 404: Not Found |
|
-H "accept: application/octet-stream" /oc-bsf-configuration/v1/administration/export/{exportResourceId}/report | GET | Export Report for BSF |
200: OK 401: Unauthorized 403: Forbidden 404: Not Found |
|
-H "accept: application/octet-stream" /oc-bsf-configuration/v1/administration/export/{exportResourceId}/download | GET | Download Exported File |
200: OK 401: Unauthorized 403: Forbidden 404: Not Found |
|
-H "accept: */*" /oc-bsf-configuration/v1/administration/export | GET | Export Resource IDs |
200: OK 401: Unauthorized 403: Forbidden 404: Not Found |
Note:
The Bulk Import/Export APIs return a ResourceId in response to the POST request. The ResourceId is the background task id for the POST operations. This id can be used to track the import or export requests, and download the export data.
For example, the POST API for bulk export operation takes Managed Object (MO) name as input. The response of this API contains the resource id of the file created for export. You can use this resource Id to download the export data at any point of time.
- IN_PROGRESS: If the import/export is running.
- DONE: If the import/export is finished. Following are
the possible status if the import/export is in DONE status:
- SUCCESS : If the import/export is successful
- FAILED : If the import/export is failed
- PARTIAL_SUCCESS : If the import/export is partially successful
2.16 Subscriber Activity Logging
Table 2-74 Supported REST APIs for Subscriber Activity Logging
Description | HTTP Method or Custom Operation | Resource URI | Possible Result Code |
---|---|---|---|
Create Subscriber Logging | POST | -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/ subscriberActivityLogging -d "{}" |
200: OK 201: Imported 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 Subscriber Logs | GET | -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/ subscriberActivityLogging/{identifierValue} |
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 Subscriber Logging | PUT | -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/ subscriberActivityLogging/{identifierValue} -d " {} " |
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 |
Delete Subscriber Logging | DELETE | -H "accept: */*" {apiRoot}/oc-bsf-configuration/v1/subscriberActivityLogging/{identifierValue} |
200: OK 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 429: Too many Requests 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout |
Export Subscriber Logs | GET | -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/subscriberActivityLogging/export |
200: OK General configuration is returned 400: Bad request 401: Unauthorized 403: Forbidden 404: Not Found 429: Too Many Requests 500: Internal Server Error 503: Service Unavailable |
Import Subscriber Logs | POST | -H "accept: application/problem+json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/subscriberActivityLogging/import -d "{ }" |
200: OK 201: Imported 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 and Create Subscriber Logging
Table 2-75 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
enable | boolean | O | Enable the subscriber logging. |
type | string | O | Identifier type |
value | string | M | Provide the value. |
Sample Request body structure for POST operation:
{
"enable": true,
"type": "gpsi",
"value": "string"
}
Sample Response body structure for GET, POST, and PUT operations:
[
{
"date": "string",
"errors": [
{
"message": "string",
"name": "string"
}
],
"exportData": [
{
"enable": true,
"type": "gpsi",
"value": "string"
}
],
"sourceVersion": "string",
"topic": "string"
}
]
Delete Subscriber Logging
Table 2-76 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
identifierValue | string | M | Subscriber Identifier |
2.17 NRF Status
Table 2-77 BSF NRF Status Supported APIs
Description | HTTP Method or Custom Operation | Resource URI | Possible Result Code |
---|---|---|---|
Get NRF Status | GET | -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/nrfStatus |
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 |
Table 2-78 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
nfStatus | String | M | It shows whether the BSF instance is registered, suspended, or deregistered with NRF. |
nfType | String | M | The type of Network Function. Example: "BSF". |
nfInstanceId | String | M | It shows the unique Instance ID of BSF registered with NRF. |
nfFqdn | String | O | It shows the FQDN of the BSF registered with NRF. |
nfRegistrationTime | String | O | It shows the time at which PCF registered with NRF |
nfRegisteredWith | String | O | It shows the FQDN of the NRF with which BSF is registered. |
nrfData | Object | M | It shows the details about the NRF. |
Table 2-79 nrfData
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
priority | Integer | M | It shows the priority of the NRF instances. An NRF instance with priority 1 is treated as primary NRF. |
apiRoot | String | M | |
status | String | M | It shows the health status of the NRF instance. It could be in either healthy or unhealthy state. |
statusChangeTime | String | M | It shows the time when the NRF status changed. |
errorReason | Array | M | It shows the HTTP status codes or exceptions for which retry is attempted. |
connectedTime | String | O | It shows the time when PCF last connected with primary NRF. |
isPrimary | Boolean | M | It shows if this primary NRF or not. |
isAttachedWithBsf | Boolean | M | It shows if this NRF instance is attached with BSF or not. |
{
"nfStatus":"REGISTERED",
"nfType":"BSF",
"nfInstanceId":"fe7d992b-0541-4c7d-ab84-c6d70b1b0123",
"nfFqdn":"ocbsf1-2-api-gateway.bsf1-2.svc.atlantic.morrisville.us.lab.oracle.com",
"nfRegistrationTime":"2022-54-22 08:50:24",
"nfRegisteredWith": "nf1stub.pdprodigiespolicy.svc:8080",
"nrfData":[
{
"priority":1,
"apiRoot":"nf2stub.pdprodigiespolicy.svc:8080",
"status":"HEALTHY",
"statusChangeTime": "2022-54-22 08:53:24",
"errorReason": null,
"connectedTime": "2022-54-22 08:54:24",
"isPrimary": true,
"isAttachedWithBsf": true
},
{ "priority":2,
"apiRoot":"nf1stub.pdprodigiespolicy.svc:8080",
"status":"UNHEALTHY",
"statusChangeTime": "2022-54-22 08:51:24",
"errorReason": "SocketTimeoutException",
"connectedTime": "2022-54-22 08:54:22",
"isPrimary": false,
"isAttachedWithBsf": false
}
]}
2.18 Error Configurations
API support is available for EXPORT/IMPORT of error handler configurations.
Table 2-80 Supported REST APIs
Description | HTTP Method or Custom Operation | Resource URI | Media Type | Possible Result Code |
---|---|---|---|---|
Export Error Configuration | GET | {/oc-bsf-configuration/v1/services/errorHandler/errorConfiguration/export | 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 default: default Response |
Import Error Configuration | POST | /oc-bsf-configuration/v1/services/errorHandler/errorConfiguration/import | application/json |
201: Imported 400: Bad Request 401: Unauthorized 403: Forbidden 404: Not Found 405: Method Not Allowed 406: Not Acceptable 408: Request Timeout 409: Conflict 412: Preconditon Failed 500: Internal Server Error 503: Service Unavailable 504: Gateway Timeout detault: default Response |
Table 2-81 Request/Response Body Parameters
Field Name | Data Type | Mandatory( M)/ Optional(O)/ Conditional( C) | Description |
---|---|---|---|
topic | string | M | Topic of each managed object |
sourceVersion | string | O | System version of product from which data is exported |
date | string | O | Current Timestamp |
exportData | array | O | Exported list of error rules configurations |
{
"topic": "string",
"sourceVersion": "string",
"date": "string",
"exportData": [
{
"ruleMapperConfigs": [
{
"templateId": "string",
"action": "string",
"ruleName": "string",
"isDefault": true,
"context": {
"context": "string",
"errorInfo": {
"errorDetails": {
"status": "string",
"instance": "string",
"cause": "string",
"message": "string",
"resource": "string",
"sourceService": "PDS",
"targetService": "PDS"
},
"resourceErrorMap": {
"additionalProp1": {
"status": "string",
"instance": "string",
"cause": "string",
"message": "string",
"resource": "string",
"sourceService": "PDS",
"targetService": "PDS"
},
"additionalProp2": {
"status": "string",
"instance": "string",
"cause": "string",
"message": "string",
"resource": "string",
"sourceService": "PDS",
"targetService": "PDS"
},
"additionalProp3": {
"status": "string",
"instance": "string",
"cause": "string",
"message": "string",
"resource": "string",
"sourceService": "PDS",
"targetService": "PDS"
}
},
"trace": {
"additionalProp1": [
{
"errorState": "string",
"errorDetails": {
"status": "string",
"instance": "string",
"cause": "string",
"message": "string",
"resource": "string",
"sourceService": "PDS",
"targetService": "PDS"
}
}
],
"additionalProp2": [
{
"errorState": "string",
"errorDetails": {
"status": "string",
"instance": "string",
"cause": "string",
"message": "string",
"resource": "string",
"sourceService": "PDS",
"targetService": "PDS"
}
}
],
"additionalProp3": [
{
"errorState": "string",
"errorDetails": {
"status": "string",
"instance": "string",
"cause": "string",
"message": "string",
"resource": "string",
"sourceService": "PDS",
"targetService": "PDS"
}
}
]
}
},
"type": "string"
},
"errorMatcher": {
"errorStateDisp": {
"errorType": {
"label": "string",
"value": "string"
},
"origin": {
"label": "string",
"value": "string"
},
"operation": {
"label": "string",
"value": "string"
},
"errorStatus": {
"label": "string",
"value": "string"
},
"sourceInterface": {
"label": "string",
"value": "string"
}
},
"errorCauseDisp": {
"status": {
"label": "string",
"value": "string"
},
"instance": {
"label": "string",
"value": "string"
},
"message": {
"label": "string",
"value": "string"
},
"cause": {
"label": "string",
"value": "string"
},
"resource": {
"label": "string",
"value": "string"
}
},
"errorCause": {
"field": "string",
"match": "string",
"value": {
"status": "string",
"instance": "string",
"message": "string",
"resource": "string",
"cause": "string"
}
},
"errorState": "string"
},
"priority": 0,
"key": "string",
"errorRuleEnabled": true
}
],
"enableErrorHandler": true,
"serviceName": "string"
}
]
}