License: Difference between revisions

From VoIPmonitor.org
(Add detailed channel definition: un-mergeable CDR leg concept with examples of transfers, forking, re-invites, complex SIP routing)
No edit summary
 
(35 intermediate revisions by one other user not shown)
Line 1: Line 1:
[[Category:Administration]]
[[Category:Administration]]


This page explains how channel licensing works in VoIPmonitor, including what constitutes a channel, what happens when you exceed the limit, and how to resolve license lock issues.
This page explains VoIPmonitor channel licensing: what counts as a channel, what happens when limits are exceeded, and how to resolve license issues.


== What is a Channel License? ==
== Understanding Channel Licensing ==


A channel license limits the number of concurrent calls processed by the VoIPmonitor GUI. Commercial licenses are sold with a specific channel cap (e.g., 100, 500, 1000 channels).
=== What is a Channel License? ===
 
A channel license limits concurrent calls processed by the VoIPmonitor GUI. Commercial licenses specify a channel cap (e.g., 100, 500, 1000 channels).
 
{{Note|1='''Key distinction:''' A ''channel'' is a single, un-mergeable CDR leg—not necessarily one logical call. Complex scenarios (transfers, forking, re-invites) can create multiple CDR legs from one conversation.}}


=== What Counts as a Channel? ===
=== What Counts as a Channel? ===


A **channel** represents a **single, un-mergeable CDR leg** tracked and processed by VoIPmonitor.
{| class="wikitable"
|-
! Scenario !! Channels !! Explanation
|-
| Simple call: A → B || 1 || One CDR leg
|-
| Call ending with 487 (Request Terminated) || 0 || Excluded from counting
|-
| Call transfer: A → B → C (creates 2 legs) || 2 || Each un-mergeable leg counts
|-
| Forking/parallel ring || Multiple || One per destination leg
|-
| Same call captured by 2 sensors || 1 || Deduplicated if last 6 digits match (±10s window)
|}


Understanding channels requires distinguishing between "logical calls" (what users perceive as one conversation) and "CDR legs" (the technical records VoIPmonitor generates).
'''Deduplication logic:''' The GUI deduplicates CDRs across sensors if the last 6 digits of caller and called numbers match within a ±10-second window. This means geo-redundant captures count as one channel.


==== Basic Channel Counting ====
=== Distributed Deployments ===


For typical call scenarios, VoIPmonitor counts **one channel per call**. The GUI merges CDRs from all legs if the caller and called numbers share at least the last 6 digits.
For multi-sensor architectures:


For example:
* '''One license covers all sensors''' connecting to a single central GUI+DB
* Call from 123456001 to 123456002 = 1 channel (caller and called share last 6 digits: 456001 and 456002)
* Channels are aggregated across all sensors, not multiplied per sensor
* Call from 123456789 to 987654321 = 1 channel (different numbers do not merge)
* Same call captured by multiple sensors is deduplicated automatically
* Multiple calls to different phone numbers are counted separately


==== When One Logical Call Consumes Multiple Channels ====
'''Example:''' Sensors in New York, London, and Tokyo connecting to Frankfurt GUI = ONE license sized for total concurrent calls across all sites.


A single logical phone conversation can generate **multiple separate CDR leg records** that VoIPmonitor cannot automatically merge. When this occurs, each un-mergeable leg is counted as an independent channel for licensing purposes.
For deployment details, see [[Sniffer_distributed_architecture|Client-Server Mode]].


This commonly happens in scenarios involving:
== License Limit Exceeded ==
* '''Call transfers''' (attended or blind)
* '''Forking''' (parallel ringing to multiple destinations)
* '''Re-invites''' (media session renegotiation)
* '''Complex SIP routing''' (multiple proxies, B2BUA)


For example:
=== Timeline ===
* Simple call: SIP Phone A calls SIP Phone B = 1 CDR = 1 Channel
* Complex call: SIP Phone A calls SIP Phone B, which forwards to SIP Phone C. If the transfer creates two distinct legs that cannot be merged, this counts as **2 Channels**.


==== Why Your License May Require More Channels Than Expected ====
<kroki lang="mermaid">
%%{init: {'flowchart': {'nodeSpacing': 15, 'rankSpacing': 30}}}%%
flowchart LR
    A[Limit<br/>Exceeded] --> B[Days 1-3:<br/>Grace Period]
    B --> C[Days 4-13:<br/>Lockdown]
    C --> D[Day 14+:<br/>GUI Locked]
    style A fill:#ffcc00
    style B fill:#90EE90
    style C fill:#FFA500
    style D fill:#FF6B6B
