Why does the TCP three way handshake never tag with DSCP value on Windows XP and Server 2003?

Question:

We are trying to introduce QoS into our VOIP services. While working on this we have observed that TCP three way handshake never tag with DSCP value. We have reproduced the issue both in Windows XP and Windows Server 2003 operating systems. My question is why TCP three way handshake never tag with DSCP value? I don’t think this is an expected behavior, RFC 2474 mentioned nothing about this.

Answer:

On Windows XP and Server 2003, QoS DSCP tagging is applied when a data packet is being sent; depending on the DSCP value supplied by the application or the system-wide setting. During the TCP Handshake, since no data is being sent, DSCP marking is not done. This is an issue in the QoS stack of Windows XP and Server 2003.

Please note: This issue is fixed in Windows Vista and Windows 7.

Mahatab-ur-Rashid