This is how I got option 150 for Cisco IP phones/asterisk to work:
example: tftp-server address = 192.168.1.69
name of network: LOCALLAN
subnet: 192.168.1.0/24
You have to get these two lines into the dhcpd.conf using the two set commands below:
option tftp-server code 150 = { ip-address };
option tftp-server 192.168.1.2;
This first command creates the custom option object:
set service dhcp-server global-parameters 'option tftp-server code 150 = { ip-address };'
This second command puts your tftp-server IP address into your dhcp offers:
set service dhcp-server shared-network-name LOCALLAN subnet 192.168.1.0/24 subnet-parameters 'option tftp-server 192.168.1.69;'
After commit and save, your /opt/vyatta/etc/dhcpd.conf file should look like this:
root@Router:/# cat /opt/vyatta/etc/dhcpd.conf
# generated by /opt/vyatta/sbin/dhcpd-config.pl
option space ubnt;
option ubnt.unifi-address code 1 = ip-address;
class "ubnt" {
match if substring (option vendor-class-identifier , 0, 4) = "ubnt";
option vendor-class-identifier "ubnt";
vendor-option-space ubnt;
}
ddns-update-style none;
# The following 1 lines were added as global-parameters in the CLI and
# have not been validated
option tftp-server code 150 = { ip-address };
shared-network LOCALLAN {
not authoritative;
subnet 192.168.1.0 netmask 255.255.255.0 {
option domain-name-servers 208.67.222.123, 208.67.220.123;
# The following 1 lines were added as subnet-parameters in the CLI and have not been validated
option tftp-server 192.168.1.2;
option routers 192.168.1.1;
option ubnt.unifi-address 192.168.1.99;
default-lease-time 86400;
max-lease-time 86400;
range 192.168.1.100 192.168.1.150;
}
}