Voice signalling is not generally tagged as EF. The breakdown on the LAN should be:
EF (46) = voice packets = IP precedence 5
AF41 (34) = video packets = IP precedence 4
AF31 (26) = signalling = IP Precedence 3
0 = everything else = 0
Your WAN provider should offer at least 4 classes of service.
Your task is to
(a) ensure your packets are tagged correctly
(b) negotiate with the WAN provider to prioritise as per your tags into the 4 classes of service, so that Voice packets are not competing with anything else, and signalling is given priority over any non-realtime packets (voice & video).
By the sound of things, it does sound like your signalling isn't getting prioritised.
The qos device-priority statements you have are setting the layer-2 QoS on packets. I don't think this is useful, as the IP address doesn't tell you what the traffic/application is - if you need to re-classify your frames (because the voice devices aren't tagging properly) then you need to classify them based on TCP/UDP ports. *Then* you also have to check your 802.1p-DSCP mappings to make sure that whatever layer-2 QoS you have on packets are being mutated to the correct Layer-3 QoS values. (eg, qos dscp-map 101110 priority 7) (That's EF--> 7)
I don't know what the qos dscp ... commands you have on your VLAN interfaces are going to do for you. Probably nothing?
Your command qos type-of-service diff-services probably doesn't do anything either - I think this command is used to enable you to go on to re-mark packets, eg, qos type-of-service diff-services 001010 dscp 011010. (That's AF11 --> AF31).
On the whole, it is much easier to ensure the endpoints are correctly tagging, and configure the network switches to trust the endpoint tagging. The phone config should include two separate QoS values, 46 for RTP and 26 for signalling.
If you can't get your endpoints to mark QoS properly, then you should use a QoS classifier, something like:
class ipv4 VOICE
10 match udp 10.1.1.0 0.0.0.255 range 61000 64000 0.0.0.0 255.255.255.255
20 match udp 10.1.1.0 0.0.0.255 0.0.0.0 255.255.255.255 eq 6123
policy qos tag-VOICE
class ipv4 VOICE action dscp ef
vlan 200 service-policy tag-VOICE in
Then create another classifer to ensure all your signalling gets AF31.
Then create another classifier to ensure everything else is set to 0. This could be important.
I have been asked by customers to classify all packets on ingress like this before. It's a pain, because everytime they change something, the policy needs editing, and they have trouble finding anybody that understands it well enough to make the changes.