Active calls: Difference between revisions

From VoIPmonitor.org
(Improved structure: added proper sections, filter syntax table, syntax highlighting, MediaWiki formatting, category, and AI Summary for RAG)
(Rewrite: consolidated structure, added troubleshooting table, more compact)
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{DISPLAYTITLE:Active Calls (Real-time Monitoring)}}
{{DISPLAYTITLE:Active Calls (Real-time Monitoring)}}
Category:GUI manual
[[Category:GUI manual]]


This page describes the Active Calls view, which provides real-time monitoring of ongoing calls in the VoIPmonitor GUI.
= Active Calls =
 
Real-time monitoring of ongoing VoIP calls with live listening capability (G.711 codec, sniffer v7+).


== Overview ==
== Overview ==


The Active Calls view displays current calls in real time and allows you to listen to G.711 calls live (requires sniffer version 7 or newer). The view refreshes automatically according to the configured refresh interval (default: 2 seconds).
{| class="wikitable"
 
|-
=== Communication with Sniffer ===
! Feature !! Details
 
|-
Live call data is fetched from the VoIPmonitor sniffer instance through the manager TCP port 5029. If calls are not displayed, verify that the web server can reach this port:
| Auto-refresh || Default: 2 seconds
 
|-
<syntaxhighlight lang="bash">
| Communication || TCP port '''5029''' (Manager API)
telnet localhost 5029
|-
</syntaxhighlight>
| Live listening || G.711 codec only (requires sniffer version 7+)
 
|-
=== Direct URL Access ===
| Direct URL || <code>admin.php?activecalls=1</code>
 
|}
You can open the Active Calls view directly using this URL format:


<syntaxhighlight lang="text">
<kroki lang="mermaid">
http://your-server/admin.php?activecalls=1
%%{init: {'flowchart': {'nodeSpacing': 15, 'rankSpacing': 40}}}%%
</syntaxhighlight>
flowchart LR
    subgraph GUI["Web GUI"]
        Browser["Browser"]
        PHP["PHP Backend"]
    end
    subgraph Sniffer["VoIPmonitor Sniffer"]
        Manager["Manager API\nPort 5029"]
        Capture["Packet Capture"]
    end
    Browser -->|HTTP/HTTPS| PHP
    PHP -->|TCP 5029| Manager
    Manager -->|Active Call Data| PHP
    Capture -->|Live Data| Manager
</kroki>


