NetXolNetXol
Technology

TR-069 vs TR-369 (USP) in 2026: a practical guide for FTTH operators

12 May 2026 14 min· NetXol Engineering
TR-069 vs TR-369 (USP) in 2026: a practical guide for FTTH operators

For most operators reading this, TR-069 is not an interesting topic. It is the protocol that quietly keeps several million ONTs configured, firmware-patched and authenticated. Then something breaks at scale — a vendor firmware push goes wrong, an ACS database lock takes down provisioning for an hour — and suddenly the protocol becomes very interesting. This article is for that moment.

A quick history

TR-069 — formally "CWMP" or CPE WAN Management Protocol — was first published by the Broadband Forum in 2004 and has been the dominant protocol for managing residential CPE ever since. It survived because it solved a real problem (remote configuration of millions of devices behind NAT) and because the alternative — sending engineers to homes — was unthinkable at scale.

TR-369, branded "USP" (User Services Platform), was published in 2018 and has been steadily maturing. It is not a small revision of TR-069. It is a re-architecture for an era where the home is full of connected things, multiple controllers want to manage the same gateway, and we expect real-time control rather than periodic polling.

What is actually different

TransportTR-069: HTTP(S) request-response, ACS-initiated rare. USP: HTTPS, WebSockets, MQTT, STOMP — multiple transports, bi-directional.
InitiatorTR-069: device informs ACS, ACS responds. USP: controllers can push at any time without waiting for a connect-request.
Controllers per agentTR-069: effectively one ACS. USP: multiple controllers — e.g. ISP, smart-home, enterprise — can coexist on one agent.
Data modelBoth build on TR-181 device data model — so most parameters carry over.
SecurityTR-069: TLS + ACS auth. USP: TLS, certificates, message-level integrity, and a stronger role/identity model.
DiscoveryTR-069: DHCP options 43/125 or hard-coded ACS URL. USP: same plus mDNS, DNS-SD for local controllers.

Plain-English summary

TR-069 is a periodic, ACS-led pattern. USP is event-driven and multi-controller. If you only ever push config once an hour and trigger ad-hoc actions occasionally, you barely notice the difference. If you want sub-second reaction times, multi-tenant control, or to publish CPE telemetry into a streaming pipeline, USP makes that easy and TR-069 makes it painful.

What does NOT change

The TR-181 device data model — the parameter tree your ONT and gateway already speak — carries forward to USP. This matters more than any other single fact. The investment you have in parameter knowledge, profiles, scripts and tests is preserved. You do not throw away your operational vocabulary, you just learn a faster verb to send it with.

The migration question

The most common question we get is: do we need to migrate, and when. The honest answer is "not urgently for what you do today, but probably yes within 3 years." Here is a pragmatic framing:

  1. 1If your installed CPE base is 100% TR-069 and you are not planning multi-controller use cases, run TR-069 for the next 18–24 months while you do due diligence.
  2. 2If you are buying new CPE this year, specify USP support as a hard requirement on the RFP. Most modern silicon vendors (Realtek, Broadcom, MediaTek) ship USP-capable agents.
  3. 3Pick an ACS that speaks both protocols (TR-069 and TR-369) over a single data model — so the migration is a per-device flag flip, not a re-platform.
  4. 4Treat the first 5–10% of your fleet as a pilot. Most of the operational learning happens at small scale and saves you from a forklift later.

Common failure modes — and what they teach

A useful way to evaluate any ACS — yours, ours, or any vendor's — is to ask how it handles the failure modes we keep seeing in production. None of them are theoretical; we have hit each of these in the field.

  • Connect-request storms after a regional outage — when 200,000 ONTs all come back at once.
  • Vendor firmware push that bricks 0.3% of a batch — and you need to roll back fast.
  • Parameter-tree drift between vendor firmware versions — same TR-181 path, different default behaviour.
  • NAT misbehaviour blocking ACS-initiated connect-requests — needing alternative trigger paths.
  • Profile precedence conflicts — two profiles target the same parameter with different values.

Stress-test the storm

Before you trust an ACS in production, simulate a 5% fleet flap and watch it. We have seen production-grade ACS deployments fall over at 30,000 concurrent informs because the DB locked. NetXol's ACS specifically targets a 200,000 concurrent inform budget — most of our customers will never need that headroom, but the architecture forces the right design choices everywhere else.

AI changes the operating model, not the protocol

TR-069 and USP are mechanisms. They do not, on their own, decide what to push, when, or to whom. That used to be the job of a human operator with a spreadsheet of bulk-update plans. Increasingly, it is the job of an AI control plane that watches the network, reasons about the right action and authorises it under policy.

Practically, this means a TR-069 ACS in 2026 should not just be a remote-control panel. It should be an executor for an AI brain that knows the topology, the subscriber state and the historical behaviour, and can issue a parameter change with confidence that it will not make things worse. NetXol's ACS is the executor side of that loop in our platform; the AI Brain is the controller.

Further reading

Put your ISP on autopilot

See NetXol on your own network in a live demo — or send us your RFP and let our team scope the whole project for you.