Internal SIP Gate (sg)
Описание
Точка входа в кластер по SIP для внутренних устройств, определяемых учетными записями SIP-пользователей.
Проксирует запросы в режиме stateless на внутренние серверы с ролями b2b. Имеет адрес, через который подключены телефоны внутренних абонентов соответствующего сайта. Любой запрос от системы к пользователю идет через соответствующий экземпляр роли sg.
Не делает различий между разными типами запросов – пропускает все насквозь, добавляя себя в заголовки "Via" всех запросов и "Record-Route" INVITE-запросов.
Является пограничной ролью для интерфейса SIP.
Защищает кластер от нежелательных запросов извне, используя пограничные фильтры на основе статических правил и динамических списков временно забаненных адресов.
Может использовать роль bgmg для решения вопроса стыковки разных сетей. Медиа-шлюз посредством роли bgmg применяется автоматически при обнаружении нескольких сетевых интерфейсов и при проксировании запроса из одной подсети в другую. Для корректного функционирования режима на сервере с ролью sg должен находиться один или несколько экземпляров роли bgmg с непересекающимися настройками для портов.
Резервируется и масштабируется в режиме Active-Active.
При запуске роли проверяется сертификат указанный в параметре *certdir*. Если валидация не пройдена, роль запускается с неизменяемым сертификатом. Сертификат может быть переопределен через настройки домена.
Код |
|
Режим работы |
|
Режим резервирования |
|
Типы сайтов |
|
Слой |
|
Размещение |
|
Сохранение и восстановление состояния при перезагрузке |
|
Приложение |
|
Ограничения
-
Не более 3000 SIP-пакетов на один экземпляр роли в секунду.
-
Является пограничной ролью, использует сертификат TLS для HTTPS и WSS подключений.
Параметры
Имя | Тип | Умолчание | Описание | ||
---|---|---|---|---|---|
|
|
required |
Имя. Может состоять из латинских букв и цифр, должно начинаться с буквы. |
||
|
|
required |
Тип роли. Возможные значения: |
||
|
|
required |
Алиас сетевого интерфейса сервера, на котором будет происходить внутреннее взаимодействие ролей между собой. |
||
|
|
empty |
Дополнительные опции роли. Содержит json объект или список. |
||
|
|
empty |
Флаг активности роли. При установке в false роль не участвует в валидации и не запускается. |
||
|
|
required |
Идентификатор роли. |
||
|
|
required |
Признак выделения роли в отдельную ноду. |
||
|
required |
Локальный порт UDP для SIP ( |
|||
|
required |
Локальный порт TCP для SIP ( |
|||
|
empty |
Локальный порт TLS для SIP ( |
|||
|
empty |
Локальный порт WebSocketSecure для SIP ( |
|||
|
empty |
Локальный порт для SIP-взаимодействия с другими микросервисами системы (UDP/TCP). |
|||
|
|
Список интерфейсов сервера, на которых поднимаются слушатели портов. Для ролей sg, esg, redirect, исполняемых на одном и том же сервере, в качестве внешних портов (udp,tcp,tls,wss) могут быть указаны одинаковые значения, если их списки прослушиваемых интерфейсов не пересекаются. К списку прослушиваемых интерфейсов всегда добавляется оригинальный интерфейс текущей ноды с портом 'sip_internal_port', который не должен использоваться другими микросервисами на этом же сервере.
|
|||
|
|
Выключатель логирования медиа-функций |
|||
|
|
Выключатель логирования протокола взаимодействия с MGC-контроллером в лог |
|||
|
|
Выключатель логирования трейса машины состояний диалога в лог |
|||
|
|
Выключатель логирования SIP-трафика в лог |
|||
|
empty |
Алиас каталога на сервере для хранения сертификатов (файлы 'server.crt' и 'server.key'). Этот параметр и сертификат применяется только в случае, когда не применен сертификат, указанный в настройках домена (settings.certificate_pem):
|
|||
|
empty |
Пароль для расшифровки файла секретного ключа сертификата, указанного в поле 'certdir'. |
|||
|
|
Выключатель применения медиа-шлюза микросервисом b2b для звонков, перенаправляемых текущим экземпляром роли sg. |
|||
|
|
Выключатель применения пограничного медиа-шлюза текущим outbound-proxy сервером. Пограничный медиа-шлюз может понадобиться, если сервер с outbound-proxy размещен в нескольких подсетях, и существует такая подсеть, откуда подключаются абоненты, и доступ к которой отсутствует на других серверах системы, где исполняются микросервисы mg.
|
|||
|
|
Список имен аудиокодеков, используемых для инициации звонка (вызове плеча). |
|||
|
empty |
Список имен видеокодеков, используемых для инициации звонка (вызове плеча). |
|||
|
|
Выключатель транскодинга видео.
|
|||
|
|
По умолчанию при инициации звонков на адреса, подключенные по TLS, отправляется SDP-offer для нешифрованного медиа потока (rtp). С помощью параметра можно для TLS адресов включить режим инициации отправки SDP-offerа с шифрованным медиа-потоком. |
|||
|
|
Максимальный размер udp пакета, отправляемый системой, в байтах. |
|||
|
|
Выключатель режима отправки запросов NOTIFY для перерегистрации UA при падении экземпляра роли sg, обслуживающего устройство. |
|||
|
|
Выключатель режима отправки неудачных финальных SIP-ответов на запросы REGISTER, SUBSCRIBE, INVITE (новые) во время действия режима вывода сервера из обслуживания. deservice_followers, array<int>, |
|||
|
|
Код ответа, отправляемый абонентам в ответ на входящий запрос в то время, когда нода находится в режиме вывода из сервиса. |
|||
|
|
Выключатель режима автоматического транслита DisplayName в запросах, перенаправляемых в сторону от системы к подключенным устройствам. |
|||
|
empty |
Подстановка белых адресов. Формат:
В списке должны присутствовать адреса всех серверов, где расположены медиагейты, а также локальные интерфейсы текущей машины, с которых производится маршрутизация на все внешние адреса. |
|||
|
empty |
"Подстановка доменов вместо ip-адресов в заголовки To и From SIP-пакетов. Формат:
|
Пример конфигурации
Управление конфигурацией производится в приложении, доступном для администраторов мастер-домена. Приложение скрывает полное содержание конфигурации, однако тем не менее оно доступно через API.
Конфигурация содержит раздел для описания всех экземпляров всех ролей. Параметры определяются для каждого конкретного экземпляра роли.
{
"name": "sg1",
"roletype": "sg",
"iface": "eth0",
"roleid": 11280,
"separate": true,
"tcp": 5060,
"udp": 5060,
"tls": 5061,
"wss": 5063,
"log_trn": true,
"log_sip": true,
"log_media": true,
"log_mgct": true,
"certdir": "alias://paths/default_certdir",
"keypass": "eb9c4458016d3f1e378d02004c4f4f50",
"max_udp_size": 10000,
"b2bmedia": true,
"reregister": false,
"translit": true,
"sip_alg": [
{"gray":"172.16.0.14","white":"62.84.126.3"},
{"gray":"172.16.0.15","white":"62.84.126.6"}
],
"substitute_domains": [
{
"addr": "172.16.0.15",
"domain": "pbx.era-platform.ru"
}
]
}