Such a problem, it is necessary to put phones in a separate vlan. it is created “vid 20” It is bound to the bridge and has a separate dhcp with address pool, lldp and cdp are turned off on the phone and microt, etc. … On the main DHCP I set 132 option s’20’. and nothing, on the logs dhcp can see that the phone requests this option and DHCP server gives it to the phone, but nothing happens and the phone receives IP from the main network.
BUT! if you manually write 802.1Q/VLAN Tag 20 in the phone, everything works fine, the phone enters the 20th vlan and gets the necessary iP.
Why is it needed to define option 132 on the DHCP? What are you trying to achieve - untagging, tagging, something else? An export of the config would also be greatly appreciated:
/export file=anynameyouwish (minus sensitive info like serial numbers, public IPs, passwords, etc.)
https://www.grandstream.com/hubfs/Product_Documentation/DHCP_Options_Guide_Linux.pdf
See page: 17
The 132 options should be send with string=text not value like hex or decimal int.
And when I read the page 2, it says your device(GXP16XX) is not supporting options 132, maybe this is not related now, maybe with newer firmware, I don’t know.
Nothing happens ( What values I have not tried to enter . I guess the phone does not understand (
If possible, I will try to connect a phone of another manufacturer and see the result.
I have no experience with your phone or any of its relatives, but what your screenshot shows does not support your conclusion.
What it shows is that while you have (in my mind) correctly configured both option132 and option133, then chose to send only option132 (twice? what is that even supposed to accomplish?)
RFC Standard: Option 132 is defined in RFC 3584 and RFC 3679 as:
“Ethernet VLAN ID (132): 802.1Q VLAN Identifier (integer value from 0 to 4095)”
So, This means it is a 4-byte integer (in practice, often 1 or 2 bytes are used depending on the DHCP server implementation) that directly represents the VLAN ID.
If Grandstream follow the RFC.
So if you get this in wireshark it’s wrong it sending “20” as string.
echo -n “20” | hexdump
0000000 3032
0000002