Понятия, определения

  • Транк — представляет собой совокупность ресурсов для обслуживания телефонных вызовов в заданном направлении (см. Транки и бриджи).
  • SIP-Транк — представляет собой направление, работающее по протоколу SIP/SIP-Т/SIP-I.
  • Динамический транк — транк с обязательной поддержкой регистрации. Для совершения вызова по динамическому транку взаимодействующий шлюз должен быть зарегистрирован по данному транку в системе ECSS-10.

Типы динамической регистрации:

  • "Операторский" тип регистрации подразумевает регистрацию с использованием одного аккаунта. При запросе данных аутентификации для всех вызовов используется один и тот же логин и пароль.
  • "Абонентский" тип регистрации подразумевает регистрацию с использованием разных аккаунтов. Для каждого абонента встречного шлюза должен быть заведен отдельный аккаунт (логин и пароль).

В системе ECSS-10 реализован "операторский" тип регистрации. Регистрация выполняется с одним аккаунтом.
Если SIP-транк не зарегистрирован или истек тайм-аут регистрации, входящие и исходящие вызовы не будут совершаться через данный SIP-транк. 
Вызовы выполняются под разными номерами. Для аутентификации используется единый логин и пароль.

Порядок настройки SIP-транков

Настройка SIP-транка состоит из двух этапов:

1. Подготовка контекста маршрутизации.

Для подготовки контекстов маршрутизации необходимо:

  1. создать новый контекст маршрутизации или добавить правило маршрутизации в существующий контекст;
  2. импортировать контекст маршрутизации в базу данных ECSS-10.

Процесс создания и настройки контекстов маршрутизации описан в разделе Виртуальная АТС. Маршрутизация телефонных вызовов.

2. Декларирование и настройка SIP-транка.

Порядок настройки SIP-транка:

  1. декларирование SIP-транка;
  2. настройка дополнительных параметров SIP-транка (опционально);
  3. проверка активности SIP-транка.

Настройка SIP-транков через CLI

Создание SIP-транков

Перед созданием SIP-транка необходимо выполнение следующих условий:

  1. создана виртуальная АТС;
  2. созданы и проимпортированы контексты маршрутизации.

Для создания SIP-транка используется команда:

/domain/<DOMAIN>/trunk/sip/declare <ROUTING_CONTEXT> <GROUP> <TRUNK_INTERFACE> <IPSET> [static <DEST_HOST> <DEST_PORT> <MODE> <LISTEN_PORT> | dynamic <LOGIN> <PASSWORD>]

где

<DOMAIN> — имя виртуальной АТС;
<ROUTING_CONTEXT> — название существующего контекста маршрутизации; 
<GROUP> — название группы интерфейсов (может быть задана существующая или новая группа);
<TRUNK_INTERFACE> — имя системного интерфейса, описывающего данное направление. Имя интерфейса является внутрисистемным идентификатором, участвующем в маршрутизации, отображении статистики и другое;
<IPSET> — имя группы локальных адресов;
static — декларация статического транка;
dynamic — декларация динамического транка (с регистрацией);

  • При декларации динамического транка операторская регистрация должна выполнятся для пользователя <TRUNK_INTERFACE>@<GROUP>.
  • Параметры <DEST_HOST>, <DEST_PORT>, <MODE>, <LISTEN_PORT> не задаются.
  • Режим для динамических транков устанавливается sip-proxy, регистрация для транков с инкапсуляцией ISUP использоваться не должна.

<DEST_HOST> — IP-адрес или доменное имя встречного устройства для взаимодействия;
<DEST_PORT> — транспортный порт встречного устройства для взаимодействия с ним по протоколу SIP;
<MODE> — режим работы транка:

  • sip-proxy — на направлении работает протокол SIP;
  • sip-t — на направлении работает протокол SIP-T (используется инкапсуляция ISUP);
  • sip-i — на направлении работает протокол SIP-I (используется инкапсуляция ISUP);
  • sip-q — на направлении работает протокол SIP-Q(используется для инкапсуляции ISUP)

<LISTEN_PORT> — транспортный порт, используемый SIP-адаптером для приема сигнализации. SIP-адаптер может использовать несколько портов для приема сигнализации, что позволяет организовать несколько транков с одним и тем же устройством. Как минимум один локальный (слушающий) порт должен быть назначен в обязательном порядке.
<LOGIN> — логин;
<PASSWORD> — пароль.

В режиме sip-proxy осуществляется работа по протоколу SIP, базовая рекомендация RFC 3261.
В режимах sip-t, sip-i в тело сообщений протокола SIP инкапсулируются сообщения ISUP. Работа протокола SIP-I описана в рекомендации Q.1912.5, протокола SIP-T в RFC 3372,  а протокола SIP-Q в ECMA-143, ECMA-165.

При создании SIP-транка производится проверка имени интерфейса (в системе запрещено создавать транки с одинаковыми именами в пределах одной виртуальной АТС) и связки <dest_host>:<dest_port>:<ip_set>:<listen_port>. Если имя интерфейса SIP-транка совпадет с существующим именем, системой будет выдано предупреждение "trunk already exists". Декларация интерфейса в этом случае не будет выполнена.

При успешном создании SIP-транка имеется возможность сразу (в рамках одной команды) проверить доступность указанного направления посредством передачи запроса OPTIONS. Для этого используется ключ --check, в отличие от версии 2.14, где попытка такой проверки была безусловной. Результат проверки доступности:

  • {final,"is accessible"} — направление доступно, если встречное оборудование отвечает на запрос OPTIONS;
  • {final,"timeout"} — направление недоступно, если встречное оборудование не отвечает на запрос OPTIONS.

Для удаления SIP-транка или всех транков одной группы используется команда:

/domain/<DOMAIN>/trunk/sip/remove <GROUP> <TRUNK_INTERFACE> [--force]

где

<DOMAIN> — имя виртуальной АТС;
<GROUP> — имя группы транков, логическая группировка транков в определенной виртуальной АТС;
<TRUNK_INTERFACE> — имя SIP-транка;
--force — дополнительный параметр (ключ), предназначен для безусловного удаления группы транков или транка.

Настройка параметров SIP-транка

Для настройки параметров SIP-транка используется команда:

/domain/<DOMAIN>/trunk/sip/set <GROUP> <TRUNK_INTERFACE> <PARAMETER> <VALUE>

где

<DOMAIN> — имя виртуальной АТС;
<GROUP> — имя группы транков, логическая группировка транков внутри виртуальной АТС;
<TRUNK_INTERFACE> — имя SIP-транка;
<PARAMETER> — настраиваемый параметр, список параметров приведен в Приложении Б. Набор параметров интерфейса SIP.
<VALUE> — значение параметра.

Для просмотра информации о SIP-транке используется команда:

/domain/<DOMAIN>/trunk/sip/info <GROUP> [<TRUNK_INTERFACE>]

где

<DOMAIN> — имя виртуальной АТС;
<GROUP> — название существующей группы интерфейсов, символ "*" используется для указания всех групп транков;
<TRUNK_INTERFACE> — логическое имя транка, символ "*" используется для указания всех интерфейсов группы.
Для просмотра свойств группы имя интерфейса транка (символ "*") не указывается.

Проверка состояния SIP-транка

Проверка доступности транка выполняется передачей запроса OPTIONS. Тест может выполняться для определенного транка или для всех транков группы.

Для проверки состояния SIP-транка используется команда:

/domain/<DOMAIN>/trunk/sip/check <GROUP> [<TRUNK_INTERFACE>] [timerF = <TIMERF>]

где

<DOMAIN> — имя виртуальной АТС;
<GROUP> — название существующей группы интерфейсов. Символ "*" используется для указания всех групп транков;
<TRUNK_INTERFACE> — логическое имя транка. Символ "*" используется для указания всех интерфейсов группы.

Если ответ не получен (направление на данный транк не доступно), то выводится результат "timeout".

  • Если удаленный клиент не поддерживает запросы OPTIONS, и при этом не отвечает ответом 405, то результат будет таким же, хотя реально направление доступно для вызовов.
  • В таком случае периодический контроль доступности должен быть отключен (set options_control 0).

<TIMERF> — тайм-аут ожидания ответа, в пределах которого отправляются повторные запросы, если удаленная сторона не отвечает. Задается в миллисекундах. Для выключения контроля установите значение тайм-аута — 0.

Если встречное оборудование доступно, то результатом выполнения команды будет значение "Accessible", если недоступно — "Unaccessible".

Динамический SIP-транк

Для направлений, на которых необходима регистрация встречных SIP-транков в системе ECSS-10, создаются динамические SIP-транки.

Создание, удаление динамического транка

Создание динамического SIP-транка

Перед созданием динамического SIP-транка необходимо выполнение следующих условий:

  1. создана виртуальная АТС;
  2. созданы и проимпортированы контексты маршрутизации.

Для создания динамического SIP-транка используется команда:

/domain/<DOMAIN>/trunk/sip/declare <ROUTING_CONTEXT> <GROUP> <TRUNK_NAME> <IPSET> [dynamic LOGIN PASSWORD]

где

<DOMAIN> — имя виртуальной АТС;
<ROUTING_CONTEXT> — контекст маршрутизации для данного транка;
<GROUP> — имя группы транков (параметр идентичен <TRUNK_GROUP> для обычных SIP-транков); 
<TRUNK_NAME> — имя для регистрации динамического SIP-транка;
<IPSET> — имя группы локальных адресов;
<LOGIN> — логин;
<PASSWORD> — пароль.

При создании динамического SIP-транка в системе создается виртуальный абонент-транк с URI <TRUNK_INTERFACE>@<GROUP>.

В командах работы с SIP-абонентами данный виртуальный абонент-транк не доступен.

Удаление динамического SIP-транка

Для удаления динамического SIP-транка используется команда:

/domain/<DOMAIN>/trunk/sip/remove <GROUP> <TRUNK_NAME> [--force]

где

<DOMAIN> — имя виртуальной АТС;
<GROUP> — имя группы транков (параметр идентичен <TRUNK_GROUP> для обычных SIP-транков); 
<TRUNK_NAME> — имя для регистрации динамического SIP-транка (параметр идентичен <TRUNK_NAME> для обычных SIP-транков);
--force — дополнительный параметр (ключ), предназначен для безусловного удаления группы транков или транка;

Настройка параметров динамического транка

Для настройки параметров динамического SIP-транка используется команда:

/domain/<DOMAIN>/trunk/sip/set <GROUP> <TRUNK_NAME> <PARAMETER> <VALUE>

где

<DOMAIN> — имя виртуальной АТС;
<GROUP> — имя группы транков, логическая группировка транков в определенной виртуальной АТС;
<TRUNK_NAME> — имя динамического SIP-транка;
<PARAMETER> — настраиваемый параметр;
<VALUE> — значение параметра.

Основной перечень параметров динамического SIP-транка соответствует параметрам стандартного SIP-транка и описан выше.

Дополнительные параметры для динамического SIP-транка:

  • inc_authentication — требование авторизации входящих со стороны транка вызовов, принимает значения:
    • false — авторизация не требуется, установлено по умолчанию;
    • true — необходима авторизация;
  • inc_authentication_type — метод авторизации входящих вызовов, принимает значения:
    • proxy — требование авторизации передается в ответе 407/Proxy-Authenticate;
    • user — требование авторизации передается в ответе 401/WWW-Authentication, установлено по умолчанию;
  • inc_authentication_login — имя, используемое при авторизации входящих вызовов, по умолчанию не задано;
  • inc_authentication_password — пароль, используемый при авторизации входящих вызовов, по умолчанию не задан.
Параметры "inc_authentication_login" и "inc_authentication_password" необходимы при использовании авторизации входящих вызовов.

Для просмотра информации о динамическом SIP-транке используется команда:

/domain/<DOMAIN>/trunk/sip/info <GROUP> <TRUNK_NAME>

где

<DOMAIN> — имя виртуальной АТС;
<GROUP> — имя группы транков, символ "*" используется для просмотра информации о всех транках кластера;
<TRUNK_NAME> — имя динамического SIP-транка.

Исходящая регистрация транков SIP-адаптера

Регистрация транка выполняется на вышестоящем сервере. Запрос регистрации отправляется только с одной из нод кластера.
Количество контактов, передаваемое в запросе регистрации, равно количеству нод в кластере. IP-адреса в контактах устанавливаются из параметра "ip-set", назначенного транку.
Параметр "ip-set" настраивается командой domain/<DOMAIN>/sip/network/set node_ip.

Настройка параметров SIP-транка для исходящей регистрации выполняется командами:

  1. Настройка периода времени регистрации на вышестоящем сервере или отключение регистрации:
    /domain/<DOMAIN>/trunk/sip/set <GROUP> <TRUNK_INTERFACE> out_registration <EXPIRE>
    где <EXPIRE> — период регистрации в секундах, 0 — отключение регистрации, при этом отправляется запрос разрегистрации (REGISTER с Expire=0). При изменении параметра <EXPIRE> будет отправлен внеочередной (первый, если параметр не был установлен ранее) запрос регистрации, и время последующей передачи запроса будет пересчитано от текущего момента.
  2. Настройка регистрируемого имени SIP-транка
    /domain/<DOMAIN>/trunk/sip/set <GROUP> <TRUNK_INTERFACE> user_name <NAME>
    где <NAME> — имя SIP-транка для исходящей регистрации. Если имя не указано, то по умолчанию используется имя интерфейса.
  3. Настройка домена регистрации SIP-транка
    /domain/<DOMAIN>/trunk/sip/set <GROUP> <TRUNK_INTERFACE> sipdomain <SipDomain>
    где <SipDomain> — имя SIP-домена. Если параметр не задан, то в его качестве используется параметр "host" (IP-адрес или доменное имя транка), настроенный в параметрах транка.
    Для просмотра информации о SIP-транке используется команда:
    /domain/<DOMAIN>/trunk/sip/info <GROUP> [<TRUNK_INTERFACE>]
    где
    <DOMAIN> — имя виртуальной АТС;
    <GROUP> — имя группы транков, символ "*" используется для просмотра информации о всех транках кластера;
    <TRUNK_INTERFACE> — имя SIP-транка.
  4. Установка логина

    /domain/<DOMAIN>/trunk/sip/set <GROUP> <TRUNK_INTERFACE> out_authentication_login <ENTRY_LOGIN_TO_OUTGOING_PROXY_AUTHENTICA>

    где

    <ENTRY_LOGIN_TO_OUTGOING_PROXY_AUTHENTICA> — имя SIP-транка, используемое при аутентификации, опциональный параметр.

  5. Установка пароля

    /domain/<DOMAIN>/trunk/sip/set <GROUP> <TRUNK_INTERFACE> out_authentication_password <ENTRY_PASSWORD_TO_OUTGOING_PROXY_AUTHENT>

    где

    <ENTRY_PASSWORD_TO_OUTGOING_PROXY_AUTHENT> — пароль SIP-транка, используемый при аутентификации, опциональный параметр.

