Skip to main content

Getting Started Managing Your USP-Supported CPE Devices on Cloud ACS Server

Introduction

The Cloud Automatic Configuration Server (ACS) “DMS” (hereinafter referred to as “DMS”) supports managing customer devices using the TR-369 protocol (USP). This protocol allows CPE to establish a persistent connection with DMS using various Message Transfer Protocols (MTPs).

First Connection to the Cloud ACS Server

ACS instance in profile page

To connect to the cloud ACS server, it's necessary to provide the CPE with connection information, credentials, and the USP controller identifier. These details can be provided to the CPE by various means:

  • Preconfigured in the firmware.
  • Configured through an already known trusted controller.
  • Configured via the user web interface of the CPE.
  • Configured through TR-069 (via DMS or another ACS platform) using vendor-specific parameters (usually prefixed with X_), which often correspond to parameters in the TR-181 data model.
  • If none of the above methods are available, you can contact us, and our engineers will try to find the optimal solution!

Additionally, CPE can be preconfigured with trusted root certificates for controller authentication.

Transport Layer Security (TLS) Protocol

The use of TLS is recommended but not mandatory for securing communication between CPE and the ACS server or the message broker. CPE using TLS must trust certificates provided by ACS (issued by Let’s Encrypt).

Message Transfer Protocols (MTPs)

DMS supports WebSocket and MQTT MTPs. Each protocol requires its specific configuration.

WebSocket Configuration

  • Host: <See uspws link (uspws-tls if using TLS) in the instance card>
  • Port: 80 (443 if using TLS)
  • USP Controller's EndpointId: proto::dms-usp-controller

TR-181 Parameters

The TR-181 data model contains the following parameters for WebSocket configuration:

  • Device.LocalAgent.Controller.x.EndpointID = 'proto::dms-usp-controller'
  • Device.LocalAgent.Controller.x.MTP.x.Protocol = 'WebSocket'
  • Device.LocalAgent.Controller.x.MTP.x.Enable = '1'
  • Device.LocalAgent.Controller.x.MTP.x.Host = <See uspws link (uspws-tls if using TLS) in the instance card>
  • Device.LocalAgent.Controller.x.MTP.x.Port = 80 (443 if using TLS)
  • Device.LocalAgent.Controller.x.MTP.x.EnableEncryption = ('1' if using TLS, otherwise '0')

MQTT Configuration

  • Host: <See the MQTT link (MQTTs if using TLS) in the instance card>

  • Port: 1883 (8883 if using TLS)

  • USP Controller's EndpointId: proto::dms-usp-controller

  • Topic: <CPE Serial Number> (If your device allows specifying a topic to subscribe to MQTT messages)

  • Controller Topic: /proto::dms-usp-controller/<instance id> (If your device allows specifying a topic to which Controller listens to)

  • Username: <See the credentials next to the MQTT broker link in the instance card>

  • Password: <See the credentials next to the MQTT broker link in the instance card>

TR-181 Parameters

The TR-181 data model contains the following parameters for MQTT configuration:

  • Device.LocalAgent.Controller.x.EndpointID = 'proto::dms-usp-controller'
  • Device.LocalAgent.Controller.x.MTP.x.Protocol = 'MQTT'
  • Device.LocalAgent.Controller.x.MTP.x.Enable = '1'
  • Device.LocalAgent.Controller.x.MTP.x.EnableEncryption = ('1' if using TLS, otherwise '0')
  • Device.LocalAgent.Controller.x.MTP.x.MQTT.Topic = /proto::dms-usp-controller/<Use MQTT username provided in the instance card>
  • Device.MQTT.Client.x.Enable = '1'
  • Device.MQTT.Client.x.BrokerAddress = <see MQTT link (MQTTs if using TLS) in the instance card>
  • Device.MQTT.Client.x.Port = 1883 (8883, if using TLS)
  • Device.MQTT.Client.x.Username = <See credentials next to MQTT link in the instance card>
  • Device.MQTT.Client.x.Password = <See credentials next to MQTT link in the instance card>