GUI installation: Difference between revisions

From VoIPmonitor.org
(Add troubleshooting for 'license token is empty' and 'hwid invalid or corrupted' errors during installation)
(Review: oprava struktury nadpisů, formátování kódu (pre->syntaxhighlight), markdown->wiki syntax, zkrácení AI Summary)
Line 1: Line 1:
*Download the latest GUI tar.gz package from http://www.voipmonitor.org/download-gui?version=latest
= GUI Installation =
*Untar to /var/www/ (On debian like systems) or /var/www/html (On redhat like systems) and rename created folder to voipmonitor
*Open web browser and point it to voipmonitor http://yourserver/voipmonitor (you can choose whatever directory you want) and follow installation steps


Note: you need to install the sniffer too - complete installation [[Content#Installaion]]
== Quick Start ==


= System Requirements =
# Download the latest GUI tar.gz package from http://www.voipmonitor.org/download-gui?version=latest
# Untar to <code>/var/www/</code> (On Debian-like systems) or <code>/var/www/html</code> (On RedHat-like systems) and rename created folder to <code>voipmonitor</code>
# Open web browser and point it to <code>http://yourserver/voipmonitor</code> (you can choose whatever directory you want) and follow installation steps
 
'''Note:''' You need to install the sniffer too - see [[Sniffer_installation|Sniffer Installation]]
 
== System Requirements ==


The VoIPmonitor GUI has specific hardware and software requirements.
The VoIPmonitor GUI has specific hardware and software requirements.
Line 20: Line 24:
For more information about supported architectures, see the [[FAQ#What_hardware_architectures_does_the_GUI_support.3F|FAQ entry on architecture support]].
For more information about supported architectures, see the [[FAQ#What_hardware_architectures_does_the_GUI_support.3F|FAQ entry on architecture support]].


= Hosting Environments =
== Hosting Environments ==


The VoIPmonitor GUI is fully supported in various hosting environments, including:
The VoIPmonitor GUI is fully supported in various hosting environments.


=== Containerized Deployment (Docker, Kubernetes) ===
=== Containerized Deployment (Docker, Kubernetes) ===
Line 49: Line 53:
If you frequently destroy and recreate cloud instances and want to avoid license reconfiguration, you may request domain-based licensing from VoIPmonitor support as an alternative to hardware ID binding.
If you frequently destroy and recreate cloud instances and want to avoid license reconfiguration, you may request domain-based licensing from VoIPmonitor support as an alternative to hardware ID binding.


= License key =
== License Key ==


== Obtaining a Trial License (30 Days) ==
=== Obtaining a Trial License (30 Days) ===


For a new installation, you can obtain a 30-day trial license for testing purposes through one of the following methods:
For a new installation, you can obtain a 30-day trial license for testing purposes through one of the following methods:


=== Method 1: Contact Support ===
==== Method 1: Contact Support ====


Send a request to the VoIPmonitor support team to obtain a trial license. This method is useful if you encounter issues with automated license generation.
Send a request to the VoIPmonitor support team to obtain a trial license. This method is useful if you encounter issues with automated license generation.


=== Method 2: Members' Area (Automated) ===
==== Method 2: Members' Area (Automated) ====


Log in to the VoIPmonitor members' area and find the license token in the "my services" section.
Log in to the VoIPmonitor members' area and find the license token in the "my services" section.


==== Troubleshooting Shopping Cart Issues ====
===== Troubleshooting Shopping Cart Issues =====


If you are unable to complete the trial order process (the checkout does not proceed):
If you are unable to complete the trial order process (the checkout does not proceed):
Line 74: Line 78:
This is a common issue - accidentally adding the trial product multiple times to the shopping cart will prevent the automated order from completing.
This is a common issue - accidentally adding the trial product multiple times to the shopping cart will prevent the automated order from completing.


==== Troubleshooting Email Verification Issues ====
===== Troubleshooting Email Verification Issues =====


If you are using the Members' Area method and cannot receive the verification email:
If you are using the Members' Area method and cannot receive the verification email:
Line 84: Line 88:
If you continue to experience issues receiving the verification email, you can use Method 1 (Contact Support) as an alternative.
If you continue to experience issues receiving the verification email, you can use Method 1 (Contact Support) as an alternative.


==== Troubleshooting "Only One Trial Is Allowed" Error ====
===== Troubleshooting "Only One Trial Is Allowed" Error =====


When using the Members' Area, you may encounter an error stating that only one trial license is allowed. This occurs when:
When using the Members' Area, you may encounter an error stating that only one trial license is allowed. This occurs when:
Line 104: Line 108:
The license file is located in the web root folder as <code>key.php</code>
The license file is located in the web root folder as <code>key.php</code>


== Troubleshooting "License token is empty" or "hwid invalid or corrupted" During Installation ==
=== Troubleshooting "License token is empty" or "hwid invalid or corrupted" ===


If you encounter the error messages "license token is empty" and "hwid invalid or corrupted" during the initial VoIPmonitor GUI installation, this is typically caused by missing read permissions on the root block device. The GUI requires read access to <code>/dev/root</code> to detect the Hardware ID (HWID) for license activation.
If you encounter the error messages "license token is empty" and "hwid invalid or corrupted" during the initial VoIPmonitor GUI installation, this is typically caused by missing read permissions on the root block device. The GUI requires read access to <code>/dev/root</code> to detect the Hardware ID (HWID) for license activation.


=== Solution: Grant Read Permissions on /dev/root ===
==== Solution: Grant Read Permissions on /dev/root ====


To resolve this issue:
To resolve this issue:
Line 114: Line 118:
# SSH into the server where the GUI is installed
# SSH into the server where the GUI is installed
# Run the following command to grant read permissions on the root block device:
# Run the following command to grant read permissions on the root block device:
<pre>
<syntaxhighlight lang="bash">
chmod +r /dev/root
chmod +r /dev/root
</pre>
</syntaxhighlight>
# Retry accessing the GUI in your web browser and complete the license activation
# Retry accessing the GUI in your web browser and complete the license activation


After granting read permissions, the GUI will be able to properly detect the Hardware ID and you can proceed with entering your license token or license key.
After granting read permissions, the GUI will be able to properly detect the Hardware ID and you can proceed with entering your license token or license key.


== Activating a License in the GUI ==
=== Activating a License in the GUI ===


VoIPmonitor GUI provides two separate activation methods depending on your scenario. Using the wrong method will result in a "Bad Key Content" error.
VoIPmonitor GUI provides two separate activation methods depending on your scenario. Using the wrong method will result in a "Bad Key Content" error.


=== Online Activation (Recommended) ===
==== Online Activation (Recommended) ====


Use this method when your server has internet access and you have a license token from the Members' Area or support:
Use this method when your server has internet access and you have a license token from the Members' Area or support:
Line 137: Line 141:
'''Important:''' The "License token" field is for short tokens only. Do not paste the full multi-line license key into this field.
'''Important:''' The "License token" field is for short tokens only. Do not paste the full multi-line license key into this field.


=== Offline Activation ===
==== Offline Activation ====


Use this method when your server cannot connect to the license server (network restrictions, firewall, air-gapped environment):
Use this method when your server cannot connect to the license server (network restrictions, firewall, air-gapped environment):
Line 150: Line 154:
'''Important:''' The "License key" field is for the complete multi-line key. Do not paste a short token into this field.
'''Important:''' The "License key" field is for the complete multi-line key. Do not paste a short token into this field.


=== Troubleshooting "Bad Key Content" Error ===
==== Troubleshooting "Bad Key Content" Error ====


If you receive a "Bad Key Content" error, you are likely using the wrong field:
If you receive a "Bad Key Content" error, you are likely using the wrong field:
Line 158: Line 162:
* '''Incomplete license key''' → For offline activation, ensure you copied ALL lines of the multi-line key.
* '''Incomplete license key''' → For offline activation, ensure you copied ALL lines of the multi-line key.


=== Troubleshooting "Something is wrong on this configuration page" Error ===
==== Troubleshooting "Something is wrong on this configuration page" Error ====


If you receive the error message "Something is wrong on this configuration page. Check the content" when attempting to update your license, but you notice that the expiration date appears to change momentarily, you can use a trial license as a temporary workaround.
If you receive the error message "Something is wrong on this configuration page. Check the content" when attempting to update your license, but you notice that the expiration date appears to change momentarily, you can use a trial license as a temporary workaround.
Line 164: Line 168:
This error can occur due to various issues such as license server communication problems, license key validation issues, or file permission problems preventing the GUI from properly writing the updated license file.
This error can occur due to various issues such as license server communication problems, license key validation issues, or file permission problems preventing the GUI from properly writing the updated license file.


**Trial License Workaround:**
'''Trial License Workaround:'''


# Contact VoIPmonitor support to request a trial license token
# Contact VoIPmonitor support to request a trial license token
Line 170: Line 174:
# Paste the trial license token into the '''"License token"''' field
# Paste the trial license token into the '''"License token"''' field
# Click the '''"get/update license key"''' button
# Click the '''"get/update license key"''' button
# this will apply a temporary 30-day trial license
# This will apply a temporary 30-day trial license


This workaround allows you to continue using the GUI with full functionality while the underlying license update issue is investigated and resolved by support. The trial license serves as a temporary solution until the main license issue can be fixed.
This workaround allows you to continue using the GUI with full functionality while the underlying license update issue is investigated and resolved by support. The trial license serves as a temporary solution until the main license issue can be fixed.
Line 176: Line 180:
Note: After the main license issue is resolved, you can revert to your permanent license by clicking '''"get/update license key"''' with your original license token.
Note: After the main license issue is resolved, you can revert to your permanent license by clicking '''"get/update license key"''' with your original license token.


=== Troubleshooting Premature License Expiration Errors ===
==== Troubleshooting Premature License Expiration Errors ====


If your license appears to expire prematurely on a customer server, displaying an error even though the license is valid on the central VoIPmonitor server, this is typically caused by network connectivity issues preventing the GUI from reaching the license validation server.
If your license appears to expire prematurely on a customer server, displaying an error even though the license is valid on the central VoIPmonitor server, this is typically caused by network connectivity issues preventing the GUI from reaching the license validation server.


**Symptom:**
'''Symptom:'''
* License shows as expired or invalid on the customer server
* License shows as expired or invalid on the customer server
* Same license works correctly on the central server
* Same license works correctly on the central server
* License expiration date in voipmonitor.org portal shows the license is still valid
* License expiration date in voipmonitor.org portal shows the license is still valid


**Primary Cause: Network Blocking**
'''Primary Cause: Network Blocking'''
 
The GUI requires outbound HTTPS access to the license check server to validate and update the license. If the customer server is behind a restrictive firewall or has network routing issues, this validation fails, causing the GUI to report the license as expired.
The GUI requires outbound HTTPS access to the license check server to validate and update the license. If the customer server is behind a restrictive firewall or has network routing issues, this validation fails, causing the GUI to report the license as expired.


**Diagnostic Steps:**
'''Diagnostic Steps:'''


From the affected customer server, test network connectivity to the license check server:
From the affected customer server, test network connectivity to the license check server:
Line 202: Line 207:
If these commands fail or time out, the firewall or network configuration is blocking access to the license validation server.
If these commands fail or time out, the firewall or network configuration is blocking access to the license validation server.


**Resolution:**
'''Resolution:'''


1. **Configure Firewall:** Allow outbound HTTPS (TCP port 443) connections to <code>download.voipmonitor.org</code>
1. '''Configure Firewall:''' Allow outbound HTTPS (TCP port 443) connections to <code>download.voipmonitor.org</code>


  <syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
  # For firewalld
# For firewalld
  firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=https
  firewall-cmd --reload
firewall-cmd --reload


  # For iptables
# For iptables
  iptables -A OUTPUT -p tcp --dport 443 -d download.voipmonitor.org -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -d download.voipmonitor.org -j ACCEPT
  service iptables save
service iptables save
  </syntaxhighlight>
</syntaxhighlight>


2. **Check Proxy Settings:** If your network uses a proxy server, ensure the GUI or PHP configuration includes the proper proxy settings:
2. '''Check Proxy Settings:''' If your network uses a proxy server, ensure the GUI or PHP configuration includes the proper proxy settings:


  <syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
  # Check or set proxy environment variables
# Check or set proxy environment variables
  export http_proxy=http://proxy.example.com:8080
export http_proxy=http://proxy.example.com:8080
  export https_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080
  </syntaxhighlight>
</syntaxhighlight>


3. **Verify Network Routing:** Ensure there is no routing gateway or NAT configuration preventing HTTPS connections to external domains. Check with your network administrator if needed.
3. '''Verify Network Routing:''' Ensure there is no routing gateway or NAT configuration preventing HTTPS connections to external domains. Check with your network administrator if needed.


**Temporary Workaround:**
'''Temporary Workaround:'''


As an immediate workaround to restore service before fixing the network configuration:
As an immediate workaround to restore service before fixing the network configuration:


1. Navigate to '''Settings > License''' in the GUI
# Navigate to '''Settings > License''' in the GUI
2. Click the '''"get/update license key"''' button
# Click the '''"get/update license key"''' button
3. This forces an immediate license check if the server is reachable at that moment
# This forces an immediate license check if the server is reachable at that moment


This manual update can temporarily restore functionality if the server has intermittent connectivity issues. However, permanent resolution requires fixing the firewall or network configuration to allow consistent access to <code>download.voipmonitor.org</code> over HTTPS.
This manual update can temporarily restore functionality if the server has intermittent connectivity issues. However, permanent resolution requires fixing the firewall or network configuration to allow consistent access to <code>download.voipmonitor.org</code> over HTTPS.


=== Manually Updating License from Customer Portal ===
==== Manually Updating License from Customer Portal ====


Use this method when you need to update the license file directly from the VoIPmonitor customer portal (for example, when the GUI license interface is not working properly, or when you need to manually replace the <code>key.php</code> file).
Use this method when you need to update the license file directly from the VoIPmonitor customer portal (for example, when the GUI license interface is not working properly, or when you need to manually replace the <code>key.php</code> file).
Line 255: Line 260:
See also: [[WEB_API#Check_License|Check License API]] for verifying license status.
See also: [[WEB_API#Check_License|Check License API]] for verifying license status.


== Extending a Trial License ==
=== Extending a Trial License ===


If your testing period requires more than 30 days, you can request a trial license extension:
If your testing period requires more than 30 days, you can request a trial license extension:
Line 263: Line 268:
# You do not need to change your server ID when extending the license
# You do not need to change your server ID when extending the license


== Full Licenses ==
=== Full Licenses ===


For production use, you can purchase a full license through the VoIPmonitor customer portal. Your license is based on the '''maximum number of concurrent calls''' during your peak hours.
For production use, you can purchase a full license through the VoIPmonitor customer portal. Your license is based on the '''maximum number of concurrent calls''' during your peak hours.
Line 275: Line 280:
* Upgrading your license via the customer portal
* Upgrading your license via the customer portal


== Retrieving a License Token from an Existing Installation ==
=== Retrieving a License Token from an Existing Installation ===


If you need to find the license token for an existing VoIPmonitor installation (for example, to set up a new development or test system), you can retrieve it using one of the following methods:
If you need to find the license token for an existing VoIPmonitor installation (for example, to set up a new development or test system), you can retrieve it using one of the following methods:


=== Method 1: Retrieve from the GUI ===
==== Method 1: Retrieve from the GUI ====


This is the recommended method for retrieving your license token:
This is the recommended method for retrieving your license token:
Line 288: Line 293:
# Copy the short text string displayed there
# Copy the short text string displayed there


=== Method 2: Retrieve from key.php File (Alternative) ===
==== Method 2: Retrieve from key.php File (Alternative) ====


If you cannot access the GUI or need to recover the license programmatically, the <code>key.php</code> file in your GUI installation directory contains the license information.
If you cannot access the GUI or need to recover the license programmatically, the <code>key.php</code> file in your GUI installation directory contains the license information.
Line 298: Line 303:
You can use the license ID found in <code>key.php</code> to retrieve your full license from the GUI or by contacting VoIPmonitor support.
You can use the license ID found in <code>key.php</code> to retrieve your full license from the GUI or by contacting VoIPmonitor support.


=== Using the Token on a New Development/Test System ===
==== Using the Token on a New Development/Test System ====


The license token is cryptographically bound to the Hardware ID (HWID) of the server it was generated for.
The license token is cryptographically bound to the Hardware ID (HWID) of the server it was generated for.
Line 304: Line 309:
* '''If the new test system has the SAME Hardware ID''' (e.g., a cloned VM or restored backup): You can paste this token directly into the '''"License token"''' field on the new system and click '''"get/update license key"'''.
* '''If the new test system has the SAME Hardware ID''' (e.g., a cloned VM or restored backup): You can paste this token directly into the '''"License token"''' field on the new system and click '''"get/update license key"'''.
* '''If the new test system has a DIFFERENT Hardware ID''' (e.g., a new VM or physical server): The token from the old installation '''will not work''' automatically.
* '''If the new test system has a DIFFERENT Hardware ID''' (e.g., a new VM or physical server): The token from the old installation '''will not work''' automatically.
    * '''Solution:''' Contact VoIPmonitor support to have your license token reconfigured to allow multiple servers (specifically for the test/dev environment). Once support adds the new HWID to your license, you can use the same token or a new one provided by them.
** '''Solution:''' Contact VoIPmonitor support to have your license token reconfigured to allow multiple servers (specifically for the test/dev environment). Once support adds the new HWID to your license, you can use the same token or a new one provided by them.


See also: [[Tls#Can_I_use_my_license_on_multiple_servers|Can I use my license on multiple servers?]]
See also: [[License#Can_I_use_my_license_on_multiple_servers|Can I use my license on multiple servers?]]


= config/system_configuration.php =
== GUI Configuration (system_configuration.php) ==


This file allows disabling some features
The <code>config/system_configuration.php</code> file allows disabling some features.


=== Disable Live Sniffer Menu ===
=== Disable Live Sniffer Menu ===
Line 326: Line 331:
=== Other Feature Disabling Options ===
=== Other Feature Disabling Options ===


define('DISABLE_ISSUE_TRACKER', true);
<syntaxhighlight lang="php">
define('DISABLE_REGISTER', true);
define('DISABLE_ISSUE_TRACKER', true);
define('DISABLE_CDR_SHARE', true);
define('DISABLE_REGISTER', true);
define('WIKI_URL', 'http://voipmonitor.org');
define('DISABLE_CDR_SHARE', true);
define('WIKI_URL', false);
define('WIKI_URL', 'http://voipmonitor.org');
define('APP_WEB', 'http://voipmonitor.org');
define('WIKI_URL', false);
define('APP_WEB', 'http://voipmonitor.org');
</syntaxhighlight>


== AI Summary for RAG ==
== AI Summary for RAG ==
'''Summary:''' This guide covers the VoIPmonitor GUI installation process, including downloading the package, extracting files, and running the installation wizard. It provides detailed information about obtaining trial licenses (30-day) for new testing installations, including two methods: contacting support or finding license tokens in the "my services" section of the members' area. For the Members' Area method, it includes troubleshooting steps for common issues. First, if you are unable to complete the trial order process (checkout does not proceed), this is typically caused by having multiple trial products in the shopping cart - you must review the cart, ensure only one trial product exists, remove any duplicate or conflicting items, then proceed with checkout. Second, it covers email verification issues: checking spam/junk folders, contacting support to manually resend verification emails, and understanding that verification links are valid for 24 hours. Third, it includes troubleshooting for the "only one trial is allowed" error, which occurs when a previous trial was used; the solution is to contact support to manually correct the trial status in the back-end system, then return to the Members' Area to generate the trial. Alternatively, users can bypass issues by directly contacting support for manual trial issuance. The guide explains how to extend trial licenses beyond 30 days by contacting support and using the "get/update license" button in the GUI without needing to change the server ID.
TROUBLESHOOTING "LICENSE TOKEN IS EMPTY" OR "HWID INVALID OR CORRUPTED" DURING INSTALLATION: If you encounter these error messages during initial GUI installation, this is typically caused by missing read permissions on the root block device (/dev/root). The GUI requires read access to /dev/root to detect the Hardware ID (HWID) for license activation. To resolve this issue: SSH into the server where the GUI is installed, run "chmod +r /dev/root" to grant read permissions on the root block device, then retry accessing the GUI in your web browser to complete the license activation. After granting read permissions, the GUI will be able to properly detect the Hardware ID and you can proceed with entering your license token or license key.
CONTAINERIZED DEPLOYMENT SUPPORT: Running the VoIPmonitor web UI inside a container (Docker, Kubernetes, LXC, Podman, or cloud container services like AWS ECS, Azure Container Instances, Google Cloud Run) is fully supported and will NOT cause any licensing issues. The GUI license validation works normally in containerized environments without requiring special licensing configurations. Users do NOT need to contact support for domain-based licensing or multiple server licensing when running the GUI in a container.
VIRTUAL MACHINE AND CLOUD SUPPORT: The VoIPmonitor GUI also works normally in VMs (VMware ESXi, VirtualBox, KVM, Hyper-V) and cloud instances (AWS EC2, GCP, Azure VMs). For cloud instances, there is an important distinction: stopping and starting an instance typically preserves the Hardware ID so the license continues to work, but terminating and launching a new instance changes the Hardware ID and requires license reconfiguration. For users who frequently destroy and recreate cloud instances, domain-based licensing can be requested from support as an alternative to hardware ID binding.


CRITICAL: License activation in the GUI uses TWO SEPARATE FIELDS. For ONLINE activation (server has internet access), paste the SHORT "license token" into the "License token" field and click "get/update license key" button to automatically fetch the license. For OFFLINE activation (air-gapped or restricted networks), paste the COMPLETE multi-line LICENSE KEY (Expires, id, hwid, maxcalls, upgradeexpire, etc.) into the "License key" field and save. Common "Bad Key Content" errors are caused by using the WRONG field: pasting a full key into "License token" or a short token into "License key" will fail. Also ensure the offline key includes ALL lines, not just the first line.
'''Summary:''' VoIPmonitor GUI installation guide covering download, extraction, and setup wizard. The GUI requires x86 architecture (ARM64 not supported for GUI, only sensor can be compiled for ARM). Fully supported in Docker, Kubernetes, and cloud environments (AWS, Azure, GCP) without special licensing. For cloud instances: Stop/Start preserves Hardware ID; Terminate/Launch requires license reconfiguration.


TRIAL LICENSE WORKAROUND FOR LICENSE UPDATE ERRORS: If you receive the error "Something is wrong on this configuration page. Check the content" when updating your license (but notice the expiration date changes momentarily), you can use a trial license as a temporary workaround. Contact support for a trial license token, paste it into the "License token" field under Settings > License, then click "get/update license key" to apply a temporary 30-day trial license. This allows full GUI functionality while the underlying license issue is resolved. After the issue is fixed, revert to your permanent license by clicking "get/update license key" with your original token. This workaround addresses issues like license server communication problems, key validation issues, or file permission problems that prevent proper license file updates.
'''License Activation:''' Two methods exist - Online (paste short token into "License token" field, click "get/update") and Offline (paste full multi-line key into "License key" field). Using wrong field causes "Bad Key Content" error.


To retrieve a license token from an existing installation (e.g., for setting up a new development or test system), use either Method 1: Navigate to Settings > License in the GUI and copy the token, or Method 2: Open the key.php file in the GUI installation directory (typically /var/www/html/voipmonitor) which contains the license ID that can be used to retrieve the full license. When using the retrieved token on a new development/test system, note that it is cryptographically bound to the Hardware ID (HWID). If the new system has the SAME HWID (e.g., cloned VM), the token works directly. If it has a DIFFERENT HWID (e.g., new VM), contact VoIPmonitor support to reconfigure the license for multiple servers.
'''Common Issues:'''
* "hwid invalid or corrupted" during installation: Run <code>chmod +r /dev/root</code>
* Premature license expiration: Check firewall allows HTTPS to <code>download.voipmonitor.org</code>
* Trial limitations: Contact support if "only one trial allowed" error appears
* Configuration page errors: Use trial license as temporary workaround


For manual license file updates when the GUI license interface is not working properly, you can manually replace the key.php file from the customer portal. Navigate to Services > My services in the portal, click the license button to view and copy the full license content, then replace the entire content of key.php on your GUI server (typically /var/www/voipmonitor or /var/www/html/voipmonitor). Verify the update with the apilicensecheck.php API endpoint. Common issues include file ownership problems (web server user must be able to read), insufficient write permissions, or the web server caching old file content.
'''Keywords:''' gui installation, trial license, license activation, license token, license key, bad key content, hwid invalid, /dev/root permissions, docker, kubernetes, container, cloud instance, aws ec2, azure, gcp, hardware id, offline activation, online activation, key.php, system_configuration.php, DISABLE_LIVE_SNIFFER


It also covers full license purchasing, which is based on maximum concurrent calls during peak hours, and references the FAQ for more details on license calculation, exceeding limits, warnings, blocking behavior, and upgrading licenses. The config/system_configuration.php file allows disabling specific features like live sniffer (DISABLE_LIVE_SNIFFER to remove menu), issue tracker, registration, and CDR sharing. IMPORTANT: DISABLE_LIVE_SNIFFER removes the menu item entirely, while DISABLE_LIVEPLAY only hides play buttons. Admin users can override capture settings to enable recording, so avoid granting admin privileges for strict compliance scenarios.
'''Keywords:''' gui installation, trial license, 30-day trial, license extension, my services, members area, get/update license, concurrent calls, server id, full license, customer portal, license key, license token, online activation, offline activation, bad key content, license token field, license key field, key.php, system configuration, disable features, only one trial allowed, trial status, back-end system, DISABLE_LIVE_SNIFFER, DISABLE_LIVEPLAY, disable live sniffer, disable issue tracker, disable registration, admin privileges, override capture settings, compliance, shopping cart, duplicate products, trial order, checkout, unable to complete order, retrieve license token, existing installation, development system, test system, hardware id, hwid, reconfigure license, multiple servers, manual license update, customer portal license button, replace key.php manually, services my services, license file permissions, file ownership, web server permissions, apilicensecheck.php, container, docker, kubernetes, lxc, podman, containerized gui, gui in container, cloud container, aws ecs, azure container instances, google cloud run, virtual machine, vm, cloud instance, aws ec2, google cloud platform, azure vm, vmware esxi, virtualbox, kvm, hyper-v, gui deployment, hosting environment, license update error, configuration page error, something is wrong on this configuration page, trial license workaround, temporary workaround, license server communication, license key validation, premature license expiration, license expires early, license expiration error, license shows expired, license appears invalid, customer server license issue, external customer license network problem, firewall blocking license, download.voipmonitor.org, license validation server, outbound https, firewall configuration, proxy settings, network routing, license server connectivity, intermittent license issues, manual license update workaround, license token is empty, hwid invalid or corrupted, chmod dev root, chmod /dev/root, dev root permissions, root block device permissions, hardware id detection, read permissions, block device, gui installation error, license activation error, initial installation, hwid invalid, corrupted hwid
'''Key Questions:'''
'''Key Questions:'''
* What should I do if I get "license token is empty" and "hwid invalid or corrupted" errors during VoIPmonitor GUI installation?
* How do I install the VoIPmonitor GUI?
* How do I fix "hwid invalid or corrupted" error during GUI installation?
* What architecture does the GUI require (x86 vs ARM64)?
* Why do I get "license token is empty" error during installation?
* Does the GUI work in Docker/Kubernetes containers?
* How do I fix license activation errors caused by /dev/root permissions?
* What is the difference between "License token" and "License key" fields?
* What is the solution for "hwid invalid or corrupted" error during initial GUI installation?
* How do I fix "hwid invalid or corrupted" error during installation?
* Do I need to give read permissions to /dev/root for VoIPmonitor GUI license activation?
* Why does my license show as expired when it should be valid?
* How do I grant read permissions to /dev/root?
* How do I obtain a 30-day trial license?
* What causes "hwid invalid or corrupted" error during VoIPmonitor setup?
* How do I extend a trial license?
* How do I resolve initial installation license errors in VoIPmonitor GUI?
* What causes "Bad Key Content" error when activating license?
* What block device permissions does VoIPmonitor GUI require for license activation?
* How do I manually update the license from the customer portal?
* How do I fix "license token is empty" error when installing VoIPmonitor GUI?
* Can I use my license on multiple servers?
* Why does the GUI fail to detect Hardware ID during installation?
* How do I disable Live Sniffer in the GUI?
* How do I enable hardware ID detection during VoIPmonitor GUI installation?
* What should I do if I cannot activate license during initial GUI installation?
* How do I resolve chmod +r /dev/root for VoIPmonitor?
* What permissions does /dev/root need for VoIPmonitor GUI?
* How do I fix /dev/root read permissions issue?
* What is the fix for "hwid invalid or corrupted" error with /dev/root?
* How do I use chmod +r /dev/root for VoIPmonitor license activation?
* What causes hardware ID detection failure in VoIPmonitor GUI installation?
* How do I retrieve a license token from an existing VoIPmonitor installation?
* Where can I find the license token in the GUI?
* How do I find the license information in the key.php file?
* Can I use my license token on a new development or test system?
* What happens if the new test system has a different hardware ID?
* How do I transfer my license to a new development server?
* What is the hardware ID (HWID) requirement for license tokens?
* Can I use the same license token on multiple servers?
* Where is the key.php file located in the GUI installation?
* How do I reconfigure my license for multiple servers?
* What is the difference between "license token" and "license key" fields in the GUI?
* Which field should I use for online license activation in VoIPmonitor?
* Which field should I use for offline license activation in VoIPmonitor?
* Why do I get "Bad Key Content" error when pasting my license?
* How do I activate a license online using a token?
* How do I activate a license offline using the full key?
* What should I paste into the "License token" field?
* What should I paste into the "License key" field?
* How do I obtain a trial license for VoIPmonitor?
* What is the trial license period?
* How can I get a trial license for a new VoIPmonitor installation?
* Where do I find my license token for VoIPmonitor?
* How do I extend my VoIPmonitor trial license beyond 30 days?
* Do I need to change my server ID when extending my license?
* How is the VoIPmonitor license calculated?
* What happens if I exceed my license limit?
* What is the "get/update license" button in the GUI?
* Where do I check my VoIPmonitor license status and concurrent calls?
* What should I do if I cannot complete the trial order process?
* Why does my trial order checkout fail?
* How do I fix duplicate trial products in my shopping cart?
* What should I do if I cannot receive the verification email for a trial license?
* How long is the trial license verification link valid?
* Can support resend the verification email if I made a typo in my email address?
* What should I do if I get an "only one trial is allowed" error?
* How can I fix the trial license status to generate a new trial?
* Why does the automated portal block my trial request?
* How do I manually update the license key from the customer portal?
* Where is the license button in the customer portal Services section?
* How do I replace the key.php file with a new license from the portal?
* What should I do if the GUI license interface is not working?
* What file permissions are required for key.php?
* How do I verify the license file was updated correctly?
* What are common causes for license file update failures?
* Where is the key.php file located on the GUI server?
* How do I check license status with apilicensecheck.php?
* What happens if the web server cannot read key.php?
* Does the VoIPmonitor GUI work in Docker containers?
* What should I do if I get "Something is wrong on this configuration page. Check the content" error when updating my license?
* Can I use a trial license as a workaround for license update errors?
* How do I apply a trial license workaround while my main license issue is being resolved?
* What causes the "Something is wrong on this configuration page" license error?
* How can I continue using the GUI if my license update fails?
* Can I run the VoIPmonitor GUI in a container?
* Will running the GUI in a container cause licensing issues?
* Do I need special licensing for containerized GUI deployment?
* Can I use the VoIPmonitor GUI in Kubernetes?
* Does the GUI require domain-based licensing when running in containers?
* Does the GUI work in virtual machines (VMs)?
* Can I deploy the GUI on AWS EC2 or other cloud instances?
* What happens to my license if I stop and start an AWS EC2 instance?
* What happens to my license if I terminate and recreate a cloud instance?
* Can I use the same license on multiple cloud instances?
* When should I request domain-based licensing instead of hardware binding?
* Why does my license appear to expire prematurely on a customer server?
* What should I do if my GUI shows the license as expired even though it is valid on the central server?
* How do I check network connectivity to the license validation server?
* What firewall ports need to be open for VoIPmonitor license validation?
* How do I fix license expiration errors caused by network blocking?
* What is the license validation server for VoIPmonitor?
* How do I test HTTPS connectivity to download.voipmonitor.org?
* Can I manually update the license as a workaround for network issues?
* How do I configure firewall to allow license validation?
* What should I do if my customer server cannot reach download.voipmonitor.org?
* What hosting environments does the VoIPmonitor GUI support?

Revision as of 11:25, 6 January 2026

GUI Installation

Quick Start

  1. Download the latest GUI tar.gz package from http://www.voipmonitor.org/download-gui?version=latest
  2. Untar to /var/www/ (On Debian-like systems) or /var/www/html (On RedHat-like systems) and rename created folder to voipmonitor
  3. Open web browser and point it to http://yourserver/voipmonitor (you can choose whatever directory you want) and follow installation steps

Note: You need to install the sniffer too - see Sniffer Installation

System Requirements

The VoIPmonitor GUI has specific hardware and software requirements.

Hardware Architecture Requirements

IMPORTANT: The VoIPmonitor GUI requires an x86 (32-bit or 64-bit) architecture system. The GUI is not supported on aarch64 (ARM64) platforms.

If you need to run VoIPmonitor on ARM64/aarch64 hardware:

  • The sensor/sniffer component can be compiled from source for ARM64 architectures - see Compiling from Source
  • You must run the GUI on a separate x86 system that connects to the ARM64 sensor's database
  • This client-server architecture allows the ARM64 sensor to capture traffic while the x86 GUI provides the web interface

For more information about supported architectures, see the FAQ entry on architecture support.

Hosting Environments

The VoIPmonitor GUI is fully supported in various hosting environments.

Containerized Deployment (Docker, Kubernetes)

Running the VoIPmonitor web UI inside a container (Docker, Kubernetes, or other containerization technologies) is fully supported and will not cause any licensing issues.

The GUI license validation works normally in containerized environments without requiring special licensing configurations. You can run the GUI in a container without needing to contact support for domain-based licensing or multiple server licensing.

This applies to:

  • Docker containers
  • Kubernetes pods
  • Other containerization technologies (LXC, Podman, etc.)
  • Cloud-based container services (AWS ECS, Azure Container Instances, Google Cloud Run, etc.)

Virtual Machines and Cloud Instances

The VoIPmonitor GUI also runs normally in virtualized environments:

  • VMware ESXi, VirtualBox, KVM, Hyper-V, QEMU/KVM: The GUI license works without issues
  • AWS EC2, Google Cloud Platform, Azure VMs: License validation works normally

Important distinction for AWS/Cloud:

  • Stop/Start an instance: The Hardware ID typically remains the same, so your license continues to work
  • Terminate and launch a new instance: The Hardware ID changes, requiring a new license or reconfiguration

If you frequently destroy and recreate cloud instances and want to avoid license reconfiguration, you may request domain-based licensing from VoIPmonitor support as an alternative to hardware ID binding.

License Key

Obtaining a Trial License (30 Days)

For a new installation, you can obtain a 30-day trial license for testing purposes through one of the following methods:

Method 1: Contact Support

Send a request to the VoIPmonitor support team to obtain a trial license. This method is useful if you encounter issues with automated license generation.

Method 2: Members' Area (Automated)

Log in to the VoIPmonitor members' area and find the license token in the "my services" section.

Troubleshooting Shopping Cart Issues

If you are unable to complete the trial order process (the checkout does not proceed):

  1. Review the items in your shopping cart
  2. Ensure there is only one trial product in the cart
  3. Remove any duplicate or conflicting items (multiple trial products can block checkout)
  4. Proceed with the checkout process once only one trial product remains

This is a common issue - accidentally adding the trial product multiple times to the shopping cart will prevent the automated order from completing.

Troubleshooting Email Verification Issues

If you are using the Members' Area method and cannot receive the verification email:

  1. Check your inbox and spam/junk folder for the verification email
  2. If the email contains a typo or is not found, contact support to manually resend the verification email to the correct email address
  3. Verification links are typically valid for 24 hours - if expired, request a new verification email

If you continue to experience issues receiving the verification email, you can use Method 1 (Contact Support) as an alternative.

Troubleshooting "Only One Trial Is Allowed" Error

When using the Members' Area, you may encounter an error stating that only one trial license is allowed. This occurs when:

  • You previously used a trial license (even on a different or deleted server)
  • The trial status in the back-end system was not properly reset after the trial expired

To resolve this issue:

  1. Contact VoIPmonitor support and explain that the automated portal is showing "only one trial is allowed" for your account
  2. Specify that you need a trial license for a new installation or testing environment
  3. Support will manually correct the trial license status in the back-end system
  4. Once the status is corrected, return to the Members' Area and generate the trial license through the normal automated process

Alternatively, you can bypass this issue entirely by using Method 1 (Contact Support) to request a manual trial license issuance.

To download the license key, visit: http://www.voipmonitor.org/download-gui?version=license

The license file is located in the web root folder as key.php

Troubleshooting "License token is empty" or "hwid invalid or corrupted"

If you encounter the error messages "license token is empty" and "hwid invalid or corrupted" during the initial VoIPmonitor GUI installation, this is typically caused by missing read permissions on the root block device. The GUI requires read access to /dev/root to detect the Hardware ID (HWID) for license activation.

Solution: Grant Read Permissions on /dev/root

To resolve this issue:

  1. SSH into the server where the GUI is installed
  2. Run the following command to grant read permissions on the root block device:
chmod +r /dev/root
  1. Retry accessing the GUI in your web browser and complete the license activation

After granting read permissions, the GUI will be able to properly detect the Hardware ID and you can proceed with entering your license token or license key.

Activating a License in the GUI

VoIPmonitor GUI provides two separate activation methods depending on your scenario. Using the wrong method will result in a "Bad Key Content" error.

Online Activation (Recommended)

Use this method when your server has internet access and you have a license token from the Members' Area or support:

  1. Log in to the GUI
  2. Navigate to Settings > License
  3. Paste your license token (short text string, NOT the full key) into the "License token" field
  4. Click the "get/update license key" button
  5. The GUI will automatically fetch and apply the full license from the license server

Important: The "License token" field is for short tokens only. Do not paste the full multi-line license key into this field.

Offline Activation

Use this method when your server cannot connect to the license server (network restrictions, firewall, air-gapped environment):

  1. Contact VoIPmonitor support to obtain the full, formatted license key
  2. Log in to the GUI
  3. Navigate to Settings > License
  4. Paste the entire multi-line license key into the "License key" text field
  5. Ensure you copy all lines (Expires, id, hwid, maxcalls, upgradeexpire, etc.)
  6. Save the changes

Important: The "License key" field is for the complete multi-line key. Do not paste a short token into this field.

Troubleshooting "Bad Key Content" Error

If you receive a "Bad Key Content" error, you are likely using the wrong field:

  • Pasting a full license key into the "License token" field → This will fail. Use the "License key" field instead.
  • Pasting a short token into the "License key" field → This will fail. Use the "License token" field instead and click "get/update license key".
  • Incomplete license key → For offline activation, ensure you copied ALL lines of the multi-line key.

Troubleshooting "Something is wrong on this configuration page" Error

If you receive the error message "Something is wrong on this configuration page. Check the content" when attempting to update your license, but you notice that the expiration date appears to change momentarily, you can use a trial license as a temporary workaround.

This error can occur due to various issues such as license server communication problems, license key validation issues, or file permission problems preventing the GUI from properly writing the updated license file.

Trial License Workaround:

  1. Contact VoIPmonitor support to request a trial license token
  2. Navigate to Settings > License in the GUI
  3. Paste the trial license token into the "License token" field
  4. Click the "get/update license key" button
  5. This will apply a temporary 30-day trial license

This workaround allows you to continue using the GUI with full functionality while the underlying license update issue is investigated and resolved by support. The trial license serves as a temporary solution until the main license issue can be fixed.

Note: After the main license issue is resolved, you can revert to your permanent license by clicking "get/update license key" with your original license token.

Troubleshooting Premature License Expiration Errors

If your license appears to expire prematurely on a customer server, displaying an error even though the license is valid on the central VoIPmonitor server, this is typically caused by network connectivity issues preventing the GUI from reaching the license validation server.

Symptom:

  • License shows as expired or invalid on the customer server
  • Same license works correctly on the central server
  • License expiration date in voipmonitor.org portal shows the license is still valid

Primary Cause: Network Blocking

The GUI requires outbound HTTPS access to the license check server to validate and update the license. If the customer server is behind a restrictive firewall or has network routing issues, this validation fails, causing the GUI to report the license as expired.

Diagnostic Steps:

From the affected customer server, test network connectivity to the license check server:

# Test DNS resolution
ping -c 3 download.voipmonitor.org

# Test HTTPS connectivity
curl -I https://download.voipmonitor.org

If these commands fail or time out, the firewall or network configuration is blocking access to the license validation server.

Resolution:

1. Configure Firewall: Allow outbound HTTPS (TCP port 443) connections to download.voipmonitor.org

# For firewalld
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

# For iptables
iptables -A OUTPUT -p tcp --dport 443 -d download.voipmonitor.org -j ACCEPT
service iptables save

2. Check Proxy Settings: If your network uses a proxy server, ensure the GUI or PHP configuration includes the proper proxy settings:

# Check or set proxy environment variables
export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080

3. Verify Network Routing: Ensure there is no routing gateway or NAT configuration preventing HTTPS connections to external domains. Check with your network administrator if needed.

Temporary Workaround:

As an immediate workaround to restore service before fixing the network configuration:

  1. Navigate to Settings > License in the GUI
  2. Click the "get/update license key" button
  3. This forces an immediate license check if the server is reachable at that moment

This manual update can temporarily restore functionality if the server has intermittent connectivity issues. However, permanent resolution requires fixing the firewall or network configuration to allow consistent access to download.voipmonitor.org over HTTPS.

Manually Updating License from Customer Portal

Use this method when you need to update the license file directly from the VoIPmonitor customer portal (for example, when the GUI license interface is not working properly, or when you need to manually replace the key.php file).

  1. Log in to the VoIPmonitor customer portal
  2. Navigate to Services > My services
  3. Find your license in the list and click the license button
  4. Copy the entire license key content displayed
  5. Locate the key.php file on your GUI server (typically in /var/www/voipmonitor or /var/www/html/voipmonitor)
  6. Replace the entire content of key.php with the new license key from the portal
  7. Verify the license is updated by running: php /var/www/voipmonitor/php/apilicensecheck.php?task=licenseCheck

Important:

  • Ensure you have the correct file permissions set (web server user, e.g., www-data or apache, must be able to read the file)
  • When pasting the key content, replace ALL previous content (do not append or partially update)
  • Common causes for file update issues include: file ownership problems, insufficient write permissions, or the web server caching old file content

See also: Check License API for verifying license status.

Extending a Trial License

If your testing period requires more than 30 days, you can request a trial license extension:

  1. Contact VoIPmonitor support to request an extension of your trial license
  2. After the license is extended by support, apply the update in the GUI by clicking the "get/update license key" button
  3. You do not need to change your server ID when extending the license

Full Licenses

For production use, you can purchase a full license through the VoIPmonitor customer portal. Your license is based on the maximum number of concurrent calls during your peak hours.

You can view your current license status and concurrent call usage in the GUI under Tools -> System Status -> Concurrent calls.

See the FAQ for more information about licensing, including:

  • How to calculate the number of channels you need
  • What happens if you temporarily exceed your license limit
  • License warning and blocking behavior
  • Upgrading your license via the customer portal

Retrieving a License Token from an Existing Installation

If you need to find the license token for an existing VoIPmonitor installation (for example, to set up a new development or test system), you can retrieve it using one of the following methods:

Method 1: Retrieve from the GUI

This is the recommended method for retrieving your license token:

  1. Log in to your existing VoIPmonitor GUI
  2. Navigate to Settings > License
  3. Locate the "License token" field
  4. Copy the short text string displayed there

Method 2: Retrieve from key.php File (Alternative)

If you cannot access the GUI or need to recover the license programmatically, the key.php file in your GUI installation directory contains the license information.

  1. Navigate to your GUI installation directory (typically /var/www/html/voipmonitor or /var/www/voipmonitor)
  2. Open the key.php file in a text editor
  3. The file contains the license information including the license ID

You can use the license ID found in key.php to retrieve your full license from the GUI or by contacting VoIPmonitor support.

Using the Token on a New Development/Test System

The license token is cryptographically bound to the Hardware ID (HWID) of the server it was generated for.

  • If the new test system has the SAME Hardware ID (e.g., a cloned VM or restored backup): You can paste this token directly into the "License token" field on the new system and click "get/update license key".
  • If the new test system has a DIFFERENT Hardware ID (e.g., a new VM or physical server): The token from the old installation will not work automatically.
    • Solution: Contact VoIPmonitor support to have your license token reconfigured to allow multiple servers (specifically for the test/dev environment). Once support adds the new HWID to your license, you can use the same token or a new one provided by them.

See also: Can I use my license on multiple servers?

GUI Configuration (system_configuration.php)

The config/system_configuration.php file allows disabling some features.

Disable Live Sniffer Menu

To completely remove the Live Sniffer functionality from the GUI (including the menu item), edit the config/system_configuration.php file:

define('DISABLE_LIVE_SNIFFER', true);

When enabled, this constant removes the entire Live Sniffer menu item from the GUI. This is different from hiding play buttons (see FAQ for DISABLE_LIVEPLAY).

Important Security Note: Even with DISABLE_LIVE_SNIFFER enabled, users with administrator privileges can override global capture settings to enable recording or listening for specific calls. For strict compliance scenarios, ensure users are not granted administrator privileges.

Other Feature Disabling Options

define('DISABLE_ISSUE_TRACKER', true);
define('DISABLE_REGISTER', true);
define('DISABLE_CDR_SHARE', true);
define('WIKI_URL', 'http://voipmonitor.org');
define('WIKI_URL', false);
define('APP_WEB', 'http://voipmonitor.org');

AI Summary for RAG

Summary: VoIPmonitor GUI installation guide covering download, extraction, and setup wizard. The GUI requires x86 architecture (ARM64 not supported for GUI, only sensor can be compiled for ARM). Fully supported in Docker, Kubernetes, and cloud environments (AWS, Azure, GCP) without special licensing. For cloud instances: Stop/Start preserves Hardware ID; Terminate/Launch requires license reconfiguration.

License Activation: Two methods exist - Online (paste short token into "License token" field, click "get/update") and Offline (paste full multi-line key into "License key" field). Using wrong field causes "Bad Key Content" error.

Common Issues:

  • "hwid invalid or corrupted" during installation: Run chmod +r /dev/root
  • Premature license expiration: Check firewall allows HTTPS to download.voipmonitor.org
  • Trial limitations: Contact support if "only one trial allowed" error appears
  • Configuration page errors: Use trial license as temporary workaround

Keywords: gui installation, trial license, license activation, license token, license key, bad key content, hwid invalid, /dev/root permissions, docker, kubernetes, container, cloud instance, aws ec2, azure, gcp, hardware id, offline activation, online activation, key.php, system_configuration.php, DISABLE_LIVE_SNIFFER

Key Questions:

  • How do I install the VoIPmonitor GUI?
  • What architecture does the GUI require (x86 vs ARM64)?
  • Does the GUI work in Docker/Kubernetes containers?
  • What is the difference between "License token" and "License key" fields?
  • How do I fix "hwid invalid or corrupted" error during installation?
  • Why does my license show as expired when it should be valid?
  • How do I obtain a 30-day trial license?
  • How do I extend a trial license?
  • What causes "Bad Key Content" error when activating license?
  • How do I manually update the license from the customer portal?
  • Can I use my license on multiple servers?
  • How do I disable Live Sniffer in the GUI?