IAX2 — Inter-Asterisk eXchange protocol — протокол обмена VoIP данными между IP-АТС Asterisk и другим аналогичным
софтсвичом или VoIP-телефоном.
Наиболее приспособлен к трансляции сетевых адресов 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 разработан так, чтобы использовать один порт для передачи голоса и сигнализации. Передача сигнальной информации в битовых полях (а не текстом), совмещение множества голосовых потоков и передача их внутри единого транка, позволяет существенно снизить сетевой трафик.
Технические особенности
- полностью бинарный протокол (в отличие от 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-атак[1], и эта проблема до сих пор не исправлена. Наилучшим решением является ограничения доступа к UDP-порту только с определённых IP-адресов, которым можно доверять. В новых версиях Asterisk этой проблемы больше нет[2].
Программы
Телефонные станции:
Примечания
Ссылки
|
---|
Официальные | |
---|
Неофициальные | |
---|