| bbfd | ||
| docs | ||
| gitlab-ci | ||
| libbbf_api | ||
| libbbf_dm | ||
| test | ||
| tools | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| CMakeLists.txt | ||
| Doxyfile | ||
| LICENSE | ||
| mkdocs.yml | ||
| README.md | ||
| supervisord.conf | ||
BroadBand Forum Data Models (BBFDM)
bbfdm is a data model library implementation which includes a list of objects, parameters and operates used for CPE management through remote control protocols such as TR-069/CWMP or TR-369/USP.
This package comprises of the below libraries:
| Library | Description |
|---|---|
| libbbf_dm | This provides the mechanism to add new parameters or extend the existing DM tree using json plugin or shared library plugin. |
| libbbf_api | This provides the APIs for UCI, Ubus, JSON, CLI and memory management. |
Design of bbfdm
bbfdm library is structred as follow :
├── dm...(.c and .h)
├── dmtree
│ ├── json
│ ├── tr104
│ ├── tr143
│ ├── tr181
│ └── vendor
│ ├── iopsys
│ └── vendor.h
├── libbbf_api
├── scripts
└── tools
-
dmtreefolder which includes all supported Data Models. It contains 5 folders:-
tr181folder : TR-181 Data Model files -
tr104folder : Voice Services Data Model files -
tr143folder : Diagnostics Data Model files -
vendorfolder : Vendor Data Model files -
jsonfolder : TR-181 and TR-104 JSON files
-
-
libbbf_apifolder 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 libbbf_api are presented in this header file libbbf_api.h. -
scriptsfolder which contains the Diagnostics scripts -
toolsfolder which contains some tools to generate Data Model in C, JSON, XML and Excel format -
dm...(.c and .h)files which contains thebbfdmengine (operate, diagnostics) functions
Important Topics
- Design for firmware activation
- TR181 Firewall datamodel mappings
- Datamodel extension using JSON plugin
- Add support of a new Object/Parameter
- How to add new vendor
- Dynamic Object/Parameter/Operate/Event
- BBFDM Tools
- Expose datamodel over UBUS using libbbf APIs
External dependencies for datamodel objects
| Datamodel | Package | Link |
|---|---|---|
| Device.BulkData. | bulkdata | https://dev.iopsys.eu/iopsys/bulkdata.git |
| Device.CWMPManagementServer. | icwmp | https://dev.iopsys.eu/iopsys/icwmp.git |
| Device.IP.Diagnostics.UDPEchoConfig. | udpecho-server | https://dev.iopsys.eu/iopsys/udpecho.git |
| Device.IP.Diagnostics.UDPEchoDiagnostics. | udpecho-client | https://dev.iopsys.eu/iopsys/udpecho.git |
| Device.IP.Interface.{i}.TWAMPReflector. | twamp | https://dev.iopsys.eu/iopsys/twamp-light.git |
| Device.UPNP. | ssdpd | https://github.com/miniupnp/miniupnp.git |
| Device.XMPP. | xmppc | https://dev.iopsys.eu/iopsys/xmppc.git |
| Device.XPON. | ponmngr | https://dev.iopsys.eu/iopsys/ponmngr.git |
| Device.USPAgent. | obuspa | https://dev.iopsys.eu/fork/obuspa.git |
| STUN parameters | stunc | https://dev.iopsys.eu/iopsys/stunc.git |