Amplua — концепция управления связями внутри телеконференции. Термин amplua использован, что бы развести административную роль role: member|support и роль, определяющую взаимосвязь участников. В шаблоне телеконференции amplua — это условно ортогональная двумерная матрица, определяющая взаимосвязи между участниками. По умолчанию связи в матрице отсутствуют. Каждая пара amplua может иметь связь (relation), которая определяет, как между собой взаимодействуют участники, ассоциированные с данным amplua. Amplua для участника/номера телеконференции — это имя строки/столбца в матрице взаимосвязей.

Relation может принимать одно из значений sendrecv, sendonly, recvonly (при этом отсутствие связи равнозначно relation - none).  Значение sendonly обратно recvonly, потому матрица ортогональна.

В данном разделе описываются команды по управлению amplua.

<DOMAIN> - имя виртуальной АТС.

declare

Команда позволяет создать amplua.

Путь команды:

domain/<DOMAIN>/teleconference/template/amplua/declare

Синтаксис:

declare <TEMPLATE> <AMPLUA> 

Параметры:

  • <TEMPLATE> — шаблон телеконференции. Данный параметр имеет следующие форматы:
    • --id <template id> — идентификатор шаблона телеконференции;
    • <template name> — имя телеконференции.
  • <AMPLUA> — имя amplua (строка до 64 символов). Имя, содержащее пробелы, заключаются в двойные кавычки.

Примеры:

Создание новых amplua — reporter, support, manager:

admin@[mycelium1@ecss1#ECSS 010070]:/$ domain/eltex/teleconference/template/amplua/declare template_test reporter 
Success: Amplua [reporter] has been declared.admin@[mycelium1@ecss1#ECSS 010070]:/$ domain/eltex/teleconference/template/amplua/declare template_test support 
Success: Amplua [support] has been declared.admin@[mycelium1@ecss1#ECSS 010070]:/$ domain/eltex/teleconference/template/amplua/declare template_test manager
Success: Amplua [manager] has been declared.

relation

Команда позволяет установить связи между amplua.

Путь команды:

domain/<DOMAIN>/teleconference/template/amplua/relation

Синтаксис:

relation <TEMPLATE> <FROM_AMPLUA> <TO_AMPLUA> <RELATION>

Параметры:

  • <TEMPLATE> — шаблон телеконференции;
  • <FROM_AMPLUA> — слово или строка в двойных кавычках;
  • <TO_AMPLUA> — слово или строка в двойных кавычках;
  • <RELATION> — отношения между amplua. Принимает одно из значений: "sendrecv" (передача и прием), "sendonly" (только передача), "recvonly" (только прием), "none" (нет связи).

Примеры:

 admin@[mycelium1@ecss1#ECSS 010070]:/$ domain/evn/teleconference/template/amplua/relation template_test reporter reporter none
Success: Amplua named <<"reporter">> has been related with amplua named <<"reporter">> as [none] relation type.

admin@[mycelium1@ecss1#ECSS 010070]:/$ domain/eltex/teleconference/template/amplua/relation template_test support support sendrecv
Success: Amplua named <<"support">> has been related with amplua named <<"support">> as [sendrecv] relation type.

admin@[mycelium1@ecss1#ECSS 010070]:/$ domain/eltex/teleconference/template/amplua/relation template_test support reporter sendrecv
Success: Amplua named <<"support">> has been related with amplua named <<"reporter">> as [sendrecv] relation type.

admin@[mycelium1@ecss1#ECSS 010070]:/$ domain/eltex/teleconference/template/amplua/relation template_test reporter manager sendonly
Success: Amplua named <<"reporter">> has been related with amplua named <<"manager">> as [sendonly] relation type.
    

В данном примере созданы следующие взаимосвязи между amplua:

  • reporter — не слышат друг друга;
  • support — слышат друг друга;
  • reporter — слышат всех support;
  • support — слышат всех reporter;
  • manager — слышит и reporter, и support, но его никто не слышит.

info

Команда. позволяющая отобразить взаимосвязи amplua.

Путь команды:

domain/<DOMAIN>/teleconference/template/amplua/info 

Синтаксис:

info <TEMPLATE>

Параметры:

<TEMPLATE> — шаблон телеконференции.

Примеры:

admin@[mycelium1@ecss1#ECSS 010070]:/$ domain/eltex/teleconference/template/amplua/info template_test 

Template ammplua relations from row to column:
┌─────────┬────────┬────────┬────────┐
│Relation │        │        │        │
│       to│manager │reporter│support │
│ from \  │        │        │        │
├─────────┼────────┼────────┼────────┤
│ manager │  none  │recvonly│  none  │
├─────────┼────────┼────────┼────────┤
│reporter │sendonly│  none  │sendrecv│
├─────────┼────────┼────────┼────────┤
│ support │  none  │sendrecv│sendrecv│
└─────────┴────────┴────────┴────────┘
Default amplua name: reporter


Таблица читается как: "амплуа в строке (from)" относится к "амплуа в столбце (to)".

Альтернативой демонстрации матрицы амплуа является команда info c флагом  "--show-amplua".

Путь команды:

admin@[mycelium1@ecss1#ECSS 010070]:/$ domain/<DOMAIN>/teleconference/template/info --show-amplua

default

В случае если шаблон телеконференции содержит матрицу амплуа, но абоненты не связаны ни с одним из амплуа, логика буде использовать амплуа по умолчанию. Первое добавленное в матрицу амплуа будет amplua по умолчанию, но его можно изменить командой default.

Путь команды:

domain/<DOMAIN>/teleconference/template/amplua/default

Синтаксис:

default <TEMPLATE> <AMPLUA>

Параметры:

  • <TEMPLATE> — шаблон телеконференции;
  • <AMPLUA> — имя amplua представляет собой слово или строку в двойных кавычках.

Примеры:

admin@[mycelium1@ecss1#ECSS 010070]:/$ domain/eltex/teleconference/template/amplua/default template_test support
Success: Amplua named [support] has been defined as default

set (привязка amplua к абоненту)

Путь команды:

domain/<DOMAIN>/teleconference/template/number/set

Синтаксис:

set <TEMPLATE> <NUMBER> --amplua <AMPLUA>

Параметры:

  • <TEMPLATE> — шаблон телеконференции;
  • <NUMBER> — номер абонента;
  • <AMPLUA> — имя амплуа.

Примеры:

admin@[mycelium1@ecss1#ECSS 010070]:/$ domain/eltex/teleconference/template/number/set template_test 100 --amplua manager           
Success: Property has been set for number(s):
100

clean

Команда, позволяющая очистить amplua. Полностью удаляет всю информацию об амплуа из шаблона и связанных сущностей — members, numbers.

Путь команды:

domain/<DOMAIN>/teleconference/template/amplua/clean

Синтаксис:

clean <TEMPLATE>

Параметры:

<TEMPLATE> — шаблон телеконференции.

Примеры:

admin@[mycelium1@ecss1#ECSS 010070]:/$ domain/eltex/teleconference/template/amplua/clean template_test              
Success: Amplua has been cleaned.

remove

Команда предназначена для удаления amplua.

Здесь возможны следующие ограничения: 

  1. В случае когда удаляется amplua по умолчанию, происходит блокировка с предупреждением — Warning: Removing not allowed, because this amplua is default. Принудительное удаление возможно с флагом --replace-default-to c заменой amplua по умолчанию.

Путь команды:

domain/<DOMAIN>/teleconference/template/amplua/remove

Синтаксис:

remove <TEMPLATE> <AMPLUA>  --replace-default-to "Amplua name"

Параметры:

  • <TEMPLATE> — шаблон телеконференции;
  • <AMPLUA> — имя амплуа;
  • --replace-default-to — замена amplua по умолчанию для данного шаблона.

Примеры:

admin@[mycelium1@ecss1#ECSS 010070]:/$ domain/eltex/teleconference/template/amplua/remove template_test reporter --replace-default-to support            
Success: Amplua [reporter] has been removed.

2. В случае когда удаляется amplua, связанное с номером, происходит блокировка с предупреждением — Warning: Removing not allowed, because this amplua associated with numbers. Принудительное удаление возможно с флагом --force true.

Путь команды:

domain/<DOMAIN>/teleconference/template/amplua/remove

Синтаксис:

remove <TEMPLATE> <AMPLUA>  -- force true

Параметры:

  • <TEMPLATE> — шаблон телеконференции;
  • <AMPLUA> — имя амплуа;
  • -- force true — принудительно устанавливается amplua для всех зависимых номеров и элементов по умолчанию.

Примеры:

admin@[mycelium1@ecss1#ECSS 010070]:/$ domain/evn/teleconference/template/amplua/remove template_test manager --force true                      
Success: Amplua [manager] has been removed.

3. В случае когда удаляется amplua по умолчанию и связанное с номером, происходит блокировка с предупреждением — Warning: Removing not allowed, because this amplua is default. Принудительное удаление возможно с флагами --force true и --replace-default-to <<NEW_NAME>>.

Путь команды:

domain/<DOMAIN>/teleconference/template/amplua/remove

Синтаксис:

remove <TEMPLATE> <AMPLUA> -- force true --replace-default-to "Amplua name"

Параметры:

  • <TEMPLATE> — шаблон телеконференции;
  • <AMPLUA> — имя амплуа;
  • -- force true — принудительно устанавливается amplua для всех зависимых номеров и элементов по умолчанию;
  • --replace-default-to — замена amplua по умолчанию для данного шаблона.

Примеры:

admin@[mycelium1@ecss1#ECSS 010070]:/$ domain/eltex/teleconference/template/amplua/remove template_test support --force true --replace-default-to reporter              
Success: Amplua [support] has been removed.

--force true не производит замену значения member.amplua_name, а удаляет его. Логика формирования конференции расценит отсутствие значения как значение по умолчанию.
--replace-default-to <<NEW_NAME>> не влияет на amplua_name, присвоенные участникам.