Loading...

TR369.org: Knowledge Center for TR-369 USP

While we were building our USP controller we kept notes on the parts of TR-369 that took longest to get right. When the notes got long enough to be useful to other people, we put them on a website. That is TR369.org. It is free, it has no sign-up, and we keep adding to it.

It covers

  • How to implement each part, from the point of view of someone who did
  • Real request and response pairs, as JSON and as Protobuf
  • Every message type, one page each
  • Every error code, with what usually causes it
  • Corrections from readers, which we welcome

The main sections

1

USP records

The USP Record is the envelope: it carries the sender, the receiver and optionally an end-to-end security layer, and the message sits inside it. People confuse records and messages constantly. This section fixes that.

2

USP messages

What a controller and an agent actually say to each other: the header, the body, requests and responses and errors, and how they map onto the Protobuf definitions.

3

Requests and responses

For each operation, a request and the response it gets back, captured from a real controller and a real agent, with the fields explained.

4

Message types

Get, Set, Add, Delete, Operate, Notify, GetSupportedDM, GetInstances, GetSupportedProtocol. One page each, with when to use it and what goes wrong.

5

OB-USP-Agent

The Broadband Forum's open-source agent, usually called obuspa. How to build it, configure it, point it at a controller and read its logs. If you are testing a controller, this is the agent you will use first.

6

Error codes

Every code the specification defines, what it means, and in our experience what usually caused it. The page we look at most ourselves.

Good places to start

The front page

Home page

Everything is linked from here, roughly in the order the specification presents it.

View on TR369.org

TR-369 USP message types

Message types

One page per message type, with examples. The most-read section of the site.

View on TR369.org

Operate request and response structure

Operate message

Operate is the message that runs commands on a device, and the one with the most moving parts. Worked through with examples.

View on TR369.org

Reading is slower than being shown.

We also teach this in person.

TR-369 USP training
Top