# TR-369 (USP) glossary

Dodderware engineering team · Updated 2026-10-28 · https://blog.dodderware.com/glossary/

[Leer en español](https://blog.dodderware.com/es/glosario/)

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.1)

Explained in: [USP Agent vs Controller: what is the difference, and what is an Endpoint ID?](https://blog.dodderware.com/usp-agent-vs-controller/)

## 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.1)

Explained in: [How do you upgrade firmware on a USP (TR-369) device?](https://blog.dodderware.com/usp-firmware-upgrade/)

## 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.1)

Explained in: [USP Agent vs Controller: what is the difference, and what is an Endpoint ID?](https://blog.dodderware.com/usp-agent-vs-controller/)

## 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, §3)

Explained in: [How does a USP Agent find its Controller? DHCP, DNS-SD and mDNS](https://blog.dodderware.com/usp-discovery-dhcp-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.1)

Explained in: [How is TR-369 secured? TLS, end-to-end encryption, certificates and roles](https://blog.dodderware.com/tr-369-security/)

## Endpoint

A termination point for a USP Message. Every Agent and every Controller is an Endpoint. (TR-369 §1.4)

Explained in: [USP Agent vs Controller: what is the difference, and what is an Endpoint ID?](https://blog.dodderware.com/usp-agent-vs-controller/)

## Endpoint ID

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.2)

In the specification: Endpoint Identifier.

Explained in: [USP Agent vs Controller: what is the difference, and what is an Endpoint ID?](https://blog.dodderware.com/usp-agent-vs-controller/)

## 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.3)

Explained in: [How do USP notifications and subscriptions work in TR-369?](https://blog.dodderware.com/usp-notifications-subscriptions/)

## Instantiated Data Model

The Service Elements an Agent exposes to its Controllers right now, with their current state. (TR-369 §1.4)

Explained in: [USP Agent vs Controller: what is the difference, and what is an Endpoint ID?](https://blog.dodderware.com/usp-agent-vs-controller/)

## 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.4)

Explained in: [What is TR-369, the User Services Platform (USP)?](https://blog.dodderware.com/what-is-tr-369/)

## 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, §4)

Explained in: [TR-369 WebSocket vs MQTT vs STOMP: how do the USP transports compare?](https://blog.dodderware.com/usp-mtp-websocket-mqtt-stomp/)

## 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.6)

Explained in: [How do USP notifications and subscriptions work in TR-369?](https://blog.dodderware.com/usp-notifications-subscriptions/)

## 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.4)

Explained in: [TR-369 WebSocket vs MQTT vs STOMP: how do the USP transports compare?](https://blog.dodderware.com/usp-mtp-websocket-mqtt-stomp/)

## 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.1)

Explained in: [How is TR-369 secured? TLS, end-to-end encryption, certificates and roles](https://blog.dodderware.com/tr-369-security/)

## 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.4)

Explained in: [What is TR-369, the User Services Platform (USP)?](https://blog.dodderware.com/what-is-tr-369/)

## 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.1)

Explained in: [How do USP notifications and subscriptions work in TR-369?](https://blog.dodderware.com/usp-notifications-subscriptions/)

## 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.4)

Explained in: [USP Agent vs Controller: what is the difference, and what is an Endpoint ID?](https://blog.dodderware.com/usp-agent-vs-controller/)

## 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](https://blog.dodderware.com/tr-369-security/)

## 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.4)

Explained in: [What is TR-369, the User Services Platform (USP)?](https://blog.dodderware.com/what-is-tr-369/)

## 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.4)

Explained in: [USP Agent vs Controller: what is the difference, and what is an Endpoint ID?](https://blog.dodderware.com/usp-agent-vs-controller/)

## 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.4)

Explained in: [USP Agent vs Controller: what is the difference, and what is an Endpoint ID?](https://blog.dodderware.com/usp-agent-vs-controller/)

## Sources

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

[Read the TR-369 specification](https://usp.technology/specification/index.htm)

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

---

**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](https://dodderware.com/products/dws-support/#get-started)
