icwmp/bulkdata/bulkdata.md
2019-12-28 11:57:09 +01:00

6.7 KiB

README

icwmp_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 icwmp_bulkdatad UCI configuration is located in '/etc/config/cwmp_bulkdata', and contains 4 sections: bulkdata, profile, profile_parameter and profile_http_request_uri_parameter.

config bulkdata 'bulkdata'
	option enable '0'
	option log_level '3'

config profile
	option profile_id '1'
	option enable '0'
	option csv_encoding_row_time_stamp 'unix'
	option json_encoding_report_time_stamp 'unix'
	option http_retry_minimum_wait_interval '5'
	option http_retry_interval_multiplier '2000'

config profile_parameter
	option profile_id '1'
	option name ''
	option reference ''

config profile_http_request_uri_parameter
	option profile_id '1'
	option name ''
	option reference ''

bulkdata section

It defines bulkdata configuration: enable and log_level.

Name Type Description
enable boolean Enables the BulkData feature if set to 1.
log_level integer Specifies the log type to use, by default 'INFO'. The possible types are 'EMERG', 'ALERT', 'CRITIC' ,'ERROR', 'WARNING', 'NOTICE', 'INFO' and 'DEBUG'.

profile section

It defines the profile section configuration: enable, name,... The possible options for profile section are listed below:

Name Type Description
profile_id integer The profile id to use.
enable boolean If set to 1, enables the bulkdata profile.
alias string The alias of the profile.
name string The name of the profile.
nbre_of_retained_failed_reports integer The number of failed reports to be retained and transmitted at the end of the current reporting interval.
protocol string The protocol used for the collection profile.
encoding_type string The encoding type used for the collection profile.
reporting_interval integer The reporting interval in seconds.
time_reference integer The time reference to determine when the profile will be transmitted to the ACS collector.
csv_encoding_field_separator string The field separator to use when encoding CSV data.
csv_encoding_row_separator string The row separator to use when encoding CSV data.
csv_encoding_escape_character string The escape character to use when encoding CSV data.
csv_encoding_report_format string Describes how reports will be formatted. Two possible formats are supported: 'ParameterPerRow' and 'ParameterPerColumn'.
csv_encoding_row_time_stamp string The format of the timestamp to use for data inserted into the row. The row time stamp supported are 'Unix-Epoch', 'ISO-8601' and 'None'.
json_encoding_report_format string Describes the report format. The supported report formats are 'ObjectHierarchy' and 'NameValuePair'.
json_encoding_report_time_stamp string The format of the timestamp to use for the JSON Object named "CollectionTime". The supported timestamp are 'Unix-Epoch', 'ISO-8601' and 'None'.
http_url string The URL of the collection server.
http_username string The username of the collection server.
http_password string The password of the collection server.
http_compression string The HTTP Compression mechanism used by the collection server. The supported compression mechanism are 'GZIP', 'Compress' and 'Deflate'.
http_method string The HTTP method used by the collection server. Two methods are supported: 'POST' and 'PUT'.
http_use_date_header boolean If set to 1, the CPE encodes the HTTP Date Header.
http_retry_enable boolean If set to 1, the CPE retries unsuccessful attempts to transfer data.
http_retry_minimum_wait_interval integer The data transfer retry wait interval.
http_retry_interval_multiplier integer The retry interval multiplier.
http_persist_across_reboot boolean If set to 1, failed data transfers must be persisted across reboots.

profile_parameter section

It defines the profile_parameter section configuration: profile_id, name, reference.

Name Type Description
profile_id integer The id of the used profile.
name string The name of the profile parameter.
reference string The reference of the profile parameter.

profile_http_request_uri_parameter section

It defines the profile_http_request_uri_parameter section configuration: profile_id, name, reference.

Name Type Description
profile_id integer The id of the used profile.
name string The name of the Request-URI parameter.
reference string The reference of the profile parameter.

Dependencies

To successfully build icwmp_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
libbbfdm https://dev.iopsys.eu/iopsys/bbf.git LGPL 2.1