Microsoft Windows DDI Team Blog

Windows Server DNS, DHCP and IPAM solution!

Option based IP Address assignment Callout Dll

Option based IP Address assignment Callout Dll

  • Comments 46
  • Likes


DHCP administrators would like to manage address assignment in the network, by assigning IP address to DHCP clients based on vendor/user class identifier from distinct address ranges in the subnet. This functionality can be added to the Microsoft DHCP Server, by installing DHCP Server Option Based IP Address Assignment Callout package.

This callout dll allows the administrators to define rules for assigning IP addresses from specific IP address ranges based on the vendor/ user classes of the DHCP clients in the network. The IP address to these DHCP clients will be leased/ renewed based on the rules configured by the administrator. Alternatively, the administrator could also implement a light weight network access control by denying IP addresses based on vendor/ user class of the device.

It can be configured for address assignment based on any one of the below:

  • Vendor class identifier (option 60)
  • User class identifier (option 77) 

This will provide administrator the following advantages:

  • Network access control, denial of IP based on vendor/ user class
  • Better manageability, as different vendors are assigned IP addresses from different ranges
  • Ability to configure options with different values for different DHCP clients, in the same subnet, based on the vendor/ user class.

This callout dll works with Windows Server 2008 (Standard or higher, 32 or 64 bit) and above, running DHCP Server (only English builds).

The callout dll can be configured using an MMC snapin. For usage information refer to the setup document present in the zip file attached to the blog.


DHCP Server Team

  • Don't know if my last comment went through, but I'm having a problem with this DLL.

    When the Vendor Class string is longer than 15 characters, I get an error and it doesn't work properly.

    Any help would be much appreciated.



  • Could some one help me in deploying the scenario 2 mentioned in the file . .  While defining user class/vendor class it is asking for for ascii/ define class what is it actually?

    What should we enter there in order to complete the procedure

  • Hi Rajesh,

    So while defining user'vendor class the ASCII field represents the user/vendor class data for that class. For more on class creation through API, please refer to  



  • Hey Rajesh,

    When defining user/ vendor class in DHCP Server, you need to specify class data in binary/ ascii value. This value is used to identify the class. This will be the value sent by the client in the DHCP packet for option 60 or 77.

    In case of user class this value is upto the admin to decide.

    For vendor classes, the vendor should provide this.

    You can also get this by looking at network monitor traces.

    Let me know if this helps.


    Raunak Pandya

  • Thanks Raunak for the support i have done and succeeded with the installation part . .

  • Introducing such a topic you'd like to congratulate you've let us know. Have good work.

  • Hey Elliott,

    Thanks for reporting this issue. We will look into this.


    Raunak Pandya

    DHCP Server Team

  • Hey i got a strange issue when i trying to configure the scope by /26 and setting rules as /24 then it is working fine but when i am trying to configure as /27 and /24 then it is not working . .  could some one help me out in this case . .

  • Hey Rajesh,

    When you configure the scopes with /27 I presume the address range you are selecting is less than 32 addresses.  What issue are you facing here? Please provide more details. Also if possible please share the contents of the XML FIle (optionbasedassignment.xml) located @ system32\dhcp folder (by default).

    Raunak Pandya

  • Hey Elliott,

    The issue reported by you has been fixed and the currently uploaded MSI packages should work fine even for option data greater than 15 bytes/ chars.

    Thanks for reporting the issue once again.

    Continue using the callout dll.

    Raunak Pandya

    DHCP Server Team

  • Raunak,


    Thanks much for your quick response.  Now I won't have manually configure these 30 IP phones.

    Also, does this DLL work with Windows 2003?


  • Hey Elliott,

    This callout works only on WS08 or above.

    Raunak Pandya

  • It will be lovely to see that it will work for User class & Vendor Class together.

    scenario like below.

    User have IP Phone, a bunch of windows and a bunch of non-windows

    Inside these windows, we have a few PC need full rights to the internet

    we want to allocate as below

    the range

    IP phone

    windows with full rights

    windows without full rights


    we would like to use user class for windows with full rights (so administrator can identify the key PC that need the full internet rights), and others as vendor class

    I don't know whether it is technically possible with the future release.



  • in fact, it does not function with Windows 2008 (64bit) Standard German, nor Windows 2008r2 (64bit). The MMC Snapin crashes allways, when trying to add a new Subnet. Any workarounds for this?


  • hi Christian,

    The callout dll works only with English builds. Please let us know if you see issues on English builds.



Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment