Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Причины проблемы

Проблема NAT для VoIP заключается в том, что при прохождении пакета через NAT IP-адрес изменяется только в заголовке, не меняя адрес в теле SIP-сообщения. Поэтому узел будет посылать пакеты на частный адрес/порт, а не реальный.

Следствием данной проблемы является односторонняя слышимость или отсутствие входящей связи.

Способы решения проблемы

При регистрации устройство находящееся за NAT посылает сообщение Register на сервер. При этом в поле Contact этого сообщения указывается адрес для приема встречных запросов. В этом поле, если шлюз работает за NAT , должен указываться публичный IP-адрес роутера, адрес его WAN порта, осуществляющего режим NAT . Если в данном поле будет указан собственный, приватный адрес шлюза, то встречные запросы от сервера не дойдут до адресата, сервер не будет знать местоположение шлюза, поскольку все запросы он должен направлять на адрес роутера.

То же самое касается и голосового трафика. В сообщениях INVITE в протоколе SDP указывается адрес и порт на который слать встречные RTP пакеты, в поле Connection Information. Тут так же должен быть указан не собственный адрес шлюза из приватной подсети, а глобальный адрес роутера, для того, чтобы голосовые пакеты так же направлялись к адресату.

Если устройство находится в приватной сети, то есть работает за NAT , то для корректного приема голосового трафика и корректного транзита ответных запросов от встречной стороны в наших устройствах используется настройки PublicIP или STUN сервера.

При использовании настройки Public IP прописанный адрес будет подставляться в поле Contact при регистрации и в SDP при инициализации вызова. Данная настройка преимущественно используется в случаях когда на роутере назначен статический IP-адрес.

STUN сервер, используется, когда на роутере настроено получение IP адреса по DHCP и поэтому заранее не известно какой адрес будет на WAN порту роутера. Принцип работы STUN следующий: устройство отправляет на внешний STUN-сервер зондирующие сообщения, при этом в теле отправленного запроса указаны адрес и порт устройства в локальной сети. Эти же адреса и порты фигурируют в заголовке IP-пакета, содержащего запрос, но после прохождения NAT адрес источника изменится на внешний адрес роутера, а номер порта в зависимости от реализации NAT может измениться или остаться неизменным. STUN-сервер отвечает клиенту сообщением, в теле которого также указаны адрес и порт, с которого был получен запрос (т.е. публичный адрес и порт роутера). Далее абонентский шлюз будет подставлять в поле Contact и вложение SDP адрес и порт, полученные в сообщении от STUN сервера.

При использовании протокола STUN необходимо учитывать что STUN не работает с симметричным типом NAT и требуется поддержка сессии STUN в активном состоянии.

Настройка абонентских и транковых шлюзов для работы с NAT

TAU4, TAU8, RG14

На данных абонентских шлюзах настройка производится в разделе PBX -> SIP -> Общие настройки.

В случае если на роутере назначен статический IP-адрес, то необходимо указать его в параметре Публичный IP-адрес (Public IP). При этом на роутере (NAT) необходимо сделать проброс соответствующих SIP и RTP портов, используемых абонентским шлюзом.

В случае если роутер получает адрес по DHCP на абонентском шлюзе необходимо:

установить флаг Использовать STUN (STUN enable) для определения внешнего адреса шлюза (публичного адреса) за которым стоит устройство;

указать IP-адрес или доменное имя сервера STUN и через двоеточие порт (в случае если сервер использует не стандартный 3478 порт) в параметре Адрес STUN-сервера (:порт) (STUN server address (:port));

указать период отправки запросов на сервер STUN в параметре Интервал опроса STUN-сервера (сек) (STUN request sending interval (sec)). Чем меньше интервал опроса, тем выше скорость реакции на изменение публичного адреса.

TAU-1M, TAU-2M, RG24, RG44

На данных абонентских шлюзах настройка Public IP  производится на вкладке IP телефония -> Профили в параметрах SIP-профиля. 

Настройка работы со STUN-сервером осуществляется на вкладке IP телефония -> Профили в параметрах SIP-профиля в разделе Общие настройки профилей SIP. Для включения работы со STUN-сервером необходимо установить флаг Использовать STUN. После его установки появятся настройки адреса STUN сервера и интервал его опроса.

TAU-16, TAU24, TAU-32M, TAU-72

На данных абонентских шлюзах настройка публичного адреса (Public IP) и включение протокола STUN производится в разделе PBX -> Профили SIP/H323 (SIP/H323 Profiles) -> SIP общие (SIP Common).

SMG-2, SMG4, SMG-1016M, SMG-2016

На транковых шлюзах SMG поддерживается только работа со STUN. Настройка осуществляется в разделе Маршрутизация -> Интерфейсы SIP в  каждом SIP-интерфейсе индивидуально на вкладке Настройка протокола SIP в разделе Параметры STUN-сервера.

Помимо этого для SIP-абонентов регистрирующихся на SMG в параметрах SIP-профиля предусмотрена функция NAT (comedia mode). Данная настройка используется когда SMG находится в публичной сети, а его абоненты в серой (приватной, локальной). Данная функция позволяет проверять данные источника во входящем RTP потоке и транслировать исходящий поток на IP-адрес и UDP-порт, с которого принимается медиа поток.