Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Сегодня мы поговорим о SIP телефонах. А именно, об опыте использования SIP телефонов в локальной сети офиса, которые подключаются в к SIP серверу через публичную сеть Интернет. Если вы используете SIP-телефоны вместе с нашим облачным сервисом, то данная заметка будет вас полезна и поможет избежать основные проблемы основных проблем при работе IP телефонии за NAT.

...

Не буду копировать из wiki умные вещи, попробую объяснить проще - NAT (Network Address Translation) — это механизм, который позволяет маршрутизатору (наш сервер, роутер, модем – все, что используем для выхода в Интернет) определять какие сервисы находятся за роутером и должны быть доступны из интернета, чтобы пользователи оттуда могли этими сервисами пользоваться. Так как, в большинстве случаемслучаев, у нас всего 1 внешний (белый, публичны публичный – как кому больше нравитьсянравится) IP адрес, а устройств в сети много, то мы используем локальные (серые) IP адреса. Они не доступны из Интернета, а NAT помогает нам опубликовать в мир какой-то порт из локальной сети.

...

При использовании UDP протокола, отправка ответа на SIP-запрос осуществляется на тот IP-адрес, с которого запрос был получен. Номер же порта для отправки извлекается из заголовка Via в SIP пакете. В случае использования NAT – это порт, на котором ожидает ответа наш IP телефон, но точно не тот порт, через который происходит NAT-трансляция и на котором NAT ожидает поступления ответа, чтобы его дальше направить уже на телефон. Мы получаем ситуацию, в которой звонок не может достичь SIP телефонтелефона:

Для решение решения этой проблемы SIP умеет отправлять ответа ответ на порт, с которого запрос был получен, вместо порта, взятого из заголовка Via. При этом сам порт заносится в специальный параметр rport-заголовка Via. Это позволяет ответу найти соответствие в таблице NAT и достичь целевого узла. Этот метод называется симметричной маршрутизацией ответов.

...

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

Рекомендации по настройке SIP телефонов

Как итог, я хочу написать несколько основных рекомендации Несколько основных рекомендаций по настройке  SIP SIP телефонов у Вас в сети (на примере аппарата Yealink).

RPort

Включайте Включить параметр rport:

 

Keep Alive

Включите Включить и отправляйте отправлять каждые 30 секунд Keep Alive. У других производителей телефонов может називатсяназыватся: re-INVITE, OPTIONS, INFO, NOTIFY

...

Разные локальный SIP

В некоторых случаях , помогает, если каждому аппарату задать свой уникальный локальный SIP порт:

TCP/TLS

Вы можете Также можно использовать TCP либо TLS вместо UDP. В некоторых случаях это более надежное решения решение для обхода NAT. Если будете использовать При использовании TLS, обратите следует обратить внимание, что порт подключения к webitel нужно будет указать 5071, вместо стандартного для UDP/TCP 5070

...