Примеры:

  1. Создание нового SIP-транка "new_test_trunk" в группу "sip_trunks", режим sip-proxy, транк направлен на 192.168.123.123:5060, транк использует контекст маршрутизации default_context

    admin@[mycelium1@ecss1]:/$ domain/test.domain/trunk/sip/declare default_context sip_trunks new_test_trunk ipset 192.168.123.123 5060 sip-proxy 5070 
    Executed on the sip1@ecss1
    declared
  2. Просмотр информации о SIP-транке "test" 

    admin@[mycelium1@ecss1]:/$ domain/test.domain/trunk/sip/info test_group test 
    Executed on the sip1@ecss1
    ┌───────┬──────┬───────────┬────────────┬────────────┬────────────────────────────────────────────────────────────────────────┐
    │ Group │ Uri  │ Is active │ Is blocked │ Is dynamic │                               Parameters                               │
    ├───────┼──────┼───────────┼────────────┼────────────┼────────────────────────────────────────────────────────────────────────┤
    │ test  │ test │ false     │ false      │ true       │ declared by admin at 02.11.2015 09:20:28                               │
    │       │      │           │            │            │                                                                        │
    │       │      │           │            │            │  listen-port                    = 50000                                │
    │       │      │           │            │            │  ip-set                         = ipset1                               │
    │       │      │           │            │            │  mode                           = 'sip-proxy'                          │
    │       │      │           │            │            │  current number of calls        = 0                                    │
    │       │      │           │            │            │  disconnect time                = 29.12.2015 10:19:49                  │
    │       │      │           │            │            │  disconnections number          = 0                                    │
    ...
    │       │      │           │            │            │  try-contact-for-anonymous      = true                                 │
    │       │      │           │            │            │  unreliable-early-media         = false                                │
    │       │      │           │            │            │  user_name                      = test                                 │
    └───────┴──────┴───────────┴────────────┴────────────┴────────────────────────────────────────────────────────────────────────┘
  3. Создание динамического транка "new_test_trunk_reg" в группе "sip_trunks", транк использует контекст маршрутизации default_context

    admin@[mycelium1@ecss1]:/$ domain/test.domain/trunk/sip/declare default_context sip_trunks new_test_trunk_reg ipset --registration 
    Executed on the sip1@ecss1
    {declared,["test.domain",default_context,"sip_trunks",<<"new_test_trunk_reg">>,
               "dynamic",0,sipproxy]}
  4. Удаление SIP-транка "new_test_trunk"

    admin@[mycelium1@ecss1]:/$ domain/test.domain/trunk/sip/remove sip_trunks new_test_trunk 
    [remove] This command removes trunks interfaces. Undo will be impossible.
    Continue: yes/no ?> yes
    Executed on the sip1@ecss1
    [{"new_test_trunk",removed}]

Управление медиапрофилями для транка

Для установки/изменения медиапрофиля для транка используются следующие команды:

  1. Установка медиапрофиля по входящей и исходящей связи для транка или нескольких транков. Если media-profile-outgoing для транка установлен, то параметр влияет только на входящую связь.

    /domain/<DOMAIN>/alias/set-for-iface <IFACE_GROUP> <IFACE_RANGE> media-profile <MEDIA_PROFILE_NAME>

    где

    <DOMAIN> — имя виртуальной АТС;
    <IFACE_GROUP> — имя группы транков (интерфейсов),
    <IFACE_RANGE> — имя одного транка (интерфейса) или список транков, для которых будет устанавливаться медиапрофиль,
    <MEDIA_PROFILE_NAME> — имя медиа-профиля

  2. Установка медиапрофиля по исходящей связи для транка или нескольких транков. Если параметр не задан, то для исходящей связи используется тот же медиапрофиль, что и для входящей связи — заданный параметр media-profile.

    /domain/<DOMAIN>/alias/set-for-iface <IFACE_GROUP> <IFACE_RANGE> media-profile-outgoing <MEDIA_PROFILE_NAME>

    где

    <DOMAIN> — имя виртуальной АТС;
    <IFACE_GROUP> — имя группы транков (интерфейсов),
    <IFACE_RANGE> — имя одного транка (интерфейса) или список транков, для которых будет устанавливаться медиапрофиль,
    <MEDIA_PROFILE_NAME> — имя медиа-профиля

  3. Просмотр текущего медиапрофиля на транке.

    /domain/<DOMAIN>/alias/iface-info <IFACE_GROUP> <IFACE_RANGE>

    где

    <DOMAIN> — имя виртуальной АТС;
    <IFACE_GROUP> — имя группы транков (интерфейсов),
    <IFACE_RANGE> — имя одного транка (интерфейса) или список транков для которых будут отображаться параметры.

    Команда выдаст таблицу со всеми параметрами установленными для транка. В таблице необходимо найти параметры media-profile и media-profile-outgoing.
    Если параметров не установлено, то используется медиапрофиль по умолчанию (default).

  4. Сброс медиапрофиля на транке в значение по умолчанию

    /domain/<DOMAIN>/alias/iface-clean <IFACE_GROUP> <IFACE_RANGE> media-profile

    где

    <DOMAIN> — имя виртуальной АТС;
    <IFACE_GROUP> — имя группы транков (интерфейсов),
    <IFACE_RANGE> — имя одного транка (интерфейса) или список транков, для которых будет сбрасываться параметр.

  5. Сброс медиапрофиля для исходящей связи в значение по умолчанию

    /domain/<DOMAIN>/alias/iface-clean <IFACE_GROUP> <IFACE_RANGE> media-profile-outgoing

    где

    <DOMAIN> — имя виртуальной АТС;
    <IFACE_GROUP> — имя группы транков (интерфейсов),
    <IFACE_RANGE> — имя одного транка (интерфейса) или список транков, для которых будет сбрасываться параметр.

Настройка SIP-транков через web-конфигуратор

Порядок создания SIP-транков через web-конфигуратор.

  1. Подключиться к web-конфигуратору.
  2. В определенной виртуальной АТС создать контекст маршрутизации, описание приведено в разделе Настройка параметров маршрутизации через web-конфигуратор.
  3. Открыть приложение "Менеджер транков" ("Trunk Manager").

Приложение web-конфигуратора "Менеджер транков" ("Trunk manager") служит для управления транками, работающими по протоколу SIP/SIP-I/SIP-T.

Рисунок 1 — Интерфейс web-приложения "Менеджер транков" ("Trunk manager")

