Skip to content
Snippets Groups Projects
Vivek Kumar Dutta's avatar
Vivek Dutta authored
2dd55d9c
History

Bulk Data

bulkdatad is an implementation of The HTTP bulk data collection mechanism which is an extended feature of CPE and other agents implementing TR-069(CWMP) or TR-369(USP), defined by the Broadband Forum. It provides a means by which an Auto-Configuration Server (ACS), or USP Controller, can configure an agent to periodically send a JSON or CSV formatted set of Device information to an HTTP server running a data collection application.

Configuration File

The bulkdatad UCI configuration is located in '/etc/config/bulkdata', and contains 4 sections: bulkdata, profile, profile_parameter and profile_http_request_uri_parameter.

config bulkdata 'bulkdata'
	option enable '0'
	#Log levels: Error=1, Warning=2, Info=3, Debug=4
	option log_level '3'

config profile 'profile_1'
	option enable '0'
	option csv_encoding_row_time_stamp 'Unix-Epoch'
	option json_encoding_report_time_stamp 'Unix-Epoch'
	option http_retry_minimum_wait_interval '5'
	option http_retry_interval_multiplier '2000'

config profile_parameter 'profile_param_1'
	option dm_parent 'profile_1'
	option name ''
	option reference ''

config profile_http_request_uri_parameter 'profile_uri_param_1'
	option dm_parent 'profile_1'
	option name ''
	option reference ''

For more detail about UCI parameters please see the link and for UCI schema link

How to expose the Data Model

BulkData Object exposes its data model using libbbf JSON plugin method.

You can see the JSON plugin in this link BulkData JSON

Dependencies

To successfully build bulkdatad, the following libraries are needed:

Dependency Link License
libuci https://git.openwrt.org/project/uci.git LGPL 2.1
libubox https://git.openwrt.org/project/libubox.git BSD
libjson-c https://s3.amazonaws.com/json-c_releases MIT
libcurl https://dl.uxnr.de/mirror/curl MIT