C cenaly.com
Започнете безплатно

Мрежа, рутер и интернет за телефония

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

On this page 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.


Свързани раздели#

Източници#

Was this article helpful?