В разделе "Группа" ("Group") отображается список групп интерфейсов.
В разделах "Интерфейс" ("Interface"), "Активный" ("Active"), "Режим" ("Mode"), "Динамический" ("Dynamic"), "Блокирован" ("Block"), "Хост" ("Host"), "Порт" ("Listen") отображаются настройки для определенной группы:

  • Интерфейс (Interface) — логическое имя транка;
  • Активный (Active) — состояние интерфейса в данный момент:
    • true — транк активен (направление доступно);
    • false — транк неактивен (определено автоматически или транк выведен
      из работы целенаправленно — блокирован).
  • Режим (Mode) — режим инкапсуляции ISUP:
    • sip-proxy — направление на SIP (прокси);
    • sip-t — направление на SIP-T;
    • sip-i — направление на SIP-I.
  • Dynamic (Динамический) — тип транка:
    • true — транк является динамическим (с регистрацией);
    • false — транк не является динамическим.
  • Заблокирован (Block) — состояние блокировки транка:
    • true — транк блокирован, находится в неактивном состоянии;
    • false — транк не блокирован, находится в активном состоянии.
  • Хост (Host) — хост (IP-адрес или доменное имя) и номер порта, назначенный для транка;
  • Порт для приема (Listen) — слушающий порт:
    • номер порта;
    • default — любой слушающий порт.

Декларация SIP-транка

Декларация нового SIP-транка возможна только в существующем контексте маршрутизации.
Может быть выбрана существующая группа или декларирована новая.

При декларации выполняется проверка на наличие имени интерфейса в системе (одинаковые имена запрещены, о чем будет сразу выдано предупреждение "trunk already exists") и связки IP:Порт:Слушающий_порт (в случае совпадения с существующим именем будет выдано предупреждение, декларация может быть выполнена, а в дальнейшем параметры могут быть изменены).

Для декларации нового транка нажмите кнопку  и заполните следующие поля:

  • Имя (Name of trunk interface) — логическое имя транка;
  • Владелец (Owner) — имя кластера;
  • Контекст (Context) — название существующего контекста маршрутизации;
  • Модификация номеров (Modificator) — название существующего контекста модификации;
  • Группа (Group) — название группы интерфейсов (может быть задана существующая или новая группа);
  • Группа IP-адресов (IPSet) — группа резервируемых интерфейсов;
  • Регистрация (Registration) — при установленном флаге будет декларирован динамический транк (с регистрацией);
  • Хост[:порт] (Host[:port]) — хост (IP-адрес или доменное имя) и порт, назначаемый для транка;
  • Порт для приема (Listen) — слушающий порт, принимает значения:
    • номер порта;
    • default — любой слушающий порт.
  • На адаптере может быть открыто несколько слушающих портов. По ним можно "развести" транки с одного хоста, у которых одинаковые IP-адрес и номер порта. При выборе значения "default" слушающий порт, который принял входящий запрос, не будет учитываться при определении транка.
  • При декларации динамического транка операторская регистрация должна выполняться для пользователя <TRUNK_INTERFACE>@<GROUP>.
  • Режим (Mode) — режим инкапсуляции ISUP, принимает значения:
    • SIP — направление на SIP (прокси);
    • SIP-T — направление на SIP-T;
    • SIP-I — направление на SIP-I;
    • SIP-Q — направление на SIP-Q.
В режимах "sip-t", "sip-i" в тело сообщений протокола SIP инкапсулируются сообщения ISUP.

Для сохранения изменений нажмите кнопку "Создать" ("Declare"), для отмены — нажмите кнопку "Отмена" ("Cancel").

Настройка параметров транков

Для изменения параметров транков нажмите кнопку  и заполните следующие вкладки:

Основные настройки (General settings)

  • Режим (Mode) — режим инкапсуляции ISUP, принимает значения:
    • SIP — направление на SIP (прокси);
    • SIP-T — направление на SIP-T;
    • SIP-I — направление на SIP-I;
    • SIP-Q — направление на SIP-Q.
  • Контекст (Context) — используемый контекст маршрутизации для транка;
  • Модификация номеров (Modificator) — название существующего контекста модификации;
  • Имя хоста/ IP-адрес (Hostname/IP address) — хост назначения (IP или доменное имя);
  • Порт (Port) — порт назначения для транка (номер порта);
  • Группа IP-адресов (IPSet) — группа резервируемых интерфейсов;
  • Порт для приема (Listen port) — слушающий порт, который используется для входящих вызовов с транка, принимает значение — номер абонента;
  • Транспорт (Transport) — протокол, используемый при отправке запросов в сторону направления, принимает значения:
    • tcp_only — для исходящих запросов на транке всегда использовать TCP;
    • udp_only — для исходящих запросов на транке всегда использовать UDP;
    • tcp_prefer — для исходящих запросов на транке предпочтительно использовать TCP;
    • udp_prefer — для исходящих запросов на транке предпочтительно использовать UDP.

      На обеих сторона транка должен использоваться одинаковый транспортный протокол

  • Включить контроль OPTIONS (Enable options control) — при установленном флаге осуществляется контроль доступности направления при помощи запроса OPTIONS. По умолчанию контроль выключен (флаг не установлен);
  • Период контроля (Options control, s) — контроль доступности направления. Параметр принимает числовое значение периода контроля, в секундах — минимальное значение 32 сек.
    Контролируется ответ на запрос OPTIONS, отправляемый с установленной периодичностью, если никакой ответ не получен, то направление считается недоступным.
    Если ответ получен, то по принятым в нем параметрам устанавливаются поддерживаемые встречной стороной возможности (таймер сессий по RFC 4028, предварительные надежные ответы по RFC3262 и т.п.).
  • Выдача аварий (Alarm enable) — при установленном флаге осуществляется отправка предупреждений при переходе интерфейса в неактивное состояние. Актуально если включена опция периодического опроса. По умолчанию отправка оповещения выключена (флаг не установлен);
  • Медиа профиль (Media enable) — медиа профиль;
  • Исходящий медиа профиль (Media enable outgoing) — исходящий медиа профиль;
  • Заблокировать — заблокировать транк.

Настройки аутентификации (Authentication settings)

  • Вх. авторизация (Inc authentication) — при установленном флаге требуется прокси авторизация со стороны транка;
  • Тип авторизации (Auth type) — тип авторизации
    • пользователь — ответ 401 (по умолчанию);
    • прокси — 407 [user|proxy].
  • Логин вх. (Inc login) — имя пользователя удаленной стороны для авторизации при входящем вызове;
  • Пароль вх. (Inc password) — пароль удаленной стороны для авторизации при выходящих вызовах;
  • Логин исх. (Out login) — имя пользователя для авторизации при исходящих вызовах;
  • Пароль исх. (Out password) — пароль для авторизации при исходящих вызовах.

Дополнительные настройки транка (Additional trunk settings)

  • Логическое имя (Trunk name) — логическое имя транка;
  • Расположение (Location) — определение ISUP кода при инициализации REL на транке, принимает значения:
    • default — значение по умолчанию;
    • beyond an interworking — за пределами сети;
    • international network — международная сеть;
    • local network — сеть общего пользования, обслуживающая локального пользователя;
    • local private network — частная сеть, обслуживающая локального пользователя;
    • remote network — сеть общего пользования, обслуживающая удаленного пользователя;
    • remote private network — частная сеть, обслуживающая удаленного пользователя;
    • transit network — транзитная сеть;
    • user — пользователь;
  • req100rel — при установленном флаге осуществляется отправка предварительного ответа (при отправке ответов группы 1хх включено "Require: 100rel");
  • Сжатие (Encoding) — тип сжатия запроса;
  • Контроль по RFC 4028 (RFC 4028 control) — контроль сессии по RFC 4028 (расширение session-expire). Принимает значения:
    • включить (enable);
    • отключить (disable);
    • принудительно (forced).
  • Кодировка имени пользователя (Display encoding) — тип кодировки , принимает значения:
    • default — использовать utf-8;
    • win1251 — использовать win1251.
  • REL для CANCEL (REL to CANCEL) — при установленном флаге осуществляется инкапсуляция ISUP REL в SIP CANCEL.