</kroki>


If you request a license based on the number of users or logical calls (e.g., estimating 250 channels for 250 concurrent callers), but your traffic pattern involves frequent transfers or forking, the actual monitored volume of un-mergeable CDR legs will be higher. The license tier you receive reflects the reviewed usage pattern to ensure the monitoring system does not lock due to exceeding the channel limit.
=== Effects When Locked ===


== What Happens When the License Limit is Exceeded? ==
{| class="wikitable"
|-
! Blocked !! Still Working
|-
| GUI access, Alerts, Reports, CSV exports || '''Sniffer continues recording all CDRs''' (data is NOT lost)
|}


When the channel count exceeds your license limit, VoIPmonitor has a grace period before locking:
=== Do I Need to Act Immediately After Receiving Alert Emails? ===


1. **3-Day Grace Period:** You can exceed the limit for up to 3 consecutive days without any blocking
If you received multiple '''VoIPmonitor license alert''' emails after exceeding the limit once:
2. **Day 4 onwards:** The system begins a lockdown process
3. **After 14 Days:** The GUI locks completely


=== Effects of a Locked GUI ===
{{Note|1='''No, you do NOT need to act immediately.''' A license upgrade is only necessary if the concurrent call limit is exceeded for '''3 consecutive days'''.}}


When the GUI becomes locked after exceeding the license limit for more than 14 consecutive days:
{{Tip|Receiving multiple emails from a single over-limit event is normal behavior and does not indicate a worsening problem. The system continues monitoring in the background during the grace period.}}


* **GUI becomes unusable:** You cannot access the web interface
== Resolving License Issues ==
* **Alerts are disabled:** No alert notifications will be sent
* **Reports are unavailable:** You cannot generate reports
* **CSV exports are blocked:** Data export functionality is disabled


=== What Still Works During Lock ===
=== Option 1: Upgrade License (Recommended) ===


'''Important:''' The sniffer continues to operate normally and record all CDRs to the database even when the GUI is locked. Your call data is not lost.
# Log in to [https://www.voipmonitor.org voipmonitor.org] → '''Services''' '''My services'''
# Click '''UPGRADE''' on your license → select new tier → complete checkout
# Download new <code>key.php</code> and install (see [[#License Key Location|License Key Location]])


== Resolving a License Lock ==
=== Option 2: Self-Service Temporary Increase ===


To unlock your VoIPmonitor GUI after it has been locked due to license limit overage:
For immediate relief without contacting support:


=== Option 1: Upgrade Your License ===
# GUI → '''Settings > License'''
# Click '''"Get License Key"''' button
# Receive '''14-day temporary increase'''


The recommended solution is to upgrade to a larger channel license:
{{Tip|The license check considers only the last 3 weeks of call data. After clicking "Get License Key", daily over-limit alerts stop for 14 days.}}


1. Contact VoIPmonitor support to upgrade your license to a higher channel limit
=== Option 3: Contact Support ===
2. Install the new license key
3. Restart the GUI service


=== Option 2: Increase License Limit (Temporary) ===
Support can:
* Provide temporary channel limit increase
* Investigate incorrect CDR counting
* Issue emergency 30-day trial license (for expired licenses due to billing issues)


If you have a higher tier license available but the limit is currently set lower:
=== Option 4: Delete CDRs (Destructive) ===


1. Update your license key configuration to increase the channel limit
{{Warning|1=This deletes all existing CDRs. Only use as last resort.}}
2. Restart the GUI service


=== Option 3: Remove and Re-compute CDRs ===
<syntaxhighlight lang="bash">
systemctl stop voipmonitor
mysql -u root -p voipmonitor -e "TRUNCATE TABLE cdr; TRUNCATE TABLE cdr_next_partition;"
systemctl start voipmonitor
</syntaxhighlight>


If you need to quickly unlock the GUI without upgrading:
To re-process from PCAP files afterward:
<syntaxhighlight lang="bash">
voipmonitor --config-file /etc/voipmonitor.conf --readpcapdir /var/spool/voipmonitor
</syntaxhighlight>
 
=== Trial Expiration ===
 
