The MMS Protocol is used for transferring real-time multimedia data (for example, audio and video). Because it is a streaming protocol, the MMS Protocol attempts to facilitate scenarios in which the multimedia data is being transferred and rendered (such as video displayed and audio played) simultaneously.
The protocol uses a TCP connection for control of the streaming media session.
In this specification, the entity that initiates the TCP connection is referred to as the client, and the entity that responds to the TCP connection is referred to as the server. The multimedia data flows from the server to the client.
The client can send MMS Protocol request messages to the server over the TCP connection, requesting the server to perform actions such as starting and stopping the flow of multimedia data. The multimedia data is transferred either over the same TCP connection or as a flow of UDP packets.
While the server is transmitting multimedia data to the client, the client can send MMS Protocol messages to the server, requesting that it change the stream being transmitted. For example, the client may request that the server replace the currently transmitted video stream with a lower bit-rate version of the same video stream.
If the UDP protocol is used to transmit the multimedia data to the client, the client can send an MMS Protocol message to the server requesting that it resend a UDP packet. This is useful if the client does not receive a UDP packet the server transmitted. Unlike other MMS Protocol messages sent by the client, the request to resend a UDP packet is sent using UDP.