42 KiB
bbf Schema
https://dev.iopsys.eu/bbf/bbfdm/-/blob/devel/docs/api/ubus/bbfdm.md
| Custom Properties | Additional Properties |
|---|---|
| Forbidden | Forbidden |
bbf
| List of Methods |
|---|
| add |
| del |
| get |
| instances |
| notify_event |
| operate |
| schema |
| service |
| set |
| transaction |
add
Add a new object instance
Add a new object in multi instance object
add
- type:
Method
add Type
object with following properties:
| Property | Type | Required |
|---|---|---|
input |
object | Required |
output |
object | Required |
input
input
- is required
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
obj_path |
object | Optional |
optional |
object | Required |
path |
string | Required |
obj_path
obj_path
- is optional
- type:
object
obj_path Type
object with following properties:
| Property | Type | Required |
|---|---|---|
| None | None | None |
optional
optional
- is required
- type:
object
optional Type
object with following properties:
| Property | Type | Required |
|---|---|---|
transaction_id |
integer | Optional |
transaction_id
Required for CUD operation, it shall be same number as got from transaction->start
transaction_id
- is optional
- type: reference
transaction_id Type
integer
- minimum value:
1
path
Complete object element path as per TR181
path
- is required
- type: reference
path Type
string
- minimum length: 6 characters
- maximum length: 1024 characters
path Examples
Device.
Device.DeviceInfo.Manufacturer
Device.WiFi.SSID.1.
Device.WiFi.
Ubus CLI Example
ubus call bbf add {"path":"dolore magna","optional":{"transaction_id":48031089},"obj_path":{}}
JSONRPC Example
{
"jsonrpc": "2.0",
"id": 0,
"method": "call",
"params": [
"<SID>",
"bbf",
"add",
{ "path": "dolore magna", "optional": { "transaction_id": 48031089 }, "obj_path": {} }
]
}
output
output
- is required
- type:
object
output Type
object with following properties:
| Property | Type | Required |
|---|---|---|
results |
array | Optional |
results
results
- is optional
- type:
array
results Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/path_t"
},
"data": {
"type": "string"
},
"fault": {
"$ref": "#/definitions/fault_t",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
},
"fault_msg": {
"type": "string",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
}
},
"required": ["path"]
}
],
"simpletype": "`array`"
}
Output Example
{
"results": [
{
"path": "commodo oc",
"data": "reprehenderit amet culpa Excepteur",
"fault": 8107,
"fault_msg": "elit in ea ut non"
}
]
}
del
Delete object instance
Delete a object instance from multi instance object
del
- type:
Method
del Type
object with following properties:
| Property | Type | Required |
|---|---|---|
input |
object | Required |
output |
object | Required |
input
input
- is required
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
optional |
object | Optional |
path |
string | Required |
paths |
array | Optional |
optional
optional
- is optional
- type:
object
optional Type
object with following properties:
| Property | Type | Required |
|---|---|---|
transaction_id |
integer | Optional |
transaction_id
Required for CUD operation, it shall be same number as got from transaction->start
transaction_id
- is optional
- type: reference
transaction_id Type
integer
- minimum value:
1
path
Complete object element path as per TR181
path
- is required
- type: reference
path Type
string
- minimum length: 6 characters
- maximum length: 1024 characters
path Examples
Device.
Device.DeviceInfo.Manufacturer
Device.WiFi.SSID.1.
Device.WiFi.
paths
paths
- is optional
- type:
array
paths Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"uniqueItems": true,
"items": [
{
"$ref": "#/definitions/query_path_t"
}
],
"simpletype": "`array`"
}
Ubus CLI Example
ubus call bbf del {"path":"non ipsu","paths":["dolor nisi amet veniam Duis"],"optional":{"transaction_id":85944852}}
JSONRPC Example
{
"jsonrpc": "2.0",
"id": 0,
"method": "call",
"params": [
"<SID>",
"bbf",
"del",
{ "path": "non ipsu", "paths": ["dolor nisi amet veniam Duis"], "optional": { "transaction_id": 85944852 } }
]
}
output
output
- is required
- type:
object
output Type
object with following properties:
| Property | Type | Required |
|---|---|---|
results |
array | Optional |
results
results
- is optional
- type:
array
results Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/path_t"
},
"data": {
"type": "string"
},
"fault": {
"$ref": "#/definitions/fault_t",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
},
"fault_msg": {
"type": "string",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
}
},
"required": ["parameter", "type"]
}
],
"simpletype": "`array`"
}
Output Example
{ "results": [{ "path": "cupidatat in", "data": "tempo", "fault": 7626, "fault_msg": "mollit dolore commodo" }] }
get
Get handler
Query the datamodel object
get
- type:
Method
get Type
object with following properties:
| Property | Type | Required |
|---|---|---|
input |
object | Required |
output |
object | Required |
input
input
- is required
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
maxdepth |
integer | Optional |
optional |
object | Optional |
path |
string | Required |
paths |
array | Optional |
maxdepth
Integer to decide the depth of data model to be parsed
maxdepth
- is optional
- type:
integer
maxdepth Type
integer
optional
optional
- is optional
- type:
object
optional Type
object with following properties:
| Property | Type | Required | Default |
|---|---|---|---|
format |
string | Optional | "pretty" |
proto |
string | Optional | "both" |
format
format
- is optional
- type: reference
- default:
"pretty"
format Type
string
The value of this property must be equal to one of the known values below.
format Known Values
| Value |
|---|
| raw |
| pretty |
proto
proto
- is optional
- type: reference
- default:
"both"
proto Type
string
The value of this property must be equal to one of the known values below.
proto Known Values
| Value |
|---|
| usp |
| cwmp |
| both |
path
DM object path with search queries
path
- is required
- type: reference
path Type
string
- minimum length: 6 characters
- maximum length: 1024 characters
path Examples
Device.
Device.DeviceInfo.Manufacturer
Device.WiFi.SSID.1.BSSID
Device.WiFi.SSID.*.BSSID
Device.WiFi.
paths
paths
- is optional
- type:
array
paths Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"uniqueItems": true,
"items": [
{
"$ref": "#/definitions/query_path_t"
}
],
"simpletype": "`array`"
}
Ubus CLI Example
ubus call bbf get {"path":"esseco","paths":["esttempor labore nisi cillum sint"],"maxdepth":-31080155,"optional":{"format":"pretty","proto":"cwmp"}}
JSONRPC Example
{
"jsonrpc": "2.0",
"id": 0,
"method": "call",
"params": [
"<SID>",
"bbf",
"get",
{
"path": "esseco",
"paths": ["esttempor labore nisi cillum sint"],
"maxdepth": -31080155,
"optional": { "format": "pretty", "proto": "cwmp" }
}
]
}
output
output
- is required
- type:
object
output Type
object with following properties:
| Property | Type | Required |
|---|---|---|
results |
array | Optional |
results
results
- is optional
- type:
array
results Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/path_t"
},
"data": {
"type": "string"
},
"type": {
"$ref": "#/definitions/type_t"
},
"fault": {
"$ref": "#/definitions/fault_t",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
},
"fault_msg": {
"type": "string",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
}
},
"required": ["path"]
}
],
"simpletype": "`array`"
}
Output Example
{
"results": [
{
"path": "quisExcepteur ullamco magna non et",
"data": "dolor nisi ex eu ut",
"type": "xsd:unsignedLong",
"fault": 8725,
"fault_msg": "elit Lorem"
}
]
}
instances
Instance query handler
Get the instances of multi object
instances
- type:
Method
instances Type
object with following properties:
| Property | Type | Required |
|---|---|---|
input |
object | Required |
output |
object | Optional |
input
input
- is required
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
first_level |
boolean | Optional |
optional |
object | Optional |
path |
string | Required |
first_level
gets only first level objects if true
first_level
- is optional
- type:
boolean
first_level Type
boolean
optional
optional
- is optional
- type:
object
optional Type
object with following properties:
| Property | Type | Required | Default |
|---|---|---|---|
proto |
string | Optional | "both" |
proto
proto
- is optional
- type: reference
- default:
"both"
proto Type
string
The value of this property must be equal to one of the known values below.
proto Known Values
| Value |
|---|
| usp |
| cwmp |
| both |
path
DM object path with search queries
path
- is required
- type: reference
path Type
string
- minimum length: 6 characters
- maximum length: 1024 characters
path Examples
Device.
Device.DeviceInfo.Manufacturer
Device.WiFi.SSID.1.BSSID
Device.WiFi.SSID.*.BSSID
Device.WiFi.
Ubus CLI Example
ubus call bbf instances {"path":"elitanim Lorem eiusmod ea","first_level":false,"optional":{"proto":"both"}}
JSONRPC Example
{
"jsonrpc": "2.0",
"id": 0,
"method": "call",
"params": [
"<SID>",
"bbf",
"instances",
{ "path": "elitanim Lorem eiusmod ea", "first_level": false, "optional": { "proto": "both" } }
]
}
output
output
- is optional
- type:
object
output Type
object with following properties:
| Property | Type | Required |
|---|---|---|
results |
array | Optional |
results
results
- is optional
- type:
array
results Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/path_t"
},
"fault": {
"$ref": "#/definitions/fault_t",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
},
"fault_msg": {
"type": "string",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
}
},
"required": ["path"]
}
],
"simpletype": "`array`"
}
Output Example
{
"results": [
{ "path": "fugiat reprehenderit sunt aliqua est", "fault": 7511, "fault_msg": "Duis ut labore proident" }
]
}
notify_event
notify occurance of an event on ubus
notify_event
- type:
Method
notify_event Type
object with following properties:
| Property | Type | Required |
|---|---|---|
input |
object | Required |
output |
Optional |
input
input
- is required
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
input |
object | Optional |
name |
string | Required |
input
input
- is optional
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
| None | None | None |
name
name
- is required
- type:
string
name Type
string
Ubus CLI Example
ubus call bbf notify_event {"name":"dolore voluptate minim","input":{}}
JSONRPC Example
{
"jsonrpc": "2.0",
"id": 0,
"method": "call",
"params": ["<SID>", "bbf", "notify_event", { "name": "dolore voluptate minim", "input": {} }]
}
output
output
- is optional
- type: complex
output Type
Unknown type ``.
{
"definitions": {
"path_t": {
"description": "Complete object element path as per TR181",
"type": "string",
"minLength": 6,
"maxLength": 1024,
"examples": ["Device.", "Device.DeviceInfo.Manufacturer", "Device.WiFi.SSID.1.", "Device.WiFi."]
},
"schema_path_t": {
"description": "Datamodel object schema path",
"type": "string",
"minLength": 6,
"maxLength": 1024,
"examples": ["Device.Bridging.Bridge.{i}.", "Device.DeviceInfo.Manufacturer", "Device.WiFi.SSID.{i}.SSID"]
},
"boolean_t": {
"type": "string",
"enum": ["0", "1"]
},
"operate_path_t": {
"description": "Datamodel object schema path",
"type": "string",
"minLength": 6,
"maxLength": 1024,
"examples": ["Device.IP.Diagnostics.IPPing()", "Device.DHCPv4.Client.{i}.Renew()", "Device.FactoryReset()"]
},
"query_path_t": {
"description": "DM object path with search queries",
"type": "string",
"minLength": 6,
"maxLength": 1024,
"examples": [
"Device.",
"Device.DeviceInfo.Manufacturer",
"Device.WiFi.SSID.1.BSSID",
"Device.WiFi.SSID.*.BSSID",
"Device.WiFi."
]
},
"instance_t": {
"description": "Multi object instances",
"type": "string",
"minLength": 6,
"maxLength": 256
},
"proto_t": {
"type": "string",
"default": "both",
"enum": ["usp", "cwmp", "both"]
},
"type_t": {
"type": "string",
"enum": [
"xsd:string",
"xsd:unsignedInt",
"xsd:int",
"xsd:unsignedLong",
"xsd:long",
"xsd:boolean",
"xsd:dateTime",
"xsd:hexBinary",
"xsd:object",
"xsd:command",
"xsd:event"
]
},
"fault_t": {
"type": "integer",
"minimum": 7000,
"maximum": 9050
},
"trans_type_t": {
"type": "string",
"enum": ["start", "commit", "abort", "status"]
},
"srv_type_t": {
"type": "string",
"enum": ["register", "list"]
},
"format_t": {
"type": "string",
"default": "pretty",
"enum": ["raw", "pretty"]
},
"trans_id_t": {
"description": "Required for CUD operation, it shall be same number as got from transaction->start",
"type": "integer",
"minimum": 1
}
},
"out": "{\"definitions\":{\"path_t\":{\"description\":\"Complete object element path as per TR181\",\"type\":\"string\",\"minLength\":6,\"maxLength\":1024,\"examples\":[\"Device.\",\"Device.DeviceInfo.Manufacturer\",\"Device.WiFi.SSID.1.\",\"Device.WiFi.\"]},\"schema_path_t\":{\"description\":\"Datamodel object schema path\",\"type\":\"string\",\"minLength\":6,\"maxLength\":1024,\"examples\":[\"Device.Bridging.Bridge.{i}.\",\"Device.DeviceInfo.Manufacturer\",\"Device.WiFi.SSID.{i}.SSID\"]},\"boolean_t\":{\"type\":\"string\",\"enum\":[\"0\",\"1\"]},\"operate_path_t\":{\"description\":\"Datamodel object schema path\",\"type\":\"string\",\"minLength\":6,\"maxLength\":1024,\"examples\":[\"Device.IP.Diagnostics.IPPing()\",\"Device.DHCPv4.Client.{i}.Renew()\",\"Device.FactoryReset()\"]},\"query_path_t\":{\"description\":\"DM object path with search queries\",\"type\":\"string\",\"minLength\":6,\"maxLength\":1024,\"examples\":[\"Device.\",\"Device.DeviceInfo.Manufacturer\",\"Device.WiFi.SSID.1.BSSID\",\"Device.WiFi.SSID.*.BSSID\",\"Device.WiFi.\"]},\"instance_t\":{\"description\":\"Multi object instances\",\"type\":\"string\",\"minLength\":6,\"maxLength\":256},\"proto_t\":{\"type\":\"string\",\"default\":\"both\",\"enum\":[\"usp\",\"cwmp\",\"both\"]},\"type_t\":{\"type\":\"string\",\"enum\":[\"xsd:string\",\"xsd:unsignedInt\",\"xsd:int\",\"xsd:unsignedLong\",\"xsd:long\",\"xsd:boolean\",\"xsd:dateTime\",\"xsd:hexBinary\",\"xsd:object\",\"xsd:command\",\"xsd:event\"]},\"fault_t\":{\"type\":\"integer\",\"minimum\":7000,\"maximum\":9050},\"trans_type_t\":{\"type\":\"string\",\"enum\":[\"start\",\"commit\",\"abort\",\"status\"]},\"srv_type_t\":{\"type\":\"string\",\"enum\":[\"register\",\"list\"]},\"format_t\":{\"type\":\"string\",\"default\":\"pretty\",\"enum\":[\"raw\",\"pretty\"]},\"trans_id_t\":{\"description\":\"Required for CUD operation, it shall be same number as got from transaction->start\",\"type\":\"integer\",\"minimum\":1}}}",
"simpletype": "complex"
}
Output Example
{
"definitions": {
"path_t": {
"description": "Complete object element path as per TR181",
"type": "string",
"minLength": 6,
"maxLength": 1024,
"examples": ["Device.", "Device.DeviceInfo.Manufacturer", "Device.WiFi.SSID.1.", "Device.WiFi."]
},
"schema_path_t": {
"description": "Datamodel object schema path",
"type": "string",
"minLength": 6,
"maxLength": 1024,
"examples": ["Device.Bridging.Bridge.{i}.", "Device.DeviceInfo.Manufacturer", "Device.WiFi.SSID.{i}.SSID"]
},
"boolean_t": { "type": "string", "enum": ["0", "1"] },
"operate_path_t": {
"description": "Datamodel object schema path",
"type": "string",
"minLength": 6,
"maxLength": 1024,
"examples": ["Device.IP.Diagnostics.IPPing()", "Device.DHCPv4.Client.{i}.Renew()", "Device.FactoryReset()"]
},
"query_path_t": {
"description": "DM object path with search queries",
"type": "string",
"minLength": 6,
"maxLength": 1024,
"examples": [
"Device.",
"Device.DeviceInfo.Manufacturer",
"Device.WiFi.SSID.1.BSSID",
"Device.WiFi.SSID.*.BSSID",
"Device.WiFi."
]
},
"instance_t": { "description": "Multi object instances", "type": "string", "minLength": 6, "maxLength": 256 },
"proto_t": { "type": "string", "default": "both", "enum": ["usp", "cwmp", "both"] },
"type_t": {
"type": "string",
"enum": [
"xsd:string",
"xsd:unsignedInt",
"xsd:int",
"xsd:unsignedLong",
"xsd:long",
"xsd:boolean",
"xsd:dateTime",
"xsd:hexBinary",
"xsd:object",
"xsd:command",
"xsd:event"
]
},
"fault_t": { "type": "integer", "minimum": 7000, "maximum": 9050 },
"trans_type_t": { "type": "string", "enum": ["start", "commit", "abort", "status"] },
"srv_type_t": { "type": "string", "enum": ["register", "list"] },
"format_t": { "type": "string", "default": "pretty", "enum": ["raw", "pretty"] },
"trans_id_t": {
"description": "Required for CUD operation, it shall be same number as got from transaction->start",
"type": "integer",
"minimum": 1
}
}
}
operate
Operate handler
Operate on object element provided in path
operate
- type:
Method
operate Type
object with following properties:
| Property | Type | Required |
|---|---|---|
input |
object | Required |
output |
object | Required |
input
input
- is required
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
command |
string | Required |
command_key |
string | Optional |
input |
object | Optional |
optional |
object | Optional |
command
Datamodel object schema path
command
- is required
- type: reference
command Type
string
- minimum length: 6 characters
- maximum length: 1024 characters
command Examples
Device.IP.Diagnostics.IPPing()
Device.DHCPv4.Client.{i}.Renew()
Device.FactoryReset()
command_key
command_key
- is optional
- type:
string
command_key Type
string
input
Input arguments for the operate command as defined in TR-181-2.13
input
- is optional
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
| None | None | None |
input Example
{ "path": "Device.IP.Diagnostics.IPPing()", "input": { "Host": "iopsys.eu" } }
optional
optional
- is optional
- type:
object
optional Type
object with following properties:
| Property | Type | Required | Default |
|---|---|---|---|
format |
string | Optional | "pretty" |
proto |
string | Optional | "both" |
format
format
- is optional
- type: reference
- default:
"pretty"
format Type
string
The value of this property must be equal to one of the known values below.
format Known Values
| Value |
|---|
| raw |
| pretty |
proto
proto
- is optional
- type: reference
- default:
"both"
proto Type
string
The value of this property must be equal to one of the known values below.
proto Known Values
| Value |
|---|
| usp |
| cwmp |
| both |
Ubus CLI Example
ubus call bbf operate {"command":"minim enim au","command_key":"proident adipisicing enim ullamco","input":{},"optional":{"format":"pretty","proto":"cwmp"}}
JSONRPC Example
{
"jsonrpc": "2.0",
"id": 0,
"method": "call",
"params": [
"<SID>",
"bbf",
"operate",
{
"command": "minim enim au",
"command_key": "proident adipisicing enim ullamco",
"input": {},
"optional": { "format": "pretty", "proto": "cwmp" }
}
]
}
output
output
- is required
- type:
object
output Type
object with following properties:
| Property | Type | Required |
|---|---|---|
results |
array | Optional |
results
results
- is optional
- type:
array
results Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/path_t"
},
"data": {
"$ref": "#/definitions/boolean_t"
},
"fault": {
"$ref": "#/definitions/fault_t",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
},
"fault_msg": {
"type": "string",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
},
"output": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/path_t"
},
"data": {
"$ref": "#/definitions/boolean_t"
},
"type": {
"$ref": "#/definitions/type_t"
}
}
}
]
}
},
"required": ["path", "data"]
}
],
"simpletype": "`array`"
}
Output Example
{
"results": [
{
"path": "quis dolor occaecat tempor",
"data": "1",
"fault": 8348,
"fault_msg": "aliqua dolore ad eu id",
"output": [{ "path": "sit esse dolor", "data": "1", "type": "xsd:command" }]
}
]
}
schema
Get list of supported datamodel parameters
Schema will have all the nodes/objects supported by libbbf
schema
- type:
Method
schema Type
object with following properties:
| Property | Type | Required |
|---|---|---|
input |
object | Optional |
output |
object | Required |
input
input
- is optional
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
commands |
boolean | Optional |
events |
boolean | Optional |
first_level |
boolean | Optional |
optional |
object | Optional |
params |
boolean | Optional |
path |
string | Optional |
paths |
array | Optional |
commands
includes commands in the list if true
commands
- is optional
- type:
boolean
commands Type
boolean
events
includes events in the list if true
events
- is optional
- type:
boolean
events Type
boolean
first_level
gets only first level objects if true
first_level
- is optional
- type:
boolean
first_level Type
boolean
optional
optional
- is optional
- type:
object
optional Type
object with following properties:
| Property | Type | Required | Default |
|---|---|---|---|
proto |
string | Optional | "both" |
proto
proto
- is optional
- type: reference
- default:
"both"
proto Type
string
The value of this property must be equal to one of the known values below.
proto Known Values
| Value |
|---|
| usp |
| cwmp |
| both |
params
includes objs/params in the list if true
params
- is optional
- type:
boolean
params Type
boolean
path
DM object path with search queries
path
- is optional
- type: reference
path Type
string
- minimum length: 6 characters
- maximum length: 1024 characters
path Examples
Device.
Device.DeviceInfo.Manufacturer
Device.WiFi.SSID.1.BSSID
Device.WiFi.SSID.*.BSSID
Device.WiFi.
paths
paths
- is optional
- type:
array
paths Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"uniqueItems": true,
"items": [
{
"$ref": "#/definitions/query_path_t"
}
],
"simpletype": "`array`"
}
Ubus CLI Example
ubus call bbf schema {"path":"ut nisi Duis aliqua","paths":["anim aliqua in ipsum mollit"],"first_level":true,"commands":true,"events":false,"params":true,"optional":{"proto":"both"}}
JSONRPC Example
{
"jsonrpc": "2.0",
"id": 0,
"method": "call",
"params": [
"<SID>",
"bbf",
"schema",
{
"path": "ut nisi Duis aliqua",
"paths": ["anim aliqua in ipsum mollit"],
"first_level": true,
"commands": true,
"events": false,
"params": true,
"optional": { "proto": "both" }
}
]
}
output
output
- is required
- type:
object
output Type
object with following properties:
| Property | Type | Required |
|---|---|---|
results |
array | Optional |
results
results
- is optional
- type:
array
results Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/schema_path_t"
},
"data": {
"$ref": "#/definitions/boolean_t"
},
"type": {
"$ref": "#/definitions/type_t"
},
"fault": {
"$ref": "#/definitions/fault_t",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
},
"fault_msg": {
"type": "string",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
},
"input": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/schema_path_t"
},
"data": {
"$ref": "#/definitions/boolean_t"
},
"type": {
"$ref": "#/definitions/type_t"
}
}
}
]
},
"output": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/schema_path_t"
},
"data": {
"$ref": "#/definitions/boolean_t"
},
"type": {
"$ref": "#/definitions/type_t"
}
}
}
]
}
},
"required": ["path"]
}
],
"simpletype": "`array`"
}
Output Example
{
"results": [
{
"path": "laboris",
"data": "1",
"type": "xsd:int",
"fault": 8767,
"fault_msg": "cupidatat amet",
"input": [{ "path": "quiselit ad", "data": "0", "type": "xsd:hexBinary" }],
"output": [{ "path": "ipsum do Lorem nulla officia", "data": "0", "type": "xsd:unsignedLong" }]
}
]
}
service
Register a micro-service in the main service
service
- type:
Method
service Type
object with following properties:
| Property | Type | Required |
|---|---|---|
input |
object | Required |
output |
object | Required |
input
input
- is required
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
cmd |
string | Required |
name |
string | Optional |
object |
string | Optional |
parent_dm |
string | Optional |
cmd
cmd
- is required
- type: reference
cmd Type
string
The value of this property must be equal to one of the known values below.
cmd Known Values
| Value |
|---|
| register |
| list |
name
Name of the micro-service ubus object
name
- is optional
- type:
string
name Type
string
object
Name of the micro-service object
object
- is optional
- type:
string
object Type
string
parent_dm
Object path where the micro-service object will be added
parent_dm
- is optional
- type:
string
parent_dm Type
string
Ubus CLI Example
ubus call bbf service {"cmd":"register","name":"ea","parent_dm":"Ut labore in","object":"Duis commodo"}
JSONRPC Example
{
"jsonrpc": "2.0",
"id": 0,
"method": "call",
"params": [
"<SID>",
"bbf",
"service",
{ "cmd": "register", "name": "ea", "parent_dm": "Ut labore in", "object": "Duis commodo" }
]
}
output
output
- is required
- type:
object
output Type
object with following properties:
| Property | Type | Required |
|---|---|---|
error |
string | Optional |
status |
boolean | Required |
error
error
- is optional
- type:
string
error Type
string
status
status
- is required
- type:
boolean
status Type
boolean
Output Example
{ "status": true, "error": "tempor consectetur minim id anim" }
set
Set handler
Set values of datamodel object element
set
- type:
Method
set Type
object with following properties:
| Property | Type | Required |
|---|---|---|
input |
object | Required |
output |
object | Required |
input
input
- is required
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
obj_path |
object | Optional |
optional |
object | Required |
path |
string | Required |
value |
string | Required |
obj_path
To set multiple values at once, path should be relative to object elements
obj_path
- is optional
- type:
object
obj_path Type
object with following properties:
| Property | Type | Required |
|---|---|---|
| None | None | None |
obj_path Examples
{ "path": "Device.WiFi.SSID.1.", "obj_path": { "SSID": "test_ssid", "Name": "test_name" } }
{ "path": "Device.WiFi.SSID.2.", "obj_path": { "SSID": "test_ssid" } }
optional
optional
- is required
- type:
object
optional Type
object with following properties:
| Property | Type | Required | Default |
|---|---|---|---|
proto |
string | Optional | "both" |
transaction_id |
integer | Optional |
proto
proto
- is optional
- type: reference
- default:
"both"
proto Type
string
The value of this property must be equal to one of the known values below.
proto Known Values
| Value |
|---|
| usp |
| cwmp |
| both |
transaction_id
Required for CUD operation, it shall be same number as got from transaction->start
transaction_id
- is optional
- type: reference
transaction_id Type
integer
- minimum value:
1
path
DM object path with search queries
path
- is required
- type: reference
path Type
string
- minimum length: 6 characters
- maximum length: 1024 characters
path Examples
Device.
Device.DeviceInfo.Manufacturer
Device.WiFi.SSID.1.BSSID
Device.WiFi.SSID.*.BSSID
Device.WiFi.
value
value of the object element provided in path, path should contains valid writable object element
value
- is required
- type:
string
value Type
string
value Examples
{ "path": "Device.WiFi.SSID.1.SSID", "value": "test_ssid" }
{ "path": "Device.WiFi.SSID.2.Enable", "value": "true" }
{ "path": "Device.WiFi.SSID.1.Enable", "value": "0" }
Ubus CLI Example
ubus call bbf set {"path":"amet aute laboris irure ad","value":"est dolore","optional":{"proto":"usp","transaction_id":79839602},"obj_path":{}}
JSONRPC Example
{
"jsonrpc": "2.0",
"id": 0,
"method": "call",
"params": [
"<SID>",
"bbf",
"set",
{
"path": "amet aute laboris irure ad",
"value": "est dolore",
"optional": { "proto": "usp", "transaction_id": 79839602 },
"obj_path": {}
}
]
}
output
output
- is required
- type:
object
output Type
object with following properties:
| Property | Type | Required |
|---|---|---|
results |
array | Optional |
results
results
- is optional
- type:
array
results Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/path_t"
},
"data": {
"$ref": "#/definitions/boolean_t"
},
"fault": {
"$ref": "#/definitions/fault_t",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
},
"fault_msg": {
"type": "string",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
}
},
"required": ["path"]
}
],
"simpletype": "`array`"
}
Output Example
{ "results": [{ "path": "eiusmod tempor dolore", "data": "1", "fault": 7804, "fault_msg": "amet commodo id tempor" }] }
transaction
Start/commit/abort/status a transaction before set/add/del operations
transaction
- type:
Method
transaction Type
object with following properties:
| Property | Type | Required |
|---|---|---|
input |
object | Required |
output |
object | Required |
input
input
- is required
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
cmd |
string | Required |
optional |
object | Optional |
restart_services |
boolean | Optional |
timeout |
integer | Optional |
cmd
cmd
- is required
- type: reference
cmd Type
string
The value of this property must be equal to one of the known values below.
cmd Known Values
| Value |
|---|
| start |
| commit |
| abort |
| status |
optional
optional
- is optional
- type:
object
optional Type
object with following properties:
| Property | Type | Required |
|---|---|---|
transaction_id |
integer | Optional |
transaction_id
Required for CUD operation, it shall be same number as got from transaction->start
transaction_id
- is optional
- type: reference
transaction_id Type
integer
- minimum value:
1
restart_services
If yes, bbfdmd restart the service after CUD operation, else return list of updated uci to handler restart externally.
restart_services
- is optional
- type:
boolean
restart_services Type
boolean
timeout
Timeout (in milliseconds) for the transaction, on timeout changes will be reverted
timeout
- is optional
- type:
integer
timeout Type
integer
- minimum value:
0
Ubus CLI Example
ubus call bbf transaction {"cmd":"commit","timeout":98560738,"restart_services":false,"optional":{"transaction_id":36502520}}
JSONRPC Example
{
"jsonrpc": "2.0",
"id": 0,
"method": "call",
"params": [
"<SID>",
"bbf",
"transaction",
{ "cmd": "commit", "timeout": 98560738, "restart_services": false, "optional": { "transaction_id": 36502520 } }
]
}
output
output
- is required
- type:
object
output Type
object with following properties:
| Property | Type | Required |
|---|---|---|
error |
string | Optional |
status |
boolean | Required |
transaction_id |
integer | Optional |
error
error
- is optional
- type:
string
error Type
string
status
status
- is required
- type:
boolean
status Type
boolean
transaction_id
transaction_id
- is optional
- type:
integer
transaction_id Type
integer
- minimum value:
1
Output Example
{ "status": true, "transaction_id": 33849248, "error": "Duis nostrud amet enim" }