Before purchasing after trial expiration:


# Check if license already purchased: voipmonitor.org → '''Services''' → '''My services'''
# If purchased but not applied: Get <code>key.php</code> from order email and install it
# Only if no purchase exists: Buy via GUI (About > Buy License) or portal
=== HWID Mismatch Error ===
'''"license file key.php is for another hwid"''' occurs when hardware ID changed (migration, cloud instance recreation).
'''Solution:''' GUI → '''Settings > License''' → '''"Get License"''' button (auto-syncs with current HWID)
'''For frequent cloud instance recreation:''' Request '''domain-based licensing''' from support (binds to domain name instead of hardware ID).
=== "get hwid failed" Error ===
'''Problem:''' The GUI displays "get hwid failed" when attempting to update the license key.
'''Cause:''' The web server user cannot read or execute the Hardware ID binary.
'''Solution:'''
Test if the hwid binary works as the web server user:
<syntaxhighlight lang="bash">
su - www-data -s /bin/bash -c '/var/www/html/bin/hwid-x86_64'
</syntaxhighlight>
If this command fails with permission denied, fix the binary permissions:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# WARNING: This will delete all existing CDRs from the database
chmod +rx /var/www/html/bin/hwid-x86_64
# Make sure you have backups or can re-compute from PCAP files
</syntaxhighlight>
 
{{Note|Replace '''www-data''' with your web server user (e.g., '''apache''' on RHEL/Rocky systems).}}
 
=== After License Renewal ===
 
# GUI → '''Settings > License'''
# Click '''"Change license key"''' to expand options
# Click '''"Get license key"''' to fetch updated license
 
'''Manual method:''' Paste full license key (all lines: Expires, easycallerid, hwid, id, maxcalls, upgradeexpire) into the license text field.
 
== Monitoring Usage ==
 
=== Current Status ===
 
Check GUI footer or '''About/License''' page for active channels vs. license limit.
 
=== Historical Data ===
 
'''Tools > Concurrent Calls Stats''' shows maximum concurrent calls for last 14 days (averaged over 60-minute windows).
 
=== Notification Emails ===
 
To disable license notification emails:
 
# GUI → '''Settings > License'''
# Clear the email address field for license notifications
# Save changes


# Stop VoIPmonitor
{{Note|This only disables license-related emails (warnings, overage, expiration, lock). Other alerts continue normally.}}
systemctl stop voipmonitor
 
== License Key Management ==
 
=== License Key Location ===
 
<code>/var/www/html/voipmonitor/key.php</code>
 
=== Transferring to New System ===
 
# Copy <code>key.php</code> from old system to new system
# Restart GUI service
 
'''For concurrent operation''' (old + new during migration, or test/dev environments):
* Contact support to configure license for simultaneous multi-server use (preferred)
* Or obtain 30-day trial license for temporary system
 
{{Tip|For test/dev servers, contact support to reconfigure your existing license for multiple servers at no extra cost.}}


# Connect to MySQL and delete CDRs
=== AWS/Cloud Considerations ===
mysql -u root -p voipmonitor


# Run these commands in MySQL
{| class="wikitable"
TRUNCATE TABLE cdr;
|-
TRUNCATE TABLE cdr_next_partition;
! Operation !! HWID Changes? !! Action Required
-- Also truncate any cdr_partition_* tables
|-
TRUNCATE TABLE cdr_partition_YYYYMM;
| Stop & Start || Usually No || None
EXIT;
|-
| Reboot || No || None
|-
| Terminate & Launch New || Yes || New license key (use "Get License" button or contact support)
|-
| Auto-scaling Group || Yes per instance || Request domain-based licensing
|}


# Restart VoIPmonitor
'''AWS permission fix''' (for "Invalid or corrupted hwid" errors):
systemctl start voipmonitor
<syntaxhighlight lang="bash">
chmod 644 /dev/root
</syntaxhighlight>
</syntaxhighlight>


After deleting the CDRs and restarting, the GUI will recalculate the channel count from the remaining data. If the count is now within the license limit, the GUI will unlock.
== Subscription Terms ==
 
{| class="wikitable"
|-
! Term !! Meaning
|-
| '''Formal End Date''' || When your paid service period ends
|-
| '''Grace Period''' (20 days after) || For automatic renewal processing only—NOT extended access after cancellation
|}
 
