We have had more issues lately with voice VLAN and Lync than anything else. It has been a major pain. Part of our problem is that there is an issue with Cisco 6500 switches and Lync’s LLDP implementation. We opened up cases with Microsoft and Cisco and suffice it to say, we are still trying to get a resolution, but that is a whole other post.
So as a Plan B, we needed to setup DHCP so that we could drop Lync Phone devices into a voice VLAN (and not use up precious data VLAN IPs). First off, if you are running Microsoft’s DHCP server, don’t bother reading this. Go immediately to Jeff Schertz’s excellent article on setting it up:
Now, if you are still reading this, you are probably in the same boat we were in – you are running a non-Microsoft DHCP server. Unfortunately there was little to no documentation on setting this up and Jeff’s article was good, but didn’t give us the options and configuration info we needed. So, we decided to put up a Microsoft DHCP server and do some wireshark captures and finally came accross the settings that we needed. Now Lync phone devices will use one of two vendor classes. First, it tries CPE-OCPHONE, which is the legacy one that Tanjay devices use. Second, it tries MS-UC-Client, which is the new aries one. When we had orginally setup our DHCP settings for Lync devices and PIN based authenticaiton, we created and configured the MS-UC-Client vendor class. Since that was working already and since the CPE-OCPHONE class is used first, we decided to create that new vendor class for the purposes of configuring the voice VLAN. We also didn’t want to mess with concatenating the options for the voice VLAN into the rest of our settings.
So, first step is to create a new DHCP vendor class. We kept the Display name and description that Jeff used, but it is the data part that is important to keep the same.
Display Name MSCPEClient
Description UC Vendor Class Id
ASCII Data CPE-OCPHONE
Now this is the part that we didn’t know what value was needed. It is using option 43, which is 2b in Hex and has a length of 4 (2b04). The value that needs to be defined is option 10 (0a in Hex) and a length of 2 (02 in Hex). Now we were testing with a voice VLAN ID of 800 (0320 in Hex). So the entire value was this: 0a020320. If you are using another VLAN ID, than just replace the last part with your ID number. That value made all the difference. It seems like we tried almost every combination of values when we tried to get this to work, so we were relieved when we finally got the correct info. Hope this helps other people in the same bind as we were.