In trunk version there is fix which offloads CPU on heavy loaded network traffic. Voipmonitor was fetching pcap stats for every packet which is totally slow and a big bottleneck. Version < 2.0 is not affected by this bug. Upcoming version 2.1.2 or 2.2 will have this fix. In meantime I'm recommending to download SVN trunk version.
- WAV convertor can now handle codec changes during call, reinvite or without
reinvite. It also covers cases whan each direction have different codecs. All
streams are combined together and is perfectly synchronised. DTMF is also handled
well. Free version supports G.711, commercial supports G.729/G.723/iLBC/GSM/Speex
- voipmonitor now requires libpcap >= 1.0.0 which implements ring buffer. This
buffer is storing all packets incoming on ethernet interface so voipmonitor does
not miss single packet on CPU/IO peaks. If so, it is logged to syslog.
Hadrcoded value is 5MB which should be enough. It can be tweak in source code.
Default ring buffer in libpcap < 1.0.0 relies on /proc/sys/net/core/rmem_default
which differs system to system and is low in general for accurate sniffing higher
traffic (on debian etch it is 135KB). Thanks to AronHopkins
- implement -c option for not storing CDR into databse. It is usefull whan
converting pcap to WAV etc.... read more
Main changes: fix all reported crashes, reconnect to MySQL database if connection lost, enhance speed a bit. Full changelog:
- hash search function for classifying RTP packets to its Call structure. This will speedup voipmonitor for high call volumes.
- fix 100% CPU whan -k was given
- log big timestamp jump only if verbose is > 4
- log MySQL query error to syslog
- handle MySQL error "2006 - MySQL server has gone away" as reconnecting to database
- fix crashes when dereferencing NULL packet. Sometimes it happens that pcap_next returns NULL pointer. Thanks Carlos Talbot!
- save caller ID with NAME field from SIP INVITE and store it to cdr.callername MySQL column (thanks Carlos Talbot)
I've finally discovered bug in jitterbuffer simulator which was causing random crashes. This crash affects all versions till 1.2.1.