{{Warning|1=If you cancel, access ends on the Formal End Date, not the grace period end.}}
 
'''Emergency access:''' Contact support for 30-day emergency trial license while resolving billing issues.
 
== Known Issue: Incorrect Channel Counting ==
 
{{Warning|1=Known bug: Some calls are incorrectly counted as two channels. Confirmed and escalated to development team.}}


'''Note:''' This is a destructive operation. Only use this if you can afford to lose historical CDR data.
'''Symptoms:'''
* License exceeded more frequently than expected
* Tools > Concurrent Calls Stats shows higher peaks than actual call patterns


=== Option 4: Re-compute CDRs from PCAP Files ===
'''Workaround:''' Contact support for manual channel limit increase (no upgrade required).


If you have PCAP files in your spool directory, you can re-compute CDRs after making changes:
== See Also ==


<syntaxhighlight lang="bash">
* [[Billing]] - Call cost calculation
# Stop VoIPmonitor
* [[Reports]] - Report configuration
systemctl stop voipmonitor
* [[GUI_Installation]] - Installation and upgrade procedures
* [[Sniffer_distributed_architecture|Client-Server Mode]] - Multi-sensor deployments


# Delete old CDRs (see Option 3 above)
=== How Legs Are Correlated ===


# Re-process PCAP files to regenerate CDRs with the new license settings
{| class="wikitable"
voipmonitor --config-file /etc/voipmonitor.conf --readpcapdir /var/spool/voipmonitor
|-
! Scenario !! Channels !! Explanation
|-
| Simple call: A → B || 1 || One CDR leg
|-
| Call ending with 487 (Request Terminated) || 0 || Excluded from counting
|-
| Call transfer: A → B → C (creates 2 legs) || 1+ || Legs correlated if same call context
|-
| Forking/parallel ring || Multiple || One per destination leg
|-
| Same call captured by 2 sensors || 1 || Deduplicated if last 6 digits match (±10s window)
|}


# After processing completes, restart VoIPmonitor normally
'''How legs are correlated for license counting:''' CDR legs are treated as a single channel when:
systemctl start voipmonitor
* Legs start within '''5 seconds''' of each other AND
</syntaxhighlight>
* '''Last 6 digits''''' of BOTH caller AND called numbers match


== Monitoring Your Channel Usage ==
This means a single logical call may create multiple CDR legs on the network (e.g., via SBC/B2BUA with generated new Call-IDs) but still count as '''one license channel'''.


Check your current channel usage and license limit:
'''Cross-sensor deduplication:''' When the same call is captured by multiple sensors, it's deduplicated if the last 6 digits of caller and called numbers match within a ±10-second window. Geo-redundant captures count as one channel.


1. Log in to the VoIPmonitor GUI
2. Check the footer or the **About/License** page (often found under the Gear icon or User menu)
3. Look for **Active channels** vs **License limit**


If you consistently hit the limit during peak hours, consider upgrading your license to avoid lock situations.


== License Key File Location ==


The license key file is typically located at:


<code>/var/www/html/voipmonitor/key.php</code>


This file contains your license details including the channel limit. Updates to this file (e.g., when upgrading your license) should be provided by VoIPmonitor support.


== Related Topics ==


* [[Billing]] - Learn about billing features and call cost calculation
* [[CDR_Summary]] - Pre-aggregated CDR data for faster queries
* [[Reports]] - Configure and generate VoIPmonitor reports


== AI Summary for RAG ==
== AI Summary for RAG ==


