1.3.5 Forwarding Voice Session Subprotocol

The forwarding voice session subprotocol specifies the communication between a voice server and voice clients when a forwarding game session type is used. The forwarding voice session subprotocol requires at a minimum a client/server session, but it will also work with a peer-to-peer session. Connectivity between individual voice clients is not required. The forwarding voice session subprotocol is indicated when the SessionType field of the Connect Accept Message (section 2.2.3.2) is set to DVSESSIONTYPE_FORWARDING (0x00000003).

The roles in this subprotocol are as follows:

  • The voice server is responsible for:

    • Maintaining the list of voice clients in the voice session.

    • Receiving speech messages from each of the voice clients and forwarding them to each of the voice clients for which they are intended. Speech messages intended for each individual voice client.

  • The voice clients are responsible for:

    • Sending voice data and the targets of the data to the voice server.

    • Receiving and processing speech messages from the voice server and converting them back into an encoded voice stream. The voice client maintains a jitter buffer for each voice client in the voice client list.

      Note The voice clients maintain a list of voice clients.