Understanding TR-369 USP Message Types

Understanding TR-369 USP Message Types
"Different type of animals living happily" by DALL-E

In the TR-369 USP (User Services Platform) specification, understanding the different message types is crucial for effective communication between endpoints.

Let's start with the proto-buff definition as usual:

  enum MsgType {
    ERROR = 0;
    GET = 1;
    GET_RESP = 2;
    NOTIFY = 3;
    SET = 4;
    SET_RESP = 5;
    OPERATE = 6;
    OPERATE_RESP = 7;
    ADD = 8;
    ADD_RESP = 9;
    DELETE = 10;
    DELETE_RESP = 11;
    GET_SUPPORTED_DM = 12;
    GET_SUPPORTED_DM_RESP = 13;
    GET_INSTANCES = 14;
    GET_INSTANCES_RESP = 15;
    NOTIFY_RESP = 16;
    GET_SUPPORTED_PROTO = 17;
    GET_SUPPORTED_PROTO_RESP = 18;
  }
MsgType definition from usp/specification/usp-msg-1-2.proto file

Let's dive into each message type and its purpose within the USP framework.

PS: The numbers in the parenthesis indicate the enumeration values in the usp proto file.


GET (1): The GET message type is used to request information or data from a target USP endpoint. It is typically initiated by a Controller to retrieve specific parameters or object instances.

GET_RESP (2): The GET_RESP message type serves as a response to a GET request. It contains the requested information or data provided by the target USP endpoint in response to the GET message.

TR-369 USP Get Request and Response Message with JSON
USP Get Request and Get Response Message Structure Details and JSON Examples

NOTIFY (3): The NOTIFY message type is used to broadcast or notify changes or events that have occurred within the USP system. It allows endpoints to communicate updates or important information to interested parties.

NOTIFY_RESP (16): The NOTIFY_RESP message type serves as a response to a NOTIFY message. It acknowledges the receipt and processing of the NOTIFY message by the target endpoint.

TR-369 USP Notify Request and Response Message with JSON
Broadband Forum TR-369 USP Notify Request and Response Message Structure Details and JSON Examples and Proto file

SET (4): The SET message type modifies or updates parameter values or object instances within the USP system. It is commonly used by Controllers to configure or change settings on target endpoints.

SET_RESP (5): The SET_RESP message type serves as a response to a SET request. It indicates the success or failure of the requested parameter or object modification.

TR-369 USP Set Request and Response Message with JSON
Broadband Forum TR-369 USP Set Request and Response Message Structure Details and JSON Examples

OPERATE (6): The OPERATE message type is used to initiate an operation or command on a target USP endpoint. It triggers specific actions or functions defined by the endpoint.

OPERATE_RESP (7): The OPERATE_RESP message type is the response to an OPERATE request. It provides the outcome or result of the operation initiated by the OPERATE message.

TR-369 USP Operate Request and Response Message with JSON
Broadband Forum TR-369 USP Operate Request and Response Message Structure Details and JSON Examples and Flow Charts

ADD (8): The ADD message type is employed to create or add new object instances within the USP system. It allows for dynamic expansion or instantiation of objects based on predefined templates.

ADD_RESP (9): The ADD_RESP message type serves as a response to an ADD request. It indicates the success or failure of the requested object creation or addition.

TR-369 USP Add Request and Response Message Structure with JSON
Broadband Forum TR-369 USP Add Request and Response Message Structure Details and JSON Examples

DELETE (10): The DELETE message type is used to remove or delete object instances from the USP system. It allows for the removal of specific objects that are no longer needed.

DELETE_RESP (11): The DELETE_RESP message type is the response to a DELETE request. It indicates the success or failure of the requested object deletion.

TR-369 USP Delete Request and Response Message with JSON
Broadband Forum TR-369 USP Delete Request and Delete Response Message Structure Details and JSON Examples

GET_SUPPORTED_DM (12): The GET_SUPPORTED_DM message type is used to retrieve information about the supported data model within the USP system. It provides insights into the available parameters, objects, and their relationships.

GET_SUPPORTED_DM_RESP (13): The GET_SUPPORTED_DM_RESP message type responds to a GET_SUPPORTED_DM request. It provides the supported data model information requested by the GET_SUPPORTED_DM message, not the instances, but the structure.

TR-369 USP GetSupportedDM Request and Response Message
Broadband Forum TR-369 USP GetSupportedDM Request and Response Message Structure Details and JSON Examples and Flow Charts

GET_INSTANCES (14): The GET_INSTANCES message type is used to retrieve information about existing instances of objects within the USP system. It allows for querying the cases and their associated parameters.

GET_INSTANCES_RESP (15): The GET_INSTANCES_RESP message type is the response to a GET_INSTANCES request. It provides the requested information about existing object instances within the USP system.

Understanding TR-369 GetInstances and GetInstances Response Messages
Broadband Forum TR-369 USP GetInstances Request and Response Message Structure Details , proto buff file and JSON Examples

GET_SUPPORTED_PROTO (17): The GET_SUPPORTED_PROTO message type is used to retrieve information about the supported protocols within the USP system. It provides insights into the available communication protocols and their capabilities.

GET_SUPPORTED_PROTO_RESP (18): The GET_SUPPORTED_PROTO_RESP message type responds to a GET_SUPPORTED_PROTO request. It provides the supported protocol information requested by the GET_SUPPORTED_PROTO message.

TR-369 USP GetSupportedProtocol Messages with JSON
TR-369 USP GetSupportedProtocol Messages Explained with Request Response and JSON Samples

ERROR (0): The ERROR message type indicates an error condition encountered during message processing. It is used to communicate failures, issues, or exceptional scenarios that prevent successful message handling.

TR-369 USP Error Code Details
TR-369 USP Error Code Details

Conclusion: Understanding the various message types defined in the TR-369 USP specification is crucial for effective communication and interoperability between USP endpoints. Each message type serves a specific purpose, ranging from retrieving information to initiating operations and handling errors. By comprehending these message types and their intended use, USP endpoints can seamlessly exchange messages and achieve efficient communication within the USP ecosystem.



References:

  1. TR-369 USP Specification,7.3.2 Message Header, Broadband Forum, https://www.broadband-forum.org/tr-369
  2. USP Record Definitions, GitHub Repository, https://github.com/BroadbandForum/usp