cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
765
Views
0
Helpful
3
Replies

IPv6 TFTP define on Microsoft DHCP

bmennenga
Level 1
Level 1

How do you configure TFTP option for IP Phones and a Microsoft DHCPv6 server?  Docs state it should be Vendor ID 9, suboption 1 and then the list of both TFTP IPv6 addresses.  Microsoft has a define Vendor Class, with a field called Vendor ID which assume should be 9.  Then the next field is an open Hexadecimal field to fill out.  Not sure how to define suboption 1, then might need a length field and the options some how.  Any one have a working example or formula to generate the correct binary values for this?

3 Replies 3

Timata025
Level 1
Level 1

Does anyone know? I have the same issue.

Both Microsoft and our Microsoft partners failed to make this work.  Infoblox shows a solution for a paid software alternative.  Our go to solution for customers now is to use SLAAC for phones and have them get their options from the a local Cisco router.  Using M=0, A=1, O=1 will disable DHCP, use SLAAC to generate an address, but then will go do DHCP to get their options which we point the IPv6 relay to a Cisco router and have it hand out the TFTP, DNS, and domain name.  This uses the Cisco router, but keeps the load light.  Since not handing out addresses you don't need a scope for each subnet, just one set of global configs for all.  Not using DHCP is a shock to network and security teams, but when you drill down to why they need it, there are better ways to handle their needs and tracking abilities.

mr_roberts
Level 1
Level 1

The vendor class Ascii data can be found in the dhcpv6 solicit packet from the phone if you do a packet capture. The class asciidata should be "Cisco IP Phone" from what I've seen. From the Windows DHCP server try this:

powershell:

$voip_prefix = '' # Enter VoIP IPv6 Prefix here
$tftpv6_addresses = "address1" , "address2"
$tftp_fqdns = "FQDN1" , "FQDN2"

# Vendor Classes must be defined based on IANA, the phone's DHCPv6 solicit, and hopefully one day the vendor documentation..

add-DhcpServerv6Class -Name "CiscoPhones" -VendorID 9 -Type Vendor -AsciiData "Cisco IP Phone"
add-DhcpServerv6OptionDefinition -Name "Cisco VoIP TFTPv6 Addresses" -VendorClass "CiscoPhones" -OptionId 1 -Type IPv6Address -MultiValued
add-DhcpServerv6OptionDefinition -Name "Cisco VoIP TFTPv6 FQDN" -VendorClass "CiscoPhones" -OptionId 2 -Type String -MultiValued

 

Option 1, no DNS needed:

set-DhcpServerv6OptionValue -Prefix $voip_prefix -VendorClass "CiscoPhones" -OptionId 1 -Value $tftpv6_addresses

Option 2, DNS support needed for phones to resolve FQDNs:

set-DhcpServerv6OptionValue -Prefix $voip_prefix -VendorClass "CiscoPhones" -OptionId 2 -Value $tftp_fqdns

Bonus:

if you want to set the value for all cisco phones and all scopes, remove the scope above like so:

set-DhcpServerv6OptionValue -VendorClass "CiscoPhones" -OptionId 1 -Value $tftpv6_addresses

Setting the value by prefix is handy if you need to have different settings per scope, like if you are using a regional or enterprise set of DHCP servers supporting multiple sites with different call managers.