TR-369 or User Services Platform (USP) is a further development of Broadband Forum, the standardized protocol for monitoring, managing, controlling and upgrading connected devices. Its aim to create an easily managed, interoperable and application enabled device ecosystem. The devices involved in this ecosystem include routers, gateways, voice systems and set-top-boxes, Wi-Fi APs, smart home hubs, and the IoT, in other words the wide range of network connected consumer electronics.
What does USP protocol allow?
- Perform overall management of consumer connected devices
- Easily map the home network for controlling quality of services and monitoring possible threats
- Exercise safe control over IoT, Smart Home, and smart networking functions locally or from the Cloud
- Bootstrap and configure newly installed or purchased devices and virtual services
- Enable IoT and consumer electronics upgradability for critical security patches
As extension and further development of widely used TR-069 this protocol allows to use TR-181i2 - Device:2 Data Model for TR-069 devices and USP Agents and associated Service data models produced for CWMP. USP represents a natural evolution of CWMP, a sort of “TR-069 2.0” intended to be faster, more secure, lighter, that enables the development of applications that operate on expanded number of consumer devices and improve interaction between application providers, network service providers, and consumer electronics manufacturers.
Four key features of USP are:
Flexibility– the protocol is applicable to many different use cases or deployment scenarios, and able to be implemented by new and varied kinds of devices.
Scalability– USP is able to scale to a very large number of managed devices and connections.
Ease of migration and standardization– USP meets the challenges of connected device management with an interoperable, non-proprietary standard, that easily evolves from existing TR-069 deployments.
Security– Any solution that provides mechanism for monitoring, manipulating and control over the user’s network devices must guarantee security of user data and prevent any malicious use. USP is developed with application layer security, total authentication control and privacy from the beginning to the end using applicable security mechanisms.
The USP opened the door to a much more flexible ecosystem, destroying the one-to-one relationship that existed between the CWMP Endpoint and ACS in TR-069. Currently USP consists of a network of Controllers and Agents that can manipulate so called Service Elements. Service Elements are one or more objects designated in the Agent’s supported data model, and exposed as the Agent’s instantiated data model. An Agent exposes the information about Service Element to one or several Controllers. It can provide information about these Service Elements directly to a device or through the proxy mechanism. A Controller may be an Autoconfiguration Server (ACS) similar to TR-069, or controlled by an application service provider to control specific elements.
USP Records (integrity, security) - All USP messages are included into USP record. These records are used to guarantee integrity of the USP messages and to provide the necessary level of security when it can’t be executed at the message transport layer. The optional Session Context possible for protected messages (payloads) is allowed in USP Record. The segmentation and re-assembly of USP messages are also possible when large messages need to traverse intermediate proxies.
Message transport agnostic (local, cloud, and mobile use cases) – unlike TR-069 which is bound heavily to HTTP, USP ensures that the protocol is cleanly layered so the transport of USP messages can be accomplished through multiple “transports”. Message Transfer Protocols (MTPs) defined for USP 1.0 include the Constrained Application Protocol (CoAP), the Simple Text-Oriented Messaging Protocol (STOMP) and WebSockets over HTTP.
Protocol buffers encoding (lightweight and schema based) – instead of sending XML documents over HTTP, USP exploits Protocol Buffers for encoding messages in transport. Protocol Buffers encoding is binary that leads to significant space saving. It also has advantages over JSON as the encoded fields are defined in one or more schemas (.proto files) that each endpoint can use for reliable and interoperable coding or decoding messages. USP provides input sample for USP Record (usp-record.proto) whose payload field contains a USP Message (usp-msg.proto).
TR-069 and USP comparison
|TR-069 (CPE WAN Management Protocol)||USER SERVICES PLATFORM (USP)|
|Communication concept||Short-time sessions activated by external events (timing, schedule, connection request, wake-up, boot.)||Always activated communications channel established at device startup which ensures free reception of entire message flow|
|Management server||A single management server with bootstrap logic/configuration||You can use multiple management servers at the same time without restriction of location (LAN, Fixed-WAN, Mobile)|
|Message Transfer Protocol||HTTP||CoAP(LAN), STOMP (WAN/Mobile), WebSockets (Fixed WAN)|
|RPC structure||CRUD+Notify (via inform RPC, Events, and event specific RPCs) + several RPCs related to data model operations (Schedule, Upload, Download)||CRUD+Notify+Operate (general data model command execution mechanism)|
|Encoding of information||SOAP/XML (text wire format)||Google Protocol Buffers (binary wire format)|
|Security||TLS message transport protocol security, CPE can only communicate with known ACS URL when it receives a connection request||DTLS/TLS message transport protocol security, controller trust establishment procedures, access control list mechanism, end-to-end application level security/encryption mechanism|
Flexible message set
USP includes a set of REST-based messages (Add, Set, Delete, Get, GetSupportedProtocol, GetInstances) with CRUD (Create, Read, Update, Delete) based operations, plus Notify messages for notifications to be sent from the Agent to a Controller, and Operate messages to call functions (commands) defined in the Agent’s supported data model. The messages themselves have become Lighter. Protocol Buffers saves space on the wire by creating standardized fields that are binary encoded in transport. This reduces complexity significantly. In addition, USP messages that use the Device:2 data model (defined originally for CWMP) makes use of several features that reduce the amount of object path information that needs to be sent by the Controller and returned by the Agent:
Optional sessions with fewer round-trips
In USP, sessions are optional and used for security and integrity purposes. Even when sessions are used, communication channels are “nailed up” so that there’s no need to establish a USP session for every message. Moreover, there is no need to send Connection Requests for establishment of communication sessions, because now Controllers can send messages directly to required Agent at any time.
TR-369 is a transformation suitable for remote management of any network devices (including Smart Home and IoT devices). The connection of device to ACS in TR-369 is faster and lighter compare to TR-069. At the same time this platform is compatible with Device:2 TR-069 data model. This guarantees an easy way of migration for those already utilizing CPE wan management protocol for remote CPE management. The seamless migration to USP without having to re-architect OSS/BSS or device/driver integration is certainly very convenient for smooth operation of already existing system architecture.
With pervasive introduction of 5G network the number of network compatible devices will increase significantly and there will be a need to manage them all. The already released version of Broadband TR-369 USP 1.0 provides wide possibilities for their monitoring, control and interaction.