2.2.2.6 Speech with Target Message

When using the Mixing Voice Session Subprotocol (section 1.3.4) or the Forwarding Voice Session Subprotocol (section 1.3.5) this speech message is sent from the voice client to the voice server. The message contains the required fields of a speech message, in addition to the list of DVIDs it is intended for. This message is sent unordered and nonguaranteed using the DirectPlay protocol voice message type.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Header

MessageNumber

SequenceNumber

TargetCount

...

TargetDVIDs (variable)

...

SpeechData (variable)

...

Header (1 byte): The common message header (as specified in section 2.2.1). The MessageType field MUST be set to DVMSGID_SPEECHWITHTARGET (0x63).

MessageNumber (1 byte): An 8-bit unsigned integer representing this speech message's message number.

SequenceNumber (1 byte): An 8-bit unsigned integer representing this speech message's sequence number.

TargetCount (4 bytes): A 32-bit unsigned integer. This value MUST contain the length of the TargetDVIDs array in DVID elements. This field MUST be greater than 0 and less than or equal to 64.

TargetDVIDs (variable): An array of DVID values, each representing a user or group of users that the speech data is intended for. The number of DVIDs in this array MUST be equal to the value of the TargetCount field and cannot contain duplicates.

SpeechData (variable): An array of bytes containing a speech frame encoded in the currently selected codec.