The Messenger Service Remote Protocol suite is designed to perform the following functions:
Receive and display short text messages to the console user. (This function is referred to in this document as the "messaging protocol".)
Manage the names for which a message server receives messages. (This function is referred to in this document as the "name management protocol".)
The name management protocol portion of the Messenger Service Remote Protocol is used to manage the set of names for which the message server accepts messages. The operations in this protocol are very simple, consisting of add, remove, and enumeration methods. The messaging protocol portion of the Messenger Service Remote Protocol actually has several forms and runs over mailslots over Server Message Block Protocol, as specified in [MS-SMB] and RPC dynamic endpoints over User Datagram Protocol (UDP) (as specified in [RFC768]). For how the message client selects the transport that is used for the messaging protocol, see section 3.2.
Typically, the Messenger Service Remote Protocol is used to send a short text message from a server, such as a file server or print server, to a client machine; for example, to indicate that a print job has completed or that a file server is shutting down and all of its clients need to save their work and disconnect. As such, the roles of client and server are reversed from typical protocols, with the message server (recipient) of the messages often being the workstation machine and the message client (sender) being a server-class machine.