Guidance for TR143 Diagnostic features

Hello GenieACS Community,

First and foremost, I would like to express my gratitude to the developers of this amazing product and to the entire community here for the incredible support. I have learned so much from this platform.

I am currently working on implementing TR-069 for my organization, and after thorough research, I decided to use GenieACS due to its excellent fit with our requirements. Before starting this project three months ago, I had no prior knowledge of TR-069, but thanks to this community, I have made significant progress.

I am now seeking guidance related to the TR-143 diagnostic features, as I have encountered a few challenges. Below, I have provided parameter values from a download diagnostics test I performed, which involved multiple concurrent connections.

Device.IP.Diagnostics.DownloadDiagnostics
Device.IP.Diagnostics.DownloadDiagnostics.BOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.DSCP 0
Device.IP.Diagnostics.DownloadDiagnostics.DiagnosticsState Completed
Device.IP.Diagnostics.DownloadDiagnostics.DownloadDiagnosticMaxConnections 10
Device.IP.Diagnostics.DownloadDiagnostics.DownloadDiagnosticMaxIncrementalResult 10
Device.IP.Diagnostics.DownloadDiagnostics.DownloadTransports HTTP
Device.IP.Diagnostics.DownloadDiagnostics.DownloadURL http://103.111.24.111:8088/files/100MiB.bin
Device.IP.Diagnostics.DownloadDiagnostics.EOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.EnablePerConnectionResults true
Device.IP.Diagnostics.DownloadDiagnostics.EthernetPriority 0
Device.IP.Diagnostics.DownloadDiagnostics.IPAddressUsed 103.210.25.53
Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResult
Device.IP.Diagnostics.DownloadDiagnostics.IncrementalResultNumberOfEntries 0
Device.IP.Diagnostics.DownloadDiagnostics.Interface
Device.IP.Diagnostics.DownloadDiagnostics.NumberOfConnections 10
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.1
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.1.BOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.1.EOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.1.ROMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.1.TCPOpenRequestTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.1.TCPOpenResponseTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.1.TestBytesReceived 599
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.1.TotalBytesReceived 136482733608
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.1.TotalBytesSent 21897075233
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.10
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.10.BOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.10.EOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.10.ROMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.10.TCPOpenRequestTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.10.TCPOpenResponseTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.10.TestBytesReceived 599
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.10.TotalBytesReceived 136482733608
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.10.TotalBytesSent 21897075835
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.2
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.2.BOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.2.EOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.2.ROMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.2.TCPOpenRequestTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.2.TCPOpenResponseTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.2.TestBytesReceived 599
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.2.TotalBytesReceived 136482733608
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.2.TotalBytesSent 21897076007
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.3
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.3.BOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.3.EOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.3.ROMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.3.TCPOpenRequestTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.3.TCPOpenResponseTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.3.TestBytesReceived 599
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.3.TotalBytesReceived 136482733608
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.3.TotalBytesSent 21897075921
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.4
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.4.BOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.4.EOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.4.ROMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.4.TCPOpenRequestTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.4.TCPOpenResponseTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.4.TestBytesReceived 599
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.4.TotalBytesReceived 136482733608
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.4.TotalBytesSent 21897075921
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.5
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.5.BOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.5.EOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.5.ROMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.5.TCPOpenRequestTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.5.TCPOpenResponseTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.5.TestBytesReceived 599
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.5.TotalBytesReceived 136482733608
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.5.TotalBytesSent 21897075663
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.6
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.6.BOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.6.EOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.6.ROMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.6.TCPOpenRequestTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.6.TCPOpenResponseTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.6.TestBytesReceived 599
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.6.TotalBytesReceived 136482733608
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.6.TotalBytesSent 21897075577
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.7
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.7.BOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.7.EOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.7.ROMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.7.TCPOpenRequestTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.7.TCPOpenResponseTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.7.TestBytesReceived 599
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.7.TotalBytesReceived 136482733608
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.7.TotalBytesSent 21897075491
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.8
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.8.BOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.8.EOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.8.ROMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.8.TCPOpenRequestTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.8.TCPOpenResponseTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.8.TestBytesReceived 599
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.8.TotalBytesReceived 136482733608
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.8.TotalBytesSent 21897075577
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.9
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.9.BOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.9.EOMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.9.ROMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.9.TCPOpenRequestTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.9.TCPOpenResponseTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.9.TestBytesReceived 599
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.9.TotalBytesReceived 136482733608
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResult.9.TotalBytesSent 21897075577
Device.IP.Diagnostics.DownloadDiagnostics.PerConnectionResultNumberOfEntries 10
Device.IP.Diagnostics.DownloadDiagnostics.PeriodOfFullLoading 239
Device.IP.Diagnostics.DownloadDiagnostics.ProtocolVersion IPv4
Device.IP.Diagnostics.DownloadDiagnostics.ROMTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.TCPOpenRequestTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.TCPOpenResponseTime 8/28/2024, 10:46:26 PM
Device.IP.Diagnostics.DownloadDiagnostics.TestBytesReceived 5990
Device.IP.Diagnostics.DownloadDiagnostics.TestBytesReceviedUnderFullLoading 0
Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestDuration 0
Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementInterval 0
Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementOffset 0
Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceived 134864361000
Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceivedUnderFullLoading 136482733608
Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesSent 21897075233
Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesSentUnderFullLoading 21897076007

Questions:

  1. Throughput Measurement: How can I accurately measure throughput from the parameter values I received? For example:
  • Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceived: 134,863,780,500
  • Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceivedUnderFullLoading: 136,482,147,241It appears that the CPE retains these parameter values, and I suspect that when a new request is made, the received bytes might be added to the previous values. However, I am unsure about this behavior.
  1. Time-Based Diagnostics Issue: When I perform time-based diagnostics with the default values (0), the diagnostics complete successfully. However, when I set any parameter values, I encounter the following error:
  • Device.IP.Diagnostics.DownloadDiagnostics.DiagnosticsState: Error_TransferFailedFor instance, with the following values:
  • Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestDuration: 25
  • Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementInterval: 20
  • Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementOffset: 5I have tried researching this issue online but have found it difficult to understand.

Any guidance or advice on how to proceed with these issues would be greatly appreciated.

You need to send an email to your vendor and let them know they are violating the spec. TotalBytesReceived and TotalBytesReceivedUnderFullLoading are uints, not strings.

Screenshot 2024-08-29 at 10.58.03 AM

Device.IP.Diagnostics.DownloadDiagnostics.TimeBasedTestMeasurementOffset leave this at 0.

This rough code should help you calculate the test and total kbps

const now = Date.now();

const totalReceived = declare('Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesReceived', {value: now})[0];
const testBytes = declare('Device.IP.Diagnostics.DownloadDiagnostics.TestBytesReceived', {value: now})[0];

const startTime = declare('Device.IP.Diagnostics.DownloadDiagnostics.BOMTime', {value: now})[0];
const endTime = declare('Device.IP.Diagnostics.DownloadDiagnostics.EOMTime', {value: now})[0];

const totalSent = declare('Device.IP.Diagnostics.DownloadDiagnostics.TotalBytesSent', {value: now})[0];

const diff = endTime - startTime;
const timeTakenInSeconds = diff > 0 ? diff / 1000 : 0;

// Divide by 8 to convert bytes to kilobytes
const totalKbps = ((totalReceived * 8) / timeTakenInSeconds) / 1000;
const testKbps = ((testBytes * 8) / timeTakenInSeconds) / 1000;
1 Like