2 BSF REST Specifications
This section provides information about REST specifications used in Oracle Communications Cloud Native Core Binding Support Function (BSF).
2.1 General Configurations
This section provides information for configuring General Configurations in BSF.
Resource Name: General Configurations
Table 2-1 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 |
GET and PUT - Get and Update General Configuration
Table 2-2 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 |
Sample Request body structure for PUT operations:
{
"enableTracing": false,
"enableMetrics": true,
"enableCollisionDetection": true,
"bindingDiscoveryRequestTimeout" : 3,
"enableSubscriberLog": true,
"enableSBICorrelation": true
}
Sample Response body structure for GET and PUT operations:
{
"enableTracing": false,
"enableMetrics": true,
"enableCollisionDetection": true,
"bindingDiscoveryRequestTimeout" : 3,
"enableSubscriberLog": true,
"enableSBICorrelation": true
}
Export and Import General Configurations
Table 2-3 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-2 | |
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",
"exportData": {
"enableMetrics": true,
"enableTracing": true,
"enableCollisionDetection": true,
"bindingDiscoveryRequestTimeout" : 3,
"enableSubscriberLog": true,
"enableSBICorrelation": true
},
"sourceVersion": "string",
"topic": "string"
}
2.2 SBI Error Codes
Table 2-4 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-5 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-6 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.3 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-7 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 is the schema for updating Management Service:
{
"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 table describes the parameters:
Table 2-8 Data structures supported by GET and PUT response body
Name | Data Type | Mandatory (M)/Optional (O) | Description |
---|---|---|---|
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. |
apiRoot | String | O | Indicates the URL for server root. |
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-9. |
audit.maxTtl | Integer | M | Indicates 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. |
audit.notificationRate | Integer | M | Indicates the number of stale records which Audit service notifies to the BSF Management service in one second. |
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. |
audit.ttl | Integer | M | Indicates the time to live (TTL) value for binding records. |
audit.vendorId | string
Example: 000111 |
O | Indicates 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:level | String | O | Possible values are:
|
logLevels:loggerName | String | O | Specifies the name of the logger. For Example, trace |
rootLogLevel | String | M | Specifies the status of root log level.
Possible values are:
|
Table 2-9 ansWithResultCodeCfg
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
ansWithResultCode | Enum | O | Specifies the result code. |
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\"}"
Same as request body.
Export and Import Management Service
Table 2-10 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-8 |
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
]
},
"logLevels": [
{
"level": "ALWAYS",
"loggerName": "string"
}
],
"rootLogLevel": "ALWAYS"
},
"sourceVersion": "string",
"topic": "string"
}
2.4 Diameter Settings
This section provides information for configuring diameter gateway in BSF.
Resource Name: Diameter Settings
Table 2-11 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 |
-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 |
|
-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 |
|
-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-12 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-13 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-14 DiamSettingsOverloadControl
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
overloadLoadSheddingProfile | string | Optional | Specifies the load shedding profile name for overload control. |
overloadMessagePriorityProfile | string | Optional | Specifies the message priority profile name for overload control. |
Table 2-15 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-16 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-12 | |
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.5 Diameter Routing Table
Table 2-17 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-18 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
defaultRoute | |||
routeTable |
Table 2-19 defaultRoute
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
serverID | string | O |
Table 2-20 routeTable
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
appIDs | |||
hosts | string | ||
name | string | O | |
priority | string | O | |
realms | string | ||
type | Realm |
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-21 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.6 Load Shedding Profile
Table 2-22 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-23 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-24 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-25 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-26 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
date | string | Current timestamp | |
exportData | array | Exported list of Load Shedding Profile. For more information, see Create and Update Load Shedding 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 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.7 Congestion Threshold
Table 2-27 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-28 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-29 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.8 Peer Node
This section provides information for configuring Peer Node in BSF.
Resource Name: Peer Node
Table 2-30 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-31 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-32 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-33 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.9 Message Priority Profile
Table 2-34 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-35 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-36 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.10 Diameter Error Codes
Table 2-37 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-38 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-39 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-38. |
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.11 Session Viewer
Table 2-40 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-41 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-42 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-43 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.12 Bulk Import/Export Controller
This section provides information for configuring bulk import/export in BSF.
Resource Name: Bulk Import Export Controller
Table 2-44 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.13 Subscriber Activity Logging
Table 2-45
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-46
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
enable | boolean | O | |
type | string | O | Identifier type |
value | string | M |
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-47 Request/Response Body Parameters
Field Name | Data Type | Mandatory(M)/Optional(O)/Conditional(C) | Description |
---|---|---|---|
identifierValue | string | M | Subscriber Identifier |
2.14 NRF Status
Table 2-48 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-49 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-50 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.15 Error Configurations
API support is available for EXPORT/IMPORT of error handler configurations.
Table 2-51 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-52 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"
}
]
}