HEP Packet Server & Switch
npm install hepop

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.
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.
#### 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 |
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 configuration file
-s, --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
