Лицензия и активационный токен
Лицензия - это … (про юридическую сторону, про права и обязанности по договору).
Чтобы приступить к эксплуатации в соответствии с лицензионным договором, установленную из дистрибутива платформу следует активировать. Активация производится с помощью токена, привязанного к конкретному экземпляру платформы и установленного продукта.
Активационный токен:
-
Создается лицензиаром на основании лицензионного договора и кода активации, сформированного экземпляром платформы с помощью API.
-
Загружается с помощью API в мастер-домен системы. Может загружаться в приложении Настройки администратором мастер-домена вручную или с сервера-лицензий инструментом при внесении идентификационной информации.
-
Содержит информацию об ограничениях использования экземпляра системы, позволяющими эксплуатировать его в соответствии с лицензионным договором.
-
Имеет ограничение времени действия активированной им конфигурации лицензионных параметров, что при длительном использовании требует производить периодическое обновление токенов вручную или автоматически с подключением системы к сети интернет.
-
Имеет ограничение времени применения, по истечении которого конкретный токен считается просроченным и неспособным провести активацию.
-
Может предоставляться сервером лицензий в автоматическом виде.
-
Применяется, поддерживается и резервируется на всех серверах с ролью mdc.
Лицензируемые параметры
Файл лицензии в расшифрованном виде представляет собой JSON-структуру, прозрачно отражаемую системой через API управления лицензией.
Следует различать содержимое файла лицензии и состав текущих актуальных значений лицензии. В файле в формате условий могут содержаться временные диапазоны доступности показателей, комбинированные значения и различные варианты конфигураций лицензионных параметров, привязанные к периодам времени.
Для удобства API предоставляет возможность просматривать независимо расшифрованное содержимое файла и актуальную действующую в текущий момент лицензию.
{
"products": "era",
"topleveldnpolicy": 1,
"dql": {
"domains": 100,
"devices": 15000,
"siptrunks": 3000
},
"sqf": {
}
}
{
"products": "era",
"topleveldnpolicy": 1,
"dql": {
"domains": 100,
"devices": 1000,
"siptrunks": 1000
},
"sqf": {
"custom_key": true
},
"licensed_to": "Компания X",
"licensed_number": "712158",
"configurations": [
{
"smart": {
"dtstart": "2017-12-01",
"dtstop": "2018-01-31"
},
"dql": {
"domains": 100,
"devices": "5000;10000,tilldt=2018-01-12",
"siptrunks": "1000;2000,tilldt=2018-01-12"
}
},
{
"smart": {
"dtstart": "2017-01-01",
"dtstop": "2020-12-31"
},
"dql": {
"domains": 100,
"devices": 3000,
"siptrunks": 1000
}
},
{
"smart": {
"dtstart": "2020-12-31"
},
"dlgtimesec": 30,
"sqf": {
"custom_key": false
}
}
]
}
Базовые параметры
Ключ | Описание |
---|---|
|
Дата начала действия лицензии (из лицензионного договора). Отображается в параметрах лицензии. |
|
Дата окончания действия лицензии (из лицензионного договора). Отображается в параметрах лицензии. |
|
Дата создания активационного токена. Отображается в параметрах лицензии. |
|
Дата утраты токеном возможности активации. Токен должен быть применен до истечения этой даты. |
|
Дата окончания действия токена. До истечения этой даты система должна получить новый токен с сервера лицензий, или свежий токен может быть загружен вручную. Отображается в параметрах лицензии. |
|
Дата после которой в мониторинг состояния системы начнет выводиться предупреждение о скором истечении срока действия токена или лицензии. Как правило, на две недели меньше параметра 'tdate'. |
|
Дата/время создания токена сервером лицензий. Уточняет параметр 'cdate' и применяется системой. Заполняется только при получении токена с сервера лицензий. |
|
Дата/время следуюещго обновления токена на сервере лицензий. Система пытается получить новый токен начиная с момента, ориентировочно на 2 часа предшествующего указанному значению. При неудаче попытка повторяется каждый час. Система остается активированной вплоть до истечения времени 'stop_dt'. Свободно обновить токен через сервер лицензий может только ранее активированная система, если сохраняются ее идентификационные характеристики. Каждый раз при выдаче свежего токена сервер блокирует возможность обновить токен до истечения времени sync_dt для всех систем, чьи идентификационные характеристики отличаются от получателя последнего токена. Если активный сервис перетекает на другой сервер, то идентификационные характеристики, вероятно, меняются. В этом случае активная система получит свежий токен строго после sync_dt. Тем не менее остается возможность активировать другой инстанс системы, используя другой из списка выданных паролей. Заполняется только при получении токена с сервера лицензий. |
|
Время окончания действия токена, до истечения которого система должна успеть получить свежий токен. В противном случае система переходит в нерабочее состояние, обнуляя список доменов. Уточняет параметр 'tdate' и применяется системой. Заполняется только при получении токена с сервера лицензий. |
|
Определяет название лицензируемого продукта. Лицензия может быть применена только к экземпляру системы, развернутой из дистрибутива соответствующего продукта. |
|
Информация о продукте и лицензии. Лицензиар, лицензиат, идентификационная информация. |
|
Ограничение на поддерживаемую версию продукта. Пример: "1.8" - поддерживает все версии 1.8.* и более ранние, а 1.9.0 уже не поддерживается. |
|
Ограничение на количество серверов в конфигурации кластера. |
|
Ограничивает время всех разговоров. Может использоваться в тестовых лицензиях. По умолчанию не ограничено |
|
Режим применения количественного показателя на подключение внутренних SIP-устройств. Варианты:
При включенном ограничении количества одновременно зарегистрированных устройств под конкретной учетной записью на общих основаниях может быть задействован механизм опроса всех зарегистрированных устройств с помощью OPTIONS при нехвате слотов. По умолчанию: 'contacts_reserved'. Обычно используемое значение: 'accounts_concurrent'. |
|
Ограничение на имена доменов первого уровня.
По умолчанию |
|
Группа количественных параметров функциональности.
Могут быть расширены другими параметрами:
|
|
Группа качественных параметров функциональности. |
|
Раздел, содержащий список различных конфигураций и условий их применения. Содержит список объектов, каждый из которых представляет альтернативную конфигурацию.
По ключу Первая подходящая по всем условиям конфигурация сливается с исходной конфигурацией от корня, замещая значения совпадающих ключей, а остальные альтернативные конфигурации игнорируются. Альтернативная конфигурация может в своем составе иметь все ключи данного раздела ( Если какой-то ключ отсутствует, то он берется из базовой структуры. |
Количественные параметры
Количественные параметры задаются числовыми значениями и расходуются/восстанавливаются при создании/удалении сущностей в доменах.
Содержатся в группе свойств dql
(domain quantitative limits).
Все количественные параметры распределяются по доменному дереву. Каждый домен:
-
резервирует под себя часть полученных от родительского домена количественных лицензий для внутреннего использования,
-
часть количественных лицензий передает своим дочерним доменам,
-
остальные не используются и могут быть изъяты администратором родительского домена при необходимости.
Резервирование производится через API управления настройками домена (ключ licowned
), а передача дочернему домену производится через API управления сущностями доменов (поле lic
).
Ключ | Описание |
---|---|
|
Количество доменов. Расходуется по одному на каждый домен. При нехватке лицензий в домене невозможно создать новый дочерний домен. |
|
Количество зарегистрированных SIP-устройств под учетными записями SIP-пользователей. Распределяется по учетным записям SIP-пользователей. Расходуется по одному на каждое обособленное SIP-устройство в момент прохождения регистрации. Не перераспределяются автоматически между учетными записями. При нехватке лицензий в домене невозможно изменить сущность SIP-пользователя в сторону увеличения количества устройств или создать новую. Достижение ограничения внутри сущности SIP-пользователя приводит к отказу в регистрации нового устройства, если на текущий момент уже зарегистрировано предельное количество. Тем не менее, возможны ситуации, когда устройство инициирует новую регистрацию, не удалив предыдущую на сервере. Во избежание подобных проблем система перед отказом в регистрации по причине недостаточного количества лицензий осуществляет опрос зарегистрированных устройств с помощью SIP-запроса OPTIONS. Отказ в регистрации производится только, если все зарегистрированные устройства корректно ответили. В других случаях регистрация проводится вместо "зомби". |
|
Количество одновременно активных транков на учетных записях SIP-провайдеров. Распределяется по учетным записям SIP-провайдеров. Расходуется по одному на каждый вызов через роль esg и освобождается при его завершении. Не перераспределяются автоматически между учетными записями. При нехватке лицензий в домене невозможно изменить сущность SIP-провайдера в сторону увеличения количества транков или создать новую. Достижение ограничения внутри сущности SIP-провайдера приводит к отказу от обслуживания очередного звонка. |
Передача количественных лицензий по дереву
Алгоритм распределения следующий:
-
Мастер-домен получает лицензию непосредственно через API, либо с HDD.
-
Мастер-домен передает количественные лицензии дочерним доменам через их свойство
lic
. -
Каждый рабочий домен получает лицензию от домена родителя.
-
Рабочий домен резервирует часть полученных количественных лицензий под внутреннее использование. Через настройки, ключ licowned.
-
Рабочий домен передает часть зарезервированных лицензий своим сущностям (например sipuser, provider) через их свойство
lic
. -
Рабочий домен передает часть полученных и незарезервированных количественных лицензий дочерним доменам через их свойство
lic
.
Расширение лицензией продукта
Файл лицензии расширяет показатели продуктовой лицензии.
Все количественные показатели суммируются, качественные показатели активируются, если хотя бы в одной из лицензий: продуктовой или
Суффикс 'tilldt' для 'dql'
Суффикс может быть добавлен к строковому представлению любого значения в разделе dql
файла лицензии и ограничить применение этого значения до указанной даты.
Может комбинировать сразу несколько значений.
Например, стандартное значение "devices": 100
может быть изменено следующим образом:
-
"devices": "100"
: не изменяет поведение. -
"devices": "100,tilldt=2025-10-01"
: до 1 октября 2025 года –100
, после –0
. -
"devices": "100;500,tilldt=2022-10-01;200,tilldt=2023-02-23"
: до 1 октября 2022 года –800
, до 23 февраля 2023 года –300
, после –100
.
Особенности
С периодичностью в несколько минут лицензия пересчитывается, тем самым обновляя свои условные показатели.
В случае изменения значений в меньшую сторону сервером производится перезагрузка доменного дерева.
Лицензии могут быть изъяты из дочерних доменов в объеме не большем, чем X = T - O - D
, где
-
T
– количество выделенных домену лицензий, -
O
– количество зарезервированных лицензий, -
D
– количество выделенных дочерним доменам лицензий.
Если домен заблокирован (свойство opts.isblocked
), то из него могут быть изъяты все лицензии.
При потере связи между сайтами, они сохраняют последнюю активную лицензию вплоть до успешной синхронизации с мастер-сайтом. После перезагрузки система также применяет последнюю активную лицензию.
Безлимитные значения количественных показателей лицензии (числовые значения больше 123456789
), устанавливаемые в ассете продукта defaultlic.json, распространяются по дереву доменов автоматически.
Временные лицензии
Ограничение количественных показателей может производиться с помощью
-
суффикса
tilldt
у конкретных значений; -
настройки альтернативных конфигураций.
Тестовые лицензии
В целях ограничений для тестовой эксплуатации могут применяться:
-
параметр
dlgtimesec
; -
ограничения во времени:
-
уменьшающие количественные показатели, в том числе домены;
-
активирующие альтернативные конфигурации с отключенной функциональностью.
-
См. также
-
API код активации.
-
API управление лицензией.
-
Ассет продуктовой лицензии.
-
Сущность домена.