· 15 мин чтения

QoS для VoIP: приоритизация трафика в корпоративной сети

Семёнов Евгений Сергеевич, директор АйТи Фреш. За 15+ лет я настроил VoIP в сотнях компаний — Asterisk, FreePBX, 3CX, облачные провайдеры. И почти везде первое, с чем сталкиваешься: «звук рвётся, когда кто-то качает файл». Причина одна — отсутствие QoS. Настроенный QoS превращает хаотичный канал в предсказуемый, где голос идёт первым, а фоновые задачи ждут своей очереди. В этой статье расскажу, как я делаю QoS на MikroTik, Cisco и в корпоративной LAN.

Что такое QoS на пальцах

QoS (Quality of Service) — это набор механизмов, которые управляют порядком и пропускной способностью разных видов трафика. В канале любого размера рано или поздно наступает момент перегрузки: кто-то начал бэкап на 500 Мбит/с, кто-то качает видео, кто-то открыл 1С через RDP — и VoIP начинает заикаться. QoS гарантирует, что приоритетный трафик никогда не будет стоять в очереди.

Стандарты DSCP для VoIP

Тип трафикаDSCP (десятичное)ОбозначениеКомментарий
RTP (голос)46EFHighest priority, low latency
Видео (WebRTC)34AF41High priority
SIP-сигналинг26AF31Medium-high priority
Критичные приложения (1С)18AF21Medium priority
Bulk (бэкапы)10AF11Low priority
Best effort0BEDefault

QoS на MikroTik: Queue Tree с priority

MikroTik — мой основной инструмент. QoS делаю через Queue Tree на WAN-интерфейсе.

# Маркировка RTP (определяем голос по UDP-портам Asterisk)
/ip firewall mangle
add chain=prerouting protocol=udp dst-port=10000-20000 \
  action=mark-packet new-packet-mark=voip-rtp passthrough=no
add chain=prerouting protocol=udp src-port=10000-20000 \
  action=mark-packet new-packet-mark=voip-rtp passthrough=no

# Маркировка SIP-сигналинга
add chain=prerouting protocol=udp port=5060,5061 \
  action=mark-packet new-packet-mark=voip-sig passthrough=no
add chain=prerouting protocol=tcp port=5060,5061 \
  action=mark-packet new-packet-mark=voip-sig passthrough=no

# Установка DSCP для исходящего
add chain=postrouting packet-mark=voip-rtp action=change-dscp new-dscp=46
add chain=postrouting packet-mark=voip-sig action=change-dscp new-dscp=26

# Queue Tree
/queue tree
add name=WAN parent=ether1 max-limit=100M
add name=voip-rtp parent=WAN packet-mark=voip-rtp \
  priority=1 limit-at=10M max-limit=20M queue=pcq-voip
add name=voip-sig parent=WAN packet-mark=voip-sig \
  priority=2 limit-at=2M max-limit=4M
add name=other parent=WAN priority=7 limit-at=0 max-limit=80M

/queue type
add name=pcq-voip kind=pcq pcq-rate=100k pcq-classifier=dst-address,src-address

Priority=1 — самый высокий, пакеты из этой очереди идут первыми. PCQ делит полосу между разговорами поровну.

QoS на Cisco Catalyst / ISR

На Cisco подход чуть другой — class-map + policy-map + service-policy.

class-map match-any VOICE-RTP
 match dscp ef
 match access-group name VOICE-RTP-ACL
class-map match-any VOICE-SIG
 match dscp af31
 match access-group name VOICE-SIG-ACL
class-map match-any CRITICAL-DATA
 match dscp af21

policy-map WAN-OUT
 class VOICE-RTP
   priority percent 20
   set dscp ef
 class VOICE-SIG
   bandwidth percent 5
   set dscp af31
 class CRITICAL-DATA
   bandwidth percent 30
 class class-default
   bandwidth percent 45
   random-detect dscp-based