По разным требованиям встречная сторона (в режимах SIP-I и SIP-T) может ждать или не ждать ISUP REL в теле сообщения SIP CANCEL.
  • Символ '#' не в hex (%23) (Symbol hash as is) — при установленном флаге передается знак фунта ("решетка") в SIP URI как escape-последовательность "%23", иначе как символ "#";
  • Контроль портов (Disable remote port control)- при включенном флаге принимаются входящие вызовы, поступившие с портов отличных от "удаленного порта";
  • SIP-домен (SIP domain) — имя SIP-домена в "Request URI" исходящего запроса, по умолчанию в качестве домена используется IP-адрес (имя хоста) транка;
  • IP-адрес в качестве SIP-домена (IP address as SIP domain) — использовать в качестве SIP-домена IP-адрес встречной стороны;
  • Групповой адрес (Maddr) — отправка запросов на номер массовой рассылки, принимает значения:
    • адрес сервера массовой рассылки;
    • none — отправка на прямой адрес (обычная работа).
  • Сайты (Sites) — сайт к которому привязан транк;
  • Зоны (Zones) — зона к которой привязан транк.

Ограничения (Limits)

  • Количество входящих каналов — максимальное кол-во входящих вызовов через транк;
  • Количество исходящих вызовов — максимальное кол-во исходящих вызовов через транк;
  • Общее количество каналов — максимальное общее кол-во вызовов через транк;
  • CPS (вх) (CPS (in)) — максимальное количество входящих вызовов в секунду;
  • CPS (исх) (CPS (out)) — максимальное количество исходящих вызовов в секунду;
  • CPS (всего) (CPS (total)) — максимальное общее количество вызовов в секунду;
  • Белый список (вх) — список разрешенных входящих номеров;
  • Белый список (исх) — список разрешенных исходящих номеров;
  • Черный список (вх) — список запрещенных входящих номеров;
  • Черный список (исх) — список запрещенных исходящих номеров;

В белых/черных списках требуется выбрать список, созданный в группе мониторинга.

Дополнительные услуги (Supplementary services) — выбор дополнительных услуг для транка.

Дополнительные услуги для транка описаны в разделе Транковые сервисы.

Для сохранения изменений нажмите кнопку "Сохранить" ("Save"), для отмены — нажмите кнопку "Отмена" ("Cancel").

Настройка транков с помощью стандартного режима web-конфигуратора описана в разделе Транки (Trunks).

Авторизация транзитных вызовов на транке по RADIUS

Для обеспечения контроля над принятыми из транка вызовами и предоставления услуг абонентам, подключенным к ECSS-10 по этому транку, может использоваться RADIUS-сервер. В этом случае авторизация и аутентификация вызовов, принятых из транка осуществляется на RADIUS-сервере.

ECSS-10 поддерживает и другой механизм предоставления услуг абонентам подключенным через транк — механизм фиксированных контактов, описание приведено в разделе Аутентификация абонентов.

Настройка авторизации вызовов, принятых из транка на RADIUS-сервере, выполняется следующей командой:

/domain/<DOMAIN>/trunk/sip/set <GROUP> <TRUNK> <PARAMETER> <VALUE>

где

<DOMAIN> — имя виртуальной АТС;
<GROUP> — имя группы транков, логическая группировка транков в определенной виртуальной АТС;
<TRUNK_INTERFACE> — имя SIP-транка;
<PARAMETER> — настраиваемый параметр, принимает значения:

  • inc_authentication — требование авторизации входящих из транка вызовов, принимает значения:
    • false — авторизация не требуется, установлено по умолчанию;
    • true — авторизация требуется;
  • area — область аутентификации, которая описывает взаимодействие с RADIUS-серверами. Область аутентификации должна быть предварительно создана, описание приведено ниже. Если параметр принимает значение "undefined", то работает локальная аутентификация, для которой используются логин и пароль, настроенные в параметрах транка.

<VALUE> — значение параметра.

Для просмотра информации используется команда:

/domain/<DOMAIN>/trunk/sip/info <GROUP> [<TRUNK_INTERFACE>] [--profile <PROFILE>]

где

<DOMAIN> — имя виртуальной АТС;
<GROUP> — имя группы транков, символ "*" используется для просмотра информации о всех транках виртуальной АТС;
<TRUNK_INTERFACE> — имя SIP-транка;
--profile — флаг используется для просмотра информации о конфигурации профилей транка;
<PROFILE> — имя профиля, символ "*" используется для указания всех профилей транков.

Пример:

domain/d.408/sip/pa_sip1/trunk/info smg.test SMG.2 
Executed on the pa_sip@alex
---------------------------------------------------------------------------------------------------------
|  Group   |  Uri  | Is active | Is blocked |                        Parameters                         |
|----------+-------+-----------+------------+-----------------------------------------------------------|
| smg.test | SMG.2 | true      | false      |        amqp_exchange = ecss.call.control.ex               |
...
|          |       |           |            |   inc_authentication = true                               |
...
|          |       |           |            |        "radius area" = radius.direction                   |
...

При отсутствии корректного ответа от RADIUS-сервера вызов помечается, и на уровне системы принимается решение о продолжении обслуживания.

Настройка области аутентификации (area) и RADIUS-серверов выполняется командами:

/domain/<DOMAIN>/sip/user/dynamic-area/info|new|remove|set ...
/domain/<DOMAIN>/sip/user/dynamic-radius-server/info|new|remove|set ...

Подробное описание данных команд приведено в разделе Настройка динамических абонентов и системы Radius.

Управление транковой записью разговоров

Транковая запись разговоров осуществляет запись всех вызовов (входящих и исходящих) которые проходят через транк.
Транковая запись разговоров существует независимо от активности абонентской запись разговоров.
Управление транковой записью разговоров осуществляется следующими командами:

  1. Активация транковой записи разговоров

    /domain/<DOMAIN>/iface/user-set <OWNER> <GROUP> <IFACE-RANGE> call_record true

    где

    <DOMAIN> — имя виртуальной АТС;
    <OWNER> — имя кластера адаптера владельца интерфейсов, для sip-адаптера обычно sip1;
    <GROUP> — имя группы интерфейсов, в данном случае транков;
    <IFACE-RANGE> — диапазон/список интерфейсов, в данном случае тарнков.

  2. Деактивация транковой записи разговоров

    /domain/<DOMAIN>/iface/user-set <OWNER> <GROUP> <IFACE-RANGE> call_record false

    где

    <DOMAIN> — имя виртуальной АТС;
    <OWNER> — имя кластера адаптера владельца интерфейсов, для sip-адаптера обычно sip1;
    <GROUP> — имя группы интерфейсов, в данном случае транков;
    <IFACE-RANGE> — диапазон/список интерфейсов, в данном случае тарнков.

  3. Просмотр статуса транковой записи разговоров

    /domain/<DOMAIN>/iface/info <OWNER> <GROUP> <IFACE-RANGE> call_record

    где

    <DOMAIN> — имя виртуальной АТС;
    <OWNER> — имя кластера адаптера владельца интерфейсов, для sip-адаптера обычно sip1;
    <GROUP> — имя группы интерфейсов, в данном случае транков;
    <IFACE-RANGE> — диапазон/список интерфейсов, в данном случае тарнков.

    В результате выполнения команды будет выдана информация о том включена или нет (true/false) транковая запись разговоров.

