Active calls: Difference between revisions
(Add warning about CPU load increase for active_call_info) |
(Rewrite: consolidated structure, added troubleshooting table, more compact) |
||
| Line 2: | Line 2: | ||
[[Category:GUI manual]] | [[Category:GUI manual]] | ||
= Active Calls = | |||
Real-time monitoring of ongoing VoIP calls with live listening capability (G.711 codec, sniffer v7+). | |||
== Overview == | == Overview == | ||
{| class="wikitable" | |||
|- | |||
= | ! 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 || <code>admin.php?activecalls=1</code> | |||
|} | |||
<kroki lang="mermaid"> | <kroki lang="mermaid"> | ||
| Line 29: | Line 38: | ||
</kroki> | </kroki> | ||
{{Note|1=If calls are not displayed, verify that the web server can reach the sniffer's manager port 5029 | {{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>}} | ||
< | |||
telnet localhost 5029 | |||
</ | |||
== Filtering == | |||
The filter box adapts to the input type. Available filters: | |||
* '''Sensor''' - dropdown selection | |||
* '''IP address/prefix''' - e.g., <code>192.168.%</code> | |||
* '''Phone number/prefix''' - e.g., <code>00</code> (international) | |||
* Sensor | * '''Call-ID''' - exact or substring match | ||
* IP address | |||
* Phone number | |||
* Call-ID | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Input !! | ! Filter Input !! Matches | ||
|- | |- | ||
| <code>192.168.%</code> || | | <code>192.168.%</code> || Source/destination IP starting with 192.168.x.x | ||
|- | |- | ||
| <code>00</code> || | | <code>00</code> || Numbers starting with 00 | ||
|- | |- | ||
| <code>abc123</code> || | | <code>abc123</code> || Exact Call-ID match | ||
|- | |- | ||
| <code>%abc123%</code> || | | <code>%abc123%</code> || Call-ID containing "abc123" | ||
|} | |} | ||
{{Tip|1= | {{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"> | <syntaxhighlight lang="ini"> | ||
# | # /etc/voipmonitor.conf | ||
active_call_info = yes | active_call_info = yes | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
systemctl restart voipmonitor | systemctl restart voipmonitor | ||
</syntaxhighlight> | </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 == | |||
The bottom section displays top callers/called grouped by IP address. | |||
[[File:activecalls.png]] | |||
== Programmatic Access (API) == | |||
=== GUI API ( | === GUI API (Centralized) === | ||
Query active calls from all connected sensors via <code>listActiveCalls</code>: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
curl -X POST 'http://yourserver/php/api.php?task=listActiveCalls&user=USER&password=PASSWORD¶ms={"sensorId":"1"}' | curl -X POST 'http://yourserver/php/api.php?task=listActiveCalls&user=USER&password=PASSWORD¶ms={"sensorId":"1"}' | ||
</syntaxhighlight> | </syntaxhighlight> | ||
See [[WEB_API#listActiveCalls]] for details. | |||
=== Sniffer Manager API (Direct) === | |||
Query a single sensor directly via port 5029: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
echo 'listcalls' | nc localhost 5029 | echo 'listcalls' | nc localhost 5029 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{| class="wikitable" | |||
|- | |||
! 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 | |||
|} | |||
''' | '''For support tickets, provide:''' | ||
* | * SIP PCAP dump of problematic calls | ||
* | * mysqldump of <code>voipmonitor.custom_config</code> table | ||
* | |||
== See Also == | |||
* [[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 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 223: | 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 | * Why do I see duplicate entries for the same call? | ||
* What port is used for | * How do I enable "Show Call Info" feature? | ||
* How | * What port is used for active call data? | ||
* What is the difference between listActiveCalls | * How do I programmatically query active calls? | ||
* How do I | * 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? | |||
* What version is required for | |||
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¶ms={"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_configtable
See Also
- Sniffer_distributed_architecture - Multi-sensor deployments
- WEB_API - Full API documentation
- Settings - Sensor configuration
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?
