Reports: Difference between revisions
(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) | |||
|} | |||
= | '''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>) | |||
|} | |||
'''Other Columns:''' | |||
{| class="wikitable" | |||
|- | |||
! 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 | |||
|} | |||
mos_lqo_called_all | |||
id | |||
=== 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. | ||
==== | ==== Configuration Steps ==== | ||
1. | ;1. Set the Export Folder: | ||
:* Navigate to '''GUI > Settings > System Configuration > Advanced''' | |||
:* Set '''"Folder for export CSV"''' to your desired directory (e.g., <code>/var/backups/cdrs</code>) | |||
:* Optionally set '''"CSV name prefix"''' for filename prefixes | |||
:* Optionally set '''"Delete CSV after X days"''' for automatic cleanup | |||
2. | ;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. | ;3. Verify Permissions: | ||
:* Web server user (<code>www-data</code> or <code>apache</code>) must have write access to export folder | |||
:* Ensure sufficient disk space for accumulated files | |||
For custom export formats, consider using the [[WEB_API|Web API]] instead. | |||
=== Troubleshooting Scheduled Reports === | === Troubleshooting Scheduled Reports === | ||
If scheduled reports are not | If scheduled reports are not sent automatically but manual generation works, check these common causes: | ||
==== Timezone Mismatch | ==== Timezone Mismatch ==== | ||
The GUI and server OS must use the same timezone | 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 | * Manual report generation works immediately | ||
* Scheduled reports | * Scheduled reports appear configured but don't run at expected time | ||
'''Solution:''' | |||
1. | ;1. Check GUI timezone: | ||
:Navigate to '''GUI > Settings > System Configuration > National > Timezone''' | |||
2. | ;2. Check OS timezone: | ||
<syntaxhighlight lang="bash"> | |||
date | date | ||
timedatectl | |||
</syntaxhighlight> | </syntaxhighlight> | ||
3. | ;3. Align timezones: | ||
<syntaxhighlight lang="bash"> | |||
# Change OS timezone to match GUI (example) | |||
timedatectl set-timezone Europe/Prague | timedatectl set-timezone Europe/Prague | ||
</syntaxhighlight> | </syntaxhighlight> | ||
4. | ;4. Verify system cronjob: | ||
<syntaxhighlight lang="bash"> | |||
crontab -l | crontab -l | ||
# Should contain: | |||
# * * * * * root php /var/www/html/php/run.php cron | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Other Common Causes ==== | ==== Other Common Causes ==== | ||
* '''Email delivery issues:''' | * '''Email delivery issues:''' Check MTA logs with <code>mailq</code> and <code>tail /var/log/mail.log</code> | ||
* '''Incorrect schedule:''' Verify task has valid "Next run" time in the future | |||
* '''Stuck tasks:''' Edit and save the task again to reset its state | |||
tail /var/log/mail.log | |||
</ | === See Also === | ||
* '''Incorrect schedule:''' Verify | |||
* '''Stuck tasks:''' | * [[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 == | |||
'''Summary:''' | '''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 | '''Keywords:''' reports, daily reports, RTP, charts, call summary, QoS, ASR, ACD, MOS, CSV export, crontab scheduler, timezone, troubleshooting | ||
'''Key Questions:''' | '''Key Questions:''' | ||
* What | * What types of reports does VoIPmonitor provide? | ||
* How to configure daily email reports? | |||
* How to | * How to export CDRs to CSV automatically? | ||
* Why are scheduled reports not being sent? | |||
* How to fix timezone mismatch between GUI and OS? | |||
* How to export CDRs to | |||
* Why are | |||
* How | |||
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.

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

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

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

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.

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

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.

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.

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

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-dataorapache) must have write access to export folder - Ensure sufficient disk space for accumulated files
- Web server user (
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
mailqandtail /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
- Alerts & Reports - Email alert configuration
- Silence Detection - Enable silence/clipping metrics
- Web API - Programmatic report access
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?