'''Summary:''' VoIPmonitor channel licensing limits the number of concurrent calls processed by the GUI, with licenses sold in channel caps (e.g., 100, 500, 1000 channels). What is a channel: A channel represents a single, un-mergeable CDR leg tracked and processed by VoIPmonitor. This is a critical distinction: one logical phone conversation can generate multiple separate CDR leg records that VoIPmonitor cannot automatically merge. Each un-mergeable leg is counted as an independent channel for licensing purposes. Basic channel counting: For typical scenarios, the GUI counts one channel per call, merging CDRs from all legs if caller and called numbers share at least the last 6 digits. When one logical call consumes multiple channels: Common scenarios include call transfers (attended or blind), forking (parallel ringing to multiple destinations), re-invites (media session renegotiation), and complex SIP routing (multiple proxies, B2BUA). Example: Simple call Phone A to Phone B = 1 channel; Complex call Phone A to Phone B which forwards to Phone C = 2 channels if the transfer creates two distinct un-mergeable legs. Why license may require more channels than expected: If you request a license based on logical calls but your traffic pattern involves frequent transfers or forking, the actual monitored volume of un-mergeable CDR legs will be higher. The license tier reflects the reviewed usage pattern. Exceeding the limit consequences: 3-day grace period allows exceeding limit without block; after 3 consecutive days over limit, lockdown process begins; after 14 days total, GUI locks completely. When locked, GUI, alerts, reports, and CSV exports become unusable. The sniffer continues recording all CDRs to database even while locked (sniffer does NOT stop). Resolution options: (1) Upgrade license to higher channel limit (recommended), (2) Increase license limit if higher tier available, (3) Remove and re-compute CDRs from database (destructive - TRUNCATE TABLE cdr and cdr_next_partition, then restart), (4) Re-compute CDRs from PCAP files using --readpcapdir. Monitor usage: check GUI footer or About/License page (Gear icon or User menu) for Active channels vs License limit. License key file location: /var/www/html/voipmonitor/key.php (provided by VoIPmonitor support).
'''Summary:''' VoIPmonitor uses channel licensing to limit concurrent calls processed by the GUI. Key concepts: (1) A channel = one un-mergeable CDR leg (transfers, forking, re-invites can create multiple legs from one call). Calls ending with 487 (Request Terminated) are excluded. (2) Distributed deployments: ONE license covers ALL sensors connecting to a single central GUI+DB. Deduplication occurs if last 6 digits of caller/called numbers match within ±10s window. (3) Exceeding limits: 3-day grace period, then lockdown process, GUI locks at day 14. Sniffer continues recording during lock. (4) Resolution options: Upgrade license, self-service 14-day temporary increase via "Get License Key" button (Settings > License), contact support for temporary increase or emergency trial, or delete CDRs (destructive). (5) Monitor usage via GUI footer or Tools > Concurrent Calls Stats (14-day history). (6) License transfer: Copy key.php to new system; contact support for concurrent multi-server use. (7) HWID mismatch: Use "Get License" button to re-sync; request domain-based licensing for frequent cloud instance recreation. (8) AWS: Stop/Start preserves HWID; Terminate/Launch changes it. Use chmod 644 /dev/root for permission issues. (9) Subscription terms: Formal End Date = service ends; Grace Period = renewal processing only. (10) Known bug: Some calls incorrectly counted as two channels—contact support for temporary limit increase.


'''Keywords:''' channel license, concurrent calls, license limit, GUI lock, license lock, exceed limit, grace period, 14 days lock, unlock GUI, upgrade license, CDR merging, un-mergeable CDR leg, CDR leg, logical call vs CDR leg, call transfer, attended transfer, blind transfer, forking, parallel ringing, re-invite, complex SIP routing, B2BUA, multiple channels per call, one conversation multiple channels, channel definition, what is a channel, channel meaning, caller called numbers, 6 digits, channel count per call, active channels, license key key.php, re-compute CDR, PCAP restore, sniffer continues recording, GUI locked, alerts disabled, reports unavailable, CSV export blocked
'''Keywords:''' channel license, concurrent calls, license limit, GUI lock, grace period, 14 days lock, 3 consecutive days, unlock GUI, upgrade license, CDR leg, un-mergeable CDR, call transfer, forking, re-invite, distributed licensing, multi-server, multiple sensors, channel aggregation, deduplication, last 6 digits, license transfer, HWID mismatch, domain-based licensing, license renewal, formal end date, grace period end date, emergency trial license, Get License button, Get License Key button, key.php, Tools Concurrent Calls Stats, temporary license increase, 14-day temporary license, self-service license increase, incorrect channel counting, known bug, test server, dev server, AWS, EC2, cloud instances, hardware ID, chmod 644 /dev/root, license notification emails, disable license emails, 487 Request Terminated


