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


Порядок конфигурирования SIP-абонентов

Перед созданием SIP-абонента необходимо:

  1. Создать виртуальную АТС, создать контексты маршрутизации;
  2. Выделить абонентскую емкость для использования системой;
  3. При необходимости настроить LDAP-сервер, если для хранения данных аутентификации пользователя выбран данный режим. По умолчанию в системе выбран другой вариант хранения параметров аутентификации — база DS.

Порядок конфигурирования:

  1. Создать SIP-абонента;
  2. Выполнить настройку параметров.

Описание общих параметров абонента приведено в Приложении А. Набор параметров алиасов.

Настройка параметров SIP-абонента может быть выполнена индивидуально или через назначение определенного профиля настроек.


Иерархия профилей настроек имеет вид:

  1. Domain profile — профиль на уровне виртуальной АТС;
  2. Named profiles — абонентские профили;
  3. Subscriber settings — индивидуальные настройки абонента.

Для каждой виртуальной АТС может быть настроен только один профиль на уровне виртуальной АТС. Настройка профилей доступна администратору виртуальной АТС и администратору системы ECSS-10.

Значения параметров с меньшей областью действия переопределяют значения параметров профилей с большей областью действия. В приведенной выше иерархии параметры уровня 3 переопределяют параметры уровня 2 и меньших.


На практике рекомендуется задавать значения параметров в наиболее общих профилях, то есть на больших уровнях иерархии. Это позволяет хранить меньше данных, вносить групповые изменения в одном месте.

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

Описание команд, используемых при настройке SIP-абонентов, приведено в справочнике команд CLI, раздел Команды управления конфигурацией абонентов SIP.


Добавление абонента

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

/domain/<DOMAIN>/sip/user/declare <ROUTING_CONTEXT> <GROUP> <INTERFACE> [<ALIAS> [<QOP_AUTH> [<LOGIN> [<PASSWORD>]]]]

где

<DOMAIN> — имя виртуальной АТС;<ROUTING_CONTEXT> — имя контекста маршрутизации для данного абонента;
<GROUP> — название группы пользователей, логическое объединение интерфейсов в определенной виртуальной АТС. Может быть задана существующая или новая группа пользователей;
<INTERFACE> — название декларируемого интерфейса, задается в виде: username@host, где username – номер абонента; host – название SIP-домена регистрации. Список может быть задан диапазоном {a-b} или перечислением {a,b}, где a,b – натуральные числа.
Например, интерфейсы , , можно задать в виде 111{1-3}@eltex.local или 111{1,2,3}@eltex.local или {1111,1112,1113}@eltex.local.Может быть задан существующий домен SIP-регистрации или указан новый;
<ALIAS> — альтернативный номер абонента, при указании значения "none" альтернативный номер не используется. Параметр нужен для возможности использовать тестовые имена на уровне SIP. Например, нужно прописать в качестве интерфейса SIP-абонента "text.users.name@some.sip.area", но так как в системе ECSS-10 используется телефонная маршрутизация, текстовое имя в маршрутизации использовать запрещено. В этом случае SIP-абоненту назначается параметр <ALIAS> — цифровой (телефонный) номер;
<QOP_AUTH> — поддержка QOP-аутентификации (повышенный уровень защиты). Опциональный параметр:

<LOGIN> — имя декларируемого пользователя. Опциональный параметр. Имя пользователя может быть впоследствии добавлено/изменено как терминальными командами, так и на LDAP-сервере:

<PASSWORD> — пароль декларируемых пользователей. Не указывается, если в качестве <LOGIN> выбрано "none".

Пример

Декларация одного абонента без указания параметров аутентификации, например, планируется указание доверенных IP-адресов (параметр "trusted-ip"):

domain/test.domain/sip/user/declare local smg 401@test.domain none no_qop_authentication

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

Команды уровня администратора виртуальной АТС

Для изменения индивидуальных значений параметров абонента используются следующие команды:

где

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

Для изменения значений параметров профиля виртуальной АТС абонента необходимо выполнить следующую команду:

/domain/<DOMAIN>/alias/set-for-domain <PROPERTY> <VALUE>

где

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

Указанные выше команды используются для настройки общих параметров для всех абонентов системы: SIP-абонентов, абонентов H.248/megaco, виртуальных абонентов.

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

/domain/<DOMAIN>/sip/user/set <GROUP> <SIP_URI> <PROPERTY> <VALUE>

где

<DOMAIN> — имя виртуальной АТС;
<GROUP> — имя группы интерфейсов, логическая привязка интерфейсов в определенной виртуальной АТС;
<SIP_URI> — SIP URI абонента, задается в виде: username@host, где username – номер абонента; host – название SIP-домена;

Список может быть задан диапазоном {a-b} или перечислением {a,b}, где a,b – натуральные числа.
Пример. Интерфейсы  можно задать в виде 111{1-3}@eltex.local или 111{1,2,3}@eltex.local или {1111,1112,1113}@eltex.local.

<PARAMETER> — имя изменяемого параметра, список приведен Приложении Б. Набор параметров интерфейса SIP;
<VALUE> — значение изменяемого параметра, список приведен Приложении Б. Набор параметров интерфейса SIP.

