<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Dodderware Blog</title><description>Plain answers on TR-369 (USP), TR-069 and GPON ONT operations, each fact traced to the Broadband Forum spec. From the engineers behind DWS Support.</description><link>https://blog.dodderware.com/</link><language>en-us</language><item><title>What is TR-369, the User Services Platform (USP)?</title><link>https://blog.dodderware.com/what-is-tr-369/</link><guid isPermaLink="true">https://blog.dodderware.com/what-is-tr-369/</guid><description>TR-369 is the Broadband Forum specification of the User Services Platform (USP), an architecture, protocol and data model for managing, monitoring, troubleshooting and controlling connected devices. Software on the device, the Agent, exposes its data model to one or more Controllers, which exchange Protocol Buffers messages with it over WebSocket, MQTT, STOMP or UNIX domain sockets. It uses the same Device:2 (TR-181) data model as TR-069.</description><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate><category>TR-369 / USP</category><category>TR-369</category><category>USP</category><category>User Services Platform</category><category>TR-069</category><category>CWMP</category><category>TR-181</category><category>Broadband Forum</category></item><item><title>TR-069 vs TR-369: what changes from CWMP to USP?</title><link>https://blog.dodderware.com/tr-069-vs-tr-369/</link><guid isPermaLink="true">https://blog.dodderware.com/tr-069-vs-tr-369/</guid><description>TR-069 (CWMP) and TR-369 (USP) are Broadband Forum protocols for managing customer devices, and they share the Device:2 data model of TR-181, so the same parameter paths carry over. What changes is everything around it. CWMP has a single ACS, while a USP Agent answers to one or more Controllers, each with its own Role, and exchanges Protocol Buffers messages over WebSocket, MQTT, STOMP or UNIX domain sockets.</description><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate><category>TR-369 / USP</category><category>TR-069 vs TR-369</category><category>CWMP vs USP</category><category>TR-069</category><category>TR-369</category><category>USP</category><category>CWMP</category><category>ACS</category><category>TR-181</category></item><item><title>USP Agent vs Controller: what is the difference, and what is an Endpoint ID?</title><link>https://blog.dodderware.com/usp-agent-vs-controller/</link><guid isPermaLink="true">https://blog.dodderware.com/usp-agent-vs-controller/</guid><description>In USP (TR-369), an Agent is the Endpoint that exposes Service Elements to one or more Controllers, and a Controller is the Endpoint that manipulates those Service Elements through one or more Agents. Each Endpoint is named by an Endpoint ID built as authority-scheme:[authority-id]:instance-id, such as oui:00256D:my-unique-bbf-id-42, where the scheme decides who guarantees that the ID is unique.</description><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate><category>TR-369 / USP</category><category>USP Agent</category><category>USP Controller</category><category>Endpoint ID</category><category>TR-369</category><category>USP Endpoint</category><category>authority-scheme</category><category>Broadband Forum</category></item><item><title>TR-369 WebSocket vs MQTT vs STOMP: how do the USP transports compare?</title><link>https://blog.dodderware.com/usp-mtp-websocket-mqtt-stomp/</link><guid isPermaLink="true">https://blog.dodderware.com/usp-mtp-websocket-mqtt-stomp/</guid><description>TR-369 defines four Message Transfer Protocols (MTPs) to carry USP Records. WebSocket links an Agent and a Controller directly over one long-lived session. STOMP and MQTT route Records through a broker, by destination or by Topic. The UNIX Domain Socket MTP connects an Agent and a Controller running as separate processes on the same device. CoAP was obsoleted in USP 1.3.</description><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate><category>TR-369 / USP</category><category>USP MTP</category><category>TR-369 WebSocket</category><category>USP over MQTT</category><category>USP over STOMP</category><category>UNIX domain socket</category><category>Message Transfer Protocol</category></item><item><title>How is TR-369 secured? TLS, end-to-end encryption, certificates and roles</title><link>https://blog.dodderware.com/tr-369-security/</link><guid isPermaLink="true">https://blog.dodderware.com/tr-369-security/</guid><description>TR-369 secures USP at three levels. Each Message Transfer Protocol must use secure transport, normally TLS, when traffic crosses network boundaries. When brokers or proxies sit in the path, Secure Message Exchange can run TLS inside USP Records between the two Endpoints. And every Controller is authenticated and given a Role, whose rwxn permissions the Agent checks before acting on a Message.</description><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate><category>TR-369 / USP</category><category>TR-369 security</category><category>USP security</category><category>USP TLS</category><category>Secure Message Exchange</category><category>Trust On First Use</category><category>Trusted Broker</category><category>USP roles</category></item><item><title>How do you upgrade firmware on a USP (TR-369) device?</title><link>https://blog.dodderware.com/usp-firmware-upgrade/</link><guid isPermaLink="true">https://blog.dodderware.com/usp-firmware-upgrade/</guid><description>In TR-369, a Controller upgrades firmware by invoking Download(), through an Operate message, on an instance of the Device.DeviceInfo.FirmwareImage table. The Agent downloads the file into that image slot and validates it, checksum included. A single-image device activates it at once with AutoActivate. A device with two or more images downloads to a non-active slot, then switches with Activate() or a reboot.</description><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate><category>TR-369 / USP</category><category>USP firmware upgrade</category><category>TR-369 firmware</category><category>Download()</category><category>Activate()</category><category>FirmwareImage</category><category>dual image firmware</category><category>OperationComplete</category></item><item><title>How do USP notifications and subscriptions work in TR-369?</title><link>https://blog.dodderware.com/usp-notifications-subscriptions/</link><guid isPermaLink="true">https://blog.dodderware.com/usp-notifications-subscriptions/</guid><description>USP (TR-369) has no Subscribe message. A Controller subscribes by using Add to create a row in the Agent’s Device.LocalAgent.Subscription. table. When the subscribed event occurs, the Agent sends a Notify carrying a ValueChange, ObjectCreation, ObjectDeletion, OperationComplete or Event notification, such as Boot!. If NotifRetry is on, the Agent asks for a response and retries until it gets one or the notification expires.</description><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate><category>TR-369 / USP</category><category>USP notifications</category><category>USP subscription</category><category>TR-369 Notify</category><category>ValueChange</category><category>OperationComplete</category><category>Boot! event</category><category>TR-369</category></item><item><title>How does a USP Agent find its Controller? DHCP, DNS-SD and mDNS</title><link>https://blog.dodderware.com/usp-discovery-dhcp-mdns/</link><guid isPermaLink="true">https://blog.dodderware.com/usp-discovery-dhcp-mdns/</guid><description>A USP Agent needs its Controller’s Endpoint ID, credentials and Role, and enough to reach it, meaning an MTP, address, port and path. TR-369 lets that come from firmware, from an already-trusted Controller, from a bootstrap interface or from the network. DHCPv4 option 125 or DHCPv6 option 17 can deliver one Controller’s URL or FQDN and Endpoint ID, and DNS-SD over DNS or mDNS resolves the rest.</description><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate><category>TR-369 / USP</category><category>USP discovery</category><category>TR-369 DHCP option 125</category><category>DNS-SD</category><category>mDNS</category><category>USP Controller</category><category>USP Agent</category><category>_usp-agt-ws._tcp</category><category>TR-369</category></item><item><title>What RX power (dBm) is healthy on a GPON ONT?</title><link>https://blog.dodderware.com/gpon-ont-optical-power/</link><guid isPermaLink="true">https://blog.dodderware.com/gpon-ont-optical-power/</guid><description>In DWS Support’s default bands, a GPON ONT’s RX optical power is healthy from −24 to −8 dBm, with an optimum around −14 dBm. Readings from −27 up to −24 dBm are a warning, and anything below −27 or above −8 dBm is critical. TX power is healthy from 0.5 to 5 dBm. These are product defaults, not a standard, and operators can set their own.</description><pubDate>Wed, 28 Oct 2026 00:00:00 GMT</pubDate><category>GPON and FTTH operations</category><category>GPON RX power</category><category>ONT optical power</category><category>ONT RX power dBm</category><category>ONT TX power</category><category>OpticalSignalLevel</category><category>TR-181</category><category>FTTH troubleshooting</category></item></channel></rss>