Skip to content

TR-369 · Glossary

TR-369 (USP) glossary

The terms the User Services Platform is built on, in plain words. Each definition follows the specification’s own, in TR-369 §1.4, and links to the article that explains the term in depth.

Agent

The Endpoint that exposes Service Elements to one or more Controllers. It holds an Instantiated Data Model, what it represents now, and a Supported Data Model, what it is able to represent.

TR-369 §1.4, §2.1.1Explained in: USP Agent vs Controller: what is the difference, and what is an Endpoint ID?

Command

An Operation specific to an Object in the Agent’s data model, invoked with the Operate message. Firmware upgrades, for example, use the Download() and Activate() commands of Device.DeviceInfo.FirmwareImage.{i}..

TR-369 §1.4, Appendix II.1Explained in: How do you upgrade firmware on a USP (TR-369) device?

Controller

The Endpoint that manipulates Service Elements through one or more Agents. Unlike TR-069, where a device answers to one ACS, a USP Agent can serve several Controllers.

TR-369 §1.4, §7.6.1Explained in: USP Agent vs Controller: what is the difference, and what is an Endpoint ID?

Discovery

How Controllers become aware of Agents, and Agents of Controllers. A Controller’s details can come from firmware, from an already-trusted Controller, from a bootstrap interface or from the network, through DHCP options and DNS-SD over DNS or mDNS.

TR-369 §1.4, §3Explained in: How does a USP Agent find its Controller? DHCP, DNS-SD and mDNS

End to End Message Exchange (E2E)

The USP feature that protects the integrity of Messages by setting up a session context between Endpoints. It is required when a proxy or broker sits between Agent and Controller, unless that intermediary is a trusted part of the end-to-end ecosystem.

TR-369 §1.4, §8, §8.1Explained in: How is TR-369 secured? TLS, end-to-end encryption, certificates and roles

Endpoint

A termination point for a USP Message. Every Agent and every Controller is an Endpoint.

TR-369 §1.4Explained in: USP Agent vs Controller: what is the difference, and what is an Endpoint ID?

Endpoint ID

In the specification: Endpoint Identifier

The identifier of an Endpoint at the USP layer, unique to that Endpoint. It is built as authority-scheme:[authority-id]:instance-id, as in oui:00256D:my-unique-bbf-id-42, and every Record carries the source and target Endpoint IDs.

TR-369 §1.4, §2.2Explained in: USP Agent vs Controller: what is the difference, and what is an Endpoint ID?

Event

A set of conditions that, when met, triggers a Notification. Events are defined in the data model, such as Boot!.

TR-369 §1.4, §7.6.3Explained in: How do USP notifications and subscriptions work in TR-369?

Instantiated Data Model

The Service Elements an Agent exposes to its Controllers right now, with their current state.

TR-369 §1.4Explained in: USP Agent vs Controller: what is the difference, and what is an Endpoint ID?

Message

The content of one USP layer communication: exactly one Message Header, with the Message type and Message ID, and exactly one Message Body, which holds a Request, a Response or an Error.

TR-369 §1.4Explained in: What is TR-369, the User Services Platform (USP)?

Message Transfer Protocol (MTP)

The protocol below USP that carries its Messages, inside Records. TR-369 defines four: WebSocket, STOMP, MQTT and the UNIX Domain Socket MTP. CoAP was obsoleted in USP 1.3.

TR-369 §1.4, §4Explained in: TR-369 WebSocket vs MQTT vs STOMP: how do the USP transports compare?

Multi-Instance Object

An Object that can be created or deleted in the Agent’s Instantiated Data Model, also called a Table. Each instance is an Object Instance, or Row, addressed by its Instance Number or by one of the Object’s Unique Keys.

TR-369 §1.4

Notification

A Request an Agent sends to tell a Controller about an Event, because that Controller has a Subscription to it. It travels in a Notify message.

TR-369 §1.4, §7.6Explained in: How do USP notifications and subscriptions work in TR-369?

Object

