No description
Find a file
2023-05-31 17:08:29 +02:00
bbfdmd bbfdm: Add support for service registration 2023-05-31 15:22:30 +02:00
docs Use USP_XXX as a prefix for usp errors 2023-05-24 17:55:41 +02:00
gitlab-ci bbfdm: Add support for service registration 2023-05-31 15:22:30 +02:00
json bbfdm: Add support for service registration 2023-05-31 15:22:30 +02:00
libbbfdm TR104: Add support for Device.Services.VoiceService.{i}.CallControl.Line.{i}.Stats.RTP. parameters 2023-05-31 17:08:29 +02:00
libbbfdm-api bbfdm: Add support for service registration 2023-05-31 15:22:30 +02:00
schemas bbfdm: Add support for service registration 2023-05-31 15:22:30 +02:00
test TR104: Add support for Device.Services.VoiceService.{i}.CallControl.Line.{i}.Stats.RTP. parameters 2023-05-31 17:08:29 +02:00
tools bbfdm: Update Operate handling 2023-05-22 09:37:38 +02:00
.gitignore Add bbfdm daemon(bbfdmd) 2023-04-14 10:05:08 +00:00
.gitlab-ci.yml Fix ci/cd image version 2023-04-27 17:14:43 +05:30
CMakeLists.txt bbfdm: Add support for service registration 2023-05-31 15:22:30 +02:00
LICENSE LICENSE: change license to BSD 3-Clause 2023-04-17 11:31:48 +02:00
mkdocs.yml Update documentation 2023-04-18 12:42:29 +05:30
README.md Update documentation 2023-04-18 11:30:46 +00:00

BroadBand Forum Data Models (BBFDM)

bbfdm is an implementation developed by iopsys that conforms to Broadband Forum Data Models and which includes a list objects, parameters, events and operates used for CPE management through remote control protocols such as TR-069/CWMP or TR-369/USP.

This implementation comprises of the three main components:

Component Description
libbbfdm-api It is a library that provides many APIs used to interact with UCI configurations, Ubus objects, JSON schema, CLI commands and memory management. It also provides a mechanism to add new objects, parameters, events and operates or extend the existing DM tree using json plugin or shared library plugin.
libbbfdm It's a libarry that provides the different data models supported by iopsys
bbfdmd It's a deamon which used to expose data model objects over ubus

Design of bbfdm

bbfdm package is structred as follow:

├── bbfdmd
├── docs
├── libbbfdm-api
├── libbbfdm
│   ├── dmtree
│   │   ├── json
│   │   ├── tr104
│   │   ├── tr143
│   │   ├── tr181
│   │   ├── tr471
│   │   ├── vendor
│   ├── scripts
└── tools
  • bbfdmd folder which contains the source code of bbfdm deamon. More explanation on how this daemon works and all supported methods are presented in this file BBFDMD

  • libbbfdm folder which contains the different data models supported by iopsys

    • dmtree folder which includes all supported Data Models and vendor extension objects. It contains 6 folders:

      • tr181 folder : TR-181 Data Model files

      • tr104 folder : Voice Services Data Model files

      • tr143 folder : Diagnostics Data Model files

      • tr471 folder : IPLayerCapacityMetrics Diagnostics Data Model files

      • vendor folder : Vendor Data Model files

      • json folder : TR-181 and TR-104 JSON files

    • scripts folder which contains all the scripts used to run the different types of diagnostics.

  • libbbfdm-api folder which contains the source code of all API functions (UCI, Ubus, JSON, CLI and memory management). These API are used for GET/SET/ADD/Delete/Operate calls which can be called in internal or external packages. All APIs exposed by libbbfdm-api are presented in this header file libbbfdm_api.h.

  • tools folder which contains some tools to generate Data Model in C, JSON, XML and Excel format. All supported tools are presented in this fileBBFDM Tools

  • docs folder which contains all documentation files.

Important Topics

External dependencies for datamodel objects

Datamodel Package Link
Device.BulkData. bulkdata https://dev.iopsys.eu/bbf/bulkdata.git
Device.ManagementServer. icwmp https://dev.iopsys.eu/bbf/icwmp.git
Device.CWMPManagementServer. icwmp https://dev.iopsys.eu/bbf/icwmp.git
Device.IP.Diagnostics.UDPEchoConfig. udpecho-server https://dev.iopsys.eu/bbf/udpecho.git
Device.IP.Diagnostics.UDPEchoDiagnostics. udpecho-client https://dev.iopsys.eu/bbf/udpecho.git
Device.IP.Interface.{i}.TWAMPReflector. twamp https://dev.iopsys.eu/bbf/twamp-light.git
Device.XMPP. xmppc https://dev.iopsys.eu/bbf/xmppc.git
Device.USPAgent. obuspa https://dev.iopsys.eu/bbf/obuspa.git
STUN parameters stunc https://dev.iopsys.eu/bbf/stunc.git
Device.XPON. ponmngr https://dev.iopsys.eu/hal/ponmngr.git
Device.UPNP. ssdpd https://github.com/miniupnp/miniupnp.git