Skip to content Skip to main navigation Skip to footer

Licensing (technical details)

This document describes licensing types for Phonexia product available to our partners and customers. The document does not describe the business conditions of Phonexia licensing.

What is the License?

The License is a formal agreement regarding “The Product Usage Rights” between Phonexia and a user of any Phonexia technology or Phonexia product. Licenses are issued by the Business Department for all speech technologies and products and may be required in order to use utilities and tools developed by Phonexia or partners.

For technical purposes, the License agreement is represented by the license file, which describes the Phonexia technologies or products allowed to be used with that license file.

License file

The license file is a plain text file named license.dat by default. It describes all conditions and parameters that maintain the validity of the license itself, like product or technology name, unique license ID, license expiration, number of instances covered for each technology separately, etc.

License file example:

# Phonexia license file
# generated 2017-08-10 20:18:49 UTC
PRODUCT SPE_v3 D8091C4EA03C6A78455772A77BACC6FE 4521BD22 ED14A573 [email protected] # crc:121 slots:4 until:2017-12-10 12:00:00

The USE_... line determines the licensing type

  • USE_SERVER – license linked to Phonexia licensing server (known as NET license) (online license)
  • USE_USB – license linked to USB licensing key provided by Phonexia (offline license)
  • USE_HW – license linked to the HW profile of a selected machine (offline license)

Also available is a Floating License Server (FLS) – a locally installable licensing server, providing flexibility of the NET license, but not requiring online connection to Phonexia server.

See below for more details about each license type.

How to use license file

The default and simplest way is to place the license file to the same directory as the product executable. The product will find the license file automatically during its startup and read its content.

Alternatively, you can:

  • specify the license file location in a configuration file (only for SPE and RLS)
  • start the product executable with a license (SPE and RLS) or l parameter (command line), specifying license file location
  • set the license file location in BS_LICENSE environment variable (only for command line)

License types

NET license

NET license is specified by the USE_SERVER line in license file.

