FAQ: Difference between revisions

From VoIPmonitor.org
Jump to navigation Jump to search
No edit summary
 
(28 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Scalability =
{{DISPLAYTITLE:FAQ & Common Issues}}
== How does voipmonitor scale? ==
[[Category:GUI manual]]


Read this: [[Scaling]]
'''This page provides answers to frequently asked questions and solutions for common issues encountered during the configuration and operation of VoIPmonitor.'''


== General & Scalability ==


== How to clean old data and database? ==
;How does VoIPmonitor scale for high traffic?
:For a detailed guide on performance tuning, hardware recommendations, and optimizing the three main system bottlenecks (CPU, Disk I/O, Database), please refer to our comprehensive [[Scaling|Scaling and Performance Tuning guide]].


Read this: [[Data Cleaning]]
;How do I manage disk space and database size?
:VoIPmonitor uses separate mechanisms for cleaning PCAP files from the filesystem and CDRs from the database. For a complete walkthrough, see the [[Data_Cleaning|Data Cleaning and Retention guide]].


= CDR =
== CDR (Call Detail Record) View ==
== What is the red small icon in CDR? ==
[[File:Cdrcolumnsredflag.png]]
The red icon in those columns signalize which side sends BYE first.


== How to interpret two charts in the cdr detail? ==
;What does the small red icon in the CDR view mean?
:The red icon ([[File:Cdrcolumnsredflag.png]]) indicates which party in the call sent the `BYE` message first, effectively ending the call.


See this: [http://www.voipmonitor.org/downloads/graph_cheat_sheet.pdf Graph cheat sheet]
;How can I use regular expressions to filter calls?
:The filter bar in the CDR view supports regular expressions. This is useful for finding malformed or unusual data. For example, to find all calls where the caller number contains non-numeric characters, you can use a negative match:
:<code>!R(^[+]?[0-9]+$)</code>


= Supported architectures =
;Why is there a delay between when a call ends and when it appears in the CDR view?
:This delay is typically caused by the database's inability to keep up with the rate of incoming calls, creating a queue of SQL queries on the sensor. For solutions, please read:
:* [[SQL queue is growing in a peaktime]]
:* [[Minimizing Delay Between Call End and CDR Database Storage]]


== What architectures are tested? ==
;How can I enable millisecond precision for timestamps in the CDR view?
:By default, timestamps are stored with second precision. To enable millisecond precision, please follow the steps in this guide: [[How_to_enable_milliseconds_precision]].


x86 32 and 64, ARMv5 - (if you have error with missing "__sync_fetch_and_sub_8" you have to upgrade GCC compiler to version 4.8)
== Platform & Environment Support ==


= Configuration =
;What hardware architectures does the sensor support?
== Why I do not see sip packets other then port 5060? ==
:The sensor is tested and supported on '''x86 (32/64-bit)''' and '''ARMv7/v8''' architectures. If you encounter an error like `__sync_fetch_and_sub_8` on an older ARM device, you may need to upgrade your GCC compiler to version 4.8 or newer.
Voipmonitor sniffer by default sniffs packets only on port 5060 from or to. If you need to sniff more SIP ports you need to specify it in configuration. Please see this: [[Sniffer_configuration#sipport]]


== How to disable timezone check ==
;Can I run VoIPmonitor on AWS?
:Yes, AWS is supported. For the license check to function correctly on some Amazon Machine Images (AMIs), you may need to adjust permissions on the root device file.
:<pre>chmod 644 /dev/root</pre>


Go to settings -> System configuration -> Advanced section -> Hide timezone information -> Enable and set to TRUE
;Is Docker or other container environments supported?
:Yes, the GUI and sensor can run in a containerized environment. However, you must ensure that the content of `/proc/self/cgroup` does not change with every container restart. If it does, the hardware ID will change, and you will be prompted to update your license key after each reboot.


= Licensing =
;Are hosted/cloud databases (like Amazon RDS, Azure Database) supported?
== How to know how many license channels do we need? ==
:Yes, VoIPmonitor requires a MySQL-compatible database (MySQL, MariaDB, Percona) and can connect to it regardless of its location. However, the database user requires `SUPER` privilege for creating functions and triggers.


You can have unlimited number of phones / endpoints but you need to buy channels according to your maximum number of calls at the same time during peak.
;What if my cloud database (like Azure) does not grant `SUPER` privilege?
:If `SUPER` privilege is not available, you must manually set the following server variables in your cloud database configuration console:


Go to GUI -> Tools -> concurrent calls which will show peaks past 14 days. All multiple legs are already aggregated into single channel so you do not need to buy extra channels in case you have two or more CDR per one real call. The intention is to scale pricing based on real concurrent calls not accounting multiple legs of the same calls.
<pre>
log_bin_trust_function_creators = ON
</pre>


== How does having multiple sensors affect the licensing? If I add a 2-3 remote sensors to the system, would they use the same license pool? ==
:Additionally, ensure your database instance has sufficient performance (e.g., at least 1100 IOPS for 5000 concurrent calls on Azure).


Central GUI calculates connected channels for the whole database but groups all calls legs as a single call so multiple legs are not counted twice etc.  
;Why is packet mirroring not working on VMWare ESXi 6.5+?
:This is often caused by the vSwitch port group being set to VLAN 4095, which activates Virtual Guest Tagging (VGT). In this mode, the guest OS is expected to handle VLAN tags, which can disrupt sniffing.
:*'''Solution:''' Edit the port group settings in vSphere and change the VLAN ID to a specific number (e.g., 0 or your monitoring VLAN ID) instead of 4095.


== accident / unwanted spikes ==
== Configuration & Features ==


If your license is blocked due to high spike (accident / hack whatever) you need to delete those CDR from database via the GUI (filter those calls and in toolbar use delete buttons) and then try to unblock the license or run "php /var/www/html/php/run.php saveCallStatistics". If you do not want to delete them and you will have higher channels than your license for three consecutive days your license will be blocked after 14 days - you need to upgrade to higher channels license which you can do on voipmonitor.org portal.
;Why don't I see SIP packets on ports other than 5060?
:By default, the sensor only listens for SIP traffic on UDP/TCP port 5060. To monitor additional SIP ports, you must explicitly define them in `voipmonitor.conf`. See the [[Sniffer_configuration#sipport|sipport configuration guide]].


= DTMF =
;How do I enable IPv6 traffic processing?
:By default, IPv6 is disabled. To enable it on a new installation, set `ipv6=yes` in `voipmonitor.conf`. If you have existing IPv4 data, enabling IPv6 requires a database migration. For detailed instructions, please see the [[How_to_enable_ipv6_processing|IPv6 Enabling Guide]].


You can enable DTMF RFC2833 or DTMF SIP INFO in voipmonitor.conf by enabling:
;How do I capture and view SIP `REGISTER` messages?
:By default, `REGISTER` messages are not stored. To enable this, set `sip-register=yes` in `voipmonitor.conf`. For details on how active and failed registrations are stored and how to query them via the API, see the [[Register|documentation on REGISTER monitoring]].


dtmf2db = yes
;How can I capture DTMF tones?
:You can enable DTMF capture in `voipmonitor.conf`:
:* For '''RFC2833''' and '''SIP INFO''' methods, set:
: <code>dtmf2db = yes</code>
:* For '''inband DTMF''' (G.711 codec only, requires more CPU), set:
: <code>inbanddtmf = yes</code>


You can also enable DTMF inband detection (only for G.711) by enabling (it will take some CPU)
;How can I use the sensor's manager API securely?
:Modern sniffer versions (32.0+) have API encryption enabled by default. Please refer to the [[Encryption_in_manager_api_customer|Manager API Encryption guide]] for examples on how to use the API with or without encryption.


inbanddtmf = yes
;How does VoIPmonitor handle AudioCodes-tunneled traffic?
:VoIPmonitor can process traffic encapsulated in AudioCodes' proprietary tunneling protocol. For setup details, see the [[audiocodes_tunneling|AudioCodes Tunneling guide]].


== Licensing ==


= Audio files =
;How do I determine the number of license channels I need?
== Bulk download of pcaps or audio (wav/ogg)==
:The license is based on the '''maximum number of concurrent calls''' during your peak hours. It is not based on the number of phones or endpoints. You can find your peak usage by navigating in the GUI to '''Tools -> System Status -> Concurrent calls''', which shows data for the past 14 days. The system intelligently groups multiple call legs (e.g., for a single bridged call) so they only count as one channel towards your license.
Read this: [[download of pcap files / audio files using GUI's api]]


== Batch download of an audio from CDRs for more then 1000 CDRs==
;What happens if my call volume temporarily exceeds my license limit?
Read this: [[Batch download of audio for 1000+ CDRs]]
:If you have a sudden spike in calls (e.g., due to an attack or unexpected event) that exceeds your license, you have a 14-day grace period to resolve it. You must either:
:# Delete the CDRs from the spike period via the GUI filter and delete tools.
:# Upgrade your license to a higher channel count via the voipmonitor.org customer portal.
:If the high usage persists for three consecutive days within the grace period, the license will be temporarily blocked until one of these actions is taken.


== Get the audio file from SIP&RTP pcap extracted from spooldir==
== Audio & PCAP Files ==
Read this: [[create audio from packet dumps located in a spooldir]]


= GeoIP location services =
;How can I bulk download audio or PCAP files?
Read this: [[order of GeoIP processing]]
:You can use the GUI API to script bulk downloads. Please see the guide: [[download_of_pcap_files_audio_files_using_GUI's_api|Bulk Download using API]].


;How do I convert existing WAV audio files to OGG to save space?
:If you have existing recordings saved as `.wav` and wish to convert them to the more efficient `.ogg` format to save disk space, you can run the following sequence of commands directly in your spool directory (e.g., `/var/spool/voipmonitor`).
<pre>
# Navigate to your spool directory first
cd /var/spool/voipmonitor


= Self signed certificate =
# Step 1: Find all .wav files and convert each one to .ogg using ffmpeg.
Read this: [[Enable SSL/TLS + self signed certificate for http server]]
# This command preserves the original filename, only changing the extension.
find ./ -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -vn -acodec libvorbis "${0%.wav}.ogg"' {} \;


= Lost admin's GUI pasword =
# Step 2: After confirming the conversion was successful, delete all the original .wav files.
Read this: [[User_Management]]
find ./ -name '*.wav' -exec rm -f {} \;


= Corrupted GUI installation, how to reinstall the GUI=
# Step 3: Set the web server user (e.g., www-data) as the owner of all files.
Read this: [[Re-install_the_GUI]]
# This is crucial for the GUI to be able to read and play the new .ogg files.
chown -R www-data:www-data ./
</pre>


= Bad sniffer version, how to reinstall the sniffer to latest version =
== Administration & Troubleshooting ==
Read this: [[Latest_sniffer]]


= What does Audit log cover =
;How do I reset a lost admin password for the GUI?
It covers these actions of users in the GUI:
:Please follow the instructions in the [[User_Management|User Management guide]].
*download wav
*download pcap
*play wav
*show fax
*batch download
*filter CDR in form
*login
*logout


= Precision for CDRs datetime =
;How do I fix a corrupted GUI installation or reinstall it?
by default voipmonitor stores CDRs in seconds precision.
:A reinstallation can fix issues with corrupted files or incorrect permissions. See the guide here: [[Re-install_the_GUI]].
If you need to have in CDR view calldate in milliseconds precission folow next how to [[how to enable milliseconds precision]]


= PCI compliance =
;The GUI stopped working after a server OS or PHP version upgrade. How do I fix it?
Voipmonitor is PCI compliance ready.
:This usually requires re-running the GUI installation script to align with the new PHP version. See: [[GUI_Installation#Re-installing_the_GUI]].


To control what to store to disk / database check [[https://www.voipmonitor.org/doc/Capture_rules capture rules]]  
;How do I reinstall or upgrade the sniffer to the latest version?
:Instructions for downloading and installing the latest static binary are here: [[Latest_sniffer]].


== Turn off audio recording and DTMF via RFC2833 globally ==
;Can I run multiple instances of the sniffer on a single host?
To prevent recording audio and DTMFviaRTP see [[https://www.voipmonitor.org/doc/Sniffer_configuration#savertp savertp=header]]
:Yes, this is possible for advanced use cases. See the guide: [[Multiple_sniffer_instancies]].


To prevent recording RTP at all [[https://www.voipmonitor.org/doc/Sniffer_configuration#savertp savertp=no]]
;What user actions are recorded in the Audit Log?
:The Audit Log tracks the following security-sensitive actions in the GUI:
:* Login / Logout
:* Playing or downloading WAV/PCAP files
:* Showing a FAX
:* Using the batch download feature
:* Applying a filter in the CDR view


To prevent recording just DTMF packets (SIP info/rfc2833) into DB and into spooldir (pcaps)
== PCI compliance ==
dtmf2db = no
VoIPmonitor is designed to be PCI compliance-ready. You have granular control over what data is stored to disk and to the database.
dtmf2pcap = no


== Turn off audio recording selectively ==
;How do I turn off audio recording and DTMF capture globally?
With savertp=yes in /etc/voipmonitor.conf you can disable audio recording only for some IPs / tel.numbers / SIP domains or any SIP header values [[https://www.voipmonitor.org/doc/Capture_rules SAVE RTP=OFF|HEADER]]
:* To prevent RTP (audio) payload from being stored while still capturing headers for analysis, use `savertp=header` in `voipmonitor.conf`.
:* To disable RTP capture entirely, use `savertp=no`.
:* To prevent DTMF tones (from SIP INFO or RFC2833) from being saved to the database and PCAP files, use:
:<code>dtmf2db = no</code>
:<code>dtmf2pcap = no</code>


== Turn on audio recording selectively  ==
;How do I selectively record or not record audio/DTMF?
With savertp=no|header in /etc/voipmonitor.conf you can enable audio recording  only for some IPs / tel.numbers / SIP domains or any SIP header values  [[https://www.voipmonitor.org/doc/Capture_rules SAVERTP=ON]] using capture rules.
:VoIPmonitor's powerful '''[[Capture_rules|Capture Rules]]''' allow you to define conditional logic. You can create rules based on IP address, telephone number, SIP domain, or any SIP header to selectively turn audio or DTMF recording ON or OFF for specific calls, enabling you to meet strict compliance requirements.


== Turn off DTMF storing to db selectively==
== AI Summary for RAG ==
With dtmf2db=yes in /etc/voipmonitor.conf you will force sniffer to store DTMF it detects (RF2833/SIP INFO) into db. If you want to not store the DTMF detected in call into CDR for some IPs / tel.numbers / SIP domains or any SIP header values, create capture rule and set there record DTMF=OFF or record DTMF=only pcap - in case you want DTMF packets to be stored into pcap but not to db.
'''Summary:''' This document serves as a comprehensive FAQ and troubleshooting guide for common VoIPmonitor issues. It covers a wide range of topics, including call data and CDR analysis (red icons, regex filters, CDR delay), platform support (AWS, Docker, VMWare ESXi, cloud databases like Azure), system configuration (monitoring multiple SIP ports, IPv6, DTMF), and licensing (channel calculation, handling spikes). It also provides solutions for managing audio files (bulk download, WAV to OGG conversion) and administrative tasks like resetting passwords, reinstalling the GUI or sniffer, and understanding the Audit Log. A key section addresses PCI compliance, detailing how to selectively or globally disable audio and DTMF recording using capture rules and configuration settings.
 
'''Keywords:''' faq, troubleshooting, cdr, red icon, regex, active calls, aws, docker, container, esxi, vlan 4095, azure, super privilege, sipport, ipv6, dtmf, license, concurrent channels, license spike, audio files, bulk download, wav, ogg, ffmpeg, pci compliance, capture rules, savertp, dtmf2db, audit log, reinstall, lost password, multiple instances
==Turn off DTMF storing to pcap selectively==
'''Key Questions:'''
With savertp=yes and savesip=yes in /etc/voipmonitor.conf you will force sniffer to store DTMF(RF2833/SIP INFO) it detects into pcap. If you want to not store DTMF detected into pcap for some IPs / tel.numbers / SIP domains but you still need to collect SIP and RTP for these calls, create capture rule and set there record DTMF=OFF or record DTMF=only db.
* Why is there a delay between active calls and the CDR view?
 
* How is VoIPmonitor licensing calculated for concurrent channels?
==Turn off DTMF storing to pcap and DB selectively==
* What happens if my call traffic exceeds my license limit?
If you want to not store the DTMF detected in call's pcap for some IPs / tel.numbers / SIP domains or any SIP header values, create capture rule and set there record DTMF=OFF. (DTMF via SIP info and DTMF RFC2833) will not be stored to packets records, and to db.
* How can I run VoIPmonitor in Docker or on AWS?
 
* Why is packet sniffing not working on my VMWare ESXi server?
 
* How do I enable monitoring for SIP traffic on a non-standard port?
==Disable spying on live calls==
* How can I convert all my recorded WAV files to OGG to save space?
You can disable possibility of GUI to do live spying on calls that uses g711 codec, in the sniffers config set option liveaudio=no
* How do I selectively disable audio recording for certain calls to be PCI compliant?
 
* How do I enable IPv6 support on a system with existing data?
==How to enable milliseconds precision==
* How do I capture SIP REGISTER messages?
 
[[How_to_enable_milliseconds_precision]]
 
= Register packets =
By default is collecting of register packets disabled. You can enable it with option '''sip-register=yes''' in /etc/voipmonitor.conf and service restart.
More reading in [[https://www.voipmonitor.org/doc/Register in register doc]]
 
== Where are Register records stored? ==
=== Active register ===
Unlike tables for states and failed registrations, there is no table in database for active registrations - you need to ask api of the voipmonitor sniffer service for list of registers
 
Here is [[https://www.voipmonitor.org/doc/Register_active example script]] that lists all active registrations if sipcallerip is matching the only argument
 
=== Failed register ===
there is in '''voipmonitor''' database the table '''register_failed''' where are all failed register stored (in case there is multipletimes same failures in short interval the column '''counter''' representing how many failed register requests there was in interval 120s instead of creating record for each.
 
=== Register State ===
there is in '''voipmonitor''' database the table '''register_state''' where are all expired/unregistered records stored.
 
= Geek's/Developer's corner =
Read this: [[Internal_support_hints]]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.

Latest revision as of 10:09, 30 June 2025


This page provides answers to frequently asked questions and solutions for common issues encountered during the configuration and operation of VoIPmonitor.

General & Scalability

How does VoIPmonitor scale for high traffic?
For a detailed guide on performance tuning, hardware recommendations, and optimizing the three main system bottlenecks (CPU, Disk I/O, Database), please refer to our comprehensive Scaling and Performance Tuning guide.
How do I manage disk space and database size?
VoIPmonitor uses separate mechanisms for cleaning PCAP files from the filesystem and CDRs from the database. For a complete walkthrough, see the Data Cleaning and Retention guide.

CDR (Call Detail Record) View

What does the small red icon in the CDR view mean?
The red icon () indicates which party in the call sent the `BYE` message first, effectively ending the call.
How can I use regular expressions to filter calls?
The filter bar in the CDR view supports regular expressions. This is useful for finding malformed or unusual data. For example, to find all calls where the caller number contains non-numeric characters, you can use a negative match:
!R(^[+]?[0-9]+$)
Why is there a delay between when a call ends and when it appears in the CDR view?
This delay is typically caused by the database's inability to keep up with the rate of incoming calls, creating a queue of SQL queries on the sensor. For solutions, please read:
How can I enable millisecond precision for timestamps in the CDR view?
By default, timestamps are stored with second precision. To enable millisecond precision, please follow the steps in this guide: How_to_enable_milliseconds_precision.

Platform & Environment Support

What hardware architectures does the sensor support?
The sensor is tested and supported on x86 (32/64-bit) and ARMv7/v8 architectures. If you encounter an error like `__sync_fetch_and_sub_8` on an older ARM device, you may need to upgrade your GCC compiler to version 4.8 or newer.
Can I run VoIPmonitor on AWS?
Yes, AWS is supported. For the license check to function correctly on some Amazon Machine Images (AMIs), you may need to adjust permissions on the root device file.
chmod 644 /dev/root
Is Docker or other container environments supported?
Yes, the GUI and sensor can run in a containerized environment. However, you must ensure that the content of `/proc/self/cgroup` does not change with every container restart. If it does, the hardware ID will change, and you will be prompted to update your license key after each reboot.
Are hosted/cloud databases (like Amazon RDS, Azure Database) supported?
Yes, VoIPmonitor requires a MySQL-compatible database (MySQL, MariaDB, Percona) and can connect to it regardless of its location. However, the database user requires `SUPER` privilege for creating functions and triggers.
What if my cloud database (like Azure) does not grant `SUPER` privilege?
If `SUPER` privilege is not available, you must manually set the following server variables in your cloud database configuration console:
 log_bin_trust_function_creators = ON
Additionally, ensure your database instance has sufficient performance (e.g., at least 1100 IOPS for 5000 concurrent calls on Azure).
Why is packet mirroring not working on VMWare ESXi 6.5+?
This is often caused by the vSwitch port group being set to VLAN 4095, which activates Virtual Guest Tagging (VGT). In this mode, the guest OS is expected to handle VLAN tags, which can disrupt sniffing.
  • Solution: Edit the port group settings in vSphere and change the VLAN ID to a specific number (e.g., 0 or your monitoring VLAN ID) instead of 4095.

Configuration & Features

Why don't I see SIP packets on ports other than 5060?
By default, the sensor only listens for SIP traffic on UDP/TCP port 5060. To monitor additional SIP ports, you must explicitly define them in `voipmonitor.conf`. See the sipport configuration guide.
How do I enable IPv6 traffic processing?
By default, IPv6 is disabled. To enable it on a new installation, set `ipv6=yes` in `voipmonitor.conf`. If you have existing IPv4 data, enabling IPv6 requires a database migration. For detailed instructions, please see the IPv6 Enabling Guide.
How do I capture and view SIP `REGISTER` messages?
By default, `REGISTER` messages are not stored. To enable this, set `sip-register=yes` in `voipmonitor.conf`. For details on how active and failed registrations are stored and how to query them via the API, see the documentation on REGISTER monitoring.
How can I capture DTMF tones?
You can enable DTMF capture in `voipmonitor.conf`:
  • For RFC2833 and SIP INFO methods, set:
dtmf2db = yes
  • For inband DTMF (G.711 codec only, requires more CPU), set:
inbanddtmf = yes
How can I use the sensor's manager API securely?
Modern sniffer versions (32.0+) have API encryption enabled by default. Please refer to the Manager API Encryption guide for examples on how to use the API with or without encryption.
How does VoIPmonitor handle AudioCodes-tunneled traffic?
VoIPmonitor can process traffic encapsulated in AudioCodes' proprietary tunneling protocol. For setup details, see the AudioCodes Tunneling guide.

Licensing

How do I determine the number of license channels I need?
The license is based on the maximum number of concurrent calls during your peak hours. It is not based on the number of phones or endpoints. You can find your peak usage by navigating in the GUI to Tools -> System Status -> Concurrent calls, which shows data for the past 14 days. The system intelligently groups multiple call legs (e.g., for a single bridged call) so they only count as one channel towards your license.
What happens if my call volume temporarily exceeds my license limit?
If you have a sudden spike in calls (e.g., due to an attack or unexpected event) that exceeds your license, you have a 14-day grace period to resolve it. You must either:
  1. Delete the CDRs from the spike period via the GUI filter and delete tools.
  2. Upgrade your license to a higher channel count via the voipmonitor.org customer portal.
If the high usage persists for three consecutive days within the grace period, the license will be temporarily blocked until one of these actions is taken.

Audio & PCAP Files

How can I bulk download audio or PCAP files?
You can use the GUI API to script bulk downloads. Please see the guide: Bulk Download using API.
How do I convert existing WAV audio files to OGG to save space?
If you have existing recordings saved as `.wav` and wish to convert them to the more efficient `.ogg` format to save disk space, you can run the following sequence of commands directly in your spool directory (e.g., `/var/spool/voipmonitor`).
# Navigate to your spool directory first
cd /var/spool/voipmonitor

# Step 1: Find all .wav files and convert each one to .ogg using ffmpeg.
# This command preserves the original filename, only changing the extension.
find ./ -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -vn -acodec libvorbis "${0%.wav}.ogg"' {} \;

# Step 2: After confirming the conversion was successful, delete all the original .wav files.
find ./ -name '*.wav' -exec rm -f {} \;

# Step 3: Set the web server user (e.g., www-data) as the owner of all files.
# This is crucial for the GUI to be able to read and play the new .ogg files.
chown -R www-data:www-data ./

Administration & Troubleshooting

How do I reset a lost admin password for the GUI?
Please follow the instructions in the User Management guide.
How do I fix a corrupted GUI installation or reinstall it?
A reinstallation can fix issues with corrupted files or incorrect permissions. See the guide here: Re-install_the_GUI.
The GUI stopped working after a server OS or PHP version upgrade. How do I fix it?
This usually requires re-running the GUI installation script to align with the new PHP version. See: GUI_Installation#Re-installing_the_GUI.
How do I reinstall or upgrade the sniffer to the latest version?
Instructions for downloading and installing the latest static binary are here: Latest_sniffer.
Can I run multiple instances of the sniffer on a single host?
Yes, this is possible for advanced use cases. See the guide: Multiple_sniffer_instancies.
What user actions are recorded in the Audit Log?
The Audit Log tracks the following security-sensitive actions in the GUI:
  • Login / Logout
  • Playing or downloading WAV/PCAP files
  • Showing a FAX
  • Using the batch download feature
  • Applying a filter in the CDR view

PCI compliance

VoIPmonitor is designed to be PCI compliance-ready. You have granular control over what data is stored to disk and to the database.

How do I turn off audio recording and DTMF capture globally?
  • To prevent RTP (audio) payload from being stored while still capturing headers for analysis, use `savertp=header` in `voipmonitor.conf`.
  • To disable RTP capture entirely, use `savertp=no`.
  • To prevent DTMF tones (from SIP INFO or RFC2833) from being saved to the database and PCAP files, use:
dtmf2db = no
dtmf2pcap = no
How do I selectively record or not record audio/DTMF?
VoIPmonitor's powerful Capture Rules allow you to define conditional logic. You can create rules based on IP address, telephone number, SIP domain, or any SIP header to selectively turn audio or DTMF recording ON or OFF for specific calls, enabling you to meet strict compliance requirements.

AI Summary for RAG

Summary: This document serves as a comprehensive FAQ and troubleshooting guide for common VoIPmonitor issues. It covers a wide range of topics, including call data and CDR analysis (red icons, regex filters, CDR delay), platform support (AWS, Docker, VMWare ESXi, cloud databases like Azure), system configuration (monitoring multiple SIP ports, IPv6, DTMF), and licensing (channel calculation, handling spikes). It also provides solutions for managing audio files (bulk download, WAV to OGG conversion) and administrative tasks like resetting passwords, reinstalling the GUI or sniffer, and understanding the Audit Log. A key section addresses PCI compliance, detailing how to selectively or globally disable audio and DTMF recording using capture rules and configuration settings. Keywords: faq, troubleshooting, cdr, red icon, regex, active calls, aws, docker, container, esxi, vlan 4095, azure, super privilege, sipport, ipv6, dtmf, license, concurrent channels, license spike, audio files, bulk download, wav, ogg, ffmpeg, pci compliance, capture rules, savertp, dtmf2db, audit log, reinstall, lost password, multiple instances Key Questions:

  • Why is there a delay between active calls and the CDR view?
  • How is VoIPmonitor licensing calculated for concurrent channels?
  • What happens if my call traffic exceeds my license limit?
  • How can I run VoIPmonitor in Docker or on AWS?
  • Why is packet sniffing not working on my VMWare ESXi server?
  • How do I enable monitoring for SIP traffic on a non-standard port?
  • How can I convert all my recorded WAV files to OGG to save space?
  • How do I selectively disable audio recording for certain calls to be PCI compliant?
  • How do I enable IPv6 support on a system with existing data?
  • How do I capture SIP REGISTER messages?