C cenaly.com
Начать бесплатно

Сеть, роутер и интернет для телефонии

Порты, SIP ALG и где его выключить на роутерах популярных марок, NAT, Wi-Fi и VLAN, сколько интернета нужно на звонок

18 мин чтения Открыть этот экран в демо
На этой странице 18

Сеть, роутер и интернет для телефонии

IP-телефон — это такое же устройство в сети заведения, как касса или компьютер: он ходит в интернет через ваш роутер к нашей АТС. Почти всегда это «просто работает», а когда не работает — виноваты три-четыре настройки роутера, одинаковые у всех марок. На этой странице — что именно нужно от сети, где выключить мешающий «помощник» SIP ALG на роутерах популярных марок и сколько интернета нужно на звонок.

Что вводить в сам телефон (сервер, логин, пароль) — в обзоре «Настройка SIP-телефонов». Проверка звука после любых изменений в сети — эхо-тест *43 (см. «Как проверить сеть»).


Коротко: пять правил#

  1. Пробрасывать порты не нужно. Телефон сам соединяется с АТС изнутри вашей сети — входящих подключений снаружи не бывает.
  2. Выключите SIP ALG на роутере (он же «SIP Helper», «SIP Passthrough»). Это самая частая причина «звонок рвётся через 30 секунд» и «меня не слышно» — где он у вашей марки.
  3. Телефон — в служебную сеть, лучше кабелем. Не в гостевой Wi-Fi: там устройства изолированы друг от друга, а часто стоит страница входа, через которую телефон не пройдёт.
  4. Интернета нужно немного, но стабильно: около 100 кбит/с в каждую сторону на один разговор. Важнее не скорость, а чтобы канал не забивался «в потолок» — особенно на отдачу.
  5. После любых работ с сетью наберите *43. Зелёная точка в админке говорит о регистрации, а не о звуке.

Как звонок идёт через сеть#

 IP-телефон ──► роутер заведения ──► интернет ──► АТС Cenaly
 (192.168.x.x)  (NAT: подменяет      провайдер    sip.<ваш домен>
                 адрес на внешний)                или выделенная машина

Всё движение начинает телефон:

  1. Телефон отправляет АТС регистрацию (порт 5060). Роутер запоминает: «пакеты с этого внешнего порта — для телефона 192.168.x.x» — это называется трансляция адресов (NAT).
  2. АТС отвечает и потом присылает входящие вызовы туда же, откуда пришла регистрация, — через ту же «дырку» в роутере. Поэтому пробрасывать порты не нужно: дверь открыл сам телефон.
  3. Голос (RTP) телефон тоже начинает слать сам, а АТС отвечает голосом на тот адрес и порт, откуда он пришёл.

Отсюда два условия, без которых связь ломается: роутер не должен переписывать содержимое SIP-пакетов (это делает SIP ALG) и не должен забывать «дырку», пока телефон молчит между звонками (это keep-alive). Оба разобраны ниже.

Для администратора сети: что АТС делает с NAT сама

Для всех добавочных на стороне АТС включены (shared/sip/advanced-options.json, группа nat):

  • force_rport — ответы уходят на адрес и порт, с которого пришёл запрос (RFC 3581), а не на написанный в заголовке Via;
  • rewrite_contact — АТС запоминает телефон по реальному внешнему адресу источника регистрации, а не по частному адресу 192.168.x.x из заголовка Contact;
  • rtp_symmetric — голос отправляется туда, откуда он приходит от телефона (symmetric RTP), а не на адрес из SDP;
  • direct_media=no — голос всегда идёт через АТС, даже между двумя телефонами одного заведения; телефоны никогда не пытаются соединиться друг с другом напрямую.

Поэтому STUN, TURN и ICE телефону не нужны, а статический внешний IP заведению не нужен. Регистрацию телефон может просить на 60–3600 с (меньше 60 — отказ 423 Interval Too Brief, по умолчанию 120 с); АТС проверяет каждый зарегистрированный аппарат запросом OPTIONS раз в 60 с.


