Sniffer distributed architecture
This guide explains how to deploy multiple VoIPmonitor sensors in a distributed architecture using the modern Client-Server mode.
Overview
VoIPmonitor v20+ uses a Client-Server architecture for distributed deployments. Remote sensors connect to a central server via encrypted TCP channel.
| Mode | What is sent | Processing location | Use case |
|---|---|---|---|
| Local Processing | CDRs only | Remote sensor | Multiple sites, low bandwidth |
| Packet Mirroring | Raw packets | Central server | Centralized analysis, low-resource remotes |
The mode is controlled by a single option: packetbuffer_sender
For comprehensive deployment options including on-host vs dedicated sensors, traffic forwarding methods (SPAN, GRE, TZSP, VXLAN), and NFS/SSHFS alternatives, see VoIPmonitor Deployment & Topology Guide.
Client-Server Mode
Architecture
Configuration
Remote Sensor (client):
id_sensor = 2 # unique per sensor
server_destination = central.server.ip
server_destination_port = 60024
server_password = your_strong_password
# Choose one:
packetbuffer_sender = no # Local Processing: analyze locally, send CDRs
# packetbuffer_sender = yes # Packet Mirroring: send raw packets
interface = eth0
sipport = 5060
# No MySQL credentials needed on remote sensors
Central Server:
server_bind = 0.0.0.0
server_bind_port = 60024
server_password = your_strong_password
mysqlhost = localhost
mysqldb = voipmonitor
mysqluser = voipmonitor
mysqlpassword = db_password
# If receiving raw packets (packetbuffer_sender=yes on clients):
sipport = 5060
# ... other sniffer options
Connection Compression
The client-server channel supports compression to reduce bandwidth usage:
# On both client and server (default: zstd)
server_type_compress = zstd
Available options: zstd (default, recommended), gzip, lzo, none
High Availability (Failover)
Remote sensors can specify multiple central server IPs for automatic failover:
# Remote sensor configuration with failover
server_destination = 192.168.0.1, 192.168.0.2
If the primary server becomes unavailable, the sensor automatically connects to the next server in the list.
Local Processing vs Packet Mirroring
| Local Processing | Packet Mirroring | |
|---|---|---|
packetbuffer_sender |
no (default) |
yes
|
| Packet analysis | On remote sensor | On central server |
| PCAP storage | On remote sensor | On central server |
| WAN bandwidth | Low (CDRs only) | High (full packets) |
| Remote CPU load | Higher | Minimal |
| Use case | Standard multi-site | Low-resource remotes |
PCAP Access in Local Processing Mode
When using Local Processing, PCAPs are stored on remote sensors. The GUI retrieves them via the central server, which proxies requests to each sensor's management port (TCP/5029).
Firewall requirements:
- Central server must reach remote sensors on TCP/5029
- Remote sensors must reach central server on TCP/60024
Dashboard Statistics
Dashboard widgets (SIP/RTP/REGISTER counts) are generated based on the packetbuffer_sender configuration:
| Configuration | Where statistics appear | Explanation |
|---|---|---|
packetbuffer_sender = yes (Packet Mirroring) |
Central server only | The sending sensor only captures and forwards raw packets. The central server performs all processing and statistics generation. Check the dashboard context for the central server, not the forwarding probe. |
packetbuffer_sender = no (Local Processing) |
Both sensor and central server | Each sensor processes traffic locally and generates its own statistics before sending CDRs to the central server.
If you are using Packet Mirroring mode and see empty dashboard widgets for the forwarding sensor, this is expected behavior. The sender sensor does not create database records or statistics. Enabling Local Statistics on Forwarding Sensors: If you need local statistics on a sensor that was previously configured to forward packets: # On the forwarding sensor
packetbuffer_sender = no
This will disable packet forwarding and enable full local processing. Be aware that this increases CPU and RAM usage on the local sensor since it must perform full SIP/RTP analysis instead of just capturing and forwarding. Data Storage Summary
GUI VisibilityRemote sensors appear automatically when connected. To customize names or configure additional settings:
Legacy: Mirror ModeNote: The older Limitations
For a complete reference of all client-server parameters, see Sniffer Configuration: Distributed Operation. AI Summary for RAGSummary: VoIPmonitor v20+ uses Client-Server architecture for distributed deployments with encrypted TCP connections (port 60024, zstd compression). Two modes: Local Processing (
|