Voipnotes
Услуги
  • 3CX Phone System
    • Купить IP АТС - 3CX Phone System
Ещё
    Задать вопрос
    +7 (499) 113-65-73
    Заказать звонок
    sale@voipnotes.ru
    г. Москва 2-й Михайловский проезд 9
    +7 (499) 113-65-73
    Заказать звонок
    Voipnotes
    Услуги
    • 3CX Phone System
      • Купить IP АТС - 3CX Phone System
      Voipnotes
      Услуги
      • 3CX Phone System
        • Купить IP АТС - 3CX Phone System
        Voipnotes
        Voipnotes
        • Услуги
          • Назад
          • Услуги
          • 3CX Phone System
            • Назад
            • 3CX Phone System
            • Купить IP АТС - 3CX Phone System
        • +7 (499) 113-65-73
        sale@voipnotes.ru
        г. Москва 2-й Михайловский проезд 9
        • Главная
        • Блог
        • Протокол IAX

        Протокол IAX

        24 Февраля 2015

        Протокол IAX (Inter-Asterisk eXchange) – это VoIP протокол, используемый в АТС Asterisk. IAX используется как для связи различных АТС Asterisk, так и для прохождения сигнализации и медиа данных между оконечными IAX клиентами.

        Протокол IAX не так распространен как другие VoIP протоколы (SIP, H.323 и SCCP), но у него есть определенные достоинства. Одним из достоинств протокола IAX является использование всего одного UDP порта (4569) для сигнальных и медиа данных. Это позволяет гораздо проще настроить прохождение NAT. В свою очередь остальные VoIP протоколы используют большое количество, как сигнальных, так и медиа портов, что осложняет прохождения NAT.

        Протокол IAX использует свои собственные фреймы(пакеты данных) для передачи медиа данных, поэтому размер такого пакета может быть уменьшен, по сравнению с часто используемыми протоколами RTP / RTCP. Протокол позволяет совмещать множество голосовых потоков и передавать их внутри единого транка, уменьшая расходы, связанные с передачей заголовков IP-пакетов.

        Протокол IAX - полностью бинарный протокол, что позволяет экономить трафик.

        Недостатками протокола является:1) Трудность расширения протокола: каждая новая возможность должна быть добавлена в спецификации протокола, что делает его менее гибким, чем H.323, SIP или MGCP;2) Уязвимость: старые реализации IAX2 уязвимы к DoS-атакам, и эта проблема до сих пор не исправлена. Наилучшим решением является ограничения доступа к UDP-порту только с определённых IP-адресов, которым можно доверять. В новых версиях Asterisk этой проблемы больше нет.

        Структура протокола IAX

        При использовании протокола IAX в одном кадре переносятся как сигнальные, так и медиа данные. Ниже приведена структура кадра IAX:

        protocol_iax_1.jpg

        • Source Call Number – номер звонящего абонента (А-номер)
        • Destination Call Number – номер вызываемого абонента (Б-номер)
        • Time-stamp – метка времени
        • OSeqno – количество сообщений, отправленных удаленному абоненту
        • ISeqno – количество сообщений, полученных от удаленного абонента
        • Frame Type – тип кадра
        • Subclass – подсказка о типе данных, которые идут вслед за IAX заголовком
        • Data – полезная нагрузка

        Сообщения сигнализации часто содержат последовательность информационных элементов (IE), которые используются, чтобы дать дополнительные сведения о сообщении. Например, сообщение "IAX NEW" будет содержать информационные элементы, которые описывают вызывающего абонента, вызываемого абонента и информацию о сети, в которой этот вызов проходит. IE, являются методом Tag-length-value (или TLV) — широко распространённый метод записи коротких данных в компьютерных файлах и телекоммуникационных протоколах. Метод определяет простую двоичную структуру из трёх полей: тэг, длина данных и собственно данные. Первые два поля имеют фиксированную длину (обычно один или два байта на поле), длина третьего поля определяется значением второго поля (Обычно значение указывается в байтах). Тэг является идентификатором данных, определяя их назначение. Каждый IE имеет свой собственный идентификатор.

        Короткие кадры в протоколе IAX используются исключительно для передачи медиа данных при уже установленном вызове. При обмене IAX сообщений, первая часть медиа данных приходит в полном кадре, при этом идет согласование аудиокодеков (например, G.729, G.711u-law, G.711a-law). Последующие кадры должны ссылаться только на использованный идентификатор вызова. Пример короткого IAX кадра:

        protocol_iax_2.jpg

        Создание вызова между двумя узлами IAX схоже на создание вызова в протоколе SIP или H.323. Фаза установление вызова включает аутентификацию (если необходимо), согласование аудиокодеков и первоначальный обмен медиа данными. В конце разговора происходит фаза разрушения вызова.

        protocol_iax_3.jpg

        Протокол IAX описывается в RFC 5456 и RFC 5457. Эти RFC публикуются как информационные, это означает, что они служат лишь в качестве примеров, а не стандарта. Данные RFC уже устаревают. Последние версии Asterisk (а также клиенты IAX) используют типы сообщений и информационные элементы, которые не описываются в RFC. Когда вводятся новые информационные элементы и типы кадров, под них создается новый идентификатор. Информацию о новых элементах и типах сообщений можно найти в исходном коде Asterisk или в свободном доступе в Интернете.

        Если вы в статье нашли ошибки или несоответствия, мы будем благодарны, если вы напишите нам о них в комментариях.

        Нужна консультация?

        Наши специалисты ответят на любой интересующий вопрос

        Задать вопрос
        Поделиться
        Назад к списку
        © 2021 Все права защищены.
        +7 (499) 113-65-73
        Заказать звонок
        sale@voipnotes.ru
        г. Москва 2-й Михайловский проезд 9
        Политика конфиденциальности
        Версия для печати
        © 2021 Все права защищены.
        Заказать звонок
        Написать сообщение