DHCP options not working since 6.7 (MIPS)

I am a network admin for a company that deploys Allworx phone systems. These phones require dhcp option 66 (sent as plain text) to assign the VOIP server IP.

I convinced my management to switch from Cisco881 routers to MikroTik2011s.

This worked for us up until RouterOS version 6.8 (6.7 was the last working version). The option no longer works for our purposes. The phones do not get their server IP assigned. I have tried every subsequent RouterOS version since 6.7 and have had no luck.

Here is the configlet of what works on 6.7.

add code=66 name="Voice Gateway" value="'192.168.99.254'"

We basically have to downgrade any MikroTik we get in to 6.7 before we deploy. I would like to be able to use the newer releases, but can’t until this works for us.

Thanks!

Does AllWorx have a firmware upgrade to fix this? The problem is that it cannot understand an IP address sent in hex form. It must receive the dotted decimal notation (hex encoded).

–See below answers for workaround

In 6.41.1, I am using the following syntax:

/ip dhcp-server option
add code=66 name=tftp-server value="s'10.202.3.1'"

If you use Wireshark to analyse the DHCP offer / DHCP Ack, you should see there the address as text.

Thank you for adding with the s’xxx’ option. I tried to amend my answer last night, but the page kept timing out whenever I attempted.

Looking at the logging, it is sending the IP address as four hexadecimal numbers. Prefixing the opening single quote with an s forces it to send the ip address as a hex encoded string literal. The phone can understand the latter, but not the former.

I believe the reason I only saw this with Allworx phones is because every other system I’ve used included prefixes such as ‘http://’ before the IP address, or they used hostnames. Both of which would have also changed the method of data transmission.

You can see more how the router parse the options string in the wiki.

https://wiki.mikrotik.com/wiki/Manual:IP/DHCP_Server#DHCP_Options