TR-369 / USP
TR-069 vs TR-369: ¿qué cambia de CWMP a USP?
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.
¿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
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.
- usp-record-1-5.proto
- usp-msg-1-5.proto
¿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.
¿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.
¿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.
¿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.
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.1Resumen ejecutivo, con la migración sencilla desde CWMP
- §1.3.2Referencias (TR-069 Amendment 6, TR-106, TR-181 Issue 2)
- §1.4, §2.2.1Definiciones de Agent y Controller, esquemas de autoridad del Endpoint ID
- §2.4Modelos de datos (Device:2, TR-181, TR-106)
- §3.1Información del Controlador en el Agente (Device.LocalAgent.Controller)
- §3.4, §3.4.1Uso de DHCP para intercambiar GatewayInfo con equipos CWMP
- §4, §4.1.1, §4.3.2, §4.4.1, §4.5.1Message Transfer Protocols, varios MTP, sesiones de larga duración
- §5, §5.1Codificación de los mensajes y de los valores de los Parameters
- §7.5.1, §7.6.1El mensaje Get y las suscripciones, con sus notas para quien viene de CWMP
- §8Autenticación y autorización (roles de los Controladores)
TR-369 © The Broadband Forum. Todos los derechos reservados. Citado brevemente y parafraseado con fines explicativos; los diagramas son de Dodderware.