В этом разделе описаны команды управления bridge-интерфейсами.

Bridge-интерфейс — виртуальный транк, позволяющий соединять между собой две виртуальные АТС в рамках одного софтсвича.
<NODE> — имя ноды кластера Core.

change

Команда предназначена для изменения значения параметра bridge-интерфейса.

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

/bridge/change

Синтаксис:

change <BRIDGE_NAME> <PROPERTY> <NewValue>

Параметры:

<BRIDGE_NAME> — имя bridge-интерфейса;

<PROPERTY> — название параметра, значение которого требуется изменить, принимает значения: name, strict, capacity, domain_a, np_a, iface_a, trunk_group_a, routing_contex_a, domain_b, np_b, iface_b, trunk_group_b, routing_contex_b, access_group_a, access_group_b. Описание параметров приведено в разделе declare;

<NewValue> — новое значение параметра.

Пример:

admin@mycelium1@ecss1:/$ bridge/change br_office1 bandwidth 40
Bridge with name "br_office1" changed successfully.

cleanup

Команда предназначена для удаления всех ранее задекларированных bridge-интерфейсов в системе. При удалении bridge-интерфейсов удаляются интерфейсы, связанные с ними.

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

/bridge/cleanup

Синтаксис:

cleanup [--force]

Параметры:

--force — выполнение команды без запроса подтверждения.

Пример:

admin@mycelium1@ecss1:/$ bridge/cleanup
[cleanup] You are going to cleanup all bridges in the system.
Are you sure?: yes/no ?> yes
Clean up filished successfully.

declare

Данная команда предназначена для декларации bridge-интерфейса с заданным именем (BRIDGE_NAME) между двумя виртуальными АТС в рамках одного ECSS-10.
Если производится декларирование bridge-интерфейса с именем, которое уже задекларировано в системе, то будет выведено сообщение об ошибке и bridge не будет задекларирован.
Если была попытка задекларировать bridge-интерфейс с интерфейсами, уже присутствующими в системе, то на ввод команды будет выдано предупреждение об этом и bridge будет задекларирован.

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

/bridge/declare

При создании бриджа пользователь может указать параметры system/bandwidth/insystem/bandwidth/out и system/bandwidth/total (см. Бриджи). Необходимо как минимум указать параметр system/bandwith/total. Число параметров команды declare фиксировано, но bandwidth указывается либо как число, либо как строка unbounded, либо как группа X/Y/Z, где X соответствует значению system/bandwidth/total, Y — system/bandwidth/in, Z — system/bandwidth/out. Формат параметра bandwidth для одного из транков в создаваемом бридже можно определить так:

Bandwidth -> Triple | X
X -> положительное число | unbounded 
X_short -> положительное число | u
Triple -> X_short/X_short/X_short

Примеры корректных значений bandwidth, которые можно указать в команде создания бриджа, приведены ниже.

В таблице in, out, и total соответствуют системным ограничениям.

Примерinouttotal
200unboundedunbounded200
unboundedunboundedunboundedunbounded
100/200/300100200300
u/200/300unbounded200300
u/u/uunboundedunboundedunbounded

Начиная с версии ECSS-10 3.11.0 параметр бриджей duplex (true|false) не используется. Вместо этого применяются системные ограничения транков.
Например, создадим бридж со значением <Bandwindth> = 10/20/30. В домене A для связи с доменом Б создается служебный транк со значениями system/bandwith in/out/total соответственно 10/20/30, а в домене Б аналогичным образом создастся транк со значениями 20/10/30. Это эквивалентно созданию дуплексного бриджа.
Для имитации симплексного бриджа создадим его со значением <Bandwidth> = 0/20/30. В домене A для связи с доменом Б создается служебный транк со значениями system/bandwith in/out/total соответственно 0/20/30, а в домене Б аналогичным образом создастся транк со значениями 20/0/30, что эквивалентно созданию симплексного бриджа из А в Б. 
Чтобы изменить направление симплексного бриджа, необходимо в <Bandwidth> поменять местами значения in и out. Например, значение <Bandwith> из примера выше поменяется с 0/20/30 на 20/0/30 и бридж изменит направление.

Синтаксис:

declare <BRIDGE_NAME> <STRICT> <BANDWITH> <DOMAIN_A> <NP_A> <INTERFACE_A> <TRUNKGROUP_A> <ROUTING_CONTEXT_A> <DOMAIN_B> <NP_B> <INTERFACE_B> <TRUNKGROUP_B> <ROUTING_CONTEXT_B>

