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]