hepop
v1.0.36
Published
HEP Packet Server & Switch
Downloads
16
Maintainers
Readme
HEPop is a prototype stand-alone HEP Capture Server designed for HOMER7 capable of emitting indexed datasets and tagged timeseries to multiple backends in bulks. HEPop is developed using NodeJS
and distributed using npm
.
TLDR; instant, stand-alone, minimal HOMER Server without Kamailio or OpenSIPS dependency/options.
WARNING
This is a prototype under heavy development, please use it with caution and kindly report bugs!
Features
The core of hepop
follows the latest homer
data design and splits indexed data and timeseries, providing multiple backend options to choose from when prototype a custom capture solution.
Performance
During testing, HEPop bulking clocked about 10-15k/PPS per shared core on a Xeon(R) CPU E5-2660 v3 @ 2.60GHz
Supported Stores
| TYPE | | |------------|-----------------| | JSON | Postgres (default), RethinkDB, MongoDB, Elasticsearch | | Timeseries | InfluxDB (default), Prometheus, VictoriaMetrics |
Supported Sources
| SOCKET | PROTO | TYPE/ID | DESCRIPTION | STORE | STATS | |-----------|------------|-----------------|--------------------|------------|------------------------------| | HEP | HEP | 1 | SIP | JSON + TS | SIP methods, SIP responses | | | | 5 | RTCP Reports | Timeseries | RTCP, RTCPXR, X-RTP-Stat | | | | 34 | RTP Agent Report | Timeseries | RTP, RTCP Stats | | | | 100 | JSON Logs | JSON | String, JSON Object | | | | 1000+ | Dynamic Types | JSON | | | HTTP/S | JANUS | any | Custom JSON Fields | JSON | session_id, handle_id, opaque_id, event | | | | 34 | Media Stats | Timeseries | RTCP Statistics | | HTTP/S | MEDIASOUP | any | Custom JSON Fields | JSON | roomId, peerName, producerId | | | | producer.stats | Media Stats | Timeseries | RTCP Statistics | | | | transport.stats | Transport Stats | Timeseries | IP SRC/DST, Bytes in/out | | HTTPS | JITSI | any | Custom JSON Fields | JSON | report counters | | | | rtp.stats | Browser Media Stats| Timeseries | RTCP Statistics | | SIPFIX | | SIP (tcp/udp) | SIP comm-monitor | JSON + TS | SIP methods, SIP responses | | | | RTP QOS (stats) | RTP Media stats | Timeseries | RTP, RTCP Stats |
Usage
Launch a dedicated instance of hepop
per protocol using a custom configuration:
$ hepop -c ./myconfig.js
Docker
Try the bundled Docker compose
Config
See myconfig.js for an example configuration
Options:
-V, --version output the version number
-c, --configfile <configfile> configuration file
-s, --socket <socket> socket service (udp,tcp,http,sipfix,mqtt) (default: udp)
Screenshots
homer7
influxdb
Made by Humans
This Open-Source project is made possible by actual Humans without corporate sponsors, angels or patreons. If you use this software in production, please consider supporting its development with contributions or donations