Параметры:

<BRIDGE_NAME> — уникальное в рамках ECSS-10 имя bridge-интерфейса (строка, без пробелов);

<STRICT> — режим проверки номеров, проходящих через бридж:

  • true — проверка включена (при вызове из <DOMAIN_A> -> <DOMAIN_B> будет проверка, что номер абонента B существует в плане нумерации <NP_B> в домене B; при вызове из <DOMAIN_B> -> <DOMAIN_A> будет проверка, что номер абонента А существует в плане нумерации <NP_B> домена B);
  • false — проверка выключена.

<BANDWITH> — количество вызовов, которое может использоваться текущим бриджем одновременно:

  • Total — положительное целое число или "unbouned";
  • In/Out/Total — три положительных целых числа или символ "u", что означает "unbouned".

<DOMAIN_A> / <DOMAIN_B> — имя первой/второй виртуальной АТС, с которой устанавливает соединение bridge;

<NP_A> / <NP_B> — план нумерации первой/второй виртуальной АТС, с которой устанавливает соединение bridge;

<INTERFACE_A> / <INTERFACE_B> — имя интерфейса первой/второй виртуальной АТС, через который будет осуществляться взаимодействие с bridge-интерфейсом;
<TRUNKGROUP_A> / <TRUNKGROUP_B> — идентификатор транк-группы для интерфейса первой/второй виртуальной АТС;
<ROUTING_CONTEXT_A> / <ROUTING_CONTEXT_B> — контекст маршрутизации по умолчанию для интерфейса первой/второй виртуальной АТС.

Пример:

admin@mycelium1@ecss1:/$ bridge/declare br_office1 true 50 biysk.local np_240 bridge:bsk tg:bsk ctx_from_local front.office default bridge:off1 tg:off1 default_routing 
Bridge with name "br_office1" declared successfully.
Интерфейс виртуальной АТС должен начинаться с префикса 'bridge:'. Идентификатора транк-группы должен начинаться с префикса 'tg:'.

info

Команда предназначена для просмотра информации обо всех/определенном bridge-интерфейсах, задекларированных в системе. При выполнении команды без параметров на экран будет выведена информация о всех декларированных bridge системы.

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

/bridge/info

Синтаксис:

info [<BRIDGE_NAME>]

Параметры:

<BRIDGE_NAME> — имя bridge-интерфейса, (опциональный параметр).

Пример:

admin@mycelium1@ecss1:/$ bridge/info br_office1
┌──────────┬──────┬─────────┬─────────┬─────┬───────────┬─────────┬──────────┬───────┬──────────────┬──────────────┬────────────┬─────────┬───────────┬───────┬───────────────┐──────────────┐
│   Name   │Strict│   In    │   Out   │Total│ Domain A  │Numbering│ Iface A  │ Trunk │  Context A   │Access group A│  Domain B  │Numbering│  Iface B  │ Trunk │   Context B   │Access group B│
│          │      │         │         │     │           │ plan A  │          │group A│              │              │            │ plan B  │           │group B│               │              │
├──────────┼──────┼─────────┼─────────┼─────┼───────────┼─────────┼──────────┼───────┼──────────────┼──────────────┼────────────┼─────────┼───────────┼───────┼───────────────┼──────────────┤
│br_office1│true  │unbounded│unbounded│50   │biysk.local│np_240   │bridge:bsk│tg:bsk │ctx_from_local│   group_a    │front.office│default  │bridge:off1│tg:off1│default_routing│    group_b   │
└──────────┴──────┴─────────┴─────────┴─────┴───────────┴─────────┴──────────┴───────┴──────────────┴──────────────┴────────────┴─────────┴───────────┴───────┴───────────────┴──────────────┘
Bridges in table: 1

remove

Команда предназначена для удаления ранее задекларированного bridge-интерфейса из системы. При удалении bridge-интерфейса удаляются интерфейсы, связанные с ним. Если bridge-интерфейс с данным именем не существует, то будет выдано сообщение об этом.

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

/bridge/remove

Синтаксис:

remove <BRIDGE_NAME>

Параметры:

<BRIDGE_NAME> — имя bridge-интерфейса, который необходимо удалить из системы.

Пример:

admin@mycelium1@ecss1:/$ bridge/remove br_office1   
Bridge "br_office1" successfully removed.