License
The system requires activation for its operation. Activation is performed using a license file containing a set of parameters and their values tied to this particular instance of the system and the installed product.
The license file is created by the licensor based on the activation code generated by the system instance using the API.
The license file is transferred encrypted and uploaded using API to the master domain, or can be uploaded directly to the HDD of a server with the mdc role on the master site, the working directory of the node in the /var/lib/era/_workdir/<NODE>/lic/r.lic
.
A license defines restrictions in addition to activating an instance of the system.
The license is applied, maintained and backed up on all servers with the role of mdc.
Licensed parameters
The license file in decrypted form is a JSON structure transparently reflected by the system through the license management API.
A distinction should be made between the contents of the license file and the composition of the current actual license values. The condition file may contain time ranges of indicator availability, combined values and different configurations of license parameters tied to time periods.
For convenience, the API provides the ability to view the independently decrypted contents of the file and the current valid license.
{
"products": "incoplax",
"topleveldnpolicy": 1,
"dql": {
"domains": 100,
"devices": 15000,
"siptrunks": 3000
},
"sqf": {
}
}
{
"products": "incoplax",
"topleveldnpolicy": 1,
"dql": {
"domains": 100,
"devices": 1000,
"siptrunks": 1000
},
"sqf": {
"custom_key": true
},
"licensed_to": "Company 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
}
}
]
}
Basic parameters
Key | Description |
---|---|
|
Specifies the name of the product being licensed. The license can only be applied to a system instance deployed from the distribution of the corresponding product. |
|
Restriction on first-level domain names.
Default |
|
Limits the time of all conversations. Can be used in test licenses. |
|
A group of quantitative parameters of functionality. |
|
A group of qualitative parameters of functionality. |
|
A section containing a list of different configurations and their application conditions. Contains a list of objects, each representing an alternative configuration.
The The first matching configuration is merged with the original configuration from the root, replacing the values of matching keys, and the remaining alternative configurations are ignored. An alternate configuration can have all the keys in this section as part of it ( If some key is missing, it is taken from the base structure. |
|
A line with the name of the licensor. |
|
License Number. |
Quantitative parameters
Quantitative parameters are set with numeric values and are consumed/restored when entities are created/deleted in domains.
Contained in the property group dql
(domain quantitative limits).
All quantitative parameters are distributed over the domain tree. Every domain:
-
reserves a part of the quantitative licenses received from the parent domain for internal use,
-
part of the quantitative licenses is transferred to its subsidiary domains,
-
the rest are not used and can be withdrawn by the parent domain administrator if necessary.
The reservation is made via domain settings management API (licowned
key), and the transfer to the child domain is made via domain entity management API (field lic
).
Key | Description |
---|---|
|
Number of domains. Spend one for each domain. If there are not enough licenses in a domain, you cannot create a new child domain. |
|
The number of registered SIP devices under SIP-user accounts. Spread across SIP user accounts. Spent one per detached SIP device at the time of enrollment. Not automatically redistributed between accounts. If there are not enough licenses in the domain, you cannot change the SIP user entity to increase the number of devices or create a new one. Reaching a limit within a SIP user entity causes a new device to be denied registration if the limit is currently already registered. However, there may be situations where the device initiates a new registration without deleting the previous registration on the server. To avoid such problems, the system polls registered devices with a SIP request before rejecting registration due to insufficient number of licenses OPTIONS. Registration is rejected only if all registered devices have responded correctly. In other cases, registration is performed instead of "zombie". |
|
Number of simultaneously active trunks on SIP providers accounts. Distributed across SIP provider accounts. Spent one per call through role esg and released when the call ends. Not automatically redistributed between accounts. If there are not enough licenses in the domain, you cannot change the SIP provider entity to increase the number of trunks or create a new one. Reaching a constraint within a SIP provider entity causes the next call to be dropped from service. |
Transfer of quantitative tree licenses
The allocation algorithm is as follows:
-
The master domain is licensed directly through the API, either from the HDD.
-
The master domain passes quantitative licenses to child domains via their property
lic
. -
Each worker domain is licensed from the parent domain.
-
The worker domain reserves a portion of the received quantitative licenses for internal use. Via customization, key licowned.
-
A worker domain passes some of the reserved licenses to its entities (e.g. sipuser, provider) via their property
lic
. -
A working domain transfers a portion of the received and unreserved quantitative licenses to child domains via their property
lic
.
Product license extension
The license file extends the product license file.
All quantitative indicators are summed up, qualitative indicators are activated if at least in one of the licenses: product or
The suffix tilldt' for `dql
A suffix can be added to the string representation of any value in the dql
section of the license file and restrict the application of that value to a specified date.
Can combine multiple values at once.
For example, the default value "devices": 100
can be modified as follows:
-
"devices": "100"
: doesn’t change behavior. -
"devices": "100,tilldt=2025-10-01"
: Until October 1, 2025 -100', after – `0
. -
"devices": "100;500,tilldt=2022-10-01;200,tilldt=2023-02-23"
: Until October 1, 2022 -800', until February 23, 2023 - `300', after – `100
.
Features
At intervals of a few minutes, the license is recalculated, thereby updating its conditional values.
If the values are changed downward, the server reloads the domain tree.
Licenses may be withdrawn from child domains to an extent not greater than X = T - O - D
, where
-
T
– number of licenses allocated to the domain, -
O
– number of reserved licenses, -
D
– number of licenses allocated to child domains.
If the domain is locked (opts.isblocked
property), all licenses can be removed from it.
If communication between sites is lost, they retain the last active license until successful synchronization with the master site. After a reboot, the system also applies the last active license.
Unlimited license quantity values (numeric values greater than 123456789
) set in the product assertion defaultlic.json are propagated through the domain tree automatically.
Temporary licenses
Limiting quantitative indicators can be done with the help of
-
of the suffix `tilldt' in specific meanings;
-
settings for alternative configurations.
Test licenses
For the purpose of limitations for test operation, the following may apply:
-
parameter
dlgtimesec
; -
time constraints:
-
reducing quantitative indicators, including domains;
-
activating alternative configurations with disabled functionality.
-
See also
-
API activation code.
-
API license management.
-
Asset product license.
-
Entity domain.