VoIP on Zyxel switch

🧩 How to Configure VoIP on a Zyxel Switch with Grandstream Phones Using a Voice VLAN
In today’s networks, Voice over IP (VoIP) has become a core communication service for both businesses and labs. To ensure call quality and reduce network interference, the best practice is to separate voice and data traffic using a Voice VLAN (Virtual Local Area Network).
In this guide, we’ll walk through the process of configuring VoIP using a Zyxel switch and Grandstream IP phones, focusing on proper VLAN segmentation and network efficiency.
🧠 Understanding the Concept
Before jumping into configuration, let’s review what we’re achieving:
Voice VLAN: A dedicated VLAN for all VoIP traffic. This separation ensures better QoS (Quality of Service) and easier troubleshooting.
Data VLAN: The regular network for computers, printers, and other non-voice devices.
Auto Voice VLAN: A Zyxel feature that automatically detects and assigns IP phones to the voice VLAN based on the device’s OUI (Organizationally Unique Identifier).
This setup ensures:
Low latency for voice traffic
Isolated network for security
Automatic phone provisioning with DHCP and VLAN tagging
🧰 Prerequisites
You’ll need the following:
A Zyxel managed switch (e.g., GS1900 / XGS1930 / GS2220 series)
Grandstream IP Phones (e.g., GXP or GRP models)
DHCP server (can be on your router, firewall, or server)
Configured VLANs (Data and Voice)
Internet access or PBX/VoIP server (e.g., FreePBX, 3CX, or Grandstream UCM) - Optional for lab demo
⚙️ Step-by-Step Configuration Guide
1. Define VLANs on the Zyxel Switch
Log in to the Zyxel switch web interface.

Go to Switching → VLAN → VLAN Setup, click on the Add/Edit to add your vlan, make sure you have the Tx Tagging checked.
Scroll down to apply the setup.

You should have the following VLANs:
VLAN 1 – Data VLAN
VLAN 100 – Voice VLAN

Set port membership:
Trunk ports (uplinks to router/Firewall or VoIP server) → Tagged for both VLANs
Access ports (for PCs) → Untagged in VLAN 1 (Uncheck Tx Tagging to untagged port)
Phone ports → Tagged in VLAN 100, like they are in the above picture.
2. Enable the Voice VLAN Feature
Navigate to Switching → VLAN → Voice VLAN Setup.
Enable Voice VLAN.
Set VLAN ID = 100 (In my case). Then apply the configuration

Enable OUI Detection in Voice VLAN OUI Setup and add Grandstream’s OUI prefixes, e.g.:
000B82000B83000B84

At this point your phone is ready to be detected on the network and get assigned an IP via the OUI, but not ready to communicate.
Test ping from the router / Firewall will be failed because the Frame doesn’t have any VLAN ID to get.
3. Configure Port Settings for Phones
Go to Port → LLDP → LLDP-MED.
click on the LLDP-MED Network Policy to add the ports where your phones are connected, click on Add/Edit
Assign the ports connected to phones as Voice VLAN ports.
Add the Voice VLAN for Auto Assignment on that port.
If your phones is daisy-chained (PC connected to the phone’s PC port):
Configure the service as voice.
Set the Tag to Tagged
DSCP (Differentiated Service Code Point) useful for better quality of service
Set the QoS (802.1q priority) to 6 or 7 for high priority voice traffic. (higher priority better performance)
Apply the configuration.

Click on the LLDP-MED Setup in the same page check the Network Policy option for all of the port where you have connected phones

If the policy checkbox is uncheck the frame of from the phone won’t get tagged with the VLAN ID 100
Wireshark ARP frame before Network Policy checked

Wireshark ARP frame after enabling Network Policy checked

4. DHCP Options for Voice VLAN
Ensure your DHCP server has a scope for the Voice VLAN (VLAN 100).
Assign a different subnet (e.g., 192.168.100.0/24).
Add Option 66 or 160 if using auto-provisioning for Grandstream phones (e.g., pointing to your PBX or provisioning server).
5. Configure GrandStream Phone VLAN Settings
By default, GrandStream phones can receive VLAN info via LLDP-MED or DHCP Option 132.
If you need to configure manually:
Access the phone web GUI.
Navigate to Network → Basic Settings → Ethernet.
Set Layer 2 QoS 802.1p Priority to
6and VLAN Tag to100.Save and reboot the phone.
Once rebooted, the phone should receive its IP address from the Voice VLAN DHCP scope and register with the PBX or your Provisioning server .
NB: What is LLDP ?
LLDP (Link Layer Discovery Protocol) is an open standard Layer 2 protocol (IEEE 802.1AB) used by network devices (switches, routers, wireless access points, IP phones, etc.) to advertise and discover information about each other directly connected on the same local network segment.
There is an other protocol that can achieve the same thing thing named CDP which is a Cisco proprietory not all vendor use it.
📞 Testing & Verification
Verify the phone’s IP address — it should be in the Voice VLAN subnet, and must recieve ping packet from the router / firewall
Ping between your PBX and the phone.
Make a test call and check call quality.
On the Zyxel switch, you can verify with:
Monitoring → VLAN Port Status
LLDP Neighbor Table (to confirm detection of Grandstream phones)
🧩 Troubleshooting Tips
| Issue | Possible Cause | Solution |
| Phone can’t gets IP from Data VLAN | Voice VLAN OUI not detected | Manually set VLAN ID or check LLDP |
| No IP assigned | DHCP not available on VLAN 100 | Verify DHCP scope for Voice VLAN |
| Call quality poor | QoS not configured | Set priority 6 or 7 in switch QoS settings |
💡 Best Practices
Keep Voice VLAN isolated from Data VLAN for better performance.
Use LLDP-MED for automatic VLAN assignment.
Monitor switch port utilization for any packet drops.
Always update switch and phone firmware to latest stable versions.
🧱 Conclusion
Implementing a Voice VLAN on a Zyxel switch with Grandstream IP phones is a simple yet powerful way to optimize your VoIP network. With proper VLAN segmentation, QoS prioritization, and device auto-detection, your voice calls will be clear, stable, and secure — exactly what a professional communication system should deliver.