Порты для администратора сети#

Правило одно: разрешить исходящее к адресу АТС и ответы на него (обычный «stateful» межсетевой экран делает это сам). Входящие правила и проброс портов не нужны.

Что Протокол и порт на стороне АТС Направление из заведения
Регистрация и вызовы (SIP) UDP 5060; TCP 5060 — если телефон переключён на TCP исходящее к адресу АТС
Голос (RTP) UDP 10000–20000 (общий контур использует 10000–10200, выделенная машина — весь диапазон 10000–20000) исходящее к адресу АТС
Имена (DNS) UDP/TCP 53 к DNS-серверу провайдера или вашему
Время (NTP) UDP 123 к серверам времени — иначе в истории звонков будет неверное время

Адрес АТС — имя, а не IP: он показан в окне «Учётные данные добавочного» (sip.<ваш домен> у общего контура или имя вашей выделенной машины). Не вбивайте в правила IP «по памяти» и не берите его с этой страницы — здесь его нет специально.

Подробности для межсетевого экрана
  • Локальные порты телефона (с какого порта он шлёт SIP и RTP) у каждой марки свои — фильтровать исходящее по порту источника не нужно, фильтруйте по адресу и порту назначения.
  • Два порта на один разговор на стороне АТС: RTP занимает чётный порт, RTCP (отчёты о качестве) — соседний нечётный. Это внутреннее дело АТС, но объясняет, почему диапазон широкий.
  • Если межсетевой экран требует IP-адрес, получите его по имени (nslookup <SIP-сервер>). У выделенной машины IP статический; у общего контура надёжнее разрешать по имени или весь исходящий UDP к нему.
  • TCP 5061 (SIP по TLS) на выделенной машине открыт под шифрованную сигнализацию. Телефону он нужен, только если в окне учётных данных транспорт — TLS; по умолчанию там UDP.
  • Шифрования звука (SRTP) нет — если на межсетевом экране «инспекция VoIP» требует SRTP, выключите её для адреса АТС.

SIP ALG — выключить на роутере#

Что это. SIP ALG (Application Layer Gateway; у разных марок — «SIP Helper», «SIP Passthrough», «ALG для SIP») — функция роутера, которая «помогает» телефонии: залезает внутрь SIP-пакетов и переписывает в них адреса. Придумана она для старых телефонов, которые не умели жить за NAT. Наша АТС умеет это сама (см. блок выше), и роутер с его «помощью» только мешает.

Как ломает. Переписывает он часто неправильно или только половину пакетов. Типичные признаки:

  • звонок обрывается ровно через ~30 секунд после ответа — подтверждение ответа (ACK) ушло не туда, и одна из сторон кладёт трубку по таймеру;
  • слышно только одну сторону или нет звука совсем — в описании голосового потока подменён адрес;
  • телефон то регистрируется, то нет, входящие приходят через раз.

Механику этих поломок подробно разбирают страницы «Звонок обрывается» и «Нет звука, слышно в одну сторону». Здесь — где выключить.

