Border Gate’s Media Gate (bgmg)
Описание
Пограничный медиа-шлюз, замыкающий медиа потоки на внешних интерфейсах.
Одной стороной всегда выступает порт роли mg управляемый ролью b2b, а другой стороной – порт абонентского устройства (если плечо внутреннего абонента) или порт провайдера (плечо внешнего абонента).
Может быть зарезервирована на одном сервере в режиме Active-Active с непересекающимися настройками нескольких экземпляров.
Организует запуск и мониторинг процесса приложения rtx_mg3 в операционной системе, фактически осуществляющего обработку медиа-трафика.
Работает на одном сервере с ролью sg и/или esg и под их управлением.
Пограничный медиа-шлюз может понадобиться в нескольких случаях:
- Если пограничный outbound-proxy сервер системы (микросервис sg) размещен в нескольких подсетях, и существует такая подсеть, откуда подключаются абоненты, и доступ к которой отсутствует на других серверах системы, где исполняются микросервисы mg.
- Если сервер, обслуживающий подключения к провайдерам телефонии (микросервис esg), размещен в нескольких подсетях так, что подсеть какого-либо провайдера не распространяется на другие серверы системы.
- Если какой-либо провайдер телефонии требует совпадения абонентских адресов в SIP и SDP, описывающей медиа-сессии.
- Если какой-либо провайдер телефонии не обрабатывает реинвайты (запрещает, либо игнорирует изменения медиа-сессии).
Пограничный медиа-шлюз используется при взаимодействии с провайдером, если:
- Учетная запись провайдера активирует режим media. В противном случае режим не используется даже при соблюдении других условий.
- На сервере, где исполняется микросервис esg, обслуживающий эту учетную запись провайдера, также исполняется хотя бы один микросервис bgmg. В противном случае вызовы от/к провайдеров с включенным media завершаются отказом сервера от обработки вызова. +
Пограничный медиа-шлюз используется при взаимодействии с внутренними абонентами, если:
- Система развернута более чем на 1 сервере. В противном случае режим не используется даже при соблюдении других условий.
- На сервере, где исполняется микросервис sg, обслуживающий абонентские подключения, исполняется хотя бы один микросервис bgmg. В противном случае режим не используется даже при соблюдении других условий.
- В конфигурационных параметрах микросервиса sg, обслуживающего абонентские подключения, включен режим bgmedia. В противном случае режим не используется даже при соблюдении других условий.
Код |
|
Режим работы |
|
Режим резервирования |
|
Типы сайтов |
|
Слой |
|
Размещение |
|
Сохранение и восстановление состояния при перезагрузке |
|
Приложение |
|
Управляемое приложение |
|
Ограничения
-
Должна существовать на всех серверах с несколькими интерфейсами с доступом к разным подсетям, где присутствуют роли sg и esg.
-
Настройки диапазонов RTP-портов не должны пересекаться с другими ролями на сервере.
-
Активное использование роли понижает потенциальную пропускную способность трафика сигнализации SIP через сервер.
-
Пропускная способность сетевых интерфейсов, обслуживающих медиа-трафик, и подключений к сетям должна сочетаться с возможной пиковой нагрузкой и используемыми кодеками. Так, 200 телефонных разговоров в кодеке PCMA (G.711 a-law) требуют пропускной способности не менее 20 Mbit/s в каждую сторону в самой узкой точке. При обслуживании большего количества разговоров и распределении их по разным серверам с медиа-шлюзами необходимо обеспечить соответствующую пропускную способность на сетевых устройствах, агрегирующих трафик.
Параметры
Имя | Тип | Умолчание | Описание |
---|---|---|---|
|
|
required |
Имя. Может состоять из латинских букв и цифр, должно начинаться с буквы. |
|
|
required |
Тип роли. Возможные значения: |
|
|
required |
Алиас сетевого интерфейса сервера, на котором будет происходить внутреннее взаимодействие ролей между собой. |
|
|
empty |
Дополнительные опции роли. Содержит json объект или список. |
|
|
empty |
Флаг активности роли. При установке в false роль не участвует в валидации и не запускается. |
|
|
required |
Идентификатор роли. |
|
|
required |
Признак выделения роли в отдельную ноду. |
|
|
|
Локальный порт TCP MEGACO. |
|
|
|
Группа mgc, к которой принадлежит текущий mg. |
|
|
empty |
Список используемых кодеков. Ограничивает использование кодеков, выдаваемых вовне. |
|
|
empty |
Алиас каталога на сервере для хранения сертификатов (файлы server.crt и server.key). |
|
|
empty |
Пароль для расшифровки файла секретного ключа сертификата. |
|
|
|
Признак сохранения записей разговоров. |
|
|
|
Алиас каталога на сервере для размещения записей разговоров. |
|
|
"10000:20000" |
Диапазон RTP портов, которые будет использовать данный экземпляр роли. |
|
|
empty |
Алиас каталога на сервере для размещения лог-файлов. |
|
|
|
Уровень логирования. Значение должно быть списком из одного элемента. Возможные значения элемента:
В предыдущих версиях список мог содержать флаги: Возможные значения:
|
|
|
|
Максимальный суммарный размер лог-файлов за один день, в МБ. При достижении лимита запись логов останавливается в ожидании удаления, в том числе автоматического по времени. |
|
|
|
Максимальный размер одного лог-файла, в МБ. |
|
|
|
Выключатель логирования статистики на основе пакетов RTCP. |
|
|
|
Интервал сброса данных из кэша в исходный файл записи разговора, в миллисекундах. |
Пример конфигурации
Управление конфигурацией производится в приложении, доступном для администраторов мастер-домена. Приложение скрывает полное содержание конфигурации, однако тем не менее оно доступно через API.
Конфигурация содержит раздел для описания всех экземпляров всех ролей. Параметры определяются для каждого конкретного экземпляра роли.
{
"name": "bgmg1",
"roletype": "bgmg",
"iface": "eth0",
"roleid": 11301,
"separate": true,
"port": 2984,
"mgcgroup": 3,
"aliases": [
{
"key": "tgw1",
"value": "eth0"
}
],
"termportranges": [
{
"key": "tgw1",
"value": "30000:1000"
}
],
"codecs": ["PCMA", "PCMU"],
"logtrace": [
"error",
"warning",
"call",
"flag3",
"proto",
"media-flow",
"rtp-flow",
"rtp"
]
}