Software Design Description: Save and Show Inform Retry Count
This document describes the implementation of a feature to track and display the number of Inform retries sent by TR-069 devices, helping you troubleshoot device connectivity issues via the Management Portal.
1. Introduction
This document describes the implementation of a feature to track and display the number of Inform retries sent by TR-069 devices. This enhancement assists administrators in troubleshooting device connectivity issues by surfacing retry counts in the Management Portal.
2. Functional Overview
Every time a TR-069 device sends a Periodic Inform message containing a <RetryCount>, the backend updates the corresponding record in the database.
If the value is greater than zero, it is displayed in the Device Info section of the Management Portal.
3. Database Changes
Table: cpe
A new column has been added:
| Column Name | Type | Constraints | Default |
|---|---|---|---|
retry_count |
integer |
NOT NULL |
0 |
This column stores the last received Retry Count from the device.
4. Liquibase Migration
A Liquibase changeset was added to support the schema update:
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.11.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
<property name="clob.type" value="clob" dbms="oracle"/>
<property name="clob.type" value="longtext" dbms="mysql"/>
<property name="blob.type" value="blob" dbms="oracle"/>
<property name="blob.type" value="mediumblob" dbms="mysql"/>
<property name="now" value="sysdate" dbms="oracle"/>
<property name="now" value="now()" dbms="mysql"/>
<property name="number" value="int(11) unsigned" dbms="mysql"/>
<property name="number" value="number(11)" dbms="oracle"/>
<property name="big_number" value="bigint(20) unsigned" dbms="mysql"/>
<property name="big_number" value="number(20)" dbms="oracle"/>
<property name="tiny_number" value="tinyint(1)" dbms="mysql"/>
<property name="tiny_number" value="number(1)" dbms="oracle"/>
<property name="date" value="datetime" dbms="mysql"/>
<property name="date" value="date" dbms="oracle"/>
<changeSet id="6.4.11.35456" author="vadim">
<addColumn schemaName="ftacs" tableName="cpe">
<column name="retry_count" type="${number}" defaultValueNumeric="0">
<constraints nullable="false"/>
</column>
</addColumn>
</changeSet>
</databaseChangeLog>
-
This change ensures the column is present and initialized to 0 for all existing rows.
-
You must apply this migration as part of the deployment for this feature.