Марка Где выключить С завода
Keenetic (и Netcraze) Общие настройки системы → Изменить набор компонентов → снять «Шлюз прикладного уровня (ALG) для SIP» → Обновить. У Keenetic SIP ALG — не галочка, а отдельный компонент системы: его удаляют. Роутеру нужен интернет, он обновит систему до последней версии и сам перезагрузится — делайте в тихое время в документации не указано
MikroTik (RouterOS) меню NAT-помощников /ip firewall service-port → запись sip → выключить: /ip firewall service-port disable sip в документации не указано
TP-Link Archer (Wi-Fi 6) Advanced → Security → ALG → SIP ALG выключить в документации не указано
TP-Link модемы xDSL и LTE (Archer VR/VX/MR, TD-W) Advanced → NAT Forwarding → ALG → SIP ALG выключить в документации не указано
TP-Link Deco приложение Deco → More → Advanced → NAT Forwarding → SIP ALG → выключить в документации не указано
D-Link DIR (русская прошивка) Дополнительно → ALG/Passthrough → переключатель SIP влево → Применить в документации не указано
D-Link DIR (английская прошивка) Advanced → Firewall → Advanced Settings… → SIP → выключить в документации не указано
Zyxel VMG/XMG (модемы провайдеров) Network Setting → NAT → ALG → SIP ALG выключить в документации не указано
ASUS WAN → NAT Passthrough → SIP Passthrough → Disable → Apply (SIP ALG у ASUS называется SIP Passthrough ⚠️ verify) включён
NETGEAR (Nighthawk, Orbi RBR50/40/20) ADVANCED → Setup → WAN Setup → поставить галочку Disable SIP ALG → Apply включён
DrayTek Vigor NAT → ALG → снять Enable SIP/RTSP ALG (прошивки с 3.8.5); в консоли — sys sip_alg 0 выключен
AVM FRITZ!Box отдельного выключателя SIP ALG в документации AVM нет. Но для внешней АТС нужно снять защиту: Telefonie → Eigene Rufnummern → Anschlusseinstellungen → убрать галочку «Nutzung von Internettelefonie aus dem Heimnetz unterbinden» (запрет интернет-телефонии из домашней сети) — иначе FRITZ!Box не пропустит телефоны к нашей АТС —
Ubiquiti UniFi (Cloud Gateway) ничего делать не нужно: по документации Ubiquiti шлюзы UniFi SIP ALG не применяют. Проверьте провайдерский роутер перед ним ALG нет
Tenda в руководствах домашних Wi-Fi-роутеров Tenda пункта SIP ALG нет. У модемов Tenda DSL: Advance → Services → ALG → снять SIP —
Huawei, ZTE (оптические терминалы провайдеров: HG8245H, HG8145V, F660, F670L…) в открытой документации производителя пути нет, меню обычно урезано провайдером — спросите провайдера —
Sagemcom, Technicolor, AirTies (коробки провайдеров) в документации производителя пункта нет — спросите провайдера —
Xiaomi / Redmi в документации производителя пункта нет — проверьте *43 и звонком длиннее минуты —

«С завода: в документации не указано» значит, что производитель не пишет, включён ли ALG изначально, — зайдите и посмотрите. Пути взяты из официальных руководств производителей (список — в «Источниках»); в другой прошивке названия пунктов могут немного отличаться.

Для администратора сети: бизнес-шлюзы
  • TP-Link Omada (шлюз со своим веб-интерфейсом): Transmission → NAT → ALG — снять SIP.
  • Zyxel ATP/USG (ZLD): Configuration → Network → ALG — снять Enable SIP ALG (и Enable SIP Transformations).
  • Fortinet FortiGate: с завода SIP обрабатывает ALG (default-voip-alg-mode proxy-based) и включён session-helper sip (обычно № 13). Выключается только в консоли: config system session-helper → delete 13 → end; затем config system settings → set default-voip-alg-mode kernel-helper-based → end; в политике не должно быть VoIP-профиля. Проверка — diagnose sys session list | grep sip.
  • MikroTik: у записи SIP в service-port есть параметры sip-direct-media (по умолчанию yes) и sip-timeout (1 час) — при выключенном помощнике они не действуют.
  • OpenWrt: SIP-помощник живёт в пакете kmod-nf-nathelper-extra; нет пакета — нет и ALG. Помощники по зонам включает опция auto_helper межсетевого экрана.

Если роутер провайдерский (оптический терминал, «коробка» от интернет-провайдера) и пункта не видно — меню обычно урезано. Позвоните провайдеру и попросите: «выключите SIP ALG на моём роутере» или «переведите терминал в режим моста (bridge)», если за ним стоит ваш собственный роутер.

После выключения перезагрузите роутер и телефоны (старые записи NAT живут до перезагрузки или истечения таймера), затем наберите *43.


NAT, двойной NAT и keep-alive#