Метод привязки транковых каналов к виртуальному абоненту для станций Coral

В разделе описаны методы привязки транковых каналов к виртуальным абонентам. Опишем ситуацию, в рамках которой данный функционал реализован.


Существует SIP-транк, за которым находятся несколько FXO портов для выхода в городскую ТфОП. Некоторые абоненты должны иметь возможность выхода в городскую сеть через любой свободный порт, остальные абоненты должна выходить строго через конкретно заданные (один или несколько) порты. В обратном порядке, когда вызов получен со стороны городской сети с конкретного FXO порта, SSW должен иметь возможность обрабатывать данный вызов с использованием различных стратегий. Более того, необходимо посредством BLF наблюдать состояние FXO, какие порты в транке сейчас заняты.
Поэтому, было решено к транкам, для которых явно заданы каналы, добавить возможность сопоставлять внутренние виртуальные номера домена и каждый из каналов в транке. Тогда вызовы будут обрабатываться следующим образом:

  1. Если вызов приходит из конкретного канала в транке, к которому привязан номер виртуального абонента, то номер вызывающего абонента для этого вызова меняется на заданный номер виртуального абонента (на виртуальном абоненте можно активировать различные ДВО, таким образом вызов из транка будет обрабатываться этими ДВО в том числе BLF);
  2. Звонок на номер виртуального абонента со стороны локального абонента приведет к звонку через определенный канал транка (тот канал, за которым закреплен номер данного виртуального абонента);

Пошаговая настройка привязки канала транка к номеру

  1. Создаем виртуально абонента с номером NUMBER, контекстом маршрутизации ROUTING_CONTEXT

    domain/<DOMAIN>/alias/virtual/declare <NUMBER> <ROUTING_CONTEXT> <GROUP>

    <DOMAIN> — имя виртуальной АТС (домен);
    <NUMBER> — номер абонента;
    <ROUTING_CONTEXT> — план маршрутизации, используемый абонентом;
    <GROUP> — группа, к которой будет причислен абонент.

  2. На данного виртуального абонента активируем один из сервисов распределения вызова (CGG, CHunt и т.п.). При этом нужно помнить, что когда групповые сервисы активны, также используется несколько абонентских линий и нужно активировать соответствующий сервис ml (мультилайн)

    domain/<DOMAIN>/ss/enable <NUMBER> cgg

    <DOMAIN> — название виртуальной АТС (домена), для которой выполняются настройки;
    <NUMBER> — номер виртуального абонента, для которого выполняются настройки.

    Активируем на виртуальном абонента услугу распределения вызова

    domain/<DOMAIN>/ss/activate <NUMBER> cgg numbers = <NUM1>, <NUM2>, ...

    <DOMAIN> — название виртуальной АТС (домена), для которой выполняются настройки;

    <NUMBER> — номер виртуального абонента, для которого выполняются настройки;<NUM1>, <NUM2> — номера на FXO порте, привязываемые к виртуальному номеру.

  3. Создаем SIP транк

    domain/<DOMAIN>/trunk/sip/declare <ROUTINGCONTEXT> <GROUP> <TRUNKNAME> <IPSET> static <DSTADDR> <DSTPORT> <MODE> <SRCPORT>

    <DOMAIN> — имя виртуальной АТС (домен);
    <ROUTING_CONTEXT> — план маршрутизации, используемый транком;
    <GROUP> — группа, к которой будет причислен транк;
    <TRUNK_NAME> — имя создаваемого транка;
    <IP_SET> — набор IP-адресов;
    <DST_ADDR> — адрес назначения для создаваемого транка;
    <DST_PORT> — порт назначения, для создаваемого транка;
    <MODE> — режим инкапсуляции ISUP:

    • sip-proxy — направление работает только по протоколу SIP (RFC 3261);
    • sip-t — направление работает по SIP с инкапсуляцией ISUP по протоколу SIP-T (RFC 3372);
    • sip-i — направление работает по SIP с инкапсуляцией ISUP по протоколу SIP-I (Q.1912-5).

    <SRC_PORT> — порт приема, для создаваемого транка.

  4. Указываем клиента, в чью сторону направлен транк:

    domain/<DOMAIN>/trunk/sip/set <TRUNK_GROUP> <TRUNK> remote-client <CLIENT>

    <DOMAIN> — имя виртуальной АТС (домен);
    <TRUNK_GROUP> — группа, к которой причислен транк;

    <TRUNK> — имя транка, для которого происходит настройка;<CLIENT> — название организации, с которой связан созданный транк.
  5. В созданный транк добавляем Coral контакты, закрепленные за ними номера виртуальных абонентов и номера каналов

    domain/<DOMAIN>/trunk/sip/set <TRUNK_GROUP> <TRUNK> channel-contact-map add <CHANNEL_RANGE> <NUMBER_RANGE> <CONTACT_RANGE>

    <DOMAIN> — имя виртуальной АТС (домен);
    <TRUNK_GROUP> — группа, в которую входит транк;
    <TRUNK> — имя транка, для которого происходит настройка;
    <CHANNEL_NUMBER> — номер выделенного в транке канала. формат: порядковый номер канала, или диапазон в {} через "-", или перечисление  или ",";
    <NUMBER> — номер виртуального абонента, закрепляемый за каналом в транке;
    <CONTACT_RANGE> — Специальный идентификатор порта для Coral шлюза.

  6. Активируем на транке ДВО fxo_trunk

    domain/<DOMAIN>/trunk/services/activate <TRUNK_GROUP> <TRUNK> fxo_trunk
    <DOMAIN> — имя виртуальной АТС (домен);
    <TRUNK_GROUP> — группа, в которую входит транк;
    <TRUNK> — имя транка, для которого происходит настройка;
  7. Правила маршрутизации, которые позволяют выйти на FXO порт
    Рассмотрим пример, в котором виртуальные абоненты будут иметь маску номера 99x. Городские номера иметь маску xxxxxxx Тогда выход на FXO порт закрепленный за данным номером будет выглядеть так:

    <rule name="to_fxo_port_with_empty_b_number">
          <conditions>
            <cdpn digits="99?"/>
          </conditions>
          <actions>
            <cdpn digits=""/>
          </actions>
          <result>
            <local vdn="{1,2,3}"/>
          </result>
        </rule>
        <rule name="to_fxo_port_with_complete_b_number">
          <conditions>
            <cdpn digits="99?%"/>
            <final value="true"/>
          </conditions>
          <actions>
            <cdpn digits="{%}"/>
          </actions>
          <result>
            <local vdn="{1,2,3}"/>
          </result>
        </rule>
        <rule name="to_fxo_trunk">
          <conditions>
            <cdpn digits="???????"/>
            <final value="true"/>
          </conditions>
          <result>
            <external>
              <trunk value="FXO_TRUNK"/>
            </external>
          </result>
        </rule>
    CODE

Таким образом, если абонент наберет номер виртуального абонента, то он совершит вызов на FXO порт без номера вызываемого абонента за портом FXO, и встречная станция будет коллектить номер. Если же абонента наберет номер виртуального абонента и вместе с ним номер, на которых он хочет позвонить — то вызов уйдет на определенный FXO порт с уже заполненным номером вызываемого абонента. Если же абонент не хочет выбирать определенный FXO порт, а хочет выйти через любой свободный порт — ему достаточно просто набрать 7-мизначный городской номер. В этом случае вызов по маршрутизации уйдет на FXO_TRUNK, там выберется свободный канал (FXO порт), и уже через него отправится вызов.

