Media Gate Controller (mgc)

Описание

Контроллер группы медиа-шлюзов, расположенных на том же сайте.
Управляется ролями ролями: b2b, conf, ivr, esg. Взаимодействует с медиа-шлюзами по протоколу MEGACO. В качестве медиа-шлюза выступает приложение rtx_mg3, включаемое в конфигурацию в виде ролей mg и bgmg.

Резервируется режиме Active-Passive. Масштабируется внутри сайта разделением на группы с выделенной совокупностью медиа-шлюзов.

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

Код

mgc

Режим работы

Сервис

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

Active-Passive, Active-Active по группам

Типы сайтов

Любые

Слой

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

Размещение

Внутренний

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

Да

Приложение

era_mgc

Собственное хранилище

ODB Mnesia

Ограничения

  • Должна присутствовать на всех сайтах с ролями mg.

Параметры

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

name

str

required

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

roletype

str

required

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

iface

str

required

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

ext

json

empty

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

enabled

bool

empty

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

roleid

int

required

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

group

int

required

Номер группы.
В рамках горизонтального масштабирования роль может быть разделена на несколько групп на сайте, в каждой из которых активен только один экземпляр, остальные зарезервированы.
Группа включает в себя совокупность медиа-шлюзов. Состав медиа-шлюзов в разных группах не пересекается.
В процессе создания нового медиа-контекста сначала равномерно-случайным способом выбирается группа MGC на сайте, а затем внутри группы выбирается MG с наименьшим количеством активных медиа-контекстов.
При недоступности одной группы производится попытка провести создание контекста в следующей группе. Таким образом при создании медиа-контекста сервисами (b2b, ivr, conf, и опционально esg и sg) осуществляется ровно столько попыток, сколько групп медиа-контроллеров на сайте.
Целое число от 1 до 9999999.

order

int

required

Порядок экземпляра роли в рамках группы.
Определяет в каком порядке будет происходить перетекание в режиме Active-Passive внутри группы.

port

int

required

Локальный порт TCP MEGACO.
Например: 2954.

local_mg_lower_priority

bool

true

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

mnesia_storage_mode

str

disc "Режим работы объектного хранилища.

Возможные варианты:

* disc - полный режим

в оперативной памяти с сохранением на диск на всех экземплярах группы.

  • ram - только в оперативной памяти (с поддержкой распределенности

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

* disc_only - только на диске (заметно менее производительно

но экономит RAM)."

takeover

bool

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

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

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

Пример узла
{
  "name": "mgc1",
  "roletype": "mgc",
  "iface": "eth0",

  "roleid": 11290,
  "separate": true,
  "group": 3,
  "order": 2,
  "port": 2954
}

См. также