Reports: Difference between revisions

From VoIPmonitor.org
(Convert pre tags to syntaxhighlight)
(Restructure: convert bash export columns to tables, fix markdown syntax, add frame captions to images, streamline AI summary)
Line 1: Line 1:
{{DISPLAYTITLE:Reports}}
Category:GUI manual
== Reports ==
== Reports ==


Line 7: Line 10:
Daily email reports resemble alerts but send once per day and can include daily charts based on criteria.
Daily email reports resemble alerts but send once per day and can include daily charts based on criteria.


[[File:reports-daily.png]]
[[File:reports-daily.png|frame|center|Daily reports configuration]]


==== RTP Daily Report ====
==== RTP Daily Report ====
Line 13: Line 16:
Summarizes RTP metrics: MOS, packet loss, jitter, delay (PDV), duration, one-way, and missing RTP.
Summarizes RTP metrics: MOS, packet loss, jitter, delay (PDV), duration, one-way, and missing RTP.


[[File:Alert-sentalerts.png]]
[[File:Alert-sentalerts.png|frame|center|RTP daily report example]]


==== Daily Charts Report ====
==== Daily Charts Report ====
Line 19: Line 22:
Generates daily chart statistics. Create multiple charts per report, filtered by CDR criteria (e.g., SIP trunks).
Generates daily chart statistics. Create multiple charts per report, filtered by CDR criteria (e.g., SIP trunks).


[[File:report-dailychart.png]]
[[File:report-dailychart.png|frame|center|Daily charts report configuration]]


Chart creation dialog allows custom charts with filters on numbers, IP, RTP stats.
Chart creation dialog allows custom charts with filters on numbers, IP, RTP stats.


[[File:report-chartedit.png]]
[[File:report-chartedit.png|frame|center|Chart creation dialog]]


Preview results or send test emails via buttons.
Preview results or send test emails via buttons.


[[File:report-chartbuttons.png]]
[[File:report-chartbuttons.png]]
[[File:report-preview.png]]
[[File:report-preview.png]]


Line 35: Line 37:
Creates reports from historical data by criteria.
Creates reports from historical data by criteria.


* "Only CDR with RTP" checkbox: Reports connected calls only (ASR always 100%) or all CDRs.
* '''"Only CDR with RTP" checkbox''': Reports connected calls only (ASR always 100%) or all CDRs.


[[File:report-generatorform.png]]
[[File:report-generatorform.png|frame|center|Report generator form]]


Results table appears below form after selecting date, IP ranges, QoS parameters.
Results table appears below form after selecting date, IP ranges, QoS parameters.


[[File:reports-results.png]]
[[File:reports-results.png|frame|center|Report generator results]]


=== Call Summary ===
=== Call Summary ===
Line 47: Line 49:
Overview grouped by source/destination IPs, focusing on signaling metrics: ASR, ACD, total duration, call count. Toolbar filters by date range, source/destination numbers.
Overview grouped by source/destination IPs, focusing on signaling metrics: ASR, ACD, total duration, call count. Toolbar filters by date range, source/destination numbers.


[[File:reports-callsummary.png]]
[[File:reports-callsummary.png|frame|center|Call summary report]]
 
==== Export Column Reference ====
 
{| class="wikitable"
|-
! Column !! Description
|-
| sipip / sip_ip || Source IP address
|-
| cnt_all || Count of CDRs
|-
| cnt_connected || Count of connected CDRs
|-
| duration_all || Sum of connected seconds
|-
| acd_all || Average Call Duration
|-
| asr_all || Answer Seizure Ratio
|-
| ner_all || Network Effectiveness Ratio
|-
| seer_all || Session Establishment Effectiveness Ratio
|-
| short_60 || Ratio (%) of CDRs with connect duration < 60s
|-
| short_20 || Ratio (%) of CDRs with connect duration < 20s
|-
| mos_all || MOS average (min from caller/called)
|-
| response_time_100_all || Response time from INVITE to 100/183 (ms)
|-
| pdd_all || Post Dial Delay (time to hear announcement)
|-
| packets_lost_all || Lost packets count
|-
| jitter_all || Average RTP jitter (max from caller/called)
|-
| delay_all || Average of median jitter (PDV in ms)
|}
 
'''MOS XR Columns''' (from RTCP-XR reports):
{| class="wikitable"
|-
! Column !! Description
|-
| mos_xr_avg_all || MOS XR average (min of caller/called)
|-
| mos_xr_avg_caller_all || MOS XR average for caller stream
|-
| mos_xr_avg_called_all || MOS XR average for called stream
|-
| mos_xr_min_all || MOS XR minimal (caller/called)
|-
| mos_xr_min_caller_all || MOS XR minimal for caller stream
|-
| mos_xr_min_called_all || MOS XR minimal for called stream
|}
 
'''RTCP Columns:'''
{| class="wikitable"
|-
! Column !! Description
|-
| rtcp_maxfr || Maximum fraction loss reported in RTCP
|-
| rtcp_maxjitter || Maximum jitter reported in RTCP
|-
| rtcp_avgfr || Average fraction loss reported
|-
| rtcp_avgjitter || Average jitter reported in RTCP
|-
| rtcp_maxrtd || Max round trip delay (ms)
|-
| rtcp_avgrtd || Average round trip delay (ms)
|}


==== Description of the columns in the export ====
'''Silence/Clipping Columns''' (requires [[Silence_detection|silence detection]] enabled):
{| class="wikitable"
|-
! Column !! Description
|-
| mos_silence_avg_all || MOS during silence periods
|-
| mos_silence_min_all || MOS minimal during silence
|-
| silence_all || Percentage of call that was silence
|-
| silence_end_all || Seconds of silence before BYE packet
|-
| clipping_all || Number of clipped frames (requires <code>clippingdetect=yes</code>)
|}


