/domain/<DOMAIN>/sip/user/profile/ - команды настройки профиля абонентов SIP
SIP-профили
Общее описание
Многие сип клиенты имеют особенности реализации.
Основная масса касается поддержки того или иного стандарта или спецификации. Также оператор сам может контролировать включение/выключение некоей функции (например, контроль сессии по RFC 4028).
Есть еще ограничения встречной стороны, которые противоречат или жестко ограничивают текущую реализацию взаимодействия адаптер-клиент:
- нотификации BLF о ходе параллельных соединений на наблюдаемом клиенте;
- осуществление исходящих звонков только через ноду адаптера, принявшую запрос регистрации
- реализация авто ответа, которая поддержана в рамках трех спецификаций, которые в свою очередь могут иметь разные опции.
Для преодоления данных ограничений реализованы профили SIP-клиентов, которые включают в себя особенности производителя.
Назначение профилей может осуществляться следующим образом:
- непосредственное назначение в свойствах SIP-абонента. Данный режим актуален когда нет полноценной детекции клиента;
- автоматическое определение при регистрации (по User-Agent).
Настройка профиля
При создании профиля задается его имя и набор параметров (один и более из имеющихся).
Поддерживаются рабочие параметры и шаблон авто-определения:
- auto-answer_version — реализация автоматического ответа терминала вызываемого абонент, позволяет средствами протокола SIP установить диалог используя громкую связь терминала. Возможные значения(по умолчанию —default):
- alert-info — шаблон Alert-info: Auto Answer , или Alert-info: info=alert-autoanswer или при необходимости возможна строка в произвольном формате;
- answermode — для терминалов поддерживающих RFC5373;
- call-info — шаблон Call-info:<sip:domain>; answer-after=0 , или Call-info: =\; answer-after=0 или при необходимости возможна строка в произвольном формате;
- default — используются настройки на уровне домена (виртуальной АТС);
- none — не отправлять команду , терминал не поддерживает ни одну из реализаций авто-ответа.
- blf_xml_pretty_print — возможность форматирования xml в NOTIFY BLF. Значения true|false (по умолчанию - false);
- concurency_blf — нотификации о параллельных диалогах. Значения true|false (по умолчанию — false):
Под параллельными нотификациями имеются ввиду нотификации о параллельных звонках с одного абонента.
Реализована очередь нотификаций. Работает следующим образом — пока есть события по одному диалогу, другие события слаться не будут, они будут откладываться в очередь. Когда же текущий диалог завершится, то они будут разосланы в текущем состоянии.
Начиная с версии 3.11.0 этот режим может быть выбран профилем SIP-клиента. Абоненту назначается соответствующий профиль, либо он определяется автоматически по templates (настройка у пользователя client_profile = auto). Параметры профиля:
- concurency_blf = true — разрешены параллельные нотификации, очередь не работает.
concurency_blf = false — запрещены параллельные нотификации, очередь работает. Этот режим используется "по умолчанию"
- direct_early_update — Значения true|false (по умолчанию — false);
- extended_blf — поддержка события Endpoint States (ТА online/offline) для BLF, поддерживается не всеми ТА,(для примера поддерживается ТА "Grandstream"). Значение true|false(по умолчанию — false);
- force_fork_release — Значения true|false (по умолчанию — false);
- node_control — ограничение исходящих вызовов, на абонента В, нодой-регистратором, то есть привязка функции обработки вызова, к ноде адаптера, на который пришла регистрация от абонента В. Значения true|false (по умолчанию — false);
- remote_party_id_enable — Включение/выключение передачи заголовка Remote-Party-ID (используется в сервисе pickup) true|false (по умолчанию - false);
- templates — шаблон имени, содержащийся в заголовке User-Agent запроса регистрации. Используется для автоматического назначения профиля на пользователя в случае client-profile=auto, в момент регистрации.
В данном разделе приводится описание команд управления для настройки профиля абонентов 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 vp12 [clean] Set parameters to default value continue: yes/no ?> domain/biysk.local/sip/user/profile/clean vp12 Executed on the sip1@ecss2 ┌──────────┬──────────────────────────────┐ │Profile ID│ Profile set │ ├──────────┼──────────────────────────────┤ │vp12 │auto-answer-version = default │ │ │concurency_blf = false │ │ │direct_early_update = false │ │ │extended_blf = false │ │ │force_fork_release = false │ │ │node_control = false │ │ │remote_party_id_enable = false│ │ │templates = - │ └──────────┴──────────────────────────────┘ [exec at: 12.03.2021 15:33:44, exec time: 12s 473ms, nodes: sip1@ecss2 v.3.14.8.26]
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 [del] Remove profiles. Undo will be impossible continue: yes/no ?> yes Executed on the sip1@ecss1 ok [exec at: 12.03.2021 15:33:57, exec time: 1s 858ms, nodes: sip1@ecss1 v.3.14.8.26]
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 = Alert-Info: Auto Answer │ │ │concurency_blf = false │ │ │direct_early_update = false │ │ │extended_blf = false │ │ │force_fork_release = false │ │ │node_control = false │ │ │remote_party_id_enable = false │ │ │templates = - │ └──────────┴──────────────────────────────────────────────┘ [exec at: 12.03.2021 15:32:49, exec time: 5ms, nodes: sip1@ecss1 v.3.14.8.26]
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│ ├──────────┼───────────────────┤ │vp12 │ │ └──────────┴───────────────────┘ [exec at: 12.03.2021 15:33:17, exec time: 13ms, nodes: sip1@ecss2 v.3.14.8.26]
preset
Команда предназначена для активации заранее сконфигурированного профиля.
Путь команды:
/domain/<DOMAIN>/sip/user/profile/preset
Синтаксис:
preset PROFILE_ID
Параметры:
PROFILE_ID - идентификатор существующего профиля.
Пример:
admin@mycelium1@ecss1:/$ domain/biysk.local/sip/user/profile/preset coral Executed on the sip1@ecss1 New profile 'coral' was created [exec at: 15.03.2021 15:32:38, exec time: 10ms, nodes: sip1@ecss1 v.3.14.8.34]
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 запроса регистрации;
- blf_xml_pretty_print - возможность форматирования xml в NOTIFY BLF. Значения true|false (по умолчанию - false).
- remote_party_id_enable - Включение/выключение передачи заголовка Remote-Party-ID (используется в сервисе pickup) true|false (по умолчанию - false).
Пример:
admin@mycelium1@ecss1:/$ domain/biysk.local/sip/user/profile/set vp12 auto-answer-version alert-info template: "Auto Answer" Executed on the sip1@ecss1 New profile 'vp12' was created [exec at: 12.03.2021 15:32:30, exec time: 11ms, nodes: sip1@ecss1 v.3.14.8.26]