Keep-alive. Роутер помнит «дырку» для телефона, пока через неё что-то ходит. Если телефон молчит дольше, чем тайм-аут UDP на роутере, запись удаляется — и входящий звонок до телефона не доходит, хотя в админке ещё несколько минут горит зелёная точка («исходящие звонят, входящие нет»). У роутеров на Linux (на нём работают многие домашние и провайдерские модели) тайм-аут по умолчанию — 30 секунд для односторонних UDP-потоков и 120 секунд — для потоков с ответами; у MikroTik — 30 секунд и 3 минуты.

Поэтому:

  • в телефоне включите NAT keep-alive (он же «NAT Keep-alive», «Keep Alive Interval», «UDP keep-alive») с интервалом 15–30 секунд, если есть такой пункт;
  • либо переключите телефон на TCP — TCP-соединение роутеры держат гораздо дольше (наша АТС принимает TCP на том же порту 5060);
  • АТС со своей стороны опрашивает каждый телефон раз в 60 секунд — это помогает, но на роутере с тайм-аутом 30 секунд одного этого мало.

Двойной NAT — когда за провайдерским роутером или оптическим терминалом стоит ваш собственный роутер, и оба делают NAT. Наша АТС видит только самый внешний адрес и работает и так, но: SIP ALG надо выключить на обоих устройствах, а keep-alive должен укладываться в более короткий из двух тайм-аутов. Лучший вариант — перевести провайдерское устройство в режим моста (bridge), чтобы NAT был один.

Мобильный интернет и «серый» IP провайдера (CGNAT) — это тот же двойной NAT, только внешний уровень у оператора и его не настроить. Работает, но keep-alive особенно важен: тайм-ауты у операторов бывают короткими.

Для администратора сети: тайм-ауты и проверка
  • Linux-роутеры (OpenWrt и прошивки многих домашних и провайдерских моделей): nf_conntrack_udp_timeout = 30 с, nf_conntrack_udp_timeout_stream = 120 с — документация ядра Linux. MikroTik: /ip firewall connection tracking → udp-timeout = 30 с, udp-stream-timeout = 3 мин. Если телефоны без keep-alive, поднимите UDP-тайм-аут до 180 с.
  • Признак протухшей записи NAT: исходящие работают всегда, входящие перестают приходить через несколько минут простоя и «оживают» сразу после исходящего звонка.
  • Наоборот проверить дорогу к телефону можно из админки: карточка аппарата → вкладка «Проверка» → «Позвонить на аппарат» (см. обзор, «Проверка качества связи»).

Кабель, Wi-Fi, PoE, VLAN и QoS#

  • Кабель лучше Wi-Fi. Настольный телефон подключайте кабелем. Wi-Fi добавляет задержку и потери, особенно в зале, где сеть делят гости; при переходе между точками доступа разговор может прерваться.
  • Гостевая сеть — не для телефонов. В ней обычно включена изоляция клиентов (устройства не видят друг друга — компьютер не откроет веб-интерфейс телефона) и бывает страница входа («captive portal»), которую телефон пройти не может.
  • Для беготни по залу — DECT, а не Wi-Fi-телефон. DECT-трубки работают по своему радио, не зависят от Wi-Fi и держат зарядку дольше.
  • Питание по PoE. Большинство офисных телефонов питаются от коммутатора по стандарту PoE 802.3af — отдельный блок питания не нужен. Если коммутатор без PoE, блок питания часто продаётся отдельно. Видеотелефонам и аппаратам с модулями расширения может понадобиться PoE+ (802.3at).
  • Софтфон на смартфоне в Wi-Fi теряет регистрацию при переходе на мобильную сеть — см. «Софтфоны».
Для администратора сети: VLAN для голоса и QoS

VLAN. В заведении с управляемым коммутатором удобно вынести телефоны в отдельную голосовую VLAN: гостевой и служебный трафик не мешает голосу, телефоны не видны гостям. Телефон получает номер VLAN вручную (в своих сетевых настройках), по LLDP-MED от коммутатора или опцией DHCP — смотрите страницу вашей марки. Компьютер, включённый в порт PC телефона, остаётся в обычной сети. Для АТС VLAN ничего не меняет: наружу телефон всё равно выходит через NAT роутера.

