В данном разделе представлены команды по управлению контекстами модификации.
Подробнее описание принципов работы и настроек модификаторов - в разделе 3.11 Модификаторы и адаптация номеров по входу/выходу с транка
Для администратора системы команды выполняются на уровне кластера в разделе /cluster/storage/<CLUSTER>/modificators/.
Для администратора виртуальной АТС команды выполняются на уровне виртуальной АТС в разделе domain/<DOMAIN>/modificators/ и применяются только для определенной виртуальной АТС.
Файлы контекстов размещаются по пути: /var/lib/ecss/modification/ctx/src/<DOMAIN>
<STORAGE> - имя кластера с ролью storage.
delete
Команда предназначена для удаления заданного контекста модификации.
Путь команды:
cluster/storage/<STORAGE>/modificators/delete
Синтаксис:
delete <Context>
Параметры:
<Context> - контекста модификации номеров.
Пример:
admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/modificators/delete biysk.local mod_smg Modificator was deleted
export
Команда предназначена для экспорта контекста модификации в файловую систему.
Путь команды:
cluster/storage/<STORAGE>/modificators/export
Синтаксис:
- команда уровня кластера:
export <Node> <Domain> <Context>
- команда уровня виртуальной АТС:
export <Node> <Context>
Параметры:
<Node> - имя ноды;
<Domain> - имя виртуальной АТС;
<Context> - контекста модификации.
Пример:
admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/modificators/export ecss1 biysk.local mod_smg Context mod_smg has been exported
import
Команда предназначена для импорта контекста модификации с файловой системы.
Путь команды:
cluster/storage/<STORAGE>/modificators/import
Синтаксис:
import <Host> <File>
Параметры:
<Host> - имя хоста, где находится сохраненных файл;
<File> - имя файла с контекстом модификации номеров, который необходимо установить;
При задании имени файла можно использовать маску поиска:
"?" - соответствует одному символу;
"*" - соответствует любому количеству символов до конца файла, следующей точки или символа "/". {Item,...} - для указания альтернативного файла.
Пример:
admin@[mycelium1@ecss1]:/$ domain/biysk.local/modificators/import ecss1 mod_if_1.xml importing file mod_if_1.xml... generated 6 rules 1 context has been successfully imported
list
Команда предназначена для просмотра списка контекстов модификации.
Путь команды:
cluster/storage/<STORAGE>/modificators/list
Синтаксис:
- команда уровня кластера:
list [<Domain>]
- команда уровня виртуальной АТС:
list
Параметры:
<Domain> - имя виртуальной АТС.
Пример:
admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/modificators/list Modificators: biysk.local/default_modificators biysk.local/mod_1 biysk.local/mod_smg test/default_modificators --------- Total: 4
show
Команда предназначена для просмотра контекста модификации.
Путь команды:
cluster/storage/<STORAGE>/modificators/show
Синтаксис:
show <ContextName>
Параметры:
<ContextName> - имя контекста модификации.
Пример:
admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/modificators/show biysk.local mod_smg Context was imported at 22.07.2018 10:52:24 <?xml version="1.0" encoding="UTF-8"?> <modificators xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="ecss_modificators.xsd" name="mod_smg"> <in> <rule name="mod_in_calls"> <conditions> <cgpn digits="240101"/> <cdpn digits="S(24046[29])"/> <cn digits="9913699011"/> <time value="09:00 - 18:00"/> <date value="25.05.2018 - 30.12.2018"/> <weekday value="1,2,3,4,5"/> </conditions> <actions> <cgpn digits="240101"/> <cdpn digits="S240500$"/> <cn digits="3854419159"/> </actions> <result> <finish/> </result> </rule> <rule name="other_in_calls"> <conditions/> <actions/> <result> <finish/> </result> </rule> </in> <out> <rule name="smg_out"> <conditions> <cn digits="9913699011"/> <weekday value="1,2,3,4,5"/> </conditions> <actions> <cn digits="3854415800"/> </actions> <result> <finish/> </result> </rule> <rule name="other_out_calls"> <conditions/> <actions/> <result> <finish/> </result> </rule> </out> </modificators>
trace
Команда предназначена для трассировки модификации номеров.
Путь команды:
cluster/storage/<STORAGE>/modificators/trace
Синтаксис:
Команда уровня виртуальной АТС и уровня кластера аналагична командам трассировки маршрутизации:
trace [<Key1> = <Value1>[, ... [, <KeyN> = <ValueN>]]]
Параметры:
direction - направление вызова (in - входящий, out - исходящий) (обязательный параметр);
iface - ID интерфейса, для которого применяются модификаторы (взаимоисключающий с iface_name) (опциональный параметр);
iface_name - имя интерфейса, для которого применяются модификаторы (взаимоисключающий с iface) (опциональный параметр);
tag - параметр tag (опциональный параметр);
cgpn - параметры Calling party number (опциональный параметр);
cdpn - параметры Called party number, cdpn.digits (обязательный параметр);
rgn - параметры Redirecting number (опциональный параметр);
rnn - параметры Redirection number (опциональный параметр);
ocdpn - параметры Original called party number (опциональный параметр);
cn - параметры ConnectedNumber (опциональный параметр);
context - имя контекста модификации, (опциональный параметр) (по умолчанию: контекст модификации абонента А для in, абонента Б для out (либо переданного поля iface/iface_name));
date - дата запроса (D.M.Y or Y/M/D), (опциональный параметр) (по умолчанию: сегодня);
time - время запроса (H:M), (опциональный параметр) (по умолчанию: сейчас).
Пример:
admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/modificators/trace biysk.local cgpn.digits=3854240101 cdpn.digits=240462 direction=in iface=smg-4 Traceroute to 240462 from 3854240101(smg-4) at 22.07.2018 11:10:36 Default context is mod_smg mod_smg / default A: "3854240101"(displayName=undefined, ni=private, nai=unknown, inc=false, npi=isdnTelephony, apri=presentationAllowed, screening=networkProvided, category=ordinarySubscriber(10), caller_id="3854240101") B: "240462"(displayName=undefined, ni=undefined, nai=undefined, inc=false, inni=undefined, npi=undefined, category=undefined) applying rule: other_in_calls ------------------------------------------ Modification result: finish A: "3854240101"(displayName=undefined, ni=private, nai=unknown, inc=false, npi=isdnTelephony, apri=presentationAllowed, screening=networkProvided, category=ordinarySubscriber(10), caller_id="3854240101") B: "240462"(displayName=undefined, ni=undefined, nai=undefined, inc=false, inni=undefined, npi=undefined, category=undefined)