Search This Blog

Wednesday, October 5, 2011

Configuring Linux DHCP to work with Lync 2010 Phones

Hello there,

i had a project with big tele-communication company to deploy Lync 2010 server , i had only one problem with this project, they are using Linux based DHCP to distribute IPs to PCs and Phones devices.

My biggest changlenge was configuring the Linux DHCP to give out numbers to the Phones , i'm a Microsoft, so i had a big problem doing that.

There is a documentation released by Microsoft Lync Team saying how to do it , but it's not that clear ,so i decided to write about it in my Blog to make it easire for others to use it.

Basically what you need to do is using the script provided by Microsoft and the output you get from the DHCPutil command-line to configure the DHCP.

Here we start:

1- Run the DhcpUtil in the Lync Front End Server:

to do that , Open your Command line Prompts ( As administrator )

browes to the location of the DhcpUtil.exe file ( it should be under C:\Program files\common files\Microsoft Lync server 2010....)

and Run the following Command line

> dhcputil.exe -sipserver "Poolname" ( poolname = FQDN of your Front end Server )

You should get the follwoing Output:

i highlighted the Two Options you will need to copy and paste them into the script and apply it to the DHCP (Option 43 and 120).

2- Editing the Script.

For the Script Copy and Past the following into a notepad

# dhcpd.conf


# Sample configuration file for ISC dhcpd


option domain-name "";

option domain-name-servers,;

default-lease-time 600;

max-lease-time 7200;

# This is a very basic subnet declaration.

option netbios-name-servers,;

option netbios-node-type 8;

class "vendor-classes" {

match option vendor-class-identifier;


# vendor sepecific sub-options

option space MSUCClient;

option MSUCClient.UCIdentifier code 1 = string;

option MSUCClient.URLScheme code 2 = string;

option MSUCClient.WebServerFqdn code 3 = string;

option MSUCClient.WebServerPort code 4 = string;

option MSUCClient.CertProvRelPath code 5 = string;

# SIP Server Option 120

option UCSipServer code 120 = string;

subclass "vendor-classes" "MS-UC-Client" {

vendor-option-space MSUCClient;

option MSUCClient.UCIdentifier 4D:53:2D:55:43:2D:43:6C:69:65:6E:74;

option MSUCClient.URLScheme 68:74:74:70:73;

option MSUCClient.WebServerFqdn 70:6F:6F:6C:2E:63:6F:6E:74:6F:73:6F:2E:63:6F:6D;

option MSUCClient.WebServerPort 34:34:33;

option MSUCClient.CertProvRelPath 2F:43:65:72:74:50:72:6F:76:2F:43:65:72:74:50:72:6F:76:69:73:69:6F:6E:69:6E:67:53:65:72:76:69:63:65:2E:73:76:63;


subnet netmask {



option routers;

option subnet-mask;

option time-servers,;

option domain-name "";

option domain-name-servers;

option domain-search "";

option UCSipServer 00:0B:70:65:70:77:6D:7A:30:30:33:34:36:03:63:77:77:03:70:65:70:03:70:76:74:00;


You will need to edit this two part with the values you got previously , first highlighted section is option 43 you will have to put the entries you got  from the DhcpUtil there.
The 2nd highlighted section is for option 120, and of course the rest of the Data you know how to edit it ( domain , gateway , subnet, ranges…etc.)

and dont forget to edit your Network Setting in the script
After this copy and paste the Script into your DHCP.config File in the VLAN you are going to use for the phones devices.

Restart the DHCP services
And you are good to go.

How to make sure that it's working ???

From the command line prompts run the following command line  using a PC on the same VLAN that you confiugred , it basically emulate the request send by the phone to the DHCP.

>> DhcpUtil.exe -emulatclient

in the first part you should find the DHCP request sent to the DHCP server with the correct input of your Lync FrontEnd Name

then in the end of the output you should find the DHCP response with also the correct information and IP address , and with our lovely world "Result Successe"

Then you are good.


  1. Hi, I'm in the middle of a project with these exact issues (linux based DHCPD connecting to Windows based Lync servers), and this was a great help. Thank you for posting!