QOS is much more than routing priority - on switches its inbound and outbound queuing, shaping, policing, remarking, etc...
Apply the following configuration on all your ports on the switch and let me know how that helps. Trafic marked as DSCP40 to 46 will be using queue 5 and get strict priority over all other queues. We use GTS to limit the SP queue to 10Mbps to ensure an incident with marked trafic does not kill the rest of your trafic. That CIR is enough for access or uplinks on a given 48 ports, but you would obviously want to adjust it higher if you have a thousand users behind a given interface.
qos wrr
qos wrr 5 group sp
qos gts queue 5 cir 9984
qos trust dscp
If you can confirm that your telephony solution marks its RTP voice payload with DSCP 40 up to 46 (it should be the later), this configuration will quite happily prioritize voice as your requirements.