Diameter Capture
August 10, 2026 ยท View on GitHub
heplify 2.x can capture Diameter over TCP and SCTP and forward it as HEP proto_type=56 (same as Captagent / hepagent).
Enable
CLI:
./heplify -i eth0 -m SIPDIAMETER
# or Diameter only:
./heplify -i eth0 -m DIAMETER
JSON (examples/heplify.json):
"capture_mode": ["SIP", "RTCP", "DIAMETER"],
"protocol": [
{
"name": "DIAMETER",
"min_port": 3868,
"max_port": 3868,
"protocol": ["tcp", "sctp"]
}
]
Important: with a JSON config, Diameter is enabled by the protocol[] entry named DIAMETER (port range + tcp/sctp). That drives BPF and packet dispatch. Put DIAMETER in socket[].capture_mode as well for clarity / stats; capture_mode alone without a matching protocol[] row is not enough when using a config file.
What is sent
- HEP protocol type: 56
- Payload: JSON with command, app-ID, flags, and AVPs
- Correlation ID: Session-Id (AVP 263), or
unknownif missing
Notes
- TCP Diameter shares the TCP reassembly path with SIP (Length-framed when version byte is
0x01). - SCTP Diameter extracts non-fragmented DATA chunks before parsing.
- Homer UI Protocol Search for Diameter may still need a mapping seed (
hepid=56); ingest/storage works at the HEP layer.