Skip to content

VQ-RTCPXR SIP QoS Receiver

Disabled by default. Set ingest.vqrtcp.enable to true to start the listener.

Homer can accept SIP messages carrying application/vq-rtcpxr bodies on a dedicated SIP listener and store parsed QoS reports in DuckLake table vqrtcpxr_stats.

Configuration

"ingest": {
  "vqrtcp": {
    "enable": true,
    "bind_ip": "0.0.0.0",
    "sip_port": 5063,
    "transports": ["udp", "tcp"],
    "methods": ["PUBLISH", "MESSAGE"],
    "reply_200": true,
    "async_queue_depth": 1024,
    "node_id": "homer"
  }
}

Requires the writer module (DuckLake). The receiver is started from main.go alongside OTLP and Line Protocol receivers.

Storage

Table: {lake_name}.vqrtcpxr_stats

Key columns: callid, mos, event (VQSessionReport / VQIntervalReport), source_ip/port, destination_ip/port, data (raw body), message (parsed JSON summary).

UI

Transaction modal → QoS tab → VQRTCP sub-tab (when data exists). API: POST /api/v4/transactions/qos returns data.vqrtcp.data[] correlated by Call-ID.

Example body

Call-ID: abc@host
VQIntervalReport:
QualityEst:MOSLQ=4.20 MOSCQ=4.10
LocalAddr: 10.0.0.1 5060
RemoteAddr: 10.0.0.2 5070
JitterBuffer:JBA=0 JBR=0 JBN=10 JBM=0 JBX=0
PacketLoss:NLR=0.5 JDR=0.1

Point your SBC or media gateway VQ-RTCPXR SIP target at bind_ip:sip_port.