4.1 General MSBD Sequence

The following diagram shows a typical communication sequence between the client and server.

Client/server communication sequence

Figure 3: Client/server communication sequence

  1. The client opens a TCP connection to the server and sends an MSB_MSG_REQ_CONNECT packet.

  2. The server responds with an MSB_MSG_RES_CONNECT packet followed by an MSB_MSG_IND_STREAMINFO packet that describes the media stream.

  3. The server sends one or more MSB_MSG_IND_PACKET packets, each of which contains one ASF packet. The packets are sent either over the TCP connection or by using UDP to an IP multicast group.

  4. When the stream ends, the server sends an MSB_MSG_IND_EOS packet that is followed by an empty MSB_MSG_IND_STREAMINFO packet.

During the previous message exchange, the server periodically pings the client by using an MSB_MSG_REQ_PING packet. If the client does not respond to the MSB_MSG_REQ_PING packet with an MSB_MSG_RES_PING packet, the server closes the TCP connection. In other cases, the client is responsible for ending the session by closing the TCP connection.