interface GigabitEthernet0/0/0
 service-policy output WAN-OUT

ip access-list extended VOICE-RTP-ACL
 permit udp any any range 16384 32767

Priority-класс даёт low-latency queue: пакеты всегда обрабатываются первыми, пока не превышен percent.

QoS на коммутаторах доступа

Не забывайте про LAN. На коммутаторах доступа (Cisco 2960, MikroTik CRS) тоже настраиваем trust DSCP, чтобы метки не терялись между устройствами.

# Cisco
mls qos
interface GigabitEthernet0/10
 mls qos trust dscp
 switchport voice vlan 20

# MikroTik SwOS
/interface ethernet switch qos-hw-offloading
set switch1 enabled=yes

Телефоны Yealink, Grandstream, Polycom уже ставят DSCP 46 в исходящие пакеты — нам остаётся только не стереть метку по пути.

QoS через VPN

Когда офис подключён к АТС через WireGuard или IPSec — нужно «протащить» DSCP-метки сквозь туннель.

# MikroTik WireGuard — pre-classify вручную
/ip firewall mangle
add chain=output out-interface=wg-hq action=change-dscp \
  new-dscp=46 packet-mark=voip-rtp passthrough=no

На VPN-сервере принимающая сторона должна уметь верить внешнему DSCP. В большинстве Linux-туннелей это включается опцией dscp-copy или аналогом.

Реальный кейс: 120 SIP-линий на производстве

В сентябре 2025 клиент — металлургическое производство в Подмосковье с 320 сотрудниками, 120 SIP-линий, Asterisk в дата-центре МТС. Жалоба: «звук рвётся по вечерам, когда делаем бэкапы». Канал — 500 Мбит/с, а во время бэкапа — полная загрузка. До QoS: 32% звонков с MOS (Mean Opinion Score) ниже 3.5. После настройки QoS на пограничном MikroTik CCR2004 (класс VOICE с priority=1, shaping остального трафика): 0.4% звонков ниже MOS 3.5, средний MOS 4.3. Телефонные операторы перестали жаловаться, руководство довольно. Стоимость работы — 48 000 руб., настройка заняла один рабочий день плюс мониторинг в течение недели.

Мониторинг: как проверять QoS работает

Без мониторинга QoS — это вера. Я всегда ставлю:

# Быстрая проверка DSCP в tcpdump
tcpdump -i any -n -v 'udp and port 5060' | grep -i tos
# Должно быть tos 0x68 (=104, что соответствует DSCP 26 AF31)

Частые ошибки

Настрою QoS под вашу телефонию

Анализ сети, настройка приоритизации на роутерах и коммутаторах, мониторинг MOS, исправление разрывов голоса. Объекты от 10 до 500 SIP-линий. Asterisk, FreePBX, 3CX, Mango Office, МТТ, Billing.

Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш

FAQ — QoS для VoIP

Зачем нужен QoS, если канал 1 Гбит/с?
QoS нужен не на внутреннем канале, а на узком месте — обычно WAN. При закачке архива на 200 Мбит/с в полноскоростной канал пакеты VoIP начинают тормозить.
Что такое DSCP и зачем он?
DSCP — метка приоритета в IP-заголовке. Стандарт для VoIP — DSCP EF (46). Сигналинг SIP — DSCP AF31 (26).
Достаточно ли только WAN-QoS?
В идеале — нет, QoS должен быть сквозным. Но на практике 80% проблем решается настройкой только на WAN-интерфейсе.
Сколько полосы резервировать под голос?
По 100 кбит/с на разговор для G.711 и 30 кбит/с для G.729. Плюс 15% на накладные расходы.
QoS работает через VPN?
Да, если настроить pre-classify. DSCP-метки по умолчанию копируются во внешний IP-заголовок туннеля.

Подпишитесь на рассылку ITfresh

Раз в неделю — практические гайды для руководителя IT и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.