The only requirement of this license is Internet connectivity to the address specified on SERVER... line (by default it’s Phonexia license server at This means that by definition, the license will not work if there is Internet connectivity issue between the source machine and Phonexia servers, e.g. connection blocked by firewall, routing issues, maintenance of the Phonexia servers, etc.

NOTE: Although we usually achieve 98 % availability, it cannot be guaranteed and SLA cannot be declared.
Therefore we do not provide NET license type for production deployments.

Typical recommended usage:

  • development
  • testing functionality of the software
  • data evaluation

Not recommended for:

  • demonstration purposes (partner to customer) due to its dependency on Internet connection – there might be various obstacles in different customer environments (firewalls, air-gapped rooms, etc.)


USB license

USB license is specified by USE_USB line in the license file (the SERVER line is ignored in this case, no Internet connection is required).

This license is bound to a physical USB token delivered by Phonexia. To successfully use the USB license, all of the following conditions must be met:

  • Phonexia software must use a valid license.dat file (usually needs to be present in the directory with Phonexia software)
  • The USB token must be present in the USB port/hub of the machine where Phonexia software runs (in virtual environments, this device must be provisioned to the virtual machine with Phonexia software); disconnecting the USB token may cause the software to crash
  • USB token must contain a license.dat file in the root of the USB dongle and it has to be accessible in read/write mode

NOTE: The USB dongle is labeled with a sticker with dongle number for future support. The sticker must not be removed from the USB dongle.

Typical recommended usage:

  • project production stages
  • sharing license between developers
  • demonstration purposes (travelling)


HW license

HW license is specified by USE_HW line in the license file (the SERVER line is ignored in this case, no Internet connection is required).

This license is bound to a “HW profile” of a specific machine (based on OS, CPU, RAM, HDD, ETH).
HW profile can be created either using a separate hw-gen tool downloadable below, or by running Phonexia Speech Engine with a hwgen parameter (see more details below). The profile is saved into a text file – usually named hw-info.txt – as a hash.

Any major change in the HW profile – including OS version change, e.g. after upgrade or patch! – can prevent the license from working and Phonexia support must be contacted (with new HW profile of the changed machine) to generate new license file.
Therefore, make sure to plan for and coordinate your OS patches or infrastructure changes properly, to avoid unwanted service outages due to invalid licenses.

To successfully use the HW license, follow these steps:

  1. Get a machine for processing (64-bit required) and make sure its OS, CPU, HDD and ETH configuration will not change over time (this is especially important in virtual or cloud environments)
  2. Create a TXT file containing the HW profile
  3. Send the TXT file to your Phonexia business contact
  4. We will get back to you and send you the license

Typical recommended usage:

  • software evaluation in isolated environments
  • Proof of Concept project stages
  • demonstration purposes on fixed HW (laptops)
  • production project stages with fixed HW and OS

Limited usage for:

  • dynamic virtualization environment (fixing the HW is required)


Floating License Server (FLS)

For complex installations, Phonexia has developed “Floating License Server” (FLS) utility.
That allows production licenses to be distributed across infrastructures which use dynamic Virtual Machines, often change HW, and so on.

In essence, FLS works similarly to floating licenses known from other software products – original HW- or USB-locked license (see above) is NET-ified by the license server, so that it can be shared by multiple various client machines (which would not be possible with the original HW/USB license).

Clients using this license then communicate with the FLS via internal network only (as opposed to standard NET licenses which communicate with the Phonexia licensing server via Internet).
This way, FLS provides “the best of both worlds” – the flexibility of NET license, while keeping the ability to work in isolated environments without Internet connection.

FLS requirements

Phonexia FLS is lightweight command line utility, requiring

  • 64-bit Linux OS (no Windows version available)
  • ~100 MB of RAM, 10 MB of storage
  • LAN interface must be present

FLS can be installed on-site and can be isolated from public Internet (i.e. offline, although no data are sent outside the site anyway).

FLS must be accessible for connection within LAN where computing machines reside – it is the local admin’s responsibility to ensure the network connectivity, i.e. appropriate routing settings, firewalls configuration, etc.

As FLS license must be linked to HW license or USB token license, requirements for the corresponding license type (see sections above) must be fulfilled.

How to use FLS and floating client license

Follow the instructions below to enable and distribute the floating license:

  1. Put original (master) license file on FLS machine
  2. Use phlic-srv-lic-gen tool supplied with FLS to generate the NET-ified license file (the floating client license)
    • When using older FLS, open the generated license file in a text editor and manually change the SERVER line to FLS machine address
  3. Distribute the generated floating client license to any number of computing machines
    (see the How to use license file section for details about where to put the license file)
  4. Start Phonexia FLS
  5. After starting FLS, start the computing machines

FLS deployment examples

Basic Phonexia FLS connection scheme

Basic configuration makes it possible to distribute license files dynamically to computing machines based on real time and capacity needs.

Example of a basic Phonexia FLS connection scheme/topology
Figure: Example of a basic Phonexia FLS connection scheme/topology


Advanced Phonexia FLS configuration

For use cases where Site Disaster Recovery or High Availability(*)Service are required, Phonexia FLS can be used to support the following scenarios:

  • Geographical High Availability(*) Fail-Over Cluster
  • Scalable High Performance Cluster
  • Application Cluster

Note: Cluster configuration must be supported by the proper configuration of the hosting operating system and may require other tools by Phonexia or a 3rd party.

(*) FLS supports active-passive architecture only (FLS instances don’t communicate with each other).

Example of an advanced Phonexia FLS connection scheme/topology for site disaster recovery
Figure: Example of an advanced Phonexia FLS connection scheme/topology for site disaster recovery


Example of an advanced Phonexia FLS connection scheme/topology for site redundancy
Figure: Example of an advanced Phonexia FLS connection scheme/topology for site redundancy
Related Articles