PitchHut logo
Efficient eBPF-based SIP monitoring for Prometheus systems.
Pitch

SIP-exporter is a high-performance monitoring service leveraging eBPF technology to capture and export SIP telephony metrics. Designed for Prometheus-compatible systems, it significantly reduces userspace processing overhead by capturing packets in the Linux kernel. Ideal for telephony systems seeking efficient metric exports.

Description

sip-exporter is a high-performance monitoring service designed for Session Initiation Protocol (SIP) environments, leveraging advanced eBPF (extended Berkeley Packet Filter) technology. This powerful service captures and exports telephony metrics directly from the Linux kernel, significantly reducing userspace processing overhead and ensuring efficient metric collection for Prometheus-compatible systems such as Prometheus and VictoriaMetrics.

Key Features

  • 🌐 Multi-Interface Monitoring: Monitor multiple network interface cards (NICs) simultaneously, tagging each with an iface label for granular analysis.
  • Low Overhead: Operate with minimal impact on system resources thanks to eBPF, which filters packets directly in kernel space.
  • 🐳 Single Container Deployment: Simplify installation with a containerized solution that requires no external dependencies.
  • 🔧 Configurable SIP Ports: Define specific SIP ports through environment variables for maximum flexibility.
  • 📈 Prometheus Native Integration: Expose a /metrics endpoint for easy scraping with Prometheus.
  • 🏷️ Carrier Metrics: Tag SIP metrics based on CIDR-based carrier resolution, enabling detailed insights into individual telecommunication providers.
  • 🏷️ Device Type Metrics: Classify metrics by User-Agent for comprehensive device performance analysis.
  • 🌍 Geo-Enrichment: Enhance metrics with geographic context through source_country and destination_country labels.
  • 🔀 Traffic Direction: Automatically label metrics as inbound or outbound with zero configuration required.
  • 📞 Voice Quality Metrics: Assess call quality using metrics defined by RFC 6035, including MOS scores, jitter, and packet loss.
  • 🎧 RTP Media Analysis: Analyze RTP stream quality metrics with detailed tracking of jitter, packet loss, and other VoIP parameters without capturing voice payload data.
  • 🛡️ Fraud Detection: Identify potential fraud through patterns in SIP signaling, such as registration scans and abnormal INVITE rates.

Installation and Usage

Quick Start

Deploy sip-exporter using Docker with the following simple configuration:

docker-compose.yml
services:
  sip-exporter:
    image: frzq/sip-exporter:latest
    privileged: true
    network_mode: host
    environment:
      - SIP_EXPORTER_INTERFACE=eth0
      - SIP_EXPORTER_HTTP_PORT=2112
      - SIP_EXPORTER_SIP_PORTS=5060

After starting the service, metrics can be accessed at http://localhost:2112/metrics. A health check endpoint is also available to monitor service status.

Core Technology

sip-exporter operates by utilizing eBPF attached to AF_PACKET sockets to intercept and filter SIP packets at Layer 4 (L4) without the need for traditional packet management solutions. This integration facilitates efficient and effective processing of SIP traffic and metrics.

Performance

The service exhibits flawless performance metrics with zero packet loss at up to 2,000 Calls Per Second (CPS), consuming less than 15% CPU and approximately 15 MB RAM under peak load. Garbage Collection (GC) pauses remain under 1 millisecond, ensuring smooth processing and reliability.

Metrics Overview

All collected metrics follow the Prometheus exposition format, enabling compatibility with various metric storage solutions including Prometheus and VictoriaMetrics. Key metrics include:

  • SIP request/response metrics categorized by type (e.g., INVITE, BYE, REGISTER).
  • Real-time counts of active SIP sessions.
  • Performance metrics defined in RFC standards, providing insights into system health and efficiency.
  • Detailed voice quality metrics, RTP media metrics, and alerts for detected fraud patterns to ensure ongoing monitoring of SIP environment integrity.

For developers, the project also includes extensive unit tests and end-to-end tests covering a wide spectrum of scenarios, ensuring robustness and reliability of the performance under different conditions.

For comprehensive details about SIP monitoring and setup instructions, users are encouraged to refer to the sip-exporter documentation.

By utilizing this innovative monitoring solution, organizations can optimize their telephony performance, maximize insights from SIP traffic, and maintain high levels of service integrity.

0 comments

No comments yet.

Sign in to be the first to comment.