I can't seem to get the Cisco SPA504G phone to pick up it's voice vlan via CDP with my Cisco 3560 (WS-C3560-24PS) switch. I am forced to statically define the voice vlan within the phone menu. I've had this issue with two different phone firmware versions 7.4.3 and now 7.4.4. I've also had three different software versions on my switch. Currently my switch is running the latest image 12.2(53)SE2.
I've captured packets and see two-way CDP negotiation but I'm not the CDP expert and can't really tell what's happening. The switchport configuration looks fine:
switchport trunk encapsulation dot1q
switchport trunk native vlan 101
switchport mode trunk
switchport voice vlan 200
mls qos trust device cisco-phone
Once the phone boots up after a factory reset (CDP is on) I see the following in the CDP neighbor table. The IP address it gets is from VLAN 101.
show cdp n d
Device ID: SIP00<snipped>D4
IP address: 192.<snipped>.99
Platform: Cisco IP Phone SPA504G, Capabilities: Host Phone
Interface: FastEthernet0/15, Port ID (outgoing port): Port 1
Holdtime : 159 sec
advertisement version: 2
Power drawn: 10.000 Watts
Has anyone else had any issue like this?