bbfdm/docs/api/ubus/bbfdm.md
2024-07-12 14:50:47 +05:30

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":"amet enim in dolore qui","optional":{"transaction_id":38993374},"obj_path":{}}

JSONRPC Example

{
  "jsonrpc": "2.0",
  "id": 0,
  "method": "call",
  "params": [
    "<SID>",
    "bbf",
    "add",
    { "path": "amet enim in dolore qui", "optional": { "transaction_id": 38993374 }, "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": "pariatur ut", "data": "temp", "fault": 7365, "fault_msg": "irure sed anim Ut" }] }

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":"aute magna Ut esse","paths":["nostrud Duis deserunt"],"optional":{"transaction_id":33739431}}

JSONRPC Example

{
  "jsonrpc": "2.0",
  "id": 0,
  "method": "call",
  "params": [
    "<SID>",
    "bbf",
    "del",
    { "path": "aute magna Ut esse", "paths": ["nostrud Duis deserunt"], "optional": { "transaction_id": 33739431 } }
  ]
}

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": "ad aliquip ut nulla",
      "data": "sit ex dolor nisi reprehenderit",
      "fault": 8077,
      "fault_msg": "cillum qu"
    }
  ]
}

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":"reprehende","paths":["nostrud"],"maxdepth":-31156882,"optional":{"format":"pretty","proto":"cwmp"}}

JSONRPC Example

{
  "jsonrpc": "2.0",
  "id": 0,
  "method": "call",
  "params": [
    "<SID>",
    "bbf",
    "get",
    {
      "path": "reprehende",
      "paths": ["nostrud"],
      "maxdepth": -31156882,
      "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": "pariatur occaecat ut sit",
      "data": "minim aliq",
      "type": "xsd:unsignedInt",
      "fault": 9034,
      "fault_msg": "sit minim nulla"
    }
  ]
}

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":"veniam","first_level":false,"optional":{"proto":"cwmp"}}

JSONRPC Example

{
  "jsonrpc": "2.0",
  "id": 0,
  "method": "call",
  "params": [
    "<SID>",
    "bbf",
    "instances",
    { "path": "veniam", "first_level": false, "optional": { "proto": "cwmp" } }
  ]
}

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": "deserunt inc", "fault": 7529, "fault_msg": "exercitation 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":"Lorem","input":{}}

JSONRPC Example

{
  "jsonrpc": "2.0",
  "id": 0,
  "method": "call",
  "params": ["<SID>", "bbf", "notify_event", { "name": "Lorem", "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":"ex in sint ullamco","command_key":"in culpa in","input":{},"optional":{"format":"raw","proto":"cwmp"}}

JSONRPC Example

{
  "jsonrpc": "2.0",
  "id": 0,
  "method": "call",
  "params": [
    "<SID>",
    "bbf",
    "operate",
    {
      "command": "ex in sint ullamco",
      "command_key": "in culpa in",
      "input": {},
      "optional": { "format": "raw", "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": "ipsum velit cillum",
      "data": "1",
      "fault": 8382,
      "fault_msg": "ullamco dolore sed pariatur",
      "output": [{ "path": "pariatur fugiat voluptate non Excepteur", "data": "1", "type": "xsd:hexBinary" }]
    }
  ]
}

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":"nondo labo","paths":["mollit dolor dolor"],"first_level":false,"commands":false,"events":false,"params":false,"optional":{"proto":"both"}}

JSONRPC Example

{
  "jsonrpc": "2.0",
  "id": 0,
  "method": "call",
  "params": [
    "<SID>",
    "bbf",
    "schema",
    {
      "path": "nondo labo",
      "paths": ["mollit dolor dolor"],
      "first_level": false,
      "commands": false,
      "events": false,
      "params": false,
      "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": "amet labore tempor aliquip",
      "data": "1",
      "type": "xsd:command",
      "fault": 7713,
      "fault_msg": "nostrud",
      "input": [{ "path": "dolor ex amet laborum dolore", "data": "1", "type": "xsd:string" }],
      "output": [{ "path": "consectetur dolor ut", "data": "0", "type": "xsd:string" }]
    }
  ]
}

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":"list","name":"voluptate et","parent_dm":"eiusmod nisi anim amet","object":"sint laboris ullamco"}

JSONRPC Example

{
  "jsonrpc": "2.0",
  "id": 0,
  "method": "call",
  "params": [
    "<SID>",
    "bbf",
    "service",
    { "cmd": "list", "name": "voluptate et", "parent_dm": "eiusmod nisi anim amet", "object": "sint laboris ullamco" }
  ]
}

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": false, "error": "dolore" }

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":"Duis et","value":"elit velit fugiat mollit sunt","optional":{"proto":"cwmp","transaction_id":94067988},"obj_path":{}}

JSONRPC Example

{
  "jsonrpc": "2.0",
  "id": 0,
  "method": "call",
  "params": [
    "<SID>",
    "bbf",
    "set",
    {
      "path": "Duis et",
      "value": "elit velit fugiat mollit sunt",
      "optional": { "proto": "cwmp", "transaction_id": 94067988 },
      "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": "mollit id est esse", "data": "0", "fault": 8853, "fault_msg": "ex consectetur officia irure enim" }
  ]
}

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":"status","timeout":25780595,"restart_services":false,"optional":{"transaction_id":25378647}}

JSONRPC Example

{
  "jsonrpc": "2.0",
  "id": 0,
  "method": "call",
  "params": [
    "<SID>",
    "bbf",
    "transaction",
    { "cmd": "status", "timeout": 25780595, "restart_services": false, "optional": { "transaction_id": 25378647 } }
  ]
}

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": false, "transaction_id": 41612487, "error": "Lorem mollit ut" }