Difference between revisions of "Architecture"

From VoIPmonitor.org
Jump to navigation Jump to search
Line 1: Line 1:
VoIPmonitor architecture allows running multiple sensors and one MySQL/HTTP server. Stored CDR in database stores signalization informations (like length of call, start of the call etc.) and QOS for RTP stream. It also can create pcap files which stores all packets for particular call (SIP or SIP+RTP) and those pcap files are stored as files on local file systems. The sniffer can listen on single network interface (like eth0) or on all interfaces. The most common scenario is to install sniffer on dedicated server mirroring traffic from switch. It is also often installed directly on production PBX/SBC if it is linux based. In this case - you should take care about system resources to not influence the other parts of system (asterisk, etc.). All type of sniffing is described in chapter [[sniffing modes]].
+
= Architecture =
  
VoIPmonitor WEB interface reads CDR from database and does various statistics from it - like ACD, ASR. WEB interface is usually installed directly on the sniffer server but it can be installed on standalone linux instance alongside with mysql database.  
+
VoIPmonitor architecture allows running multiple sensors (linux) and one MySQL/HTTP server. Call detail records (CDR) are saved over MySQL TCP protocol to local or remote database and pcap files (which stores SIP and RTP packets) are saved on local sensor storage. WEB GUI reads CDR from database and can read pcap files from local disk (in all in one setup) or directly from the sniffer over TCP manager interface (on port 5029).
 +
 
 +
[[File:architecture.png]]
  
 
== All in one ==
 
== All in one ==
Line 7: Line 9:
  
 
== Multiple remote sensors one DB/WEB server ==
 
== Multiple remote sensors one DB/WEB server ==
If sensors are remote it have to write CDR to remote database. MySQL must listen not only on localhost (my.cf -> bind = 0.0.0.0)
+
If sensors are remote it needs to be configured to do so.  
 +
 
 +
*TCP manager interface must listen not only on localhost so the GUI server can reach it. In
 +
*Set mysql in voipmonitor.conf to store to remote database
 +
*set id_sensor to some number (this is required)
 +
*In the GUI add the sensor in [[Settings#Sensors]]
 +
 
 +
= Sniffing packets =
 +
 
 +
VoIPmonitor sniffer can run only on Linux. You can compile it or download static binaries and run it directly on your PBX / SBC. But although the sniffer was designed to handle thousands of simultaneous calls it is recommended to install it on dedicated Linux server (which can be also virtual).
 +
 
 +
The sniffer can listen only on one interface or on all interfaces (interface=any). For more information refer to [[sniffer manual]].  
 +
 
 +
== Mirroring packets ==
 +
 
 +
=== Hardware mirroring ===
 +
 
 +
If the sniffer cannot run directly on PBX/SBC you need to mirror packets to sniffer server. The most common approach is to do it in hardware switch. This feature is called spanning or mirroring ports. Check if your switch can do this. Some PBX/SBC are capable of mirroring VoIP using IP in IP protocol which voipmonitor supports natively (enabled by default).
 +
 
 +
=== Software mirroring ===
 +
 
 +
If your switch lacks mirroring feature you can mirror packets using Linux iptables feature or you can set sniffer in only special mirror mode which sniffs on the PBX/SBC all packets and mirrors them to central sniffer server over IPinIP protocol. For more details refer to sniffer manual.

Revision as of 19:27, 17 May 2013

Architecture

VoIPmonitor architecture allows running multiple sensors (linux) and one MySQL/HTTP server. Call detail records (CDR) are saved over MySQL TCP protocol to local or remote database and pcap files (which stores SIP and RTP packets) are saved on local sensor storage. WEB GUI reads CDR from database and can read pcap files from local disk (in all in one setup) or directly from the sniffer over TCP manager interface (on port 5029).

Architecture.png

All in one

If the sensor is installed on the same server as MySQL and WEB server you do not need to configure sensors in GUI. The GUI is reading PCAP files directly from local file system and database are connected via localhost mysql database.

Multiple remote sensors one DB/WEB server

If sensors are remote it needs to be configured to do so.

  • TCP manager interface must listen not only on localhost so the GUI server can reach it. In
  • Set mysql in voipmonitor.conf to store to remote database
  • set id_sensor to some number (this is required)
  • In the GUI add the sensor in Settings#Sensors

Sniffing packets

VoIPmonitor sniffer can run only on Linux. You can compile it or download static binaries and run it directly on your PBX / SBC. But although the sniffer was designed to handle thousands of simultaneous calls it is recommended to install it on dedicated Linux server (which can be also virtual).

The sniffer can listen only on one interface or on all interfaces (interface=any). For more information refer to sniffer manual.

Mirroring packets

Hardware mirroring

If the sniffer cannot run directly on PBX/SBC you need to mirror packets to sniffer server. The most common approach is to do it in hardware switch. This feature is called spanning or mirroring ports. Check if your switch can do this. Some PBX/SBC are capable of mirroring VoIP using IP in IP protocol which voipmonitor supports natively (enabled by default).

Software mirroring

If your switch lacks mirroring feature you can mirror packets using Linux iptables feature or you can set sniffer in only special mirror mode which sniffs on the PBX/SBC all packets and mirrors them to central sniffer server over IPinIP protocol. For more details refer to sniffer manual.