== Filtering Calls ==
{{Note|1=If calls are not displayed, verify that the web server can reach the sniffer's manager port 5029: <code>telnet localhost 5029</code>}}


The filter box adapts to the type of input provided. Calls can be filtered by:
== Filtering ==


* National or international (via combo box)
The filter box adapts to the input type. Available filters:
* Sensor
* IP address or IP prefix
* Phone number or prefix
* Call-ID


=== Filter Syntax Examples ===
* '''Sensor''' - dropdown selection
* '''IP address/prefix''' - e.g., <code>192.168.%</code>
* '''Phone number/prefix''' - e.g., <code>00</code> (international)
* '''Call-ID''' - exact or substring match


{| class="wikitable"
{| class="wikitable"
|-
|-
! Input !! Description
! Filter Input !! Matches
|-
|-
| <code>192.168.%</code> || Filters calls with source or destination IP starting with 192.168.x.x
| <code>192.168.%</code> || Source/destination IP starting with 192.168.x.x
|-
|-
| <code>00</code> || Filters calls where the number starts with 00
| <code>00</code> || Numbers starting with 00
|-
|-
| <code>abc123</code> || Searches for exact Call-ID match
| <code>abc123</code> || Exact Call-ID match
|-
|-
| <code>%abc123%</code> || Searches for Call-ID containing "abc123" (substring match)
| <code>%abc123%</code> || Call-ID containing "abc123"
|}
|}


Note: By default, Call-ID search matches the full Call-ID string. To search for a substring, add the <code>%</code> wildcard character to the start and/or end of the search string.
{{Tip|1=Use <code>%</code> wildcard for substring matching in Call-ID searches.}}
 
=== Duplicate Entries ===
 
Duplicates often appear when calls traverse multiple SIP gateways/carriers.
 
'''Solutions:'''
* '''Filter by carrier IP''' - Enter the specific carrier IP to show only one leg per call
* '''Filter by sensor''' - If multiple sensors capture the same mirrored traffic
* '''SIP forking''' - Simultaneous ringing to multiple destinations are separate legs (expected behavior)
 
For distributed sensor architectures, see [[Sniffer_distributed_architecture]].
 
== Show Call Info ==
 
Displays detailed SIP packet information for active calls when clicking on a call entry.
 
{{Warning|1=Requires VoIPmonitor '''version 2024.09.1+''' and can significantly increase CPU load.}}
 
'''Enable via config file:'''
<syntaxhighlight lang="ini">
# /etc/voipmonitor.conf
active_call_info = yes
</syntaxhighlight>
<syntaxhighlight lang="bash">
systemctl restart voipmonitor
</syntaxhighlight>
 
'''Enable via GUI:''' Settings > Sensors > wrench icon > enable <code>active_call_info</code>
 
== Column Visibility ==
 
Customize visible columns via the column header menu ("Show columns"). Settings persist in the <code>custom_config</code> database table.
 
{{Tip|Hiding problematic columns (e.g., "Proxy") can resolve performance issues caused by parsing errors.}}


== Bottom Graphs ==
== Bottom Graphs ==


The bottom section of the Active Calls view displays graphs showing the top callers grouped by:
The bottom section displays top callers/called grouped by IP address.
* Caller IP address
* Called IP address


[[File:activecalls.png]]
[[File:activecalls.png]]


== Customizing Column Visibility ==
== Programmatic Access (API) ==


The Active Calls view allows you to show or hide columns based on your preferences. This is useful when:
=== GUI API (Centralized) ===


* You want to reduce visual clutter and focus on specific information
Query active calls from all connected sensors via <code>listActiveCalls</code>:
* Certain columns contain data that is causing performance issues (e.g., parsing errors in the Proxy column)
* Your display has limited screen space


To hide or show columns:
<syntaxhighlight lang="bash">
curl -X POST 'http://yourserver/php/api.php?task=listActiveCalls&user=USER&password=PASSWORD&params={"sensorId":"1"}'
</syntaxhighlight>


# Locate the column header area at the top of the table
See [[WEB_API#listActiveCalls]] for details.
# Click on the column visibility icon (typically a column or grid icon) or look for a "Show columns" dropdown menu
# Uncheck columns you want to hide, check columns you want to show
# The view will update immediately with your selection


Your column visibility preferences are stored in the GUI configuration (saved in the MySQL <code>custom_config</code> table) and persist across sessions.
=== Sniffer Manager API (Direct) ===


=== Troubleshooting Performance Issues ===
Query a single sensor directly via port 5029:


If the Active Calls view becomes unresponsive or slow, particularly when displaying certain columns like "Proxy":
<syntaxhighlight lang="bash">
echo 'listcalls' | nc localhost 5029
</syntaxhighlight>


;Temporary workaround:
{| class="wikitable"
:Hide the problematic column using the column visibility method above.
|-
! Method !! Use Case
|-
| GUI <code>listActiveCalls</code> || Multiple sensors, centralized monitoring, external integrations
|-
| Manager API <code>listcalls</code> || Single sensor, local scripts, low-latency queries
|}
 
== Troubleshooting ==
 
{| class="wikitable"
|-
! Problem !! Solution
|-
| No calls displayed || Verify port 5029 connectivity: <code>telnet localhost 5029</code>
|-
| Duplicate entries || Filter by carrier IP or sensor ID
|-
| Slow/unresponsive view || Hide problematic columns (e.g., "Proxy")
|-
| GUI completely frozen || Connect to DB, clear entries in <code>custom_config</code> table
|}


;If the GUI is completely unresponsive:
'''For support tickets, provide:'''
:* Connect directly to the GUI database
* SIP PCAP dump of problematic calls
:* Check the <code>custom_config</code> table for column visibility settings
* mysqldump of <code>voipmonitor.custom_config</code> table
:* Clear or modify the relevant configuration entries
:* Contact support with SSH access to the GUI host for investigation


;Information to provide for support:
== See Also ==
:* A SIP PCAP dump of a problematic call (to identify data causing parsing errors)
 
:* A mysqldump of the <code>voipmonitor.custom_config</code> table (to review current column configuration)
* [[Sniffer_distributed_architecture]] - Multi-sensor deployments
* [[WEB_API]] - Full API documentation
* [[Settings]] - Sensor configuration


== AI Summary for RAG ==
== AI Summary for RAG ==
'''Summary:''' Active Calls provides real-time monitoring of ongoing VoIP calls with live listening capability for G.711 codec. Calls are fetched via manager port 5029 and can be filtered by IP, number, sensor, or Call-ID. Column visibility can be customized and settings persist in the database.


'''Keywords:''' active calls, real-time monitoring, live calls, manager port 5029, call filter, column visibility, custom_config, G.711 listening
'''Summary:''' Active Calls provides real-time monitoring of ongoing VoIP calls via TCP port 5029. Features include: live listening (G.711 only, sniffer v7+), filtering by IP/number/Call-ID/sensor, and column customization. Duplicate entries occur when calls traverse multiple carriers - filter by carrier IP to consolidate. "Show Call Info" feature (v2024.09.1+) displays SIP packet details but increases CPU load. Programmatic access available via GUI API (listActiveCalls for multi-sensor) or Manager API (listcalls for single sensor). Settings stored in custom_config table.
 
'''Keywords:''' active calls, real-time monitoring, live listening, G.711, port 5029, manager API, listActiveCalls, listcalls, call filter, duplicate entries, carrier IP, active_call_info, column visibility, custom_config


'''Key Questions:'''
'''Key Questions:'''
Line 102: Line 168:
* Why are active calls not showing in the GUI?
* Why are active calls not showing in the GUI?
* How do I filter calls by IP address or phone number?
* How do I filter calls by IP address or phone number?
* How do I hide or show columns in the Active Calls view?
* Why do I see duplicate entries for the same call?
* What port is used for fetching live call data?
* How do I enable "Show Call Info" feature?
* What port is used for active call data?
* How do I programmatically query active calls?
* What is the difference between listActiveCalls and listcalls?
* How do I customize column visibility?
* What version is required for SIP packet view in active calls?

Latest revision as of 16:48, 8 January 2026


Active Calls

Real-time monitoring of ongoing VoIP calls with live listening capability (G.711 codec, sniffer v7+).

Overview

Feature Details
Auto-refresh Default: 2 seconds
Communication TCP port 5029 (Manager API)
Live listening G.711 codec only (requires sniffer version 7+)
Direct URL admin.php?activecalls=1

ℹ️ Note: If calls are not displayed, verify that the web server can reach the sniffer's manager port 5029: telnet localhost 5029

Filtering

The filter box adapts to the input type. Available filters:

  • Sensor - dropdown selection
  • IP address/prefix - e.g., 192.168.%
  • Phone number/prefix - e.g., 00 (international)
  • Call-ID - exact or substring match
Filter Input Matches
192.168.% Source/destination IP starting with 192.168.x.x
00 Numbers starting with 00
abc123 Exact Call-ID match
%abc123% Call-ID containing "abc123"

💡 Tip: Use % wildcard for substring matching in Call-ID searches.

Duplicate Entries

Duplicates often appear when calls traverse multiple SIP gateways/carriers.

Solutions:

  • Filter by carrier IP - Enter the specific carrier IP to show only one leg per call
  • Filter by sensor - If multiple sensors capture the same mirrored traffic
  • SIP forking - Simultaneous ringing to multiple destinations are separate legs (expected behavior)

For distributed sensor architectures, see Sniffer_distributed_architecture.

Show Call Info

Displays detailed SIP packet information for active calls when clicking on a call entry.

⚠️ Warning: Requires VoIPmonitor version 2024.09.1+ and can significantly increase CPU load.

Enable via config file:

# /etc/voipmonitor.conf
active_call_info = yes
systemctl restart voipmonitor

Enable via GUI: Settings > Sensors > wrench icon > enable active_call_info

Column Visibility

Customize visible columns via the column header menu ("Show columns"). Settings persist in the custom_config database table.

💡 Tip: Hiding problematic columns (e.g., "Proxy") can resolve performance issues caused by parsing errors.

Bottom Graphs

The bottom section displays top callers/called grouped by IP address.

Programmatic Access (API)

GUI API (Centralized)

Query active calls from all connected sensors via listActiveCalls:

curl -X POST 'http://yourserver/php/api.php?task=listActiveCalls&user=USER&password=PASSWORD&params={"sensorId":"1"}'

See WEB_API#listActiveCalls for details.

Sniffer Manager API (Direct)

Query a single sensor directly via port 5029:

echo 'listcalls' | nc localhost 5029
Method Use Case
GUI listActiveCalls Multiple sensors, centralized monitoring, external integrations
Manager API listcalls Single sensor, local scripts, low-latency queries

Troubleshooting

Problem Solution
No calls displayed Verify port 5029 connectivity: telnet localhost 5029
Duplicate entries Filter by carrier IP or sensor ID
Slow/unresponsive view Hide problematic columns (e.g., "Proxy")
GUI completely frozen Connect to DB, clear entries in custom_config table

For support tickets, provide:

  • SIP PCAP dump of problematic calls
  • mysqldump of voipmonitor.custom_config table

See Also

AI Summary for RAG

Summary: Active Calls provides real-time monitoring of ongoing VoIP calls via TCP port 5029. Features include: live listening (G.711 only, sniffer v7+), filtering by IP/number/Call-ID/sensor, and column customization. Duplicate entries occur when calls traverse multiple carriers - filter by carrier IP to consolidate. "Show Call Info" feature (v2024.09.1+) displays SIP packet details but increases CPU load. Programmatic access available via GUI API (listActiveCalls for multi-sensor) or Manager API (listcalls for single sensor). Settings stored in custom_config table.

Keywords: active calls, real-time monitoring, live listening, G.711, port 5029, manager API, listActiveCalls, listcalls, call filter, duplicate entries, carrier IP, active_call_info, column visibility, custom_config

Key Questions:

  • How do I view active/live calls in VoIPmonitor?
  • Why are active calls not showing in the GUI?
  • How do I filter calls by IP address or phone number?
  • Why do I see duplicate entries for the same call?
  • How do I enable "Show Call Info" feature?
  • What port is used for active call data?
  • How do I programmatically query active calls?
  • What is the difference between listActiveCalls and listcalls?
  • How do I customize column visibility?
  • What version is required for SIP packet view in active calls?