The Sipwise NGCP — starting from mr5.5.1 release — implements software licensing in form of a regular comparison of the licensed services and capacities against the actual usage patterns of the platform. The purpose of this function is to monitor system usage and to raise warnings to the platform operator if the thresholds of commercially agreed license parameters (like number of provisioned subscribers or number of concurrent calls) are exceeded.
Sipwise NGCP licenses determine 2 groups of system parameters which are regularly compared with actual values gathered from the system:
performance parameters:
feature parameters: additional features / services that are subject to commercial agreement:
Sipwise operates a licensing server that is the source of license data for each
deployed NGCP node. The nodes themselves request licensing data from the license
server regularly and compare them with actual system performance indicators, check
the activated features against the licensed ones. The presence and activity of the
license client module ("licensed"
process) may be confirmed by checking e.g. the
output of "monit summary"
command. It should contain a line showing:
licensed Running
All nodes of a single NGCP installation share the same license key. This is also valid for geographically distributed setups. This license key is referred by an ID that has to be configured in the main NGCP configuration file (config.yml), and that ID will be used to request license data from the license server.
In order for the license validation to work each node of an NGCP installation must be able to connect to the Sipwise license server via standard HTTPS protocol (TCP, port 443). Alternatively the nodes may use a local, system-wide proxy server and only that proxy server needs to access the Sipwise license server.
The NGCP operator can set the license key in the main configuration file
(/etc/ngcp-config/config.yml
). The correct license key has to be entered in the
configuration file, at the general.license_key
configuration parameter,
so that licensing works as expected.
tip | |
You always have to add the license key before being able to upgrade NGCP to release mr5.5.x or above. The upgrade script will look for the license key and will stop if it does not find the key. |
The license key is also shown in the /etc/ngcp-license-key
file once the key
has been added to the configuration file and the new configuration has been applied.
info | |
There is another configuration parameter related to licenses: |
Although not strictly related to NGCP configuration, the platform operator has to
keep in mind that all NGCP nodes need to have access to Sipwise license server:
license.sipwise.com
The operator has to ensure that there is no firewall rule or other network configuration that prevents NGCP nodes from connecting to Sipwise license server via HTTPS protocol (TCP, port 443).
As mentioned earlier in this chapter, the presence of license client can be monitored
using the built-in utility "monit"
.
The other way to observe the behaviour of the license client is looking into the
log file of "licensed"
process: /var/log/ngcp/licensed.log
The NGCP operator may find entries like the below ones in case of normal operation:
Dec 12 16:20:42 sp1 ngcp-licensed[2205]: Valid license: [ABCDEFGHI_123456789_a1b2c3d4e5f6]: 10000 calls, 1000000 subscribers, 2000000 registered subscribers, valid until Tue Jan 1 00:00:00 2030 (signature valid until Tue Dec 26 16:20:43 2017) Dec 12 16:22:41 sp1 ngcp-licensed[2205]: Usage report: 0 calls, 18 subscribers, 0 registered subscribers
where: