Communications between a USP Controller and USP Agent are delivered using two separate constructs: the USP Message, and its container, the USP Record.
Both the USP Record and the USP Message are encoded in transit using “protocol buffers”. Protocol buffers is a standard developed by Google to allow protocol endpoints to easily understand the fields and values of messages transported between them using a clearly defined schema.
The schema for the USP Record is defined in the usp-record-1-1.proto file, which can be found with the USP specification. The USP Record is used to provide source and destination information about the message it contains, plus any session and security information if the optional end-to-end Session Context is used. The full details of how to use the USP Record and end-to-end session context can be found in the end-to-end message exchange section of USP.
A USP Record contains several elements.
When record_type is set to no_session_context, the last element in the USP Record is the payload, which contains a protobuf encoded USP Message.
A USP Message itself is encoded using the usp-msg-1-1.proto file for its schema. Messages come in one of three types: Requests, Responses, and Errors. With the exception of the Notify message, Requests are sent from Controllers to Agents, who generate Responses or Errors after processing the message.
USP Messages contain a Header element and a Body element. The header contains two fields. The msg_id is used to coordinate Requests with Responses or Errors, and to handle duplicates. The msg_type contains an enumeration that explains what kind of message the body contains. Though required in the header, this field is meant for information only to assist controllers in more efficient processing.
The message type found in the message body should be treated as the correct type. The message Body contains the Request, Response, or Error. Responses occur when a message is processed and successfully acted upon, while Errors occur when the message was either not understood, or was not successfully acted upon. Due to the ability of some messages to allow for partial success, sometimes a Response will be sent even though some errors occurred during the operation.
There are nine types of Requests and Responses in USP.
Get your USP Agent certified now with the official Broadband Forum test platform.