QoS. Голосу нужен не толстый канал, а приоритет в очереди на отдачу: когда кто-то заливает видео с камер или бэкап в облако, пакеты голоса стоят в одной очереди с файлами — отсюда «робот» и задержка. Что можно сделать:

  • в роутере включить приоритизацию (QoS / SQM / Smart Queue / «Управление полосой») и дать высший приоритет IP-адресам телефонов или голосовой VLAN;
  • ограничить полосу для «тяжёлых» устройств (камеры, NAS) чуть ниже реальной скорости канала — тогда очередь не набивается;
  • телефоны обычно сами помечают голос кодом DSCP 46 (EF), а сигнализацию — 24–26 (CS3/AF31); роутер может приоритизировать по этой метке. В интернете за пределами вашего роутера метки DSCP обычно не соблюдаются — поэтому управлять стоит именно своей отдачей.

Сколько интернета нужно#

Один разговор через нашу АТС занимает около 87 кбит/с в каждую сторону — одинаково для кодеков G.711 (A-law/µ-law) и G.722. С запасом закладывайте 100 кбит/с на разговор — и на приём, и на отдачу.

Одновременно разговаривают Нужно на отдачу и на приём (каждое)
1 телефон 0,1 Мбит/с
2 0,2 Мбит/с
4 0,4 Мбит/с
8 0,8 Мбит/с
10 1 Мбит/с
20 2 Мбит/с

Два уточнения, о которые спотыкаются:

  • Разговор двух телефонов внутри заведения — это два потока через интернет, а не ноль: голос всегда идёт через АТС (каждый телефон — к АТС и обратно). Считайте телефоны, которые разговаривают одновременно, а не звонки.
  • Узкое место — отдача. У ADSL, мобильного интернета и многих тарифов скорость отдачи в разы меньше приёма. Если канал на отдачу занят камерами, облачным бэкапом или загрузкой видео, голос начнёт рваться, даже когда «скорость по тесту хорошая».

Качество важнее скорости. Для нормального разговора нужны:

Показатель Хорошо Плохо слышно
Потери пакетов до 1 % больше 3 % — «булькает», пропадают слоги
Джиттер (разброс задержки) до 30 мс больше 50 мс — звук рвётся
Задержка туда-обратно до 150 мс больше 300 мс — собеседники перебивают друг друга

Эти же числа АТС показывает по каждой проверке *43 в журнале звонков.

Мобильный интернет. Разговор расходует около 0,6 МБ в минуту в каждую сторону, то есть примерно 1,2 МБ в минуту всего, или около 72 МБ за час разговора.

Как посчитано

Кодеки нашей АТС — G.711 (PCMA/PCMU) и G.722 — оба передают 64 кбит/с звука. Телефон отправляет пакет каждые 20 мс (ptime 20 мс — стандарт для этих кодеков), то есть 50 пакетов в секунду.

  • Полезная нагрузка пакета: 64 000 бит/с × 0,02 с = 1280 бит = 160 байт.
  • Заголовки: RTP 12 + UDP 8 + IPv4 20 = 40 байт → пакет на уровне IP — 200 байт.
  • На уровне IP: 200 байт × 8 × 50 пакетов/с = 80 кбит/с.
  • В кабеле Ethernet добавляется ещё 18 байт заголовка кадра: 218 байт × 8 × 50 = 87,2 кбит/с — это и есть «около 87».
  • RTCP (отчёты о качестве, раз в несколько секунд) добавляет доли кбит/с — пренебрежимо. PPPoE у провайдера добавляет 8 байт на пакет (+3,2 кбит/с).

Формула: полоса = (нагрузка + заголовки) × 8 × (1000 / ptime); для G.711 и G.722 при 20 мс: (160 + 40 + 18) × 8 × 50 = 87 200 бит/с.