A defined type that an Agent represents and exposes. A Service Element can be made of one or more Objects and Sub-Objects.

TR-369 §1.4

Parameter

A variable or attribute of an Object. Every Parameter has both a type and a value.

TR-369 §1.4

Path Name

The fully qualified reference to an Object, Object Instance, Command, Event or Parameter in an Agent’s data model, such as Device.DeviceInfo.BootFirmwareImage.

TR-369 §1.4

Record

The MTP payload that carries a Message, with the protocol information needed to deliver it: the USP version and the source and target Endpoint IDs. It can also carry the metadata that integrity protection, payload protection and fragmented Messages need.

TR-369 §1.4Explained in: TR-369 WebSocket vs MQTT vs STOMP: how do the USP transports compare?

Role

The set of permissions, an access control list, that an Agent grants a Controller over the objects in its Instantiated Data Model. Permissions are written as rwxn, for Read, Write, Execute and Notify.

TR-369 §1.4, §8.9.2.1Explained in: How is TR-369 secured? TLS, end-to-end encryption, certificates and roles

Search Path

A Path Name with search criteria, a Search Expression or a Wildcard, that addresses a set of Multi-Instance Objects or their Parameters in one go.

TR-369 §1.4

Service Element

A piece of service functionality that an Agent exposes, usually represented by one or more Objects of its data model.

TR-369 §1.4Explained in: What is TR-369, the User Services Platform (USP)?

Subscription

The logic that tells an Agent which Notifications to send to a particular Controller. USP has no Subscribe message: a Controller creates a row in the Agent’s Device.LocalAgent.Subscription. table with an ordinary Add.

TR-369 §1.4, §7.3.3.2, §7.6.1.1Explained in: How do USP notifications and subscriptions work in TR-369?

Supported Data Model

Everything an Agent is capable of exposing to a Controller: the union of all the Device Type Definitions it exposes. The Instantiated Data Model, by contrast, holds what exists now.

TR-369 §1.4Explained in: USP Agent vs Controller: what is the difference, and what is an Endpoint ID?

Trusted Broker

An intermediary that either checks that the from_id of each Record it brokers matches the Endpoint ID in that Endpoint’s certificates or credentials, or belongs to a closed ecosystem that knows certain Endpoints will not spoof their Endpoint ID. It must not inspect the USP payloads it carries.

TR-369 §1.4, §8.4 (R-SEC.4c)Explained in: How is TR-369 secured? TLS, end-to-end encryption, certificates and roles

User Services Platform (USP)

What TR-369 specifies: a data model, an architecture and a communications protocol that turn consumer broadband networks into a platform for developing, deploying and supporting broadband applications and services.

TR-369 §1.4Explained in: What is TR-369, the User Services Platform (USP)?

USP Domain

All the Controllers and Agents likely to communicate with each other in a given network or internetwork, to support a specific application or set of applications.

TR-369 §1.4Explained in: USP Agent vs Controller: what is the difference, and what is an Endpoint ID?

USP Relationship

What a Controller and an Agent have when they can send and accept messages to and from each other. Usually it means the Controller is listed in the Controller table of the Agent’s data model.

TR-369 §1.4Explained in: USP Agent vs Controller: what is the difference, and what is an Endpoint ID?

Sources

  • Broadband Forum, TR-369 – The User Services Platform, Issue 1 Amendment 5 (USP 1.5), January 2026.
  • §1.4Definitions, plus the sections named beside each term

Read the TR-369 specification

TR-369 © The Broadband Forum. All rights reserved. Quoted briefly and paraphrased for commentary; the diagrams are Dodderware’s own.

Ask the engineers

Stuck on a TR-069, TR-369 or GPON question? Send it to our engineers. The questions that come up most become new posts.

Send a question

Manage TR-069 and TR-369 devices from one console.

DWS Support brings every ONT and home router into one web console, whichever protocol it speaks: TR-069 through GenieACS or a built-in ACS, TR-369 through a native USP controller. Self-hosted on your infrastructure.

Request a demo