# TR-369

TR-369, também conhecido como User Services Platform (USP), assim como seu predecessor TR-069, é um protocolo padronizado e desenvolvido pelo Broadband Forum para a gestão e análise de dispositivos conectados em rede. Este padrão define os protocolos, a arquitetura e o modelo de dados em nível de aplicação para a comunicação entre provedor/usuário e para um ou mais dispositivos.

## Origem

O aumento de dispositivos finais com capacidade de conectividade, juntamente com o fato de que o modelo anterior (criado em 2004) tinha certas limitações, levou a uma atualização do padrão. Com base no modelo anterior, em 2018 o novo protocolo foi publicado incluindo uma grande variedade de novas funcionalidades. Entre outras, as novas funcionalidades permitem gerir e analisar vários dispositivos finais simultaneamente.

## Arquitetura

O USP é formado principalmente por uma rede de "controladores" e "agentes" que se comunicam por meio de um protocolo de transferência de mídia (MTP – Media Transfer rotocol). A comunicação entre os "agentes" dos dispositivos finais e os "controladores" é persistente ("allways-on") de forma a minimizar a utilização dos recursos da rede e reduzir o número de conexões entre eles.
O agente USP é definido pelo chamado “Supported Data Model” (SDM) e também por seu modelo de dados instanciado ou “Instantiated Data Model” (IDM). Especificamente, o IDM reúne todos os serviços que são efetivamente instanciados no agente a qualquer momento. Entre outros, define variáveis de estado, hierarquia de objetos, parâmetros, eventos e comandos derivados de elementos de serviço definidos em uma determinada configuração. Por outro lado, o SDM contém toda a hierarquia de objetos, parâmetros, eventos e comandos dos elementos de serviço que estão disponíveis no agente, mas não necessariamente instanciados. Por exemplo, dois dos mesmos dispositivos podem ter o mesmo SDM, mas diferem em seu IDM dependendo da configuração.
Um agente pode ser endereçado por um ou mais controladores com o objetivo de executar ações em um dos diferentes elementos de serviço disponíveis. O "controlador" contém diferentes políticas de aplicativos, bancos de dados de agentes conectados, bem como seus recursos e status. Ele atua como uma interface para aplicativos de usuário que desejam ter acesso via USP aos diferentes elementos de serviço de um agente.

## Capacidades do TR-369
### Fluxo de mensagens eficiente

Devido à conexão persistente entre o “controlador” e o “agente”, a quantidade de mensagens na rede é bastante minimizada. Por outro lado, a utilização de diretórios com caminhos relativos e seus pacotes otimizados reduzem o tamanho das mensagens de dados transmitidas.

### Mensagens seguras

As funções de troca de mensagens fim a fim ("End-to-End") permitem o estabelecimento de sessões seguras para a troca de mensagens.

### Arquitetura multioperador

O protocolo USP permite que vários usuários tenham acesso aos diferentes elementos do serviço. Por exemplo, duas operadoras podem gerenciar potencialmente os mesmos dispositivos finais com diferentes níveis de acesso.

### Gestião do ciclo de vida do dispositivo

O protocolo permite gerenciar todo o ciclo de vida de um dispositivo, como a prestação de serviços, autenticação ou configuração dos dispositivos.

### Múltiplos protocolos de comunicação

Usando o MTP como camada de transporte flexível, o agente e o controlador podem concordar sobre o protocolo de comunicação ideal, dependendo da aplicação. Especificamente, os seguintes protocolos são permitidos atualmente: STOMP, CoAP, MQTT e WebSockets.

### Compatibilidade com especificações anteriores

O USP foi definido mantendo a compatibilidade com o antigo protocolo TR-069, expandindo o modelo de dados existente. TR-369 pode, portanto, operar em paralelo com TR-069.

### Notificações

Os controladores podem se inscrever em certos eventos, permitindo assim uma resposta imediata ao evento quando ele ocorrer.

## Fontes

https://www.broadband-forum.org/download/TR-369.pdf (Spezifikation des Broadband-Forums)
https://www.axiros.com/knowledge-base/usp-tr-369
https://www.qacafe.com/usp-tr-369-training/usp-architecture-and-use-cases/