TR-369 Training - USP Architecture and Use Cases

The User Services Platform is a system for managing, monitoring, deploying, troubleshooting, and controlling any kind of network connected electronics or virtual services. Developed by the Broadband Forum in TR-369, it’s intended for application developers, consumer electronics and networking manufacturers, and service providers to deploy on end-user devices including:

  • Broadband gateways, virtual gateways, and uCPE
  • Wi-Fi APs and other consumer networking gear
  • Set-top-boxes, voice endpoints, and other communication applications
  • Smart devices and smart hubs that enable the Internet of Things

Using USP, connected devices can be deployed and onboarded without the need for on-site support. Long support cycles can be enabled through managed firmware upgrades that ensure a seamless end-user experience. Multiple parties, including the end-user, can be given access to control, diagnostics, and even smart application data in a secure and privacy conscious manner.

Origins of USP

USP was developed by the experts who created the CPE WAN Management Protocol, commonly known as TR-069. USP is the natural evolution of CWMP. Since it overlaps with and improves upon many of the use cases defined in TR-069, the developers of USP designed it to co-exist with TR-069 and provide an easy migration path for those devices in the field that already make use of CWMP. In particular, USP re-uses the Device:2 data model defined in Broadband Forum TR-181 Issue 2.

Origins of USP

USP was developed by the experts who created the CPE WAN Management Protocol, commonly known as TR-069. USP is the natural evolution of CWMP. Since it overlaps with and improves upon many of the use cases defined in TR-069, the developers of USP designed it to co-exist with TR-069 and provide an easy migration path for those devices in the field that already make use of CWMP. In particular, USP re-uses the Device:2 data model defined in Broadband Forum TR-181 Issue 2.

Architecture and Use Cases

USP is comprised of a network of Controllers and Agents that allow applications to manipulate various service elements. “Service element” is term referring to the collection of objects, parameters, events, and operations that represent a certain interface or function, like Wi-Fi, performance statistics, smart home objects, and more. Service Elements are defined in an Agent’s Supported Data Model. The elements that an agent currently represents are exposed in its Instantiated Data Model.

An Agent exposes service elements to one or more controllers. It can represent service elements on a device directly, or by proxy - USP has a robust proxy mechanism to represent virtual elements or elements that may be on other systems.

An application could use a controller, interacting with one or more agents, to manage an end-user’s network and other systems, much like today’s TR-069 Auto-Configuration Servers. It could also use a controller as a user portal in the cloud, on a gateway or smart hub, or on an end-user’s smartphone. With a network of controllers and agents, it could also act as part of an automated smart home or intelligent building system.

It’s important to point out that these USP use cases are enabled in large part by its multi-controller architecture. A key difference between TR-069 and USP is this ability to have multiple control points accessing the service elements of an agent, complete with authentication, access control, and security.

USP Agent and Controller Architecture (from TR-369).

Standards and Resources

USP is made up of many different parts, most of which is defined in Broadband Forum TR-369. The entirety of TR-369 can be found on the web at usp.technology. TR-369 includes:

  • Architecture: How Agents, Controllers, and EndpointIDs are defined, as well as path name syntax for addressing service elements
  • Discovery & Advertisement: How Controllers and Agents find each other and establish first trust
  • Message Transfer Protocols: How USP binds to various transport mechanisms, including CoAP, WebSockets, and STOMP
  • Message Encoding: The USP record and message schemas and how they are encoded on the wire using Protocol Buffers
  • End-to-End Message Exchange: Defines the USP Record message used for end-to-end integrity, security, and privacy
  • Messages: The syntax and protocol behavior of the standard USP messages
  • Authentication and Authorization: The requirements for establishing trust between a Controller and Agent, as well as the access control scheme for service elements.

Service Element Data Model Definitions

The data model definition of service elements is found in the Device:2 Data Model for CWMP Endpoints and USP Agents, also known as TR-181 Issue 2. It can be found on the web at usp-data-models.broadband-forum.org. In addition to the base data model are “service” data models that define additional functionality for set top boxes and other devices.

Build your USP/TR-369 solution

Test against an automated, scriptable USP Controller with thousands of pre-defined test cases.

Learn more

Develop your solution even faster with comprehensive automated test cases and a scriptable USP Controller.