# TR-069 vs TR-369: ¿qué cambia de CWMP a USP?

Equipo de ingeniería de Dodderware · Publicado 2026-10-28 · https://blog.dodderware.com/es/tr-069-vs-tr-369/

[Read in English](https://blog.dodderware.com/tr-069-vs-tr-369/)

> **Respuesta corta:** TR-069 (CWMP) y TR-369 (USP) son protocolos del Broadband Forum para gestionar equipos de cliente y comparten el modelo de datos Device:2 de TR-181, así que las mismas rutas de parámetros siguen valiendo. Cambia todo lo demás. CWMP tiene un único ACS, mientras que un Agente USP responde a uno o más Controladores, cada uno con sus roles, e intercambia mensajes Protocol Buffers por WebSocket, MQTT, STOMP o sockets UNIX.

Si tus equipos responden hoy a un ACS TR-069, seguro que alguien ya te preguntó cuándo van a pasar a TR-369. Antes de
planear nada, conviene saber exactamente qué cambia. La versión corta: el modelo de datos se queda, y casi todo lo que
lo rodea cambia. Esta comparación se limita a lo que dice la especificación TR-369 sobre CWMP, más lo básico de cómo
funciona una sesión CWMP.

## ¿Qué tienen en común TR-069 y TR-369?

TR-069 es el CPE WAN Management Protocol (CWMP). TR-369 lo cita como TR-069 Amendment 6, publicado por el Broadband
Forum en 2018 (§1.3.2), y une a los dos protocolos a través del modelo de datos: entre los casos de uso de USP incluye
la migración sencilla desde CWMP, gracias al mismo modelo de datos y las mismas herramientas de modelado (§1.1).

En concreto, USP soporta el **Device:2 Data Model**, especificado en TR-181 Issue 2, y el esquema y las reglas de sus
Objects, Parameters, Events y Commands vienen de TR-106 (§2.4). El propio título de TR-106 deja claro a quién sirve:
“Data Model Template for CWMP Endpoints and USP Agents” (§1.3.2).

Para un ingeniero de soporte, eso quiere decir que una ruta como `Device.WiFi.SSID.1.SSID` significa lo mismo en los dos
protocolos. Hasta parte del comportamiento de las consultas se mantiene: la especificación señala que quien conoce
TR-069 va a reconocer cómo un Get de USP trata los Partial Paths y los Complete Paths (§7.5.1).

Una advertencia. TR-369 menciona un único modelo de datos soportado, Device:2 (§2.4). Algunos parques TR-069 todavía
tienen equipos antiguos que reportan bajo la raíz `InternetGatewayDevice.` de TR-098, y en esos equipos las rutas que tu
área de soporte conoce hoy no son las que va a usar USP.

- **Message Transfer Protocol**: Nuevo en USP: WebSocket, MQTT, STOMP o UNIX Domain Socket lleva cada Record.
  - **USP Record y USP Message**: Nuevo en USP: Protocol Buffers versión 3, con los Endpoint ID de origen y de destino. (usp-record-1-5.proto, usp-msg-1-5.proto)
    - **Device:2 Data Model (TR-181)**: Compartido con CWMP: los mismos Objects, Parameters, Events y Commands, definidos con TR-106.

*Qué se mantiene y qué cambia de TR-069 a TR-369: el modelo de datos del centro es compartido, las capas que lo rodean son nuevas. Diagrama de Dodderware, basado en TR-369 §1.1, §2.4, §4 y §5.*

## ¿En qué se diferencian TR-069 y TR-369?

Puestos lado a lado, las diferencias están en quién gestiona el equipo y en cómo le llegan los mensajes:

|                                            | TR-069 (CWMP)                                                   | TR-369 (USP)                                                                   |
| ------------------------------------------ | --------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| Quién gestiona el equipo                   | Un único servidor de autoconfiguración (ACS) (§7.6.1)           | Uno o más Controladores, cada uno con sus propios roles (§1.4, §8)             |
| Software en el equipo                      | El cliente CWMP                                                 | El Agente, identificado por su Endpoint ID (§1.4, §2.2)                        |
| Modelo de datos                            | Device:2 (TR-181); los equipos antiguos pueden seguir en TR-098 | Device:2 (TR-181), con las reglas de TR-106 (§2.4)                             |
| Codificación                               | Mensajes SOAP                                                   | Protocol Buffers versión 3 (§5)                                                |
| Transporte                                 | Sesiones HTTP que el equipo abre con un Inform                  | Un Message Transfer Protocol: WebSocket, MQTT, STOMP o UNIX Domain Socket (§4) |
| Llegar al equipo en el momento             | Connection Request, un HTTP GET a una URL que reportó el equipo | Una sesión de larga duración, abierta y reutilizada (§4.3.2, §4.4.1, §4.5.1)   |
| Dónde está la dirección del gestor         | `Device.ManagementServer.`                                      | `Device.LocalAgent.Controller.{i}.` (§3.1)                                     |
| Cambios de valor que hizo el propio gestor | No se le notifican al ACS (§7.6.1)                              | Se notifican según lo que indique cada suscripción (§7.6.1)                    |

## ¿Quién gestiona el equipo: un ACS o varios Controladores?

Este es el cambio de arquitectura más grande. TR-369 describe al ACS como el equivalente en CWMP de un Controlador y
recuerda que CWMP tiene uno solo (§7.6.1). Por eso un equipo TR-069 no le notifica al ACS los cambios de valor que el
mismo ACS pidió: no hay nadie más a quien avisarle. USP elimina ese atajo. El Agente sigue lo que indica cada
suscripción, sin importar quién la creó (§7.6.1), porque expone sus Service Elements a uno o más Controladores (§1.4).

Con varios gestores en un mismo equipo, los permisos pasan a ser clave. Los Controladores se autentican y cada uno
recibe roles que definen qué puede leer, cambiar u operar, y a qué puede suscribirse (§8). La plataforma del operador,
la app del cliente y el servicio de un socio pueden compartir un gateway sin compartir los mismos derechos. Cada parte
se identifica con un Endpoint ID, y dos de sus esquemas, `os` y `ops`, lo arman con el OUI del fabricante, la clase de
producto y el número de serie (§2.2.1), datos que los operadores ya usan para identificar sus CPE. Más detalles en
[Agente vs Controlador USP](https://blog.dodderware.com/es/agente-vs-controlador-usp/).

## ¿Cómo le llegan los mensajes al equipo?

En CWMP, el equipo inicia la conversación. Abre una sesión HTTP hacia el ACS con un Inform, y el ACS envía sus
solicitudes, como GetParameterValues o SetParameterValues, en mensajes SOAP dentro de esa sesión. Cuando el ACS necesita
al equipo de inmediato, envía un Connection Request, un HTTP GET a una URL que el equipo reportó. Si falla, el trabajo
espera hasta el siguiente Inform periódico del equipo.

TR-369 no define ningún Connection Request. Los USP Records viajan sobre un Message Transfer Protocol (§4): WebSocket,
STOMP, MQTT o UNIX Domain Socket, y un Agente puede soportar más de uno (§4.1.1). Los MTP de red mantienen sesiones de
larga duración que se reutilizan para los Records siguientes (§4.3.2, §4.4.1, §4.5.1). Con WebSocket cualquiera de los
dos lados puede abrir la sesión, y el Agente tiene que poder hacer ambas cosas (R-WS.5, R-WS.6), pero la especificación
espera que, en general, sea el Agente quien la establezca, para no exponer un puerto abierto hacia Internet (§4.3.2).

También cambia lo que viaja adentro. En lugar de sobres SOAP, los USP Records y Messages se codifican con Protocol
Buffers versión 3, según los esquemas `usp-record-1-5.proto` y `usp-msg-1-5.proto` (§5). Para comparar los transportes,
lee [transportes USP comparados](https://blog.dodderware.com/es/mtp-usp-websocket-mqtt-stomp/).

> **¿Sabías que…?**
>
> Protocol Buffers no borró la herencia de TR-069. Los valores de los Parameters dentro de los mensajes USP son strings de
> Protocol Buffers que siguen las representaciones en texto de los tipos de datos de TR-106, y TR-106 dice que esos tipos
> usan un subconjunto limitado de los tipos de datos por defecto de SOAP. Así que la referencia última para escribir en
> USP un valor como un `dateTime` sigue siendo XML Schema (§5.1).

## ¿Pueden convivir equipos TR-069 y TR-369 en la misma red?

Sí, y la especificación lo tiene previsto. TR-369 conserva un mecanismo definido originalmente en CWMP, en el que un
gateway y un equipo final intercambian información por opciones DHCP para que un ACS o un Controlador puedan saber si
están en la misma LAN (§3.4). Los equipos USP lo implementan sin cambiar nada del funcionamiento de CWMP (§3.4).

El Agente incluye el OUI del fabricante, el número de serie y la clase de producto en opciones DHCP específicas del
fabricante (vendor-specific), y el servidor DHCP del gateway responde con los suyos. El Agente guarda lo que aprende en
`Device.GatewayInfo`, con `ManagementProtocol` en “CWMP”. Si un registro mDNS desde la misma dirección IP anuncia un
Endpoint USP, el Agente lo cambia a “USP” y anota ese Endpoint ID (R-DIS.2a a R-DIS.2d). Los códigos de las opciones
están en [cómo un Agente USP encuentra a su Controlador](https://blog.dodderware.com/es/descubrimiento-usp-dhcp-mdns/).

## ¿Cómo se migra un parque de TR-069 a TR-369?

TR-369 no define un plan de migración, y en ningún momento dice que USP reemplace a CWMP. Lo que aporta es el material
para una migración gradual: el mismo modelo de datos, para que las configuraciones y el conocimiento de soporte se
mantengan (§1.1, §2.4); GatewayInfo, para que las LAN mixtas sigan funcionando (§3.4); y una tabla
`Device.LocalAgent.Controller` que un Controlador en el que el Agente ya confía puede configurar (§3.1).

Un equipo solo habla USP cuando su firmware incluye un Agente USP, así que en la práctica los parques migran modelo por
modelo y equipo por equipo, no en una sola fecha. La pregunta operativa real es cómo operar los dos protocolos en
paralelo durante todo lo que dure la transición. El panorama completo de USP está en [qué es
TR-369](https://blog.dodderware.com/es/que-es-tr-369/).

> **Dónde encaja DWS Support**
>
> Pasar a TR-369 no tiene que ser un cambio de ACS de un día para otro. En DWS Support, los equipos TR-069 y USP conviven
> en el mismo parque y en los mismos flujos de trabajo, y una sola consola gestiona cada equipo por TR-069 o por TR-369,
> según el equipo. Los equipos TR-069 funcionan con GenieACS o con un ACS integrado opcional, que se elige por equipo, y
> los equipos USP con un controlador nativo que se conecta a los Agentes por WebSocket.
>
> [Conoce DWS Support](https://dodderware.com/es/productos/dws-support/)

## ¿Sabías que…?

- TR-369 incluye entre los casos de uso de USP la migración sencilla desde CWMP, gracias al mismo modelo de datos y las mismas herramientas de modelado. (TR-369 §1.1)
- En CWMP el equipo no le notifica al ACS los cambios de valor que el propio ACS provocó, porque hay un solo ACS. Un Agente USP sigue cada suscripción sin importar quién la creó. (TR-369 §7.6.1)
- Las reglas del modelo de datos compartido están en TR-106, cuyo título es “Data Model Template for CWMP Endpoints and USP Agents”. (TR-369 §1.3.2)
- Un Agente USP registra en Device.GatewayInfo si el gateway de su LAN se gestiona por “CWMP” o por “USP”, a partir de opciones DHCP y de mDNS. (TR-369 §3.4.1)
- Un Agente USP debe poder abrir una sesión WebSocket y también aceptar la que abra un Controlador. Aceptarla pasó a ser obligatorio en USP 1.2, pensando en el uso dentro del hogar. (TR-369 §4.3.2)

## Preguntas frecuentes

### ¿TR-369 reemplaza a TR-069?

La especificación TR-369 no dice que reemplace a TR-069. Incluye entre los casos de uso de USP la migración sencilla desde CWMP, gracias al mismo modelo de datos y las mismas herramientas de modelado, y conserva un mecanismo de CWMP, el intercambio de GatewayInfo por DHCP, para que los equipos CWMP y USP de una misma LAN se reconozcan.

### ¿TR-069 y TR-369 usan el mismo modelo de datos?

Sí. USP soporta el Device:2 Data Model, especificado en TR-181 Issue 2, con las reglas de sus Objects, Parameters, Events y Commands definidas en TR-106. Es la misma familia de modelo de datos que usan los equipos TR-069. TR-369 menciona Device:2 como su único modelo de datos soportado.

### ¿Cuál es el equivalente de un ACS en TR-369?

El Controlador. La propia TR-369 describe al servidor de autoconfiguración (ACS) como el equivalente en CWMP de un Controlador. La diferencia es que un equipo CWMP reporta a un único ACS, mientras que un Agente USP puede atender a uno o más Controladores, cada uno con sus propios roles.

### ¿TR-369 sigue usando SOAP y HTTP?

No para sus mensajes. Los USP Records y Messages se codifican con Protocol Buffers versión 3 y viajan sobre un Message Transfer Protocol, que la especificación actual define para WebSocket, STOMP, MQTT y UNIX Domain Socket. TR-069 intercambia mensajes SOAP en sesiones HTTP que el equipo abre con un Inform.

### ¿Un equipo USP necesita un Connection Request como uno TR-069?

TR-369 no define ningún Connection Request. Sus MTP de red mantienen sesiones de larga duración que se reutilizan para los Records siguientes. Con WebSocket, la especificación espera que sea el Agente quien abra la sesión, para no exponer un puerto abierto hacia Internet, aunque el Agente también debe aceptar una sesión que abra un Controlador.

### ¿Pueden convivir equipos TR-069 y TR-369 en la misma LAN?

Sí. TR-369 conserva un mecanismo definido primero en CWMP, el intercambio de GatewayInfo por opciones DHCP específicas del fabricante, para que un Agente USP reconozca a un gateway CWMP y un cliente CWMP reconozca a un Agente USP, sin cambiar nada del funcionamiento de CWMP.

## Fuentes

- Broadband Forum, TR-369 – The User Services Platform, Issue 1 Amendment 5 (USP 1.5), enero de 2026.
- Dodderware, documentación de producto e ingeniería de DWS Support.
- §1.1: Resumen ejecutivo, con la migración sencilla desde CWMP
- §1.3.2: Referencias (TR-069 Amendment 6, TR-106, TR-181 Issue 2)
- §1.4, §2.2.1: Definiciones de Agent y Controller, esquemas de autoridad del Endpoint ID
- §2.4: Modelos de datos (Device:2, TR-181, TR-106)
- §3.1: Información del Controlador en el Agente (Device.LocalAgent.Controller)
- §3.4, §3.4.1: Uso de DHCP para intercambiar GatewayInfo con equipos CWMP
- §4, §4.1.1, §4.3.2, §4.4.1, §4.5.1: Message Transfer Protocols, varios MTP, sesiones de larga duración
- §5, §5.1: Codificación de los mensajes y de los valores de los Parameters
- §7.5.1, §7.6.1: El mensaje Get y las suscripciones, con sus notas para quien viene de CWMP
- §8: Autenticación y autorización (roles de los Controladores)

[Leer la especificación TR-369](https://usp.technology/specification/index.htm)

TR-369 © The Broadband Forum. Todos los derechos reservados. Citado brevemente y parafraseado con fines explicativos; los diagramas son de Dodderware.

---

**Gestiona equipos TR-069 y TR-369 desde una sola consola.** DWS Support reúne cada ONT y router del hogar en una consola web, hable el protocolo que hable: TR-069 por GenieACS o un ACS integrado, TR-369 por un controlador USP nativo. Se instala en tu propia infraestructura. [Solicita una demo](https://dodderware.com/es/productos/dws-support/#get-started)
