Виртуальная АТС. Подключение и настройка SIP-абонентов
Понятия, определения
- Алиас (абонент) — совокупность, описывающая в пределах системы телефонный номер, связанный с интерфейсом в рамках определенной виртуальной АТС и различные дополнительные атрибуты (категория, абонентская группа, услуги). Фактически описывает абонента виртуальной АТС, подключенного к определенному порту и обладающего определенным набором специфичных для него параметров.
- Форкинг (forking) — привязка нескольких частных контактов к одному публичному контакту.
Порядок конфигурирования SIP-абонентов
Перед созданием SIP-абонента необходимо:
- Создать виртуальную АТС, создать контексты маршрутизации;
- Выделить абонентскую емкость для использования системой;
- При необходимости настроить LDAP-сервер, если для хранения данных аутентификации пользователя выбран данный режим. По умолчанию в системе выбран другой вариант хранения параметров аутентификации - база DS.
Порядок конфигурирования:
- Создать SIP-абонента;
- Выполнить настройку параметров.
Описание общих параметров абонента приведено в Приложении А. Набор параметров алиасов.
Настройка параметров SIP-абонента может быть выполнена индивидуально или через назначение определенного профиля настроек.
Иерархия профилей настроек имеет вид:
- Domain profile – профиль на уровне виртуальной АТС;
- Named profiles – абонентские профили;
- 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 – натуральные числа.
Например, интерфейсы 1111@eltex.local, 1112@eltex.local, 1113@eltex.local можно задать в виде 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-аутентификации (повышенный уровень защиты). Опциональный параметр:
- 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-домена;
Пример. Интерфейсы 1111@eltex.local, 1112@eltex.local, 1113@eltex.local можно задать в виде 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-домена;
Пример. Интерфейсы 1111@eltex.local, 1112@eltex.local, 1113@eltex.local можно задать в виде 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 пользователя" ("Add sip user") и заполните следующие поля:
- Владелец интерфейсов (Interface owner) — владелец интерфейса — системная нода (адаптер);
- Контекст (Context) — название контекста маршрутизации;
- Группа интерфейсов (Interface group) — группа, в которую входит интерфейс. Задается администратором системы для удобства группировки абонентов по определенным параметрам.
- Имя интерфейса (Interface) — номер, закрепляемый за абонентом. Задается администратором системы. Номер не должен повторяться внутри одной ВАТС;
- Список абонентов может быть задан диапазоном {a-b} или перечислением {a,b}, где a,b — натуральные числа;
Пример. Список абонентов с номерами 755,765,775 можно указать в виде 7{5-7}5 или 7{5,6,7}5 или {755,765,775};
- Список абонентов может быть задан диапазоном {a-b} или перечислением {a,b}, где a,b — натуральные числа;
- Модификация номеров (Modificator) — выбрать правило модификации номера;
- Алиас как пользователь (Alias as user) — использовать алиас, с тем же номером, что и SIP-номер;
- Альтернативный алиас (Alternative alias) — использовать альтернативный номер у алиаса абонента;
- Профиль услуг (SS profile) — системный или доменный профиль услуг;
- Авторизация (Auth) — требование авторизации у абонента:
- none — авторизация не требуется;
- always — авторизация требуется как при регистрации, так и при запросах со стороны абонента;
- register — авторизация требуется при регистрации.
При выборе значений "always" и "register" нужно указать:
- Логин (Login) — имя пользователя для авторизации;
- Использовать номер в качестве логина (Login as number) — при установленном флаге в качестве имени пользователя использовать номер абонента, иначе — имя пользователя, установленное в поле "Логин" ("Login");
- Пароль (Password) — пароль пользователя для авторизации. Если поле оставить пустым, то пароль будет генерироваться автоматически;
- Авторизация qop (Authorization qop) — при установленном флаге использовать расширенную QoP-авторизацию, иначе — не использовать.
Нажмите кнопку "Ok" для добавления абонента(ов) в систему либо "Отмена" ("Cancel") для выхода из диалогового окна без добавления абонента(ов) в систему.
Настройка параметров SIP-абонента
Для настройки параметров, приведенных ниже, необходимо выделить нужного абонента, после чего приступать к настройке.
Настройка основных параметров для абонента
Во вкладке "Основные" ("General") выполняется настройка основных параметров для абонента.
- nai — идентификатор типа адреса, принимает значения: subscriberNumber, unknown, nationalNumber, internationNumber;
- npi — индикатор плана нумерации, принимает значения: isdnTelephony, dataNumberingPlan, telexNumberingPlan;
- ni — индикатор номера, принимает значения:
- emergency — экстренные службы;
- intercity — абоненты междугородной сети;
- international — абоненты международной сети;
- local — абоненты местной сети;
- private — локальные абоненты АТС;
- zone — абоненты зоновой сети;
- screening — индикатор контроля номера вызывающего абонента, принимает значения: userProvidedNotVerified, userProvidedVerifiedAndPassed, userProvidedVerifiedAndFailed, networkProvided;
- apri — индикатор ограничения предоставления номера вызывающего абонента: presentationAllowed, presentationRestricted, addressNotAvailable;
- категория (сategory) — категория вызывающего абонента, принимает значения: unknownAtThisTime, operatorFrench, operatorEngish, operatorGerman, operatorRussian, operatorSpanish, reserved, ordinarySubscriber, subscriberWithPriority, dataCall, testCall, spare, payphone, category0, hotelsSubscriber, freeSubscriber, paidSubscriber, localSubscriber, localTaksofon, autoCallI, semiautoCallI, autoCallII, semiautoCallII, autoCallIII, semiautoCallIII, autoCallIV, semiautoCallIV;
- статус (active) — состояние абонента, принимает значения:
- true — активен;
- false — не активен;
- cdr группа (cdr group) — имя CDR-группы (используется для группировки cdr-записей);
- тип доступа (access type) — тип доступа для абонента (долговременные ограничения, которые вводятся при подключении абонента);
- режим (regime) — режим обслуживания для абонента (временные ограничения);
- группа доступа (access group) — имя группы доступа;
- отображаемое имя (display name) — отображаемое имя на дисплее для абонента;
- support encoding — тип кодировки, используемый для отображения имени абонента;
- почта (email) — электронная почта для абонента;
- джаббер идентификатор (jabber id) — идентификационный номер Jabber для абонента;
- PIN-код — PIN-код для управления услугами с телефонного аппарата абонента;
- media-profile — выбранный на домене медиа-профиль для входящей связи, по умолчанию устанавливается профиль default;
- media-profile-outgouing — выбранный на домене медиа-профиль для исходящей связи связи, по умолчанию устанавливается значение undefined. При значении undefined для исходящей связи применяется тот же профиль, что и для входящей связи;
- тип терминала (terminal type) — basic/smart;
- профиль (profile) — профиль, назначаемый абоненту. Настройка профилей выполняется в приложении "Профили алиасов"("Alias profiles") в каталоге "named profiles";
- расположение (placement) — территориальное расположение номера;
- Язык — языковая локаль абонента.
- Русский
- Английский
- Немецкий
- Испанский
- Французский
Для обновления информации нажмите кнопку "Обновить" ("Refresh").
Для сохранения изменений в системе нажмите кнопку "Сохранить" ("Save").
Для отмены изменений нажмите кнопку "Отмена" ("Canсel").
Настройка дополнительных параметров для SIP-абонентов
Вкладка "SIP" будет доступна только при выборе SIP-абонента. Во вкладке "SIP" выполняются настройки, специфичные для SIP-абонентов.
Для обновления информации нажмите кнопку "Обновить" ("Refresh").
Для сохранения изменений в системе нажмите кнопку "Сохранить" ("Save").
Для отмены изменений нажмите кнопку "Отмена" ("Canсel").
Удаление абонента
Для удаления абонента в таблице абонентов установите флаг(и) напротив удаляемого(ых) абонента(ов) и нажмите кнопку "Удалить" ("Delete"). Подтвердите действие нажатием кнопки "Да".
Аутентификация абонентов
В системе ECSS-10 всегда требуется аутентификация абонентов.
Избежать требования аутентификации абонентов можно настройкой следующих параметров:
- trusted-IP - список доверенных IP-адресов, с которых разрешено получение запросов. Существует два режима запросов: strict (жесткий) - запросы разрешены только с этого адреса (адресов), nostrict - запросы разрешены с разных адресов. В случае strict-запроса аутентификация будет требоваться при включенном параметре digest. В случае nostrict-запросов вне зависимости от параметра digest аутентификация требуется с IP-адресов, не являющихся доверенными, с доверенных пускаем сразу.
Настройка выполняется командой domain/<DOMAIN>/sip/user/set <GROUP> <INTERFACE> trusted-ip <IP-addr>
Случаи, когда можно отказаться от требования аутентификации:
- Офисные абоненты подключены к абонентскому шлюзу (например, 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").
Исходящие звонки разрешены с любого контакта в любом режиме.
Абонент считается занятым, если по какому-либо контакту есть соединение или идет установка соединения, то есть работа интерфейса с несколькими зарегистрированными контактами в системе ничем не отличается от работы интерфейса с одним контактом.
Пример зарегистрированного абонента с несколькими контактами:
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.local, 1112@eltex.local, 1113@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-профилями
В данном разделе приводится описание команд управления команды настройки профиля абонентов SIP.
Общее описание работы SIP-профилей приведено в разделе SIP-профили.
<DOMAIN> - имя виртуальной АТС.
clean
Команда предназначена для сброса параметров профиля абонента SIP в значение по умолчанию. При необходимости можно сбросить все параметры профиля. Сам профиль удален при этом не будет.
В команде допустим ключ --force
, при котором предупреждение будет пропущено. Актуально, например, при работе через скрипт. По "tab" не подставляется!
Путь команды:
/domain/<DOMAIN>/sip/user/profile/clean
Синтаксис:
clean PROFILE_ID [--force]
Параметры:
<PROFILE_ID> - существующий или новый ID профиля;
[--force] - удаление без дополнительного подтверждения.
Пример:
admin@[mycelium1@ecss1]:/$ domain/biysk.local/sip/user/profile/clean soft_client [clean] Set parameters to default value continue: yes/no ?> yes Executed on the sip1@ecss2 ┌───────────┬─────────────────────────────────┐ │Profile ID │ Profile set │ ├───────────┼─────────────────────────────────┤ │soft_client│auto_answer_version = by_user_set│ │ │concurency_blf = false │ │ │node_control = false │ │ │templates = - │ └───────────┴─────────────────────────────────┘ [exec at: 24.03.2019 09:52:19, exec time: 5s 301ms, nodes: sip1@ecss2]
del
Команда предназначена для удаления профиля абонента SIP.
В команде допустим ключ --force
, при котором предупреждение будет пропущено. Актуально, например, при работе через скрипт. По "tab" не подставляется!
Путь команды:
/domain/<DOMAIN>/sip/user/profile/del
Синтаксис:
del PROFILE_ID [--force]
Параметры:
<PROFILE_ID> - существующий или новый ID профиля;
[--force] - удаление без дополнительного подтверждения.
Пример:
admin@[mycelium1@ecss1]:/$ domain/biysk.local/sip/user/profile/del vp12 --force Executed on the sip1@ecss1 ok [exec at: 24.03.2019 09:54:16, exec time: 75ms, nodes: sip1@ecss1]
info
Команда предназначена для просмотра информации о профиле абонента SIP.
Путь команды:
/domain/<DOMAIN>/sip/user/profile/info
Синтаксис:
info PROFILE_ID
Параметры:
<PROFILE_ID> - существующий или новый ID профиля.
Пример:
admin@[mycelium1@ecss1]:/$ domain/biysk.local/sip/user/profile/info vp12 Executed on the sip1@ecss1 ┌──────────┬─────────────────────────────────┐ │Profile ID│ Profile set │ ├──────────┼─────────────────────────────────┤ │vp12 │auto_answer_version = by_user_set│ │ │concurency_blf = true │ │ │node_control = false │ │ │templates = vp │ └──────────┴─────────────────────────────────┘ [exec at: 24.03.2019 09:51:05, exec time: 66ms, nodes: sip1@ecss1]
list
Команда предназначена для просмотра списка профилей абонента SIP. Возвращает список имеющихся профилей, включая шаблон авто определения.
Путь команды:
/domain/<DOMAIN>/sip/user/profile/list
Синтаксис:
list
Параметры:
Команда не содержит аргументов.
Пример:
admin@[mycelium1@ecss1]:/$ domain/biysk.local/sip/user/profile/list Executed on the sip1@ecss2 ┌───────────┬───────────────────┐ │Profile ID │User-Agent template│ ├───────────┼───────────────────┤ │soft_client│grandstream │ │vp12 │vp │ └───────────┴───────────────────┘ [exec at: 24.03.2019 09:49:50, exec time: 75ms, nodes: sip1@ecss2]
set
Команда позволяет задать параметры профиля SIP-клиента. Если ID не существует, то команда задает новый профиль.
При первой настройке профиль с указанным именем будет создан автоматически. Указывать одновременно можно один и более параметров через запятую. Шаблон агента вводится в кавычках, если содержит пробелы.
Внимание! Вхождение шаблона проверяется без учета регистра, но с учетом количества указанных пробелов!
Результат команды:
new - создан новый профиль с указанными именем и параметрами (неуказанные параметры принимают значения "по умолчанию");
exists - указаны уже установленные параметры существующему профилю;
change - параметр (параметры) существующего профиля изменены.
Путь команды:
/domain/<DOMAIN>/sip/user/profile/set
Синтаксис:
set PROFILE_ID KEY = VALUE[, ...]
Параметры:
<PROFILE_ID> - существующий или новый ID профиля; <KEY> - название параметра, который разрешен:
- auto_answer_version - реализация авто ответа.;
- concurency_blf - нотификации о параллельных диалогах. Значения true|false (по умолчанию - false);
- node_control - ограничение исходящих вызовов нодой-регистратором. Значения true|false (по умолчанию - false);
- templates - шаблон имени, содержащийся в заголовке User-Agent запроса регистрации.
Пример:
admin@[mycelium1@ecss1]:/$ domain/biysk.local/sip/user/profile/set vp12 auto_answer_version = by_user_set, concurency_blf = true, templates = VP Executed on the sip1@ecss1 new [exec at: 24.03.2019 09:43:38, exec time: 91ms, nodes: sip1@ecss1]
Настройки профиля для SIP-абонента
Как уже было указано выше профиль может назначаться как в автоматическом режиме так и непосредственно присвоением нужного.
Назначение режима
admin@ds1@ecss1:/$ domain/biysk.local/sip/user/set loc.gr 240244@biysk.local client-profile GrandStream Yealink auto coral none admin@ds1@ecss1:/$ domain/biysk.local/sip/user/set loc.gr 240244@biysk.local client-profile Yealink 1 make users list ... [**********************************************************************] 95mks set for 1 users ... [**********************************************************************] 5ms Executed on the sip1@ecss1 [exec at: 15.05.2019 12:44:10, exec time: 119ms, nodes: sip1@ecss1]
Текущее значение режима
admin@mycelium1@ecss1:/$ domain/biysk.local/sip/user/info loc.gr 240470@biysk.local --show-password 1 make users list ... [**********************************************************************] 43mks 1 users information read ... [**********************************************************************] 17ms Executed on the sip1@ecss1 ┌─────────────────────┬────────────────────────────────────────────────────────────────────────────────┐ │ User │ 240470@biysk.local │ ├─────────────────────┼────────────────────────────────────────────────────────────────────────────────┤ │internal iface name │06301521af32b2ea │ │isActive │true │ │group │loc.gr │ │authentication │240470:******** (ds) use qop: true │ │contacts definition │q: 1.0; ip-set: ipset1; on port: 5060; sip │ │ │ registred by node: sip1@ecss1 │ │ │ sip transport: udp │ │ │ user-agent: RG-1404GF-W/1.11.0 SN/VI25002012 sofia-sip/1.12.10 │ │ │ <sip:240470@192.168.2.26:5060;transport=UDP;line=1311>;expires=834 │ │declared by │admin at 13.03.2020 15:02:35 │ │ │ │ │alarm_enable │false │ │aliases activities │240470:true │ │allow │INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE, NOTIFY, REFER, UPD│ │ │ATE, INFO │ │allow events │none │ │auto-answer-version │Alert-Info: Auto Answer (default by domain) │ │category_to_sip │default │ │client-profile │none │ │compact-form │defaut (default) │ │digest │true │ │display-name-encoding│default │ │dtmf-duration │100 │ │dtmf-relay │false │ │fork-mode │all-contacts, allow repeated IP: true │ │last via │SIP/2.0/UDP 10.25.1.23:5069;received=10.25.1.23;rport=5069 │ │ │SIP/2.0/UDP 192.168.2.26:5060;received=192.168.2.26;rport=5060 │ │my_from │biysk.local │ │nat_traversal │false │ │options_control │disable │ │original-cdpn-to │true │ │published presence │none │ │referred-by-as-cgpn │false │ │register-expire-max │3600 │ │register-expire-min │90 │ │host-to-invite │registered-domain │ │registrator │node: sip1@ecss1 port: udp 192.168.2.62:5060 │ │regs_time │18.06.2020 03:19:50 │ │remote-ctr-indication│rpi │ │req100rel │false │ │rfc-4028-control │force │ │routing.context │ctx_from_local │ │sip-domain │biysk.local │ │sip-modifications │[] │ │supported │[req100rel] │ │symbol_hash_as_is │false │ │sip-transit │[] │ │trusted-ip │unassigned │ │user agent │RG-1404GF-W/1.11.0 SN/VI25002012 sofia-sip/1.12.10 │ └─────────────────────┴────────────────────────────────────────────────────────────────────────────────┘ [exec at: 18.06.2020 11:09:37, exec time: 34ms, nodes: sip1@ecss1]
При назначении автоматического режима, кроме самого значения режима будет указан профиль, который был определен.
Если регистрации не было или авто определение было не успешно, будет указано: auto(none)