Operator network speed test application

Mediacenters support operator network speed measure feature (from fw. 4.2.20/4.3.4).
This feature can be enabled over provisioning (“speedtest_url” in “tv_stream” block). When enabled, user can lauch download speed test app over Settings-TV.

Configuration

Configuration is downloaded over HTTP GET request from URL defined in provisioning.
Example:

{
  "service": {
        "name": "Test Server",
        "publish_result" : false
  },
  "items": [
        "http://server/speedtest/1.dat",
        "http://server/speedtest/2.dat?ls=${ls}&lt=${lt}",
        "http://server/speedtest/3.dat?ls=${ls}&lt=${lt}",
        "http://server/speedtest/4.dat?ls=${ls}&lt=${lt}",
  ]
}

service block defined server options: name is service name to display in UI, publish_result defines if result needs to be published back to server.
items block defines URLs of files with random data for download test. It is recommended to have at least 4 segments. Each next segment can get as parameter size (replaces ${ls}) and time in ms (replaces ${lt}) of previous segment download. This allows size variation of next segments depending on speed of previous segments.

Result

Download speed result is displayed to used as summ of all files devided to total download time.
Result can be published to server (if enabled in configuration).
Result is published to the same URL (URL of configuration) over HTTP POST.

{
  "items":[
	{
		"size":20971520,
		"timeMs":1845,
		"url":"http://server/speedtest/1.dat"
	},
	{
		"size":20971520,
		"timeMs":1786,
		"url":"http://server/speedtest/2.dat"
	},
	{
		"size":20971520,
		"timeMs":1783,
		"url":"http://server/speedtest/3.dat"
	},
	{
		"size":20971520,
		"timeMs":1790,
		"url":"http://server/speedtest/4.dat"
	}
	]
}