I think that it this should be implemented in the linux kernel, not in user mode for performance reasons.
Cisco did it with AutoQOS. AutoQOS is a group of methods to manage VoIP traffic effectively and simply.
Fragmenting is something that Linux can do easily, for UDP and TCP. This should be extended to QOS, adding auto detection and fragmentation of non VoIP frames.