v0.1.0
First tagged release.
TelcoLadder turns a telecom signalling capture into each subscriber's call
flow, with every failure explained — the cause code resolved to the 3GPP
clause it comes from, plus the most common field causes.
Highlights
- 10 protocol adapters across three generations on one timeline:
5G core (NGAP, NAS-5GS, HTTP/2 SBI, PFCP, GTP-U), 4G/EPC (S1AP, NAS-EPS,
GTPv2-C) and IMS (SIP), plus Diameter (S6a, Cx/Dx, Gx) - Per-subscriber correlation — identifiers are scoped and lifecycle-aware,
so recycled TEIDs and reused RAN UE IDs do not merge strangers into one flow - Explanations with provenance: cause → 3GPP clause always comes from a
static, human-verified table — never generated - Three outputs: Mermaid sequence diagrams (paste into GitHub), an
interactive browser viewer (telcoladder serve, light/dark), and an MCP
server so AI agents can query captures as tools - 723 tests, cross-validated against tshark as an independent oracle, on
Linux / macOS / Windows CI
Known gaps (stated, not hidden)
- 4G cause numbers are extracted but not yet catalogued —
describe()answers
honestly instead of inventing an explanation - Ciphered NAS and ECIES-protected SUCIs are reported as blind spots, per
capture
Install
pip install telcoladder # requires Python 3.11+ and tshark (Wireshark 4.0+)
telcoladder check