Почему SIP-ALG в роутерах и модемах?

1039
Jason

В настоящее время мы используем VoIP-систему на основе NetSapiens и имеем экстремальные проблемы с большим количеством маршрутизаторов и модемов потребительского уровня, поскольку SIP-ALG не отключен или не может быть отключен.

Так что, если SIP-ALG является такой проблемой для телефонов VoIP, почему он всегда включен по умолчанию или все же один используется в качестве протокола?

1
Фрэнк, хороший ответ для тебя? Вам нужно больше информации? music2myear 7 лет назад 0

1 ответ на вопрос

2
DavidPostill

Если SIP-ALG является такой проблемой для телефонов VoIP, почему он всегда включен по умолчанию или даже используется отдельно в качестве протокола?

SIP-ALG позволяет маршрутизатору NAT перезаписывать информацию в сообщениях SIP (заголовки SIP и тело SDP).

Цель состоит в том, чтобы предотвратить некоторые проблемы, вызванные межсетевыми экранами маршрутизатора, путем проверки трафика VoIP (пакетов) и, при необходимости, его изменения.

Это делает возможным передачу сигналов и аудио трафика между клиентом за NAT (например, телефоном VoIP) и конечной точкой SIP.

Без SIP-ALG у вас может быть односторонняя аудиосвязь при разговорах VoIP (см. Ниже).

К сожалению, SIP-ALG во многих маршрутизаторах плохо реализован и вызывает больше проблем, чем решает.

Если у вас есть один из этих проблемных маршрутизаторов, рекомендуется отключить SIP-ALG и использовать другие методы для обеспечения корректной работы VoIP.

Gradwell и другие провайдеры часто обнаруживают, что SIP ALG неожиданно изменяет SIP-пакеты, повреждая их и делая их нечитаемыми. Это может привести к неожиданному поведению, например, к тому, что телефоны не регистрируются, а входящие звонки не выполняются.

Источник Что такое SIP ALG и почему Gradwell рекомендует отключить его?

SIP ALG проблемы

Основная проблема - плохая реализация на уровне протокола SIP большинства коммерческих маршрутизаторов и тот факт, что эта технология просто полезна для исходящих вызовов, но не для входящих вызовов:

  • Отсутствие входящих звонков: когда UA включен, он отправляет REGISTER в прокси-сервер для локализации и приема входящих звонков. Этот REGISTER изменен функцией ALG (в противном случае прокси-сервер не сможет связаться с пользователем, так как он указал частный IP-адрес в заголовке REGISTER "Contact"). Обычные маршрутизаторы просто поддерживают «соединение» UDP некоторое время (30-60 секунд), поэтому по истечении этого времени переадресация портов заканчивается, и входящие пакеты отбрасываются маршрутизатором. Многие SIP-прокси поддерживают поддержку активности UDP, отправляя сообщения OPTIONS или NOTIFY в UA, но они делают это только тогда, когда UA был обнаружен как натированный во время регистрации. Маршрутизатор SIP ALG переписывает запрос REGISTER, чтобы прокси-сервер не обнаруживал NAT и не
  • Прерывание сигнализации SIP: Многие из существующих общих маршрутизаторов со встроенным SIP ALG неправильно изменяют заголовки SIP и тело SDP, нарушая SIP и делая связь просто невозможной. Некоторые из них выполняют полную замену путем поиска личного адреса во всех заголовках и теле SIP и замены их на общедоступный сопоставленный адрес маршрутизатора (например, замена частного адреса, если он появляется в заголовке «Call-ID», что не имеет смысла). совсем). Многие маршрутизаторы SIP ALG повреждают сообщение SIP при записи в него (то есть пропускают точку с запятой ";" в параметрах заголовка). Запись неправильных значений порта, превышающих 65536, также распространена во многих из этих маршрутизаторов.
  • Отказ от решений на стороне сервера. Даже если вам не нужно решение NAT на стороне клиента (ваш SIP-прокси предоставляет вам решение NAT для сервера), если на вашем маршрутизаторе включена функция SIP ALG, которая прерывает передачу сигналов SIP, это сделает невозможным связь с вашим прокси-сервером.

Исходные маршрутизаторы SIP ALG


Почему односторонний звук происходит?

Наиболее распространенной причиной односторонней передачи звука является маршрутизаторы, поскольку многие маршрутизаторы не созданы с учетом VoIP. Большинство интернет-провайдеров предоставят вам один IP-адрес, который вы используете в Интернете и который позволяет другим компьютерам вас найти.

Когда вы подключаете устройства и компьютеры к вашему маршрутизатору, он должен разделять этот IP-адрес среди всех ваших устройств. Поэтому он использует то, что называется преобразованием сетевых адресов (NAT). Используя это, каждое из ваших устройств получает свой собственный внутренний IP-адрес, чтобы ваш маршрутизатор мог их различать.

Это не используется для общения с интернетом, а является только внутренним адресом. Когда ваш компьютер или другие устройства обмениваются данными с Интернетом, используется IP-адрес, предоставленный вам вашим интернет-провайдером (дополнительную информацию об этом процессе см. В этой статье).

Обычно это не проблема при выполнении повседневных задач в Интернете, поскольку вы в основном получаете информацию, а не отправляете ее непосредственно на ваш компьютер.

Однако телефонный звонок - это двусторонний процесс. Вы отправляете аудио через Интернет, а другая сторона отправляет вам их обратно. Это вызывает дилемму, так как аудио будет иметь ваш публичный IP-адрес, но не внутренний адрес вашего устройства. Ваш маршрутизатор получает информацию, но не знает, что с ней делать. Поэтому он игнорирует это. Это означает, что другой человек слышит, как вы разговариваете, но независимо от того, что они говорят, вы их не слышите. Их часть разговора просто не проходит.

Источник Почему я получаю односторонний звук при телефонных звонках?

Похожие вопросы