Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Создание 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> - настраиваемый параметр, список параметров приведен в Части 5 Руководство по обслуживанию системы ECSS-10, в Приложении Б. Набор параметров интерфейса 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> - имя одного транка (интерфейса) или список транков, для которых будет сбрасываться параметр.

  • Нет меток