/domain/ - команды управления виртуальными АТС
В данном разделе описаны общие команды CoCon, которые используются для управления виртуальными АТС.
Корневые команды настроек домена:
copy
Командой /domain/copy предназначена для создания копии домена с новым именем на основе имеющегося домена с сохранением всех настроек, кроме алиасов и интерфейсов.
Путь команды:
/domain/copy
Синтаксис:
copy <SRC_DOMAIN> <DST_DOMAIN> [--digitmap <DIGITMAP>] [--to-main-bridge <SRC_BRIDGE_NAME> <DST_BRIDGE_NAME>]
Параметры:
<SRC_DOMAIN> - исходное имя домена;
<DST_DOMAIN> - имя нового домена;
Имя домена не должно быть "undefined", "calendar", "properties", начинаться с точки ( . ) или дефиса ( - ).
<DIGITMAP> - список масок набора, по которому будет валидироваться номер во вновь создаваемом домене.
Формат описания digitmap
Digitmap :: Правило_1 | Правило_2 |...| Правило_N
Номер удовлетворяет digitmap, когда он удовлетворяет одному из перечисленных правил.
Формат правила:
- X или х – любая цифра от 0 до 9, равнозначно диапазону [0-9];
- 0 - 9 – цифры от 0 до 9;
- "A", "B", "C", "D" - символы «A», «B», «C», «D»;
- * – символ *;
- # – символ #;
- [ ] – указание диапазона (через тире), либо перечисление (без пробелов, запятых и прочих символов между цифрами), например:
- диапазон [1-5] - 1,2,3,4 или 5;
- перечисление [138] - 1,3 или 8;
- диапазон и перечисление [0-9*#] – от 0 до 9, а также * и #.
- {min,max} – указание количества повторений символа, стоящего перед скобками, диапазона или символов *#. min - минимальное количество повторений, max - максимальное. {,max} – равнозначно {0,max}; {min,} – равнозначно {min,inf.}.
Пример:
5{2,5} – цифру 5 можно набрать от двух до пяти раз. Равнозначно записи 55|555|5555|55555
- . – спецсимвол «точка» указывает на возможность повторения предшествующей перед данным символом цифры, диапазона или символов *# от нуля до бесконечности раз. Равнозначно записи {0,}
5х.* - х в данном правиле может либо отсутствовать вообще, либо присутствовать сколько угодно раз. Равнозначно записи |5х*|5xx*|5xxx*|...
- + – повторение предшествующей перед символом «+» цифры, диапазона или символов *# от одного до бесконечности раз. Равнозначно записи {1,}.
<SRC_BRIDGE_NAME> - имя бриджа, копию которого необходимо создать для выхода в вышестоящий домен.
<DST_BRIDGE_NAME> - имя нового бриджа;
Пример:
admin@[mycelium1@ecss1]:/$ domain/copy front.office back.office --to-main-bridge to_office to_b.office --digitmap 42XX Domain front.office successfully copied to back.office [exec at: 21.02.2019 11:34:05, exec time: 8s 458ms, nodes: ds1@ecss1]
declare
Команда используется для создания новой виртуальной АТС в системе ECSS-10.
Путь команды:
/domain/declare
Синтаксис:
declare <DOMAIN>[--alias-limit <AliasLimit>] [--apply-ss-profile <SSProfileName>] [--apply-ivr-restrictions-profile <IVRScriptProfileName>] [--call-limit <CallLimit>] [--digitmap <Digitmap>] [--add-domain-user-privileges] [--add-domain-admin-privileges] [--degraded]
Параметры:
<DOMAIN> - имя виртуальной АТС;
- --alias-limit - командой задается <AliasLimit> - ограничение на количество алиасов на домен, по умолчанию значение <AliasLimit> устанавливается из лицензии;
- --apply-ss-profile <SSProfileName> - имя системного профиля услуг, копируемого в создаваемый домен;
- --apply-ivr-restrictions-profile <IVRScriptProfileName> - имя профиля IVR-скриптов, применяемых к создаваемому домену;
- --call-limit - командой задается <CallLimit> - ограничение на количество одновременных вызовов на домен, по умолчанию значение <CallLimit> устанавливается из лицензии;
- --add-domain-user-privileges - флаг, определяющий, необходимо ли добавлять текущего пользователя в группу пользователей создаваемого домена, опциональный параметр, принимает значения:
- true - добавлять, установлено по умолчанию;
- false - не добавлять.
- --add-domain-admin-privileges - флаг, определяющий, необходимо ли добавлять текущего пользователя в группу администраторов создаваемого домена, опциональный параметр, принимает значения:
- true - добавлять, установлено по умолчанию;
- false - не добавлять.
- --degraded - флаг, определяющий, является ли данный домен доменом без резервирования вызовов или нет:
- false - домен будет с резервированием вызовов, установлено по умолчанию;
- true - домен без резервирования.
- --digitmap - cписок масок набора, по которому будет валидироваться алиасы при создании. Описание формата digitmap
Пример:
admin@mycelium1@ecss1:/$ domain/declare ext.pbx --alias-limit 20 --call-limit 20 --add-domain-user-privileges --add-domain-admin-privileges New domain ext.pbx is declared [exec at: 11.02.2021 16:43:14, exec time: 180ms, nodes: ds1@ecss1 v.3.14.7.566]
list
Команда для просмотра зарегистрированных в системе виртуальных АТС.
Путь команды:
/domain/list
Синтаксис:
list
Параметры:
Команда не содержит аргументов.
Пример:
admin@[mycelium1@ecss1]:/$ domain/list There are declared ECSS domains: back.office biysk.local ext.pbx front.office test_domain Total: 5 [exec at: 21.02.2019 12:45:06, exec time: 74ms, nodes: ds1@ecss2]
pbx-declare
Команда предназначена для создания домена с предопределенными настройками под небольшие виртуальные АТС.
Путь команды:
/domain/pbx-declare
Синтаксис:
pbx-declare <Name> <Type> <DefaultSSProfile | --skip> <AliasLimit> <ExternalCallLimit> <TotalCallLimit> <SIPShareSet> <ParentPBX> <ParentContext> <ParentNP> [<CityNumbers>]
Параметры:
<Name> - имя домена с предопределенными настройками под небольшие виртуальные АТС;
<Type> - тип домена, принимает значения:
- pbx10 - трехзначный номер, не более 10 абонентов,
- pbx100 - трехзначный номер, не более 100 абонентов,
- pbx1000 - четырехзначный номер, не более 1000 абонентов;
<DefaultSSProfile> - имя профиля дополнительных услуг, которое будет скопировано в создаваемую виртуальную АТС(–skip, чтобы пропустить);
<AliasLimit> - количество алиасов в ВАТС;
<ExternalCallLimit> - количество входящих вызовов (от/до ВАТС);
<TotalCallLimit> - количество вызовов в ВАТС;
<SIPIpSet> - имя ip-set-а для SIP транспорта для данного домена;
<ParentPBX> - имя ВАТС для исходящих вызовов;
<ParentContext> - контекст маршрутизации по умолчанию для входящих вызовов от созданной ВАТС к исходной ВАТС;
<ParentNP> - имя плана нумерации в исходной ВАТС для созданной ВАТС;
<CityNumbers> :: <CityNumber1>[, <CityNumber2>[, ...]] - список городских номеров (в домене <ParentPBX>).
admin@[sip1@ecss1]:/$ domain/pbx-declare ext.pbx pbx10 --skip 10 5 10 ipset2 biysk.local ctx_from_local np_240 Start operation: 'Create "ext.pbx" PBX domain' Operation complete Start operation: 'Declare numbering plan for PBX ext.pbx' Operation complete Start operation: 'Import routing contexts' Operation complete Start operation: 'Set default routing context for calls from IVR' Operation complete Start operation: 'Import IVR scripts' Operation complete Start operation: 'Declare bridge biysk.local_to_ext.pbx between ext.pbx and biysk.local' Operation complete Start operation: 'Bind NP numbers from parent PBX to bridge' Operation complete Start operation: 'Set PBX IP set' Operation complete Start operation: 'Declare SIP users' 10 interfaces check for existing ... [**********************************************************************] 99mks 10 users interfaces declaration ... [**********************************************************************] 161ms 10 users aliases declaration ... [**********************************************************************] 24mks 10 interfaces recall to base [**********************************************************************] 13ms Operation complete Start operation: 'Declare PBX admin ext.pbx' Operation complete 10 make users list ... [**********************************************************************] 54mks 10 users information read ... [**********************************************************************] 42ms PBX "ext.pbx" successfully created. PBX's admin login: ext.pbx PBX's admin password: 8cC5z3TQG9oQ Create SIP users': ┌───────────┬─────┬────────────┐ │ Uri │Login│ Password │ ├───────────┼─────┼────────────┤ │400@ext.pbx│400 │9U56mqOH6pHK│ │401@ext.pbx│401 │2hKMjNnmMdDQ│ │402@ext.pbx│402 │6lM2zwHSqpK6│ │403@ext.pbx│403 │wY4qUsN2sT8Y│ │404@ext.pbx│404 │4uPH4mLXwaY6│ │405@ext.pbx│405 │wmN4xqQUqhTi│ │406@ext.pbx│406 │7sZNa4pdP59r│ │407@ext.pbx│407 │8cJKoEC4uhvb│ │408@ext.pbx│408 │eWHKkDylxKK2│ │409@ext.pbx│409 │6fPDrW64oDWK│ └───────────┴─────┴────────────┘ [exec at: 22.02.2019 08:31:06, exec time: 20s 654ms, nodes: ds1@ecss1,ds1@ecss2,sip1@ecss1]
purge
Команда для удаления различных данных из виртуальной АТС без удаления конфигурации виртуальной АТС.
Путь команды:
/domain/purge
Синтаксис:
purge [--<FLAGS>] <DOMAIN>
Параметры:
<DOMAIN> - имя виртуальной АТС;<FLAGS> :: --<FLAG_1> --<FLAG_2> ...
<FLAG> :: routing | statistics | call-history | cdr | call-trace | record-calls | subscriber-sounds | sounds | faxes | all | force
- routing - удалить исходные файлы контекстов маршрутизации после удаления домена;
- statistics - удалить статистику КЦ, по вызовам;
- call-history - удалить историю вызовов по данному домену;
- cdr - удалить CDR записи по данному домену;
- record-calls - удалить записанные разговоры по данному домену;
- subscriber-sounds - удалить пользовательские аудио-файлы (музыка, голосовая почта) по данному домену;
- sounds - удалить доменные аудио-файлы по данному домену;
- faxes - удалить факсы, полученные с данного домена;
- all - удалить всю имеющуюся информацию по данному домену;
- force - принудительное удаление виртуальной АТС. Данная опция позволяет безусловно удалить виртуальную АТС, не учитывая ее текущее состояние.
Пример 1:
admin@[mycelium1@ecss1]:/$ domain/purge --faxes --statistics --force ext.pbx Start purge 'faxes' subsystem Group 'core1' successfully purged Purge time: 343ms Start purge 'statistics' subsystem Group 'core1' successfully purged Purge time: 13s 314ms [exec at: 21.02.2019 13:17:33, exec time: 13s 886ms, nodes: ds1@ecss2]
Пример 2:
admin@[mycelium1@ecss1]:/$ domain/purge --all back.office [purge] You are going to purge "back.office" domains' data. Are you sure?: yes/no ?> yes Start purge sources of routing contexts Result: ┌─────────┬───────┐ │ Node │Result │ ├─────────┼───────┤ │ds1@ecss1│success│ │ds1@ecss2│success│ └─────────┴───────┘ Purge time: 2ms Start purge 'statistics' subsystem Group 'core1' successfully purged Purge time: 5s 658ms Start purge 'call-history' subsystem Group 'core1' successfully purged 0 rows Purge time: 105ms Start purge 'cdr' subsystem Group 'core1' successfully purged 0 rows Purge time: 160ms Start purge 'record-calls' subsystem Group 'core1' successfully purged Purge time: 109ms Start purge 'subscriber-sounds' subsystem Group 'core1' successfully purged Purge time: 39ms Start purge 'sounds' subsystem Group 'core1' successfully purged Purge time: 104ms Start purge 'faxes' subsystem Group 'core1' successfully purged Purge time: 36ms [exec at: 21.02.2019 13:22:04, exec time: 9s 36ms, nodes: ds1@ecss1]
remove
Команда для удаления виртуальной АТС из системы.
Путь команды:
/domain/remove
Синтаксис:
remove [<FLAGS>] <DOMAIN>
Параметры:
<DOMAIN> - имя виртуальной АТС;
<FLAGS> :: --<FLAG_1> --<FLAG_2> ...
<FLAG> :: routing | statistics | call-history | cdr | record-calls | subscriber-sounds | sounds | faxes | purge-all | force
- routing - удалить исходные файлы контекстов маршрутизации после удаления домена;
- statistics - удалить статистику КЦ, по вызовам;
- call-history - удалить историю вызовов по данному домену;
- cdr - удалить CDR записи по данному домену;
- record-calls - удалить записанные разговоры по данному домену;
- subscriber-sounds - удалить пользовательские аудио-файлы (музыка, голосовая почта) по данному домену;
- sounds - удалить доменные аудио-файлы по данному домену;
- faxes - удалить факсы, полученные с данного домена;
- purge-all - удалить всю имеющуюся информацию по данному домену;
- force - принудительное удаление виртуальной АТС. Данная опция позволяет безусловно удалить виртуальную АТС, не учитывая ее текущее состояние.
Пример 1:
admin@mycelium1@ecss1:/$ domain/remove --purge-all ext.pbx [remove] You are going to remove domain "ext.pbx". All properties, aliases, aliase's prof iles, SS settings, bridges, routing contexts, restrictions, access-types, access -groups will be removed. Are you sure?: yes/no ?> yes [**********************************************************************] 1s 215ms Start purge sources of routing contexts Result: ┌─────────┬───────┐ │ Node │Result │ ├─────────┼───────┤ │ds1@ecss1│success│ └─────────┴───────┘ Purge time: 3ms Start purge 'statistics' subsystem Group 'core1' successfully purged Purge time: 5s 43ms Start purge 'call-history' subsystem Group 'core1' successfully purged 0 rows Purge time: 7ms Start purge 'cdr' subsystem Group 'core1' successfully purged 0 rows Purge time: 7ms Start purge 'record-calls' subsystem Group 'core1' successfully purged Purge time: 22ms Start purge 'subscriber-sounds' subsystem Group 'core1' successfully purged Purge time: 20ms Start purge 'sounds' subsystem Group 'core1' successfully purged Purge time: 21ms Start purge 'faxes' subsystem Group 'core1' successfully purged Purge time: 22ms Declaration of domain "ext.pbx" is removed. [exec at: 11.02.2021 16:45:21, exec time: 8s 661ms, nodes: ds1@ecss1 v.3.14.7.566]
Пример 2:
admin@[mycelium1@ecss1]:/$ domain/remove --force back.office [**********************************************************************] 7s 935ms Declaration of domain "back.office" is removed. [exec at: 21.02.2019 13:28:13, exec time: 8s 30ms, nodes: ds1@ecss2]