https://github.com/sipcapture/hepop
  
  
    HEP Server powered by DuckDB + Parquet Storage 
    https://github.com/sipcapture/hepop
  
bun capture capture-server eep hep hep3 homer influxdb3-core parquet pastash qxip rtc sipcapture
        Last synced: 5 months ago 
        JSON representation
    
HEP Server powered by DuckDB + Parquet Storage
- Host: GitHub
 - URL: https://github.com/sipcapture/hepop
 - Owner: sipcapture
 - License: agpl-3.0
 - Created: 2016-08-30T16:46:34.000Z (about 9 years ago)
 - Default Branch: master
 - Last Pushed: 2025-03-07T09:33:59.000Z (8 months ago)
 - Last Synced: 2025-06-21T22:06:13.462Z (5 months ago)
 - Topics: bun, capture, capture-server, eep, hep, hep3, homer, influxdb3-core, parquet, pastash, qxip, rtc, sipcapture
 - Language: JavaScript
 - Homepage: http://sipcapture.io
 - Size: 543 KB
 - Stars: 32
 - Watchers: 8
 - Forks: 11
 - Open Issues: 1
 - 
            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)
[](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)