<syntaxhighlight lang="bash">
'''Other Columns:'''
sipip - source ip address
{| class="wikitable"
cnt_all - count of CDRs
|-
cnt_connected - count of connected CDRs
! Column !! Description
duration_all - sum of connected seconds
|-
acd_all - Average call duration
| mos_lqo_caller_all || MOS listening quality objective (caller)
asr_all - Answer Seizure Ratio
|-
ner_all - Network effectiveness ratio
| mos_lqo_called_all || MOS listening quality objective (called)
seer_all - Session Establishment Effectiveness Ratio
|-
short_60 - ratio in % of the CDRs with connect duration shorter 60s
| sip_hostname || Hostname from DB IP lookup (if enabled)
short_20 - ratio in % of the CDRs with connect duration shorter 20s
|-
mos_all - Mean Opinion Score (average) average (min from caller/called)
| sip_hostname_color || Color setting from DB IP lookup
response_time_100_all - response time from invite to 100/183 in ms
|-
mos_xr_avg_all - MOS XR average min of (caller/called)
| id || IP address with underscores instead of dots
mos_xr_avg_caller_all - MOS XR average for caller
|}
mos_xr_avg_called_all - MOS XR average for calle
mos_xr_avg_caller_all - MOS XR average for caller
mos_xr_avg_called_all - MOS XR average for calle
mos_xr_min_all - MOS XR minimal (caller/called)
mos_xr_min_caller_all - MOS XR minimal for stream from caller side
mos_xr_min_called_all - MOS XR minimal for stream from called side
mos_silence_avg_all - MOS silence ..(is counted only when enabled - https://www.voipmonitor.org/doc/Silence_detection)
mos_silence_avg_caller_all - MOS silence stream from caller..
mos_silence_avg_called_all - MOS silence stream from called..
mos_silence_min_all - MOS minimal
mos_silence_min_caller_all - ..
mos_silence_min_called_all - ..
mos_lqo_caller_all - MOS listening quality objective caller stream
mos_lqo_called_all - MOS listening quality objective cakked stream
pdd_all - Post dial delay (time necessary to hear the announcement from INVITE request)
packets_lost_all - lost packets
jitter_all - average RTP jitter (max from caller/called)
delay_all - average of median of jitter (in CDR view detail grid X PDV in ms)
rtcp_maxfr - maximum fraction loss reported in rtcp packets
rtcp_maxjitter - maximum jitter reported in rtcp packets
rtcp_avgfr - average fraction loss reported
rtcp_avgjitter - average jitter reported in RTCP packets
rtcp_maxrtd - max round trip delay in ms
rtcp_avgrtd - average round trip delay in ms
silence_all - in percent how many silence was in the call
silence_end_all - in seconds how long there was silence before BYE packet
clipping_all - Number of clipped frames (clipped frame has the highest volume) - perceived as audible clicks - this value is shown in cdr detail table. It can be filtered and used in charts. Must be enabled in voipmonitor.conf
sip_ip - Same as sipip
sip_hostname - when db ip lookup enabled in settings it will show the name defined for that IP
sip_hostname_color - It is possible to set the color of the record in db ip lookup
id - is IP address with use of underscores instead of IPs
</syntaxhighlight>


=== QoS Report ===
=== QoS Report ===
Line 103: Line 162:
Similar to call summary but emphasizes RTP stats: MOS, jitter, delay, packet loss. Toolbar filters by date range, IP range.
Similar to call summary but emphasizes RTP stats: MOS, jitter, delay, packet loss. Toolbar filters by date range, IP range.


[[File:reports-qos.png]]
[[File:reports-qos.png|frame|center|QoS report]]


=== Call Detail Records ===
=== Call Detail Records ===
Line 109: Line 168:
Simplified CDR interface showing IPs and numbers, with quick toolbar filters.
Simplified CDR interface showing IPs and numbers, with quick toolbar filters.


[[File:reports-cdr.png]]
[[File:reports-cdr.png|frame|center|Simplified CDR view]]


=== CSV Export via Crontab Scheduler ===
=== CSV Export via Crontab Scheduler ===
Line 115: Line 174:
You can export CDRs to a local directory on a schedule instead of (or in addition to) receiving them via email. This is useful for automated processing, archiving, or integration with external systems.
You can export CDRs to a local directory on a schedule instead of (or in addition to) receiving them via email. This is useful for automated processing, archiving, or integration with external systems.


==== How to Configure CSV Export ====
==== Configuration Steps ====
 
Follow these steps to set up automatic CSV export:


1. '''Set the Export Folder'''
;1. Set the Export Folder:
  * Navigate to '''GUI > Settings > System Configuration > Advanced'''
:* Navigate to '''GUI > Settings > System Configuration > Advanced'''
  * Set the '''"Folder for export CSV"''' parameter to your desired directory path (e.g., <code>/var/backups/cdrs</code>)
:* Set '''"Folder for export CSV"''' to your desired directory (e.g., <code>/var/backups/cdrs</code>)
  * Optionally set a '''"CSV name prefix"''' to add a prefix to exported filenames
:* Optionally set '''"CSV name prefix"''' for filename prefixes
  * Optionally set '''"Delete CSV after X days"''' to enable automatic cleanup
:* Optionally set '''"Delete CSV after X days"''' for automatic cleanup


2. '''Create a Crontab Scheduler Task'''
;2. Create a Crontab Scheduler Task:
  * Navigate to '''GUI > Settings > Crontab Scheduler'''
:* Navigate to '''GUI > Settings > Crontab Scheduler'''
  * Create a new task and configure:
:* Create a new task with:
    ** Type: Select the report type (e.g., Call Summary, Report Generator)
:** '''Type:''' Report type (Call Summary, Report Generator, etc.)
    ** Schedule: Set the frequency (hourly, daily, weekly, or custom cron expression)
:** '''Schedule:''' Frequency (hourly, daily, weekly, or cron expression)
    ** Report parameters: Configure filters (date range, IP ranges, etc.)
:** '''Report parameters:''' Date range, IP ranges, etc.
    ** Export format: CSV files will be generated


3. '''File Generation'''
;3. Verify Permissions:
  * When the crontab task runs, a CSV file is generated in the specified export folder
:* Web server user (<code>www-data</code> or <code>apache</code>) must have write access to export folder
  * Filename format includes the CSV name prefix (if set) and timestamp
:* Ensure sufficient disk space for accumulated files
  * Files accumulate in the folder until automatically deleted (if "Delete CSV after X days" is set)


==== Notes and Requirements ====
For custom export formats, consider using the [[WEB_API|Web API]] instead.
* The web server user (typically <code>www-data</code> or <code>apache</code>) must have write permissions to the export folder
* Ensure sufficient disk space is available for accumulating CSV files
* For custom export formats or complex processing requirements, consider using the [[WEB_API]] instead


=== Troubleshooting Scheduled Reports ===
=== Troubleshooting Scheduled Reports ===


If scheduled reports are not being sent automatically, but generating them manually works correctly, check the following common causes:
If scheduled reports are not sent automatically but manual generation works, check these common causes:


==== Timezone Mismatch between GUI and OS ====
==== Timezone Mismatch ====


The GUI and server OS must use the same timezone setting. If they differ, scheduled tasks may run at the wrong time or not appear to run at all.
The GUI and server OS must use the same timezone. If they differ, scheduled tasks may run at wrong times or appear to be skipped.


**Symptoms:**
'''Symptoms:'''
* Manual report generation works immediately
* Manual report generation works immediately
* Scheduled reports in the GUI Crontab Scheduler appear configured but are not sent at the expected time
* Scheduled reports appear configured but don't run at expected time
* Reports may appear to be "delayed" or "skipped"


**Solution:**
'''Solution:'''


1. '''Check the GUI timezone setting'''
;1. Check GUI timezone:
  * Navigate to '''GUI > Settings > System Configuration > National'''
:Navigate to '''GUI > Settings > System Configuration > National > Timezone'''
  * Note the value in the '''Timezone''' field (e.g., "Europe/Prague", "America/New_York")


2. '''Check the OS timezone'''
;2. Check OS timezone:
  * Log into the server's command line interface (CLI)
<syntaxhighlight lang="bash">
  * Run the following command to see the current system timezone:
    <syntaxhighlight lang="bash">
date
date
timedatectl
</syntaxhighlight>
</syntaxhighlight>
  * The output will show the server's date, time, and timezone


3. '''Compare and align the timezones'''
;3. Align timezones:
  * If the GUI and OS timezones do not match, update one to match the other
<syntaxhighlight lang="bash">
  * To change the OS timezone (Debian/Ubuntu example):
# Change OS timezone to match GUI (example)
    <syntaxhighlight lang="bash">
timedatectl set-timezone Europe/Prague
timedatectl set-timezone Europe/Prague
</syntaxhighlight>
</syntaxhighlight>
  * To change the GUI timezone, edit the setting in '''Settings > System Configuration > National > Timezone'''


4. '''Verify system cronjob is configured'''
;4. Verify system cronjob:
  Even with correct timezones, the system must have a crontab entry to process scheduled tasks:
<syntaxhighlight lang="bash">
  * Check the root crontab:
    <syntaxhighlight lang="bash">
crontab -l
crontab -l
# Should contain:
# * * * * * root php /var/www/html/php/run.php cron
</syntaxhighlight>
</syntaxhighlight>
  * You should see an entry like:
    <syntaxhighlight lang="bash">
* * * * * root php /var/www/html/php/run.php cron
</syntaxhighlight>
  * If missing, add it using <code>crontab -e</code> and reload cron with <code>killall -HUP cron</code>


==== Other Common Causes ====
==== Other Common Causes ====


* '''Email delivery issues:''' If reports are being generated but not received, check your mail transfer agent (MTA) logs and mail queue:
* '''Email delivery issues:''' Check MTA logs with <code>mailq</code> and <code>tail /var/log/mail.log</code>
  <syntaxhighlight lang="bash">
* '''Incorrect schedule:''' Verify task has valid "Next run" time in the future
mailq
* '''Stuck tasks:''' Edit and save the task again to reset its state
tail /var/log/mail.log
 
</syntaxhighlight>
=== See Also ===
* '''Incorrect schedule:''' Verify the crontab scheduler task has a valid "Next run" time in the future
 
* '''Stuck tasks:''' Try editing and saving the task again to reset its internal state
* [[Alerts|Alerts & Reports]] - Email alert configuration
* [[Silence_detection|Silence Detection]] - Enable silence/clipping metrics
* [[WEB_API|Web API]] - Programmatic report access


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


'''Summary:''' This article describes VoIPmonitor's reports features, including daily email reports (RTP summaries, charts), report generator for historical data, call summary by IPs, QoS-focused reports, simplified CDR view, and CSV export via crontab scheduler for automated local file generation. The troubleshooting section covers timezone mismatches between GUI and OS as a common cause of scheduled reports not being sent (manual generation works but automated sends fail at expected times). It also covers system cronjob verification, email delivery issues, and stuck tasks.
'''Summary:''' VoIPmonitor reports system including daily email reports (RTP summaries, charts), report generator for historical data, call summary grouped by IPs, QoS reports, CDR view, and CSV export via crontab scheduler. Troubleshooting covers timezone mismatches between GUI and OS.


'''Keywords:''' daily reports, RTP report, charts report, report generator, call summary, QoS report, CDR view, ASR, ACD, MOS, jitter, delay, packet loss, CSV export, crontab scheduler, automatic export, export folder, troubleshooting, timezone mismatch, scheduled reports not sent, manual report works, OS timezone, GUI timezone, system cron, run.php, email delivery, mail queue
'''Keywords:''' reports, daily reports, RTP, charts, call summary, QoS, ASR, ACD, MOS, CSV export, crontab scheduler, timezone, troubleshooting


'''Key Questions:'''
'''Key Questions:'''
* What are daily email reports in VoIPmonitor?
* What types of reports does VoIPmonitor provide?
* How do RTP daily reports work?
* How to configure daily email reports?
* How to create daily charts reports?
* How to export CDRs to CSV automatically?
* What is the report generator used for?
* Why are scheduled reports not being sent?
* What metrics does call summary provide?
* How to fix timezone mismatch between GUI and OS?
* How does QoS report differ from call summary?
* What is the simplified CDR interface?
* How to export CDRs to a local directory automatically?
* How to configure CSV export via crontab scheduler?
* Where to set the export folder for CSV files?
* How to set automatic cleanup of CSV files?
* Why are my scheduled reports not being sent automatically?
* Why do scheduled reports work manually but fail automatically?
* How do I fix timezone mismatch between GUI and OS?
* What causes scheduled reports to not run at the expected time?
* How do I check the system cronjob for scheduled reports?

Revision as of 18:05, 4 January 2026

Category:GUI manual

Reports

Reports include daily reports, instant report generator, call summary, QoS report, and CDR simplified view.

Daily Email Reports

Daily email reports resemble alerts but send once per day and can include daily charts based on criteria.

Daily reports configuration

RTP Daily Report

Summarizes RTP metrics: MOS, packet loss, jitter, delay (PDV), duration, one-way, and missing RTP.

RTP daily report example

Daily Charts Report

Generates daily chart statistics. Create multiple charts per report, filtered by CDR criteria (e.g., SIP trunks).

Daily charts report configuration

Chart creation dialog allows custom charts with filters on numbers, IP, RTP stats.

Chart creation dialog

Preview results or send test emails via buttons.

Report Generator

Creates reports from historical data by criteria.

  • "Only CDR with RTP" checkbox: Reports connected calls only (ASR always 100%) or all CDRs.
Report generator form

Results table appears below form after selecting date, IP ranges, QoS parameters.

Report generator results

Call Summary

Overview grouped by source/destination IPs, focusing on signaling metrics: ASR, ACD, total duration, call count. Toolbar filters by date range, source/destination numbers.

Call summary report

Export Column Reference

Column Description
sipip / sip_ip Source IP address
cnt_all Count of CDRs
cnt_connected Count of connected CDRs
duration_all Sum of connected seconds
acd_all Average Call Duration
asr_all Answer Seizure Ratio
ner_all Network Effectiveness Ratio
seer_all Session Establishment Effectiveness Ratio
short_60 Ratio (%) of CDRs with connect duration < 60s
short_20 Ratio (%) of CDRs with connect duration < 20s
mos_all MOS average (min from caller/called)
response_time_100_all Response time from INVITE to 100/183 (ms)
pdd_all Post Dial Delay (time to hear announcement)
packets_lost_all Lost packets count
jitter_all Average RTP jitter (max from caller/called)
delay_all Average of median jitter (PDV in ms)

MOS XR Columns (from RTCP-XR reports):

Column Description
mos_xr_avg_all MOS XR average (min of caller/called)
mos_xr_avg_caller_all MOS XR average for caller stream
mos_xr_avg_called_all MOS XR average for called stream
mos_xr_min_all MOS XR minimal (caller/called)
mos_xr_min_caller_all MOS XR minimal for caller stream
mos_xr_min_called_all MOS XR minimal for called stream

RTCP Columns:

Column Description
rtcp_maxfr Maximum fraction loss reported in RTCP
rtcp_maxjitter Maximum jitter reported in RTCP
rtcp_avgfr Average fraction loss reported
rtcp_avgjitter Average jitter reported in RTCP
rtcp_maxrtd Max round trip delay (ms)
rtcp_avgrtd Average round trip delay (ms)

Silence/Clipping Columns (requires silence detection enabled):

Column Description
mos_silence_avg_all MOS during silence periods
mos_silence_min_all MOS minimal during silence
silence_all Percentage of call that was silence
silence_end_all Seconds of silence before BYE packet
clipping_all Number of clipped frames (requires clippingdetect=yes)

Other Columns:

Column Description
mos_lqo_caller_all MOS listening quality objective (caller)
mos_lqo_called_all MOS listening quality objective (called)
sip_hostname Hostname from DB IP lookup (if enabled)
sip_hostname_color Color setting from DB IP lookup
id IP address with underscores instead of dots

QoS Report

Similar to call summary but emphasizes RTP stats: MOS, jitter, delay, packet loss. Toolbar filters by date range, IP range.

QoS report

Call Detail Records

Simplified CDR interface showing IPs and numbers, with quick toolbar filters.

Simplified CDR view

CSV Export via Crontab Scheduler

You can export CDRs to a local directory on a schedule instead of (or in addition to) receiving them via email. This is useful for automated processing, archiving, or integration with external systems.

Configuration Steps

1. Set the Export Folder
  • Navigate to GUI > Settings > System Configuration > Advanced
  • Set "Folder for export CSV" to your desired directory (e.g., /var/backups/cdrs)
  • Optionally set "CSV name prefix" for filename prefixes
  • Optionally set "Delete CSV after X days" for automatic cleanup
2. Create a Crontab Scheduler Task
  • Navigate to GUI > Settings > Crontab Scheduler
  • Create a new task with:
    • Type: Report type (Call Summary, Report Generator, etc.)
    • Schedule: Frequency (hourly, daily, weekly, or cron expression)
    • Report parameters: Date range, IP ranges, etc.
3. Verify Permissions
  • Web server user (www-data or apache) must have write access to export folder
  • Ensure sufficient disk space for accumulated files

For custom export formats, consider using the Web API instead.

Troubleshooting Scheduled Reports

If scheduled reports are not sent automatically but manual generation works, check these common causes:

Timezone Mismatch

The GUI and server OS must use the same timezone. If they differ, scheduled tasks may run at wrong times or appear to be skipped.

Symptoms:

  • Manual report generation works immediately
  • Scheduled reports appear configured but don't run at expected time

Solution:

1. Check GUI timezone
Navigate to GUI > Settings > System Configuration > National > Timezone
2. Check OS timezone
date
timedatectl
3. Align timezones
# Change OS timezone to match GUI (example)
timedatectl set-timezone Europe/Prague
4. Verify system cronjob
crontab -l
# Should contain:
# * * * * * root php /var/www/html/php/run.php cron

Other Common Causes

  • Email delivery issues: Check MTA logs with mailq and tail /var/log/mail.log
  • Incorrect schedule: Verify task has valid "Next run" time in the future
  • Stuck tasks: Edit and save the task again to reset its state

See Also

AI Summary for RAG

Summary: VoIPmonitor reports system including daily email reports (RTP summaries, charts), report generator for historical data, call summary grouped by IPs, QoS reports, CDR view, and CSV export via crontab scheduler. Troubleshooting covers timezone mismatches between GUI and OS.

Keywords: reports, daily reports, RTP, charts, call summary, QoS, ASR, ACD, MOS, CSV export, crontab scheduler, timezone, troubleshooting

Key Questions:

  • What types of reports does VoIPmonitor provide?
  • How to configure daily email reports?
  • How to export CDRs to CSV automatically?
  • Why are scheduled reports not being sent?
  • How to fix timezone mismatch between GUI and OS?