Rtpengine-Mon is a simple tool for monitoring active calls and statistics from RTPEngine.
- Active Call Monitoring: View all current calls handled by RTPEngine in real-time.
- Statistics Dashboard: View RTPEngine statistics.
- Audio Spying: High-quality audio monitoring of calls using WebRTC.
- Jaeger Monitoring: Service Performance Monitoring (SPM) using OpenTelemetry for RED metrics (Request, Error, Duration).
- Go 1.21 or later
- RTPEngine instance
Copy the .env.example file to .env and configure the necessary variables:
cp .env.example .envKey configuration options:
HTTP_PORT: Port for the web interface (default: 8081).RTPENGINE_ADDR: Address of the RTPEngine Control channel.WEBRTC_NAT_1TO1_IPS: comma separated list of IPs for WebRTC NAT 1to1 mapping.WEBRTC_ICE_ADDRESS: Public/Local IP address for WebRTC ICE candidates.
go run cmd/rtpengine-mon/main.goThe project includes a observability stack (Jaeger + Prometheus) to monitor performance. (experimental stuff)
- Jaeger UI: http://localhost:16686 - Access the "Monitor" tab for Service Performance Monitoring (SPM).
- Prometheus: Backend for metrics storage.
To start the observability stack:
docker compose up -d


