Redirect SIP Service (redirect)

Описание

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

Резервируется и масштабируется в режиме Active-Active.

Table 1. Системные характеристики

Код

redirect

Режим работы

Сервис

Режим резервирования

Active-Active

Типы сайтов

Любые

Слой

Бизнес-логика

Размещение

Пограничный

Сохранение и восстановление состояния при перезагрузке

Нет

Приложение

era_sip

Ограничения

  • Роль доступна только в рабочих доменах

  • Является пограничной ролью, использует сертификат TLS для HTTPS и WSS подключений.

Параметры

Table 2. Параметры
Имя Тип Умолчание Описание

name

str

required

Имя. Может состоять из латинских букв и цифр, должно начинаться с буквы.

roletype

str

required

Тип роли. Возможные значения: "redirect".

iface

str

required

Алиас сетевого интерфейса сервера, на котором будет происходить внутреннее взаимодействие ролей между собой.

ext

json

empty

Дополнительные опции роли. Содержит json объект или список.

enabled

bool

empty

Флаг активности роли. При установке в false роль не участвует в валидации и не запускается.

roleid

int

required

Идентификатор роли.
Уникален для всей системы, независимо от сайта или сервера. Не подлежит изменению.
Целое число от 1 до 9999.

separate

bool

required

Признак выделения роли в отдельную ноду.

udp

int

required

Локальный порт UDP для SIP. Этот же порт одновременно обрабатывает и TCP.
Например: 5060.
Поднимает слушателя UDP на групповом интерфейсе '0.0.0.0', либо интерфейсах, указанных параметром 'sip_ifaces'.

tcp

int

required

Локальный порт TCP для SIP. Если указано значение, отличное от UDP, то будет поднят дополнительно.
Например: 5060.
Поднимает слушателя TCP на групповом интерфейсе '0.0.0.0', либо интерфейсах, указанных параметром 'sip_ifaces'.

tls

int

empty

Локальный порт TLS для SIP (1 - 65535). По умолчанию не открывается.
Например: 5061.
Поднимает слушателя TLS на групповом интерфейсе '0.0.0.0', либо интерфейсах, указанных параметром 'sip_ifaces'.

wss

int

empty

Локальный порт WebSocketSecure для SIP (1 - 65535). По умолчанию не открывается.
Например: 5063.
Поднимает слушателя WSS на групповом интерфейсе '0.0.0.0', либо интерфейсах, указанных параметром 'sip_ifaces'.

sip_internal_port

int

empty

Локальный порт для SIP-взаимодействия с другими микросервисами системы (UDP/TCP).
Например: 6150.
Используется для внутреннего взаимодействия с другими микросервисами системы по протоколу SIP.
Применяется в том случае, если для микросервиса задан список конкретных интерфейсов слушателя портов ('sip_ifaces').
Поднимается только на локальном интерфейсе ноды.
Не должен использоваться другими микросервисами, исполняемыми на том же самом сервере.

sip_ifaces

array<str>

[]

Список интерфейсов сервера, на которых поднимаются слушатели портов.
Указываются алиасы интерфейсов сервера.
Если не указано ни одного интерфейса, то заданные порты слушаются на всех интерфейсах (0.0.0.0).

Для ролей sg, esg, redirect, исполняемых на одном и том же сервере, в качестве внешних портов (udp,tcp,tls,wss) могут быть указаны одинаковые значения, если их списки прослушиваемых интерфейсов не пересекаются.

К списку прослушиваемых интерфейсов всегда добавляется оригинальный интерфейс текущей ноды с портом 'sip_internal_port', который не должен использоваться другими микросервисами на этом же сервере.

trn

bool

true

Выключатель логирования SIP-протокола в лог trn.

sipcode

int

305

Код ответа, отправляемый в UA для перенаправления. Возможные значения: 3xx. По умолчанию: 305 Use Proxy.

multicontact

bool

false

Выключатель режима предоставления UA списка адресов.
true – предоставление UA случайного списка адресов всех экземпляров роли sg на текущем сайте (выбор возлагается на UA).
false – предоставление UA единственного случайным образом выбранного адреса из списка адресов всех экземпляров роли sg на текущем сайте.

gates

array<int>

empty

Список roleid ролей sg на которые будет производиться редирект.
По умолчанию все экземпляры на текущем сайте.

expires

int

0

Время жизни, подставляемое в поле "Contact" при переадресации, в секундах.
Предполагается, что устройство продолжит использовать полученный контактный адрес в качестве основного прокси-сервера в течение указанного времени.

Пример конфигурации

Управление конфигурацией производится в приложении, доступном для администраторов мастер-домена. Приложение скрывает полное содержание конфигурации, однако тем не менее оно доступно через API.

Конфигурация содержит раздел для описания всех экземпляров всех ролей. Параметры определяются для каждого конкретного экземпляра роли.

Пример узла
{

  "name": "redirect1",
  "roletype": "redirect",
  "iface": "eth0",

  "roleid": 11430,
  "separate": true,
  "tcp": 5060,
  "udp": 5060,
  "tls": 5061,
  "wss": 5063,

  "certdir": "/var/lib/era/certificates",
  "keypass": "eb9c4458016d3f1e378d02004c4f4f50",
  "expires": 180,
  "multicontact": false,
  "sipcode": 302
}

См. также