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

  • Алиас (абонент) — совокупность, описывающая в пределах системы телефонный номер, связанный с интерфейсом в рамках определенной виртуальной АТС и различные дополнительные атрибуты (категория, абонентская группа, услуги). Фактически описывает абонента виртуальной АТС, подключенного к определенному порту и обладающего определенным набором специфичных для него параметров.
  • Форкинг (forking) — привязка нескольких частных контактов к одному публичному контакту.

Порядок конфигурирования 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-абонента "", но так как в системе ECSS-10 используется телефонная маршрутизация, текстовое имя в маршрутизации использовать запрещено. В этом случае SIP-абоненту назначается параметр <ALIAS> - цифровой (телефонный) номер;
<QOP_AUTH> - поддержка QOP-аутентификации (повышенный уровень защиты). Опциональный параметр:

  • no_qop_authentication - использовать QOP-аутентификацию;
  • qop_authentication - не использовать QOP-аутентификацию;

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

  • login_as_number - в качестве имен пользователей использовать декларируемые номера;
  • none - не назначать параметры авторизации при декларации;
  • common_login <LOGIN> - общее имя <LOGIN> для всех декларируемых абонентов.

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

  • auto_generation - каждому декларируемому абоненту генерируется персональный пароль. Полученные пароли можно будет посмотреть командами "user info" или "user authentication";
  • публичный пароль (символьная строка) - всем декларируемым абонентам будет назначен единый заданный пароль.

Пример

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

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

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

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

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

  • Команда для изменения параметров определенного абонентского номера и интерфейса заданной виртуальной АТС:
    /domain/<DOMAIN>/alias/set <NUMBER> <GROUP> <INTERFACE> <PROPERTY> <VALUE>
  • Команда для изменения параметров всех абонентов с определенным интерфейсом заданной виртуальной АТС:
    /domain/<DOMAIN>/alias/set-for-iface <GROUP> <INTERFACE> <PROPERTY> <VALUE>
  • Команда для изменения параметров всех абонентов с определенным абонентским номером заданной виртуальной АТС:
    /domain/<DOMAIN>/alias/set-for-address <NUMBER> <PROPERTY> <VALUE>

где

<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-абонента

Error: Page Not Found

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

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

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

Error: Page Not Found

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

Error: Page Not Found

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

Error: Page Not Found

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

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

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

  • trusted-IP - список доверенных IP-адресов, с которых разрешено получение запросов. Существует два режима запросов: strict (жесткий) - запросы разрешены только с этого адреса (адресов), nostrict - запросы разрешены с разных адресов. В случае strict-запроса аутентификация будет требоваться при включенном параметре digest. В случае nostrict-запросов вне зависимости от параметра digest аутентификация требуется с IP-адресов, не являющихся доверенными, с доверенных пускаем сразу.

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

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

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

  • Офисные абоненты подключены к абонентскому шлюзу (например, TAU-32M.IP, TAU-72.IP), но при этом абонентам разрешена регистрация из внешней сети (например, форкинг с мобильным терминалом, с домашним телефоном). Если указать "доверенный IP" (параметр "trusted-IP"), то при регистрации и звонках с офисных шлюзов не будет требоваться аутентификация. Звонки из внешней сети будут требовать аутентификацию.
В данном случае не рекомендуется указание единого логина и пароля для всех абонентов, подключенных к офисному шлюзу.
  • Офисные абоненты подключены к абонентскому шлюзу (например, TAU-32M.IP, TAU-72.IP). При этом все абоненты считаются стационарными без возможности форкинга контактов. Если указать «фиксированный IP» (параметр "trusted-ip"), то при регистрации и звонках с офисных шлюзов не будет требоваться аутентификация. При этом на шлюзах можно отключить регистрацию на сервере.
Альтернативным вариантом является указание единого логина и пароль для всех абонентов, подключенных к шлюзу.

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

Регистрация нескольких контактов 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> - режим форкинга:

  • all-contacts - запрос на установление соединения (INVITE) отправляется одновременно на все зарегистрированные контакты. С первым ответившим контактом устанавливается диалог, вызовы на остальные контакты завершаются;
  • find-me-one-by-one - последовательный перебор контактов по списку. Если контакт не отвечает по истечении таймера "find-me" (контакту отправляется CANCEL) или приходит неуспешный ответ, запрос перенаправляется на следующий контакт;
  • find-me-with-q - последовательный перебор с учетом приоритета. Сначала выполняется запрос на все контакты самого старшего приоритета, затем на контакты со следующим приоритетом и так далее. Если в списке контакты только одного приоритета, то работа аналогична режиму "all-contacts". Если все имеют разный приоритет, то аналогично режиму "find-me-one-by-one";
  • disable - отключение форкинга. Запрос на установление соединения (INVITE) будет отправляться только на первый контакт в списке, наличие остальных контактов игнорируется. Совершать вызовы разрешено со всех зарегистрированных контактов.

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

  • allow-repeat-ip - существующий контакт будет сохраняться;
  • disallow-repeat-ip - существующий контакт будет перезаписываться;
    Примечание: параметр обязателен для всех режимов, кроме операции отключения (disable)

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

  • previous-continue - при переходе к следующему контакту (группе контактов с одним приоритетом) вызов предыдущего (предыдущих) продолжается;
  • previous-stop - при переходе к следующему контакту (группе контактов с одним приоритетом) вызов предыдущего (предыдущих) отменяется
    Примечание: параметр обязателен для режимов find-me-one-by-one и find-me-with-q

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

Таймер "find-me"

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

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

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

где

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

Пример:

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

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

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);
  • direct_early_update - Разрешить отправлять UPDATE до установления диалога;
  • remote_party_id_enable - Включение/выключение передачи заголовка Remote-Party-ID;
  • force_fork_release - Включение/выключение режима форкинга, при которотом абонент может отбить вызов с любого аппарат, при том на другие устройства вызов прекратится.

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

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

Невозможно предоставить {include} Включенная страница не может быть найдена.

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

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

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

Error: Page Not Found

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

Error: Page Not Found

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