IAX
Ця стаття не містить посилань на джерела. (лютий 2021) |
IAX2 — Inter-Asterisk eXchange protocol — протокол обміну VoIP даними між IP-PBX Asterisk. Найпристосованіший до трансляції мережевих адрес NAT, на відміну від SIP і H.323 використовує тільки один порт 4569 протоколу UDP для сигналізації й медіапотоків, тоді як останні використовують для цих цілей різні порти. Даний протокол дозволяє істотно економити мережевий трафік в порівнянні з протоколом SIP, що пояснюється передачею сигнальної інформації в бітових полях, а не текстом. Так само протокол дозволяє поєднувати безліч голосових потоків і передавати їх усередині єдиного транк, зменшуючи накладні витрати, пов'язані з передачею заголовків IP-пакетів.
Історія
ред.IAX2 — (Inter-Asterisk eXchange protocol — друга версія) протокол розроблений компанією Digium, спеціально для Asterisk, як альтернативний протокол. Група розробників у складі: Марк Спенсер, Френк Міллер, Кенні Шумард, Ед Гай і Брайан Капоч подала заявку в IETF і 20 лютого 2009 року протокол був затверджений під RFC 5456. Передумовою було бажання забезпечити передачу голосу високої якості в «слабких» мережах. Оскільки при використанні протоколами SIP і H.323 двох портів для передачі голосу і сигналізації, іноді виникали проблеми, коли під час тривалої розмови одного абонента і мовчання іншого, Firewall, в цілях безпеки, закривав порт сигналізації, оскільки по ньому не йшли пакети. У результаті цього після того, як мовчав абонент починав говорити, сигналізація про це не проходила через порт, і респондент його не чув. Для того що б виключити дану проблему, IAX2 розроблений так, що б використовувати один порт для передачі голосу і сигналізації. У зв'язку з тим, що IAX2 передає сигнальну інформацію в бітових полях, а не текстом, поєднання безлічі голосових потоків і передача їх усередині єдиного транка, дозволяє істотно знижувати мережевий трафік.
Технічні особливості
ред.- Повністю бінарний протокол (на відміну від SIP) — економія трафіку
- Використовується один єдиний UDP-порт 4569, що спрощує конфігурацію Firewall і покращує роботу через NAT
- Підтримується транкінг, при цьому в кожному пакеті передаються дані відразу декількох паралельних каналів — економія трафіку
- Економніше ніж SIP у вимогах до смуги пропускання
- Простіша конфігурація NAT і Firewall
- Менше неочевидних проблем (при наявності Firewall неможлива ситуація, коли з'єднання встановлюється, а голосові дані пройти не можуть, на відміну від SIP)
- IAX2 ефективніше RTP (SIP) для будь-якої кількості одночасних з'єднань, і при використанні будь-якого кодека. Економія починаючи від 2.4k для єдиного виклику, до приблизно потроєння кількості одночасних з'єднань через мегабітовий потік для G.729 при використанні trunk mode.
Недоліки
ред.- Труднощі розширення протоколу: кожна нова можливість повинна бути додана в специфікації протоколу, що робить його менш гнучким, ніж H.323, SIP або MGCP.
- Уразливість: старі реалізації IAX2 уразливі до DoS-атак, і ця проблема досі не виправлена. Найкращим рішенням є обмеження доступу до UDP-порту тільки з певних IP-адрес, яким можна довіряти. У нових версіях Asterisk цієї проблеми більше немає.