Používám TR-069 server GenieACS pro HUA ONT. Celá konfigurace (podobně jako v SNMP) je uložena systémem objekt-tag-hodnota, takže třeba jedno firewallové pravidlo je uložené jako hromada záznamů
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.Enable true
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.Order 7
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.Description accept SSH
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.Target Accept
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.TargetChain
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.Log false
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.SourceInterfaceGroup all
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.SourceInterface
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.SourceInterfaceExclude false
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.DestInterfaceGroup all
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.DestInterface
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.DestInterfaceExclude false
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.DestIPRange
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.DestIPExclude false
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.SourceIPRange
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.SourceIPExclude false
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.Protocol 6
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.ProtocolExclude false
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.DestPortList 22
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.DestPortExclude false
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.SourcePortList
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.SourcePortExclude false
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.ConnState
Device.Firewall.X_MIKROTIK_Filter.Chain.1.Rule.7.ConnStateExclude false
V registrech jsou i různé stavové informace, třeba:
Device.DeviceInfo.SoftwareVersion 6.43.4
Device.DeviceInfo.ModelName RBD52G-5HacD2HnD
Device.DeviceInfo.ProductClass hAP ac²
Device.DeviceInfo.X_MIKROTIK_SystemIdentity N176-HomeGW
GenieACS si dokáže na základě filtrů (filtr je možné postavit na hodnotě nějakých tagů) na každé zařízení naaplikovat nějaké "presety", které mohou přidat/smazat/upravit jednotlivé tagy, aplikovat soubor s firmware nebo aplikovat "provision".
Provision je potom v podstatě javascriptový kód, který dokáže číst a aplikovat jednotlivé hodnoty a jinak dělat cokoliv co javascript umí, vč. např. dotazů na externí webserver (json data...).
Pokud např. chci, aby si uživatelé parametr svých domácích wifi AP (ssid, wpa klíč) mohli nastavovat sami přes klientskou zónu, tak na pár řádku napíšu kousek kódu, který z dotazujícího-se AP vytáhne MAC adresu nebo identitu, doptá se webserveru (klienstské zony) jestli má pro tohle AP nastavení a pokud ano, tak ho aplikuje (nastaví odpovídající tagy). Systém sám si kontroluje, co je reálně nastaveno a co se tam pokouším poslat, takže pokud se opakovaně nastavuje něco co již nastavené je, na zařízení se nic neprovádí.
V zařízení se nastavuje inform interval - jak často se spojuje se serverem. Pokud jsou ale nastaveny odpovídající parametry, může se server spojovat i aktivně se zařízením. Server může mít jednotlivé úlohy pro zařízení "ve frontě"...
Celkově jsem usoudil, že nějaká alespoň trošku úplná implementace protokolu CWMP je nad mé síly, takže se musim "spokojit" s hotovým ACS serverem a jeho možnostmi.