Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sipcapture/hepop
Multi-Protocol HEP Server & RTC Collector in NodeJS :balloon:
https://github.com/sipcapture/hepop
capture eep hep homer homer-seven indexing janus jitsi jitsi-meet mediasoup monitoring nodejs pastash rtc server sipcapture webrtc-monitoring website
Last synced: 9 days ago
JSON representation
Multi-Protocol HEP Server & RTC Collector in NodeJS :balloon:
- Host: GitHub
- URL: https://github.com/sipcapture/hepop
- Owner: sipcapture
- License: agpl-3.0
- Created: 2016-08-30T16:46:34.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-01-11T05:49:59.000Z (almost 2 years ago)
- Last Synced: 2024-09-21T06:58:09.768Z (about 1 month ago)
- Topics: capture, eep, hep, homer, homer-seven, indexing, janus, jitsi, jitsi-meet, mediasoup, monitoring, nodejs, pastash, rtc, server, sipcapture, webrtc-monitoring, website
- Language: JavaScript
- Homepage: http://sipcapture.io
- Size: 375 KB
- Stars: 22
- Watchers: 8
- Forks: 11
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-hep - HEPop - HEPop is a stand-alone HEP Capture Server developed in NodeJS, designed to prototype different backends for HOMER7 and emitting Metrics to external backends such as InfluxDB and Prometheus. (Contribution Guidelines / HEP Server Applications)
README
#
**HEPop** is a prototype stand-alone [HEP](https://github.com/sipcapture/hep) Capture Server designed for [HOMER7](https://github.com/sipcapture/homer) 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](https://github.com/sipcapture/homer-docker/tree/master/hepop/hom7-hep-influx)#### Config
See [myconfig.js](https://github.com/sipcapture/HEPop/blob/master/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](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=donation%40sipcapture%2eorg&lc=US&item_name=SIPCAPTURE&no_note=0¤cy_code=EUR&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHostedGuest)[![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=donation%40sipcapture%2eorg&lc=US&item_name=SIPCAPTURE&no_note=0¤cy_code=EUR&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHostedGuest)