/domain/<DOMAIN>/teleconference/template/amplua/ — команды управления amplua
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.
Здесь возможны следующие ограничения:
- В случае когда удаляется 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, присвоенные участникам.