Трафик: 80 кбит/с (на уровне IP, как считает мобильный оператор) = 10 000 байт/с × 60 = 600 000 байт ≈ 0,6 МБ в минуту в одну сторону; ×2 стороны = 1,2 МБ/мин; ×60 минут = 72 МБ/ч.


Как проверить сеть#

  1. Эхо-тест *43 с того телефона, который вызывает вопросы: гудок → ваш собственный голос. Как читать четыре исхода (гудок без голоса, тишина, рвано) — в обзоре: «Проверка качества связи». Говорите не меньше 10 секунд — тогда в журнале звонков появятся потери, джиттер и задержка.
  2. Звонок от АТС на аппарат (карточка аппарата → «Проверка» → «Позвонить на аппарат») проверяет обратную дорогу — ту самую «дырку» в роутере, через которую приходят входящие.
  3. Та же проверка из другой сети (телефон или софтфон с мобильного интернета) быстро отвечает, виновата ли сеть заведения.

Если что-то не так — разбор по симптомам:


Безопасность#

  • Не выставляйте телефон, ATA или шлюз в интернет напрямую: не пробрасывайте на него 5060, не ставьте его в DMZ и не давайте ему «белый» IP. Интернет круглосуточно сканируют роботы — открытый аппарат начинает звонить по ночам с номеров вроде «100» или «1000», а в худшем случае его используют для платных звонков. Нашей схеме проброс не нужен вовсе.
  • Смените заводской пароль веб-интерфейса телефона (admin/admin и подобные) — иначе любой в сети заведения, включая гостевой Wi-Fi без изоляции, может открыть настройки и прочитать учётку.
  • Если у телефона есть пункт «принимать SIP только от сервера/прокси» (Allow SIP from proxy only, Accept SIP from registrar only) — включите его.
  • Обновляйте прошивку телефонов и роутера из официальных источников производителя.

Частые вопросы#

Нужен ли статический («белый») IP-адрес заведению?#

Нет. Телефон сам соединяется с АТС, и АТС запоминает его по фактическому внешнему адресу, каким бы он ни был. Работает и за «серым» IP провайдера, и через мобильный интернет.

Нужно ли пробрасывать порты 5060 и 10000–20000 на роутере?#

Нет, и не нужно пытаться: проброс 5060 на телефон делает его видимым для сканеров из интернета. Достаточно, чтобы роутер пропускал исходящее (так он настроен с завода).

Я не нашёл SIP ALG в своём роутере. Что делать?#

Посмотрите в разделах NAT, «Межсетевой экран», «Безопасность», «WAN», «Компоненты». Нет пункта — возможно, у модели ALG нет вовсе; проверьте *43 и звонком длиннее минуты. Если звонки рвутся через 30 секунд, а роутер провайдерский — попросите провайдера выключить SIP ALG или перевести устройство в режим моста.

Входящие приходят только первые минуты после включения телефона#

Классический признак протухшей записи NAT на роутере: телефон молчит дольше тайм-аута UDP, и роутер забывает, куда отдавать входящие. Включите в телефоне NAT keep-alive на 15–30 секунд или переключите транспорт на TCP. Подробно — «Звонок обрывается» и раздел «NAT, двойной NAT и keep-alive».

Хватит ли нам мобильного роутера с SIM-картой?#

Для 1–3 одновременных разговоров — обычно да: нужно около 0,1 Мбит/с на разговор в каждую сторону. Слабое место — нестабильность: при потерях больше 3 % и задержке больше 300 мс разговор станет неудобным. Проверьте *43 в час пик и посмотрите числа в журнале звонков.

Можно ли повесить телефоны на гостевой Wi-Fi?#

Лучше нет. В гостевой сети часто включена изоляция клиентов и страница входа, а канал делят гости со своими видео — голос начнёт рваться в самый загруженный час. Выделите телефонам служебную сеть или VLAN.


Связанные разделы#

Источники#

Была ли статья полезной?