У нас есть пара серверов SIP PROXY / REGISTRAR с выходом в Интернет (для обеспечения отказоустойчивости и балансировки нагрузки). Когда SIP-телефон регистрируется, он будет обрабатываться одним из серверов REGISTRAR (циклический DNS) - и, поскольку эта регистрация возобновляется, сохраняется преобразование порта / адреса межсетевого экрана. Следовательно, когда вызов должен быть отправлен обратно на телефон, сообщение INVITE успешно проходит через межсетевой экран.
Однако вполне вероятно, что телефон может зарегистрироваться на одном из двух серверов, но ПРИГЛАШЕНИЕ может поступить от другого. В этой ситуации вызов не выполняется, так как на брандмауэре нет перевода.
Есть ли в протоколе SIP функция для облегчения этого? Есть другие идеи? По мере роста нашего трафика у нас, несомненно, будет более двух серверов, поэтому проблема будет обостряться.
Спасибо,
Майк
У нас была такая же проблема на Juniper SRX на junos 12.1R2.9.
У провайдера SIP есть 4 IP-адреса, которые меняются циклическим перебором DNS, и, очевидно, сотни (максимум 512 IP-адресов), которые отправляли пакеты RTP.
Предыдущим брандмауэром был Snapgear, старый, но простой в использовании. Juniper имеет симметричный NAT и кажется более строгим.
Нам удалось получить звук изнутри наружу, используя постоянный источник нат.
Для звука снаружи внутрь нам пришлось добавить правило nat источника:
Постоянный NAT гарантирует, что трафик разрешен. Очевидно, это работает. Возможно, шаг 2 можно пропустить, но, учитывая время простоя, я оставил его.
нат {источник {пул sip-zipt-nl-no-round-robin {адрес {131.131.160.2/32; }} постоянный адрес; интерфейс {отключение перегрузки порта; } доверительные отношения с набором правил {из зоны доверия; зонировать недоверие; правило источник-нат-правило {соответствие {адрес-источника 0.0.0.0/0; } затем {source-nat {interface {persistent-nat {разрешить любой удаленный хост; }}}}}}
набор правил sip-incoming {из зоны недоверия; зонировать доверие; правило sip-zipt-nl-no-round-robin {соответствие {исходный адрес 131.131.160.0/23; адрес назначения 0.0.0.0/0; } затем {источник-нат {пул {sip-zipt-nl-no-round-robin; }}}}}}
Фактическая проблема заключается в том, что ваши прокси / регистраторы не используют общую базу данных регистрации.