How does voipmonitor scale?
Read this: Scaling
How to clean old data and database?
Read this: Data Cleaning
What is the red small icon in CDR?
How to interpret two charts in the cdr detail?
See this: Graph cheat sheet
What architectures are tested?
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)
Why I do not see sip packets other then port 5060?
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
Go to settings -> System configuration -> Advanced section -> Hide timezone information -> Enable and set to TRUE
How to know how many license channels do we need?
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.
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.
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?
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.
accident / unwanted spikes
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 two 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.
You can enable DTMF RFC2833 or DTMF SIP INFO in voipmonitor.conf by enabling:
dtmf2db = yes
You can also enable DTMF inband detection (only for G.711) by enabling (it will take some CPU)
inbanddtmf = yes
Bulk download of pcaps or audio (wav/ogg)
Batch download of an audio from CDRs for more then 1000 CDRs
Read this: Batch download of audio for 1000+ CDRs
GeoIP location services
Read this: order of GeoIP processing
Self signed certificate
Corrupted GUI installation, how to reinstall the GUI
Read this: Re-install_the_GUI
Bad sniffer version, how to reinstall the sniffer to latest version
Read this: Latest_sniffer
What does Audit log cover
It covers these actions of users in the GUI:
- download wav
- download pcap
- play wav
- show fax
- batch download
- filter CDR in form
Precision for CDRs datetime
by default voipmonitor stores CDRs in seconds precision. If you need to have in CDR view calldate in milliseconds precission folow next how to how to enable milliseconds precision
Voipmonitor is PCI compliance ready.
To control what to store to disk / database check [capture rules]
Turn off audio recording and DTMF via RFC2833 globally
To prevent recording audio and DTMFviaRTP see [savertp=header]
To prevent recording RTP at all [savertp=no]
To prevent recording just DTMF packets (SIP info/rfc2833) into DB and into spooldir (pcaps)
dtmf2db = no dtmf2pcap = no
Turn off audio recording selectively
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 [SAVE RTP=OFF|HEADER]
Turn on audio recording selectively
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 [SAVERTP=ON] using capture rules.
Turn off DTMF storing to db selectively
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.
Turn off DTMF storing to pcap selectively
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.
Turn off DTMF storing to pcap and DB selectively
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.
Disable spying on live calls
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 to enable milliseconds precision
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 [in register doc]
Where are Register records stored?
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 [example script] that lists all active registrations if sipcallerip is matching the only argument
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.
there is in voipmonitor database the table register_state where are all expired/unregistered records stored.
Read this: Internal_support_hints