FAQ
Quick answers to frequently asked questions. For detailed troubleshooting, see Sniffer Troubleshooting and GUI Troubleshooting.
| General | Configuration | Licensing | Audio & Files |
|---|---|---|---|
General & Architecture
- How does VoIPmonitor scale for high traffic?
- For hardware recommendations and optimization of CPU, Disk I/O, and Database bottlenecks, see Scaling and Performance Tuning.
- How do I manage disk space and database retention?
- See Data Cleaning and Retention for PCAP cleanup (cleanspool) and CDR retention settings.
- Can I run multiple GUI instances for redundancy?
- Yes. Requirements:
- All GUIs connect to the same database
- PCAP storage accessible via NFS/SSHFS
- Same
key.phplicense file on each GUI
⚠️ Warning: CRITICAL: Enable the cron job on only ONE GUI instance. Multiple active cron jobs cause duplicate alerts and reports.
# Disable on secondary GUIs: # * * * * * root php /var/www/html/php/run.php cron
- Can one GUI display data from multiple sensors?
- Yes. Use the Client-Server architecture (v20+):
- Local Processing (
packetbuffer_sender=no): Sensors analyze locally, send CDRs only - Packet Mirroring (
packetbuffer_sender=yes): Sensors forward raw packets to central server
- Local Processing (
- See Distributed Architecture for full configuration.
Platform Support
- What architectures are supported?
Component Supported Notes Sensor x86 (32/64-bit), ARMv7/v8 Compile from source for ARM64 GUI x86 only Not supported on ARM64/aarch64
- Can I run VoIPmonitor on AWS?
- Yes. For license detection:
chmod 644 /dev/root- Stop/Start instance: HWID usually preserved
- Terminate/Launch new: HWID changes, requires new license key
- Is Docker supported?
- Yes, but ensure
/proc/self/cgroupcontent doesn't change between restarts (affects HWID stability).
- Are cloud databases (RDS, Azure) supported?
- Yes. Requires MySQL-compatible database with
SUPERprivilege. If unavailable, set: log_bin_trust_function_creators = ON
- Why is mysql_native_password deprecated?
- PHP 7.4.4+ supports
caching_sha2_passwordnatively. Upgrade PHP and reinstall IonCube Loader. See GUI Installation.
CDR View
- What does the red icon mean?
- Indicates which party sent the
BYEmessage (ended the call).
- How do I filter with regular expressions?
- Prefix with
R(). Example:R(^500[0-9]{4}$)
- How do I exclude values from filters?
- Use
!prefix:!123456– exclude specific number!00420%– exclude prefix222%, !223%– include 222*, exclude 223*
- How do I search multi-word strings in custom headers?
- Use underscore for spaces:
%normal_call_clearing%
- Why are caller/called numbers swapped?
- VoIPmonitor extracts from SIP headers (
From/To). Checkdestination_number_modesetting. See CDR Documentation.
- Why is there a delay before CDRs appear?
- Database can't keep up. See SQL Queue Troubleshooting.
Protocols & Ports
- Which protocols are supported?
Supported Not Supported SIP, Skinny/SCCP, MGCP, SS7/ISUP, Diameter, RTCP H.323, MEGACO/H.248
- Why don't I see SIP on ports other than 5060?
- Configure additional ports in
voipmonitor.conf: sipport = 5060,5080,8088,8089
- See sipport configuration.
- How do I enable IPv6?
- Set
ipv6=yesin config. Existing databases require migration. See IPv6 Guide.
- How do I capture REGISTER messages?
- Set
sip-register=yes. See REGISTER Monitoring.
- How do I capture DTMF?
dtmf2db = yes # RFC2833 and SIP INFO inbanddtmf = yes # G.711 only, CPU intensive
RTP & Quality Metrics
- Why are quality metrics (MOS, jitter) missing for one call leg?
- Usually NAT mismatch – SDP announces different IP than actual RTP source.
- Solution: Configure
nataliasmapping: # Map public IP to private IP natalias = 1.2.3.4 10.0.0.100
- See NAT Configuration for details.
- Why is RTP not correctly associated after moving SIP/RTP to different NICs?
- Enable memory blocks for multi-interface scenarios:
auto_enable_use_blocks = yes
- Why do recordings mix audio from different calls?
- Enable SDP verification on both sides:
rtp_check_both_sides_by_sdp = yes
Licensing
- How are license channels calculated?
- Based on maximum concurrent calls (averaged hourly, checked daily). View in Tools → System Status → Concurrent calls.
- Calls are deduplicated if last 6 digits of caller/called match within ±10 seconds
- 487 Request Terminated responses are NOT counted
- What happens if I exceed my limit?
Duration Effect 1-2 days Warning only, self-clearing 3+ consecutive days GUI blocked
- How do I unblock a locked GUI?
- In Settings > License, click get/update license key – this grants a temporary increase automatically.
- I get "Invalid or corrupted hwid" error. What do I do?
- Common causes:
- Incomplete key: Copy the entire multi-line license key, not just the first line
- Wrong field: Use "License token" for short tokens, "License key" for full multi-line keys
- AWS: Run
chmod 644 /dev/root - Docker: Ensure container ID doesn't change on restart
- Trial on different machine: Contact support for a pre-generated key
- I get "license file key.php is for another hwid" after hardware change?
- In Settings > License, click get/update license key then recheck to fetch new key for current HWID.
- I get "Bad Key Content" error?
- You're using the wrong field. Short tokens go in "License token" field, then click "get/update license key".
- How do I transfer a license to a new server?
-
- Get token from old GUI (Settings > License) or customer portal
- On new GUI: paste token, click get/update license key
- IMPORTANT: Disable cron on old server to prevent conflicts
- Can I use one license on multiple servers (test/dev)?
- Yes. Contact support to reconfigure your token for multiple HWIDs.
- What are the available license tiers?
- 10, 35, 50, 100, 150, 200, 350, 500, 750, 1000, 1250, 1500, 1750, 2000
Audio & PCAP Files
- Why does call recording stop after exactly 4 hours?
- Default
absolute_timeout = 14400(4 hours). Increase or disable: absolute_timeout = 43200 # 12 hours # absolute_timeout = 0 # Unlimited (watch memory usage)
- Why are WAV files missing for non-G.711 codecs (Opus, G.729)?
- Requires
vmcodecsbinary from GUI package. Install GUI, then restart sensor.
- Why is audio playback garbled?
- DTLS-SRTP encryption. Configure SSL Key Logger for decryption. See TLS/SRTP Decryption.
- Why can't I download PCAP files?
- Files deleted by retention limits. Check:
grep maxpoolsize /etc/voipmonitor.conf grep maxpooldays /etc/voipmonitor.conf
- Increase limits and restart. See Data Cleaning.
- Why does downloaded PCAP have fewer packets than GUI shows?
- Pcap deduplication before download is enabled. Disable in Settings > System Configuration > Advanced.
- How do I bulk download audio/PCAP files?
- Use GUI API. See Bulk Download Guide.
- Can VoIPmonitor detect voicemail calls?
- No automatic detection by analyzing RTP audio. Workarounds:
- Filter by voicemail pilot number
- Track SIP 302 redirects (
save_sip_history = all) - Capture custom SIP headers your PBX adds
- How do I convert WAV to OGG?
cd /var/spool/voipmonitor find ./ -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -vn -acodec libvorbis "${0%.wav}.ogg"' {} \; find ./ -name '*.wav' -exec rm -f {} \; chown -R www-data:www-data ./
- How do I enable live call listening?
- Edit
configuration.php: define('DISABLE_LIVEPLAY', false);
- See GUI Configuration for details.
Administration
- How do I reset admin password?
- See User Management.
- How do I fix GUI after PHP/OS upgrade?
- Re-run installation. See Re-install GUI.
- How do I enable debug mode?
- Add
?debug=31415to URL. See GUI Debug Mode.
- How do I fix "Unknown column" errors after database upgrade?
- Access:
https://your-gui/admin.php?check_tables=1
ℹ️ Note: Do NOT use "Check MySQL Schema" button in Tools - that's for millisecond precision only.
- Can I run multiple sensor instances on one host?
- Yes. See Multiple Instances Guide.
Compliance
PCI Compliance
- How do I disable audio recording?
savertp = header # Headers only, no audio savertp = no # No RTP at all dtmf2db = no # No DTMF to database dtmf2pcap = no # No DTMF to PCAP
- How do I selectively record calls?
- Use Capture Rules to enable/disable recording based on IP, number, or SIP headers.
- How do I disable live listening?
-
- Settings > System Configuration > Advanced: Enable "Hide live play" and "Hide WAV play"
- Edit
configuration.php:define('DISABLE_LIVEPLAY', true); - Edit
config/system_configuration.php:define('DISABLE_LIVE_SNIFFER', true);
CALEA Compliance
- How do I export data to CALEA systems?
- Use GUI API methods
getPCAPandgetVoiceRecording. See CALEA Integration Guide.
See Also
- Sniffer Troubleshooting - packet capture, missing CDRs
- GUI Troubleshooting - HTTP 500, database issues
- Sniffer Configuration Reference
- Licensing Details
- Data Cleaning and Retention
AI Summary for RAG
Summary: VoIPmonitor FAQ organized by topic. General: scaling (link to Scaling page), multiple GUI instances (requires same DB, NFS storage, single cron job to prevent duplicate alerts), client-server architecture for multi-sensor. Platform: x86 required for GUI (ARM64 not supported), AWS/Docker/cloud DB supported. CDR: regex filters with R() prefix, exclusion with ! prefix, underscore for multi-word search. Protocols: SIP, Skinny/SCCP, MGCP, SS7, Diameter supported; H.323 and MEGACO NOT supported. RTP: natalias for NAT mismatch causing missing quality metrics, auto_enable_use_blocks for multi-interface, rtp_check_both_sides_by_sdp for mixed audio. Licensing: concurrent calls averaged hourly, 3+ consecutive days over limit locks GUI, get/update button for temporary increase, common HWID errors (incomplete key, wrong field, AWS chmod, Docker cgroup). Audio: absolute_timeout default 4 hours (14400s), vmcodecs needed for non-G.711, DTLS-SRTP causes garbled audio. Admin: admin.php?check_tables=1 for schema errors after DB upgrade. Compliance: savertp=header/no for PCI, capture rules for selective recording, DISABLE_LIVEPLAY for hiding playback.
Keywords: faq, license, hwid, concurrent calls, absolute_timeout, natalias, auto_enable_use_blocks, rtp_check_both_sides_by_sdp, vmcodecs, savertp, capture rules, multiple gui, cron duplicate alerts, admin.php check_tables, schema error, H.323 not supported, MEGACO not supported, ARM64 not supported, sipport, ipv6, dtmf, PCI compliance, CALEA
Key Questions:
- How do I fix "Invalid or corrupted hwid" license error?
- Why does call recording stop after 4 hours?
- Why are quality metrics missing for one call leg?
- How do I run multiple GUI instances without duplicate alerts?
- What protocols does VoIPmonitor support (H.323? MEGACO?)?
- How do I fix "Unknown column" database errors after upgrade?
- Can VoIPmonitor automatically detect voicemail calls?
- How do I transfer my license to a new server?
- Why is audio playback garbled or distorted?
- How do I disable audio recording for PCI compliance?
- Does VoIPmonitor GUI run on ARM64?