Команды уровня администратора системы

Для изменения значений индивидуальных параметров абонента необходимо выполнить следующую команду:

/cluster/storage/<CLUSTER>/alias/set-for-address <DOMAIN> <NUMBER> <PROPERTY> <VALUE>

Свойство будет назначено всем одинаковым номерам во всех виртуальных АТС.

Для изменения значений параметров профиля на уровне виртуальной АТС необходимо выполнить следующую команду:

/cluster/storage/<CLUSTER>/alias/set <DOMAIN> <PROPERTY> <VALUE>

где
<CLUSTER> — имя кластера хранения долговременных данных (DS). По умолчанию в системе присутствует кластера хранения долговременных данных с именем "ds1";
<NUMBER> — абонентский номер;
<DOMAIN> — имя виртуальной АТС (домена);
<PROPERTY> — имя изменяемого параметра, список приведен в Приложении А. Набор параметров алиасов;
<VALUE> — значение изменяемого параметра, список приведен в Приложении А. Набор параметров алиасов.

Удаление SIP-абонента

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

Команда удаляет одновременно интерфейс и алиас.

/domain/<DOMAIN>/sip/user/remove <GROUP> <SIP_URI> [--force]

где

<DOMAIN> — имя виртуальной АТС;
<GROUP> — имя группы интерфейсов, логическая привязка интерфейсов в определенной виртуальной АТС;
<SIP_URI> — SIP URI абонента, задается в виде: username@host, где username – номер абонента; host – название SIP-домена;

Список может быть задан диапазоном {a-b} или перечислением {a,b}, где a,b – натуральные числа.
Пример. Интерфейсы , , можно задать в виде 111{1-3}@eltex.local или 111{1,2,3}@eltex.local или {1111,1112,1113}@eltex.local.

[--force] — удаление без дополнительного подтверждения, опциональный параметр.

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

Для создания SIP-абонентов используется приложение "Карточка абонента" ("Subsciber card").
Описание приложения приведено в разделе Карточка абонента (Subscriber card).

Для управление профилями абонентов используется приложение "Профили алиасов" ("Alias profiles").
Описание приложения приведено в разделе Профили абонентов (Alias profiles).

Создание SIP-абонента

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

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

Настройка основных параметров для абонента

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

Удаление абонента

Аутентификация абонентов

В системе ECSS-10 всегда требуется аутентификация абонентов.

Избежать требования аутентификации абонентов можно настройкой следующих параметров:

Настройка выполняется командой domain/<DOMAIN>/sip/user/set <GROUP> <INTERFACE> trusted-ip <IP-addr>

Запрещено указывать адрес SBC или NAT как доверенный адрес.

Случаи, когда можно отказаться от требования аутентификации:

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

Если пользователи регистрируются из внешней сети, всегда должна требоваться аутентификация.

Регистрация нескольких контактов SIP-абонента (forking)

Общее описание

Если у абонента есть несколько терминалов, например, стационарный телефон и мобильный телефон, то он может все свои терминалы (разные SIP-контакты) зарегистрировать под одним публичным номером. Публичный номер будет известен другим абонентам, и по публичному номеру будут поступать входящие вызовы. Привязка нескольких частных контактов к одному публичному называется форкингом (forking).

На уровне SIP-адаптера форкинг работает в рамках одного абонентского интерфейса. Один абонент может под одним аккаунтом зарегистрировать несколько контактов (одной регистрацией или несколькими).

Принцип работы

Если есть несколько зарегистрированных контактов, то входящий вызов в зависимости от выбранного режима поступает одновременно или последовательно на все контакты.
Переход на следующий контакт/контакты выполняется по получению неуспешного ответа или истечении тайм-аута (таймер "find-me").

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

Исходящие звонки разрешены с любого контакта в любом режиме.
Абонент считается занятым, если по какому-либо контакту есть соединение или идет установка соединения, то есть работа интерфейса с несколькими зарегистрированными контактами в системе ничем не отличается от работы интерфейса с одним контактом.

Пример зарегистрированного абонента с несколькими контактами:

ecss-root@[ecss_mycelium@alex]:/# domain/d.408/sip/user/info sip.test 900000@sip.test                          
1 users information read ...
[**********************************************************************] 6ms      
Executed on the pa_sip@alex
----------------------------------------------------------------------------------------------------------------------------------------------
|      User       | Is active |  Group   | Login |                            Registration                            | Extended information |
|-----------------+-----------+----------+-------+--------------------------------------------------------------------+----------------------|
| 900000@sip.test | true      | sip.test |       | q=1.0; <sip:900000@192.168.23.166:5064>;expires=65                 |                      |
|                 |           |          |       | q=0.8; <sip:900000@192.168.23.166:5062;transport=udp>;expires=9003 |                      |
----------------------------------------------------------------------------------------------------------------------------------------------

Режим форкинга

Выбор режима работы форкинга выполняется для абонента или группы абонентов следующей командой:

domain/<DOMAIN>/sip/user/set <GROUP> <SIP_URI> fork-mode <MODE> <ALLOW-REPEAT-IP> <PREVIOUS-CONTINUE>