Пример команд:

domain/test.domain/alias/virtual/declare 99900{1-2} default_routing fxo.users
domain/test.domain/ss/enable 99900{1-2} cgg
domain/test.domain/ss/activate 99900{1-2} cgg numbers = [364000, 364001]
domain/test.domain/trunk/sip/declare default_routing cspg.trunks FXO_1 ipset1 static 192.168.23.173 5060 sip-proxy 5060
domain/test.domain/trunk/sip/set cspg.trunks FXO_1 remote-client coral
domain/test.domain/trunk/sip/set cspg.trunks FXO_1 channel-contact-map add {1-2} 99900{1-2} u00s15p{0-1}
domain/<DOMAIN>/trunk/services/activate cspg.trunks FXO_1 fxo_trunk 
CODE

BLF подписки

За счет того, что описанный выше механизм позволяет выполнять привязку внутренних номеров к каналам транка, появляется возможность выполнить BLF подписку на данный номер (внутренний номер), после чего при звонке через определенный канал транка будут идти BLF оповещения по связанному с ним номеру.

Команды управления SIP-транками

Команды управления SIP-транками включают в себя:

  • команды блокировки, разблокировки — данные команды предназначены для временного вывода транка из работы в административных целях;
  • команды проверки состояния — данные команды предназначены для проверки доступности встречного оборудования для взаимодействия с ним по протоколу сигнализации;
  • команды для работы с конфигурацией транка — данные команды предназначены для просмотра, импорта и экспорта настроек SIP-транка;
  • команды просмотра активных вызовов — данные команды предназначены для просмотра детальной информации о вызовах, совершаемых через транк.

Блокировка и разблокировка SIP-транка

block

Команда для блокировки определенного транка, всех транков одной группы.
Соответствующий интерфейс переводится в неактивное состояние.

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

/domain/<DOMAIN>/trunk/sip/block

Синтаксис:

block <GROUP> <TRUNK_INTERFACE> [--force]

Параметры:

<GROUP> - имя группы, интерфейс/интерфейсы которой нужно заблокировать;
<TRUNK_INTERFACE> - имя блокируемого интерфейса, при указании символа "*" будут заблокированы все транки заданной группы;
[--force] - опционально, при указании данного флага блокировка транка/транков будет производиться без дополнительного вопроса.

Пример:

admin@[ds1@ecss1]:/$ domain/biysk.local/trunk/sip/block ssw.gr ems3
[block] Trunk ems3 will be blocked
continue: yes/no ?> yes
Executed on the sip1@ecss2
┌──────┬────┐
│ ems3 │ ok │
└──────┴────┘

[exec at: 17.03.2019 11:16:43, exec time: 3s 759ms, nodes: sip1@ecss2]

unblock

Команда для разблокировки определенного транка, всех транков одной группы.
Соответствующий интерфейс переводится в активное состояние.

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

/domain/<DOMAIN>/trunk/sip/unblock

Синтаксис:

unblock <GROUP> <TRUNK_INTERFACE>[--force]

Параметры:

<GROUP> - имя группы, интерфейс/интерфейсы которой нужно разблокировать;
<TRUNK_INTERFACE> - имя интерфейса, символ "*" используется для указания всех интерфейсов группы;
[--force] - опционально, при указании данного флага разблокировка транка/транков будет производиться без дополнительного вопроса.

Пример:

admin@[ds1@ecss1]:/$ domain/biysk.local/trunk/sip/unblock ssw.gr * --force 
Executed on the sip1@ecss2
┌──────┬────┐
│ bsk1 │ ok │
│ bsk2 │ ok │
│ ems1 │ ok │
│ ems2 │ ok │
│ ems3 │ ok │
└──────┴────┘

[exec at: 17.03.2019 11:41:42, exec time: 125ms, nodes: sip1@ecss2]

Проверка состояния SIP-транка

check

Команда проверки доступности направления. Выполняется посредством отправки запроса OPTIONS.
Тест может выполняться для определенного транка или для всех транков группы либо кластера.

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

/domain/<DOMAIN>/trunk/sip/check

Синтаксис:

check <GROUP> [<TRUNK_INTERFACE>] [timerF = <TIMEOUT>]

Параметры:

<GROUP> - название существующей группы интерфейсов. Символ "*" используется для указания всех групп транков;
<TRUNK_INTERFACE> - логическое имя транка. Символ "*" используется для указания всех интерфейсов группы.

Если ответ не получен (направление на данный транк не доступно), то выводится результат "timeout".

Примечание.
Если удаленный клиент не поддерживает запросы OPTIONS, и при этом не отвечает ответом 405, то результат будет таким же, хотя реально направление доступно для вызовов.
В таком случае периодический контроль доступности должен быть отключен (set options_control 0).

<TIMEOUT> - тайм-аут ожидания ответа, в пределах которого отправляются повторные запросы, если удаленная сторона не отвечает. Задается в миллисекундах. Для выключения контроля установите значение тайм-аута - 0.

Пример:

admin@[ds1@ecss1]:/$ domain/biysk.local/trunk/sip/check smg.gr smg-4 timerF = 5000
Executed on the sip1@ecss2
Intermediate (incomplete) result:
Process to <<"smg-4">> check is started: {<0.22114.0>,<0.22114.0>}
...
Executed on the sip1@ecss2
Intermediate (incomplete) result:
Try to send OPTIONS to <<"smg-4">> (timerF = 5000)
...
Executed on the sip1@ecss2
┌────────┬───────┬────────────┬────────────────────────────────────────────────────────────────────────────────┐
│ Group  │ Trunk │ Accessible │                                   Check info                                   │
├────────┼───────┼────────────┼────────────────────────────────────────────────────────────────────────────────┤
│ smg.gr │ smg-4 │ true       │ OPTIONS to <sip:192.168.2.8>: 200 OK, cseq: 200599 OPTIONS. Request by node: si│
│        │       │            │p1@ecss2                                                                        │
└────────┴───────┴────────────┴────────────────────────────────────────────────────────────────────────────────┘

[exec at: 17.03.2019 11:35:45, exec time: 392ms, nodes: sip1@ecss2]

Просмотр информации о SIP-транке

info

Команда для просмотра информации о настройках параметров транка и профилей транка.
Дополнительное описание параметров интерфейсов (транков) приведено в Приложении Б. Набор параметров интерфейса SIP.

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

/domain/<DOMAIN>/trunk/sip/info

Синтаксис:

info <GROUP> [<TRUNK_INTERFACE>] [--profile <PROFILE>]

Параметры:

<GROUP> - название существующей группы интерфейсов, символ "*" используется для указания всех групп транков;
<TRUNK_INTERFACE> - логическое имя транка, символ "*" используется для указания всех интерфейсов группы.
Для просмотра свойств группы имя интерфейса транка (символ "*") не указывается.
--profile - флаг используется для просмотра информации о конфигурации профилей транка;
<PROFILE> - имя профиля, символ "*" используется для указания всех профилей транков.

Если в профиле безопасности (/system/security/profile/) параметр show_password_at_cli = off, то в выводе пароль скрывается, и вместо него показываются ********.  В режиме on_request пароль показывается автоматически

Пример:

Свойства определенного транка:

admin@mycelium1@ecss1:/$ domain/biysk.local/trunk/sip/info ssw.gr ems2 
Executed on the sip1@ecss1
┌────────┬──────┬───────────┬────────────┬────────────┬────────────────────────────────────────────────────────────────────────┐
│ Group  │ Uri  │ Is active │ Is blocked │ Is dynamic │                               Parameters                               │
├────────┼──────┼───────────┼────────────┼────────────┼────────────────────────────────────────────────────────────────────────┤
│ ssw.gr │ ems2 │ true      │ false      │ false      │ declared by admin at 13.03.2020 15:00:46                               │
│        │      │           │            │            │                                                                        │
│        │      │           │            │            │  remote-end-point             = 192.168.2.12:5072                      │
│        │      │           │            │            │  local-end-point              = ipset1:5072                            │
│        │      │           │            │            │  mode                         = sip-proxy                              │
│        │      │           │            │            │  connect time                 = 16.06.2020 09:35:56                    │
│        │      │           │            │            │  uptime                       = 2d 1h 46m                              │
│        │      │           │            │            │  disconnections number        = 0                                      │
│        │      │           │            │            │  - - - - - - - - - - - - - -  = - - - - - - - - - - - - - -            │
│        │      │           │            │            │  alarm_enable                 = false                                  │
│        │      │           │            │            │  category_to_sip              = default                                │
│        │      │           │            │            │  cdpn-transformation          = none                                   │
│        │      │           │            │            │  channel-contact-map          = []                                     │
│        │      │           │            │            │  content_encoding             = none                                   │
│        │      │           │            │            │  disable-remote-port-control  = false                                  │
│        │      │           │            │            │  display-name-encoding        = default                                │
│        │      │           │            │            │  dtmf-duration                = 100                                    │
│        │      │           │            │            │  dtmf-relay                   = false                                  │
│        │      │           │            │            │  history-info                 = false                                  │
│        │      │           │            │            │  inc-authentication           = true                                   │
│        │      │           │            │            │  inc-authentication_type      = user                                   │
│        │      │           │            │            │  inc-login                    = none                                   │
│        │      │           │            │            │  inc-password                 = ********                               │
│        │      │           │            │            │  invite-transaction-timeout   = 32000                                  │
│        │      │           │            │            │  maddr                        = none                                   │
│        │      │           │            │            │  my_from                      = biysk.local                            │
│        │      │           │            │            │  options_control              = disable                                │
│        │      │           │            │            │  original-cdpn-to             = true                                   │
│        │      │           │            │            │  out-login                    = none                                   │
│        │      │           │            │            │  out-password                 = ********                               │
│        │      │           │            │            │  out-registration             = disable                                │
│        │      │           │            │            │  referred-by-as-cgpn          = false                                  │
│        │      │           │            │            │  remote-client                = default                                │
│        │      │           │            │            │  remote-ctr-indication        = rpi                                    │
│        │      │           │            │            │  remote-network-type          = local                                  │
│        │      │           │            │            │  req100rel                    = false                                  │
│        │      │           │            │            │  rfc-4028-control             = force                                  │
│        │      │           │            │            │  routing.context              = ctx_from_local                         │
│        │      │           │            │            │  sip-domain                   = 192.168.2.12 (use-address)             │
│        │      │           │            │            │  sip-modifications            =                                        │
│        │      │           │            │            │  sip-transit                  =                                        │
│        │      │           │            │            │  sip_transport                = udp_only                               │
│        │      │           │            │            │  symbol_hash_as_is            = false                                  │
│        │      │           │            │            │  tel-uri-in-diversion         = false                                  │
│        │      │           │            │            │  trunk (trunk name)           = biysk.local.ssw.gr.trunk.autoname      │
│        │      │           │            │            │  user-name                    = ems2                                   │
└────────┴──────┴───────────┴────────────┴────────────┴────────────────────────────────────────────────────────────────────────┘

[exec at: 18.06.2020 11:22:06, exec time: 25ms, nodes: sip1@ecss1]

Просмотр конфигурации профилей транков:

admin@[ds1@ecss1]:/$ domain/biysk.local/trunk/sip/info --profile *
Executed on the sip1@ecss2
┌───────────┬───────────────────────────┐
│  Profile  │        Parameters         │
├───────────┼───────────────────────────┤
│ ISUP.ETSI │ network-node-id = 0       │
│           │ network-id = 0            │
│           │ use-global-callref = true │
│           │ country-code = 250        │
│ ISUP.RUS  │ isup_r_ccl_send = true    │
└───────────┴───────────────────────────┘

[exec at: 17.03.2019 11:58:12, exec time: 100ms, nodes: sip1@ecss2]

Просмотр активных вызовов, установленных через SIP-транк

call-list

Команда просмотра списка активных вызовов через транк.

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

/domain/<DOMAIN>/trunk/sip/call-list

Синтаксис:

сall-list [GROUP] [INTERFACE] [OPTIONS]

Параметры:

<GROUP> - название группы интерфейсов. Символ "*" указывается для экспорта всех групп интерфейсов;
<INTERFACE> - логическое имя транка;
OPTIONS:

  • <--complete> - установка данного флага позволяет отобразить все интерфейсы, на которые были приняты вызовы;
  • <--more T [sec|min|hour]> - установка данного флага позволяет отобразить все вызовы, длительность которых более установленного времени;
  • <--less T [sec|min|hour]> - установка данного флага позволяет отобразить все вызовы, длительность которых менее установленного времени.

Пример:

admin@[ds1@ecss1]:/$ domain/biysk.local/trunk/sip/call-list   
Executed on the sip1@ecss2
┌───────────────┬────────────────────────────────┬──────────┬──────────────────────────────────────────┬───────────────────────────────────────────────────────┐
│ Interface URI │           Direction            │  State   │                   Time                   │                    Additional info                    │
├───────────────┼────────────────────────────────┼──────────┼──────────────────────────────────────────┼───────────────────────────────────────────────────────┤
│ ems1          │ sip[245718] <- ssw[9639695494] │ outgoing │ Start: Sat, 16 Mar 2019 19:15:06         │ Node: sip1@ecss1, <61649.31655.8>                     │
│               │                                │          │ Last activity: Sun, 17 Mar 2019 11:14:40 │ CallRef: 847685256                                    │
│               │                                │          │                                          │ Call-ID: "BA:8c6f71e140668560:8c6f71e7addf886e"       │
│               │                                │          │                                          │ SessionID: <<"BA:8c6f71e140668560:8c6f71e7addf886e">> │
│               │                                │          │                                          │ Session handler: {amqp_io_8,<61649.31655.8>}          │
│ smg-4         │ sip[9639695494] -> ssw[245718] │ incoming │ Start: Sat, 16 Mar 2019 19:15:06         │ Node: sip1@ecss1, <61649.31609.8>                     │
│               │                                │          │ Last activity: Sun, 17 Mar 2019 11:14:40 │ CallRef: 847685256                                    │
│               │                                │          │                                          │ Call-ID: "1552-738506-319237"                         │
│               │                                │          │                                          │ SessionID: <<"8c6f71e140668560">>                     │
│               │                                │          │                                          │ Session handler: {amqp_io_16,<61649.31609.8>}         │
└───────────────┴────────────────────────────────┴──────────┴──────────────────────────────────────────┴───────────────────────────────────────────────────────┘
┌────────────┐
│ 2 sessions │
└────────────┘

[exec at: 17.03.2019 11:14:40, exec time: 226ms, nodes: sip1@ecss2]