We have Cisco 2960s connected to a 6905 core. We just deployed VoIP phones to our end users. On each user switchport we issued the command auto qos voip cisco-phone, which I think added these commands to the interface:
srr-queue bandwidth share 10 10 60 20
mls qos trust device cisco-phone
mls qos trust cos
auto qos voip cisco-phone
service-policy input AutoQoS-Police-CiscoPhone
However, when I put a sniffer on my core router, I'm not sure how I can confirm that the QoS tagging is being kept. In fact, I think it might not be. I looked at an RTP packet and the Type of service is 0x00 (None), which I assume is wrong.
So I'm guessing perhaps my trunk uplinks on the 2960 or the core router could be the problem? What commands should I issue on the trunk ports?
Yes - using auto qos basically triggers a macro; first use configures a lot of global stuff, and subsequent ones generally just apply config to that port.
Often auto qos sets up queueing commands on the actual port (depending what platform it is).
So yes - if using auto qos elsewhere, do it on the uplinks.
The exceptions are where your uplinks are not dot1q or isl, or when you want to trust something on a host port (e.g. gateways or servers). In those scenarios, it's usually best to apply the auto qos trust command, and then change the resulting config to 'mls qos trust dscp'.