где

<DOMAIN> — имя виртуальной АТС;
<GROUP> — имя группы интерфейсов, логическая привязка интерфейсов в определенной виртуальной АТС;
<SIP_URI> — SIP URI абонента, задается в виде: username@host, где username – имя/номер абонента; host – домен регистрации;
Список может быть задан диапазоном {a-b} или перечислением {a,b}, где a,b – натуральные числа.
Пример. Интерфейсы 1111@eltex.local1112@eltex.local1113@eltex.local можно задать в виде 111{1-3}@eltex.local или 111{1,2,3}@eltex.local или {1111,1112,1113}@eltex.local.
<MODE> — режим форкинга:

<ALLOW-REPEAT-IP> — будет ли перезаписываться старый контакт новым, если изменился только порт:

<PREVIOUS-CONTINUE> — свойство режимов find-me (для all-contacts не применяется):

Список контактов формируется при регистрации в порядке убывания приоритета (параметр контакта "q"), равнозначные — в порядке получения регистраций. Если в регистрации приоритет контакта не указан, то он принимается равным 1.
Значения приоритетов — число от 0 (низкий) до 1 (высокий).
Назначить приоритет контакту на уровне системы нельзя, приоритет контакта указывает пользователь в запросе регистрации.

Таймер "find-me"

Таймер "find-me" определяет интервал времени, в течение которого контакт должен ответить на поступивший вызов, по истечении таймера вызов передается следующему контакту SIP-аккаунта. Значение устанавливается в секундах, по умолчанию 10 секунд (10000ms).

Команда для изменения значения таймера "find-me":

domain/<DOMAIN>/timers/sip/set find-me <VALUE>

где

<DOMAIN> — имя виртуальной АТС;
<VALUE> — значение таймера "find-me".

Пример, выставить значение таймера find-me = 5 сек, указываем 5000 ms:

admin@[mycelium@ecss1]:/# domain/d.408/timers/sip/set find-me 5000
Property "find_me" successfully changed from: 
10000
   to
5000.
...

admin@[mycelium@ecss1]:/# domain/d.408/timers/sip/info
-----------------------------
|   Property   |Domain|Value|
|--------------+------+-----|
|find_me       |d.408 |5000 |
...

SIP-профили

Общее описание

Многие сип клиенты имеют особенности реализации.
Основная масса касается поддержки того или иного стандарта или спецификации. Также оператор сам может контролировать включение/выключение некоей функции (например, контроль сессии по RFC 4028).
Есть еще ограничения встречной стороны, которые противоречат или жестко ограничивают текущую реализацию взаимодействия адаптер-клиент:

  • нотификации BLF о ходе параллельных соединений на наблюдаемом клиенте;
  • осуществление исходящих звонков только через ноду адаптера, принявшую запрос регистрации
  • реализация авто ответа, которая поддержана в рамках трех спецификаций, которые в свою очередь могут иметь разные опции.

Для преодоления данных ограничений реализованы профили SIP-клиентов, которые включают в себя особенности производителя.
Назначение профилей может осуществляться следующим образом:

  • непосредственное назначение в свойствах SIP-абонента. Данный режим актуален когда нет полноценной детекции клиента;
  • автоматическое определение при регистрации (по User-Agent).

Настройка профиля

При создании профиля задается его имя и набор параметров (один и более из имеющихся).
Сейчас поддерживаются три рабочих параметра и шаблон авто-определения:

  • auto-answer_version — реализация авто ответа;
  • concurency_blf — нотификации о параллельных диалогах. Значения true|false (по умолчанию — false).

Под параллельными нотификациями имеются ввиду нотификации о параллельных звонках с одного абонента.

Реализована очередь нотификаций. Работает следующим образом — пока есть события по одному диалогу, другие события слаться не будут, они будут откладываться в очередь. Когда же текущий диалог завершится, то они будут разосланы в текущем состоянии.

Начиная с версии 3.11.0 этот режим может быть выбран профилем SIP-клиента. Абоненту назначается соответствующий профиль, либо он определяется автоматически (настройка client_profile = auto). Параметры профиля:

  • concurency_blf = true — разрешены параллельные нотификации, очередь не работает.
  • concurency_blf = false — запрещены параллельные нотификации, очередь работает. Этот режим используется "по умолчанию"

  • node_control — ограничение исходящих вызовов нодой-регистратором, то есть привязка к ноде адаптера, на который пришла регистрация. Значения true|false (по умолчанию — false);
  • templates — шаблон имени, содержащийся в заголовке User-Agent запроса регистрации;
  • extended_blf — поддержка события Endpoint States для BLF. Значение true|false(по умолчанию — false).

Команды управления профилями

Ниже приведены команды CoCon для управления SIP-профилями


Настройки профиля для SIP-абонента

Как уже было указано выше профиль может назначаться как в автоматическом режиме так и непосредственно присвоением нужного.

Назначение режима

Текущее значение режима

При назначении автоматического режима, кроме самого значения режима будет указан профиль, который был определен.
Если регистрации не было или авто определение было не успешно, будет указано: auto(none)