Подключаемся к удаленному SIP серверу через Интернет

Для того, чтобы SIP сервер был доступен для подключения удаленных абонентов, нужно открыть к нему доступ извне. Это означает проброс портов доступа к SIP серверу на роутере, подключенном к Интернету:


ПРОБРОС, PORT FORWARDING, НУЖНО ВЫПОЛНИТЬ ДЛЯ ПОРТОВ МАРШРУТИЗАТОРА:

  • 5060 (TCP) - основной порт подключения к серверу (для Mobotix T24/T25 - порт 5061). Cлужит для регистрации и получения команд от сервера.
  • RTP порты (UDP) - см. проект iRidium и настройку сервера. Может быть диапазон 7078-9078 или 40000-41000. Через порты RTP производится передача голоса, поэтому их проброс нужно сделать обязательно

ПРИМЕР:


  • SIP Server - эта настройка обеспечивает подключение к удаленному серверу через порт 12005 (маршрутизатор переадресует данные с порта 12005 на реальный порт сервера: 5060). Переадресация рекомендована в связи с тем, что многие сотовые операторы блокируют обмен данными через порт 5060 (стандартный порт SIP).
  • SIP RTP - диапазон RTP портов для передачи голоса
  • 192.168.0.41 - IP адрес SIP сервера в локальной сети
Когда порты проброшены, возможно подключение к серверу через интернет с использованием внешнего IP адреса маршрутизатора или доменного имени (при использовании DDNS или NoIP).

ОПРЕДЕЛЕНИЕ ВНЕШНЕГО IP АДРЕСА МАРШРУТИЗАТОРА (SIP СЕРВЕРА):

Воспользуйтесь одним из бесплатных сервисов для определения своего IP адреса в Интернете, например: http://www.whatismyip.com/
Обращаться к сервису нужно из той же локальной сети, в которой работает SIP сервер.
В качестве примера, определим внешний адрес SIP серввера как 200.100.10.10

НАСТРОЙКА ПРОЕКТА IRIDIUM ДЛЯ ПОДКЛЮЧЕНИЯ К УДАЛЕННОМУ SIP СЕРВЕРУ:

Настроим драйвер SIP в проекте iRidium для SIP:

  • Host: внешний IP адрес маршрутизатора, к которому подключен SIP сервер
  • Port: проброшенный на маршрутизаторе порт подключения к SIP серверу. По умолчанию это 5060. См. выше пример перенаправления 12005:5060 с целью избежать блокировки подключения на стороне сотового оператора
  • Password - пароль подключения к серверу (для выбранного аккаунта)
  • Caller (ID) Name - имя абонента (например: User)
  • SIP ID - идентификатор абонента (может называться Caller ID, например: 102)
  • First RTP Port - начало диапазона RTP портов голосового обмена
  • Last RTP Port - конец диапазона RTP портов голосового обмена. Диапазон RTP портов указывается на случай, если на маршрутизаторе запрещены к использованию некоторые UDP порты. Этот диапазон необходимо пробросить на роутере, при работе через интернет
  • Use SIP TONE - генерировать SIP сообщения тонального набора
  • USE DTMF TONE - генерировать сообщения тонального набора
  • Extrenal IP - укажите свой (панели управления) внешний IP адрес, если он СТАТИЧЕСКИЙ (если панель находится в сети, подключенной к маршрутизатору, имеющему статический внешний IP адрес). Если IP не статический:
Когда панель работает по 3G/4G, или в произвольной WiFi сети - через динамический IP, необходимо автоматически определять внешний адрес панели управления: Extrenal IP для корректной настройки драйвера.
Для этого существует дополнительный скрипт, который рассмотрим далее:

ОПРЕДЕЛЕНИЕ "EXTERNAL IP" ПАНЕЛИ УПРАВЛЕНИЯ ПРИ РАБОТЕ ЧЕРЕЗ ИНТЕРНЕТ:


Если External IP (параметр драйвера SIP в настройках iRidium) неизвестен, разговор с абонентом через удаленный SIP сервер работать не будет, т.к. сервер должен получить IP адрес панели для осуществления коммутации вызова. Панель должна передать свой внешний IP адрес в параметре External IP.
Определение адреса панели можно осуществить через приведенный далее скрипт.

Скрипт проверки внешнего адреса работает только при наличии лицензии с суффиксом Pro.

Скачать скрипт для переключения между локальным и внешним адресом SIP сервера

Скрипт нужно добавить в свой проект (через редактор скриптов, кнопка [JS] в редакторе):


и настроить его параметры (соответствуют параметрам драйвера SIP в редакторе):


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

Кнопки нужно создать и привязать к ним команды ScriptCall(ExternalIP) и ScriptCall(LocalIP), вызывающие применение локальных или внешних настроек подключения:


ПРИМЕР:
SIP_Intercom_iPad_ExternalServer.irpz

Dit artikel is nuttig voor 2 personen. Is dit artikel nuttig voor u?