Why does FortiSwitch map DSCP46 to COS Queue 1 by default?
Good morning!
We had an issue where a client with some older 100mb phones were having call quality issues if running large downloads and we started looking into the QOS configurations and noticed something strange.
Client is using Cisco phones.
In our past with any phone system and QOS we would always use cos queue 5 but when I look at the port stats there is nothing hitting queue 5.
port30 QoS Stats:
queue | pkts | bytes | drop pkts
------------------------------------------------------------------
0 | 755706810 | 660805890972 | 3370713
1 | 2333 | 517032 | 0
2 | 760 | 294146 | 0
3 | 0 | 0 | 0
4 | 485623 | 31086160 | 0
5 | 0 | 0 | 0
6 | 22375 | 7683430 | 0
7 | 14652115 | 944748158 | 0
------------------------------------------------------------------
I confirmed the default voice-qos policy is applied to the port which I assumed was doing this correctly out of the box.
So I looked into the ip-dscp-map which shows that DSCP 46 is getting mapped to cos-queue 1.
config switch-controller qos ip-dscp-map
edit "voice-dscp"
config map
edit "1"
set cos-queue 1
set value 46
next
edit "2"
set cos-queue 2
set value 24,26,48,56
next
edit "5"
set cos-queue 3
set value 34
next
end
next
end
Here is my port and lldp-profile configuration
config ports
edit "port30"
set poe-capable 1
set vlan "Data-PSB"
set allowed-vlans "Voice-PSB"
set untagged-vlans "quarantine.24"
set qos-policy "voice-qos"
set lldp-profile "PSB-Voice"
set export-to "NAT-INT"
set mac-addr 78:18:ec:79:a3:5f
next
end
config switch-controller lldp-profile
edit "PSB-Voice"
set med-tlvs inventory-management network-policy power-management location-identification
set 802.3-tlvs power-negotiation
config med-network-policy
edit "voice"
set status enable
set vlan-intf "Voice-PSB"
set assign-vlan enable
set dscp 46
next
edit "voice-signaling"
set status enable
set vlan-intf "Voice-PSB"
set assign-vlan enable
set dscp 46
next
Am I thinking of this incorrectly or what?
Thanks,
Posted Aug 27, 2026, 1:04 PM UTC
64