'''Key Questions:'''
'''Key Questions:'''
* What is a channel in VoIPmonitor licensing?
* What is a channel in VoIPmonitor licensing?
* What constitutes a channel in VoIPmonitor licensing?
* Can one call consume multiple license channels?
* How does VoIPmonitor define a channel for licensing?
* What happens when I exceed the channel license limit?
* Is a channel the same as one phone call in VoIPmonitor?
* How do I unlock my VoIPmonitor GUI after license lock?
* What is the difference between a logical call and a CDR leg?
* How do I get a temporary license increase without contacting support?
* Can one logical phone conversation use multiple license channels?
* How does licensing work for distributed/multi-server deployments?
* When does one call consume more than one license channel?
* Do I need a separate license for each sensor?
* What happens when you transfer a call - does it count as one or multiple channels?
* How do I check my channel usage vs license limit?
* Do call forking and re-invites affect channel count in VoIPmonitor?
* How do I transfer a license to a new system?
* Does VoIPmonitor count each un-mergeable CDR leg as a separate channel?
* Can I use my existing license on a test or development server?
* Why did I need more channels in my license than the number of concurrent calls I expected?
* How do I fix "license file key.php is for another hwid" error?
* Why does my license have more channels than the number of users I estimated?
* What is domain-based licensing?
* How do call transfers affect channel counting in VoIPmonitor licensing?
* How do I refresh my license after renewal?
* What scenarios cause one call to consume multiple channels?
* What happens to my VoIPmonitor license when I terminate an AWS EC2 instance?
* What happens when I exceed the channel license limit in VoIPmonitor?
* How do I disable license notification emails?
* How many days can I exceed the license limit before the GUI locks?
* Why is my license showing higher channel usage than expected?
* Does VoIPmonitor stop recording CDRs when the license limit is exceeded?
* Does the sniffer stop recording when the GUI is locked?
* How do I unlock my VoIPmonitor GUI after the license limit lock?
* What is the difference between formal end date and grace period?
* What happens to CDRs when the GUI is locked due to license overage?
* How do I check my channel usage vs license limit in VoIPmonitor?
* Can I re-compute CDRs to fix a license lock without upgrading?
* What is the grace period for exceeding the VoIPmonitor channel license?
* Do I have to upgrade my license if the GUI is locked?
* How does VoIPmonitor count channels for licensing?
* How are CDRs merged for channel counting purposes?
* Does the sniffer stop when the license limit is reached?
* What functionality is disabled when the GUI is locked?
* How long can I exceed the channel limit before locking?
* Where is the VoIPmonitor license key file located?
* How do I upgrade my VoIPmonitor channel license?
* Can I delete CDRs to unlock the GUI temporarily?
* Does VoIPmonitor have a trial period for exceeding licenses?

Latest revision as of 02:20, 10 January 2026


This page explains VoIPmonitor channel licensing: what counts as a channel, what happens when limits are exceeded, and how to resolve license issues.

Understanding Channel Licensing

What is a Channel License?

A channel license limits concurrent calls processed by the VoIPmonitor GUI. Commercial licenses specify a channel cap (e.g., 100, 500, 1000 channels).

ℹ️ Note: Key distinction: A channel is a single, un-mergeable CDR leg—not necessarily one logical call. Complex scenarios (transfers, forking, re-invites) can create multiple CDR legs from one conversation.

What Counts as a Channel?

Scenario Channels Explanation
Simple call: A → B 1 One CDR leg
Call ending with 487 (Request Terminated) 0 Excluded from counting
Call transfer: A → B → C (creates 2 legs) 2 Each un-mergeable leg counts
Forking/parallel ring Multiple One per destination leg
Same call captured by 2 sensors 1 Deduplicated if last 6 digits match (±10s window)

Deduplication logic: The GUI deduplicates CDRs across sensors if the last 6 digits of caller and called numbers match within a ±10-second window. This means geo-redundant captures count as one channel.

Distributed Deployments

For multi-sensor architectures:

  • One license covers all sensors connecting to a single central GUI+DB
  • Channels are aggregated across all sensors, not multiplied per sensor
  • Same call captured by multiple sensors is deduplicated automatically

Example: Sensors in New York, London, and Tokyo connecting to Frankfurt GUI = ONE license sized for total concurrent calls across all sites.

For deployment details, see Client-Server Mode.

License Limit Exceeded

Timeline

Effects When Locked

Blocked Still Working
GUI access, Alerts, Reports, CSV exports Sniffer continues recording all CDRs (data is NOT lost)

Do I Need to Act Immediately After Receiving Alert Emails?

If you received multiple VoIPmonitor license alert emails after exceeding the limit once:

ℹ️ Note: No, you do NOT need to act immediately. A license upgrade is only necessary if the concurrent call limit is exceeded for 3 consecutive days.

💡 Tip: Receiving multiple emails from a single over-limit event is normal behavior and does not indicate a worsening problem. The system continues monitoring in the background during the grace period.

Resolving License Issues

Option 1: Upgrade License (Recommended)

  1. Log in to voipmonitor.orgServicesMy services
  2. Click UPGRADE on your license → select new tier → complete checkout
  3. Download new key.php and install (see License Key Location)

Option 2: Self-Service Temporary Increase

For immediate relief without contacting support:

  1. GUI → Settings > License
  2. Click "Get License Key" button
  3. Receive 14-day temporary increase

💡 Tip: The license check considers only the last 3 weeks of call data. After clicking "Get License Key", daily over-limit alerts stop for 14 days.

Option 3: Contact Support

Support can:

  • Provide temporary channel limit increase
  • Investigate incorrect CDR counting
  • Issue emergency 30-day trial license (for expired licenses due to billing issues)

Option 4: Delete CDRs (Destructive)

⚠️ Warning: This deletes all existing CDRs. Only use as last resort.

systemctl stop voipmonitor
mysql -u root -p voipmonitor -e "TRUNCATE TABLE cdr; TRUNCATE TABLE cdr_next_partition;"
systemctl start voipmonitor

To re-process from PCAP files afterward:

voipmonitor --config-file /etc/voipmonitor.conf --readpcapdir /var/spool/voipmonitor

Trial Expiration

Before purchasing after trial expiration:

  1. Check if license already purchased: voipmonitor.org → ServicesMy services
  2. If purchased but not applied: Get key.php from order email and install it
  3. Only if no purchase exists: Buy via GUI (About > Buy License) or portal

HWID Mismatch Error

"license file key.php is for another hwid" occurs when hardware ID changed (migration, cloud instance recreation).

Solution: GUI → Settings > License"Get License" button (auto-syncs with current HWID)

For frequent cloud instance recreation: Request domain-based licensing from support (binds to domain name instead of hardware ID).

"get hwid failed" Error

Problem: The GUI displays "get hwid failed" when attempting to update the license key.

Cause: The web server user cannot read or execute the Hardware ID binary.

Solution:

Test if the hwid binary works as the web server user:

su - www-data -s /bin/bash -c '/var/www/html/bin/hwid-x86_64'

If this command fails with permission denied, fix the binary permissions:

chmod +rx /var/www/html/bin/hwid-x86_64

ℹ️ Note: Replace www-data with your web server user (e.g., apache on RHEL/Rocky systems).

After License Renewal

  1. GUI → Settings > License
  2. Click "Change license key" to expand options
  3. Click "Get license key" to fetch updated license

Manual method: Paste full license key (all lines: Expires, easycallerid, hwid, id, maxcalls, upgradeexpire) into the license text field.

Monitoring Usage

Current Status

Check GUI footer or About/License page for active channels vs. license limit.

Historical Data

Tools > Concurrent Calls Stats shows maximum concurrent calls for last 14 days (averaged over 60-minute windows).

Notification Emails

To disable license notification emails:

  1. GUI → Settings > License
  2. Clear the email address field for license notifications
  3. Save changes

ℹ️ Note: This only disables license-related emails (warnings, overage, expiration, lock). Other alerts continue normally.

License Key Management

License Key Location

/var/www/html/voipmonitor/key.php

Transferring to New System

  1. Copy key.php from old system to new system
  2. Restart GUI service

For concurrent operation (old + new during migration, or test/dev environments):

  • Contact support to configure license for simultaneous multi-server use (preferred)
  • Or obtain 30-day trial license for temporary system

💡 Tip: For test/dev servers, contact support to reconfigure your existing license for multiple servers at no extra cost.

AWS/Cloud Considerations

Operation HWID Changes? Action Required
Stop & Start Usually No None
Reboot No None
Terminate & Launch New Yes New license key (use "Get License" button or contact support)
Auto-scaling Group Yes per instance Request domain-based licensing

AWS permission fix (for "Invalid or corrupted hwid" errors):

chmod 644 /dev/root

Subscription Terms

Term Meaning
Formal End Date When your paid service period ends
Grace Period (20 days after) For automatic renewal processing only—NOT extended access after cancellation

⚠️ Warning: If you cancel, access ends on the Formal End Date, not the grace period end.

Emergency access: Contact support for 30-day emergency trial license while resolving billing issues.

Known Issue: Incorrect Channel Counting

⚠️ Warning: Known bug: Some calls are incorrectly counted as two channels. Confirmed and escalated to development team.

Symptoms:

  • License exceeded more frequently than expected
  • Tools > Concurrent Calls Stats shows higher peaks than actual call patterns

Workaround: Contact support for manual channel limit increase (no upgrade required).

See Also

How Legs Are Correlated

Scenario Channels Explanation
Simple call: A → B 1 One CDR leg
Call ending with 487 (Request Terminated) 0 Excluded from counting
Call transfer: A → B → C (creates 2 legs) 1+ Legs correlated if same call context
Forking/parallel ring Multiple One per destination leg
Same call captured by 2 sensors 1 Deduplicated if last 6 digits match (±10s window)

How legs are correlated for license counting: CDR legs are treated as a single channel when:

  • Legs start within 5 seconds of each other AND
  • Last 6 digits of BOTH caller AND called numbers match

This means a single logical call may create multiple CDR legs on the network (e.g., via SBC/B2BUA with generated new Call-IDs) but still count as one license channel.

Cross-sensor deduplication: When the same call is captured by multiple sensors, it's deduplicated if the last 6 digits of caller and called numbers match within a ±10-second window. Geo-redundant captures count as one channel.





AI Summary for RAG

Summary: VoIPmonitor uses channel licensing to limit concurrent calls processed by the GUI. Key concepts: (1) A channel = one un-mergeable CDR leg (transfers, forking, re-invites can create multiple legs from one call). Calls ending with 487 (Request Terminated) are excluded. (2) Distributed deployments: ONE license covers ALL sensors connecting to a single central GUI+DB. Deduplication occurs if last 6 digits of caller/called numbers match within ±10s window. (3) Exceeding limits: 3-day grace period, then lockdown process, GUI locks at day 14. Sniffer continues recording during lock. (4) Resolution options: Upgrade license, self-service 14-day temporary increase via "Get License Key" button (Settings > License), contact support for temporary increase or emergency trial, or delete CDRs (destructive). (5) Monitor usage via GUI footer or Tools > Concurrent Calls Stats (14-day history). (6) License transfer: Copy key.php to new system; contact support for concurrent multi-server use. (7) HWID mismatch: Use "Get License" button to re-sync; request domain-based licensing for frequent cloud instance recreation. (8) AWS: Stop/Start preserves HWID; Terminate/Launch changes it. Use chmod 644 /dev/root for permission issues. (9) Subscription terms: Formal End Date = service ends; Grace Period = renewal processing only. (10) Known bug: Some calls incorrectly counted as two channels—contact support for temporary limit increase.

Keywords: channel license, concurrent calls, license limit, GUI lock, grace period, 14 days lock, 3 consecutive days, unlock GUI, upgrade license, CDR leg, un-mergeable CDR, call transfer, forking, re-invite, distributed licensing, multi-server, multiple sensors, channel aggregation, deduplication, last 6 digits, license transfer, HWID mismatch, domain-based licensing, license renewal, formal end date, grace period end date, emergency trial license, Get License button, Get License Key button, key.php, Tools Concurrent Calls Stats, temporary license increase, 14-day temporary license, self-service license increase, incorrect channel counting, known bug, test server, dev server, AWS, EC2, cloud instances, hardware ID, chmod 644 /dev/root, license notification emails, disable license emails, 487 Request Terminated

Key Questions:

  • What is a channel in VoIPmonitor licensing?
  • Can one call consume multiple license channels?
  • What happens when I exceed the channel license limit?
  • How do I unlock my VoIPmonitor GUI after license lock?
  • How do I get a temporary license increase without contacting support?
  • How does licensing work for distributed/multi-server deployments?
  • Do I need a separate license for each sensor?
  • How do I check my channel usage vs license limit?
  • How do I transfer a license to a new system?
  • Can I use my existing license on a test or development server?
  • How do I fix "license file key.php is for another hwid" error?
  • What is domain-based licensing?
  • How do I refresh my license after renewal?
  • What happens to my VoIPmonitor license when I terminate an AWS EC2 instance?
  • How do I disable license notification emails?
  • Why is my license showing higher channel usage than expected?
  • Does the sniffer stop recording when the GUI is locked?
  • What is the difference between formal end date and grace period?