Tracing Support
Status: In review Feature owner: @andreilee Feedback requested from: @amarpad, @xjtian, @karthiksubraveti Last Updated: 10/21
Summary
As a general purpose debugging tool, a tracing tool will be added for understanding control messaging flow through a Magma access gateway.
Motivation
Example use cases include the following:
Subscriber Tracing
When issues are experienced by a subscriber on the network, network operators would like to have a tool which allows them to see the messages between the UE, eNodeB, and Magma components relating to the subscriber. This feature already exists for other NMS tools. Ideally, this capture should be a packet capture to fit with existing workflows using Wireshark. Wireshark has features to decode and display relevant messages for Gx, Gy, S1AP, TR-069, etc., as well as plugins to support decoding and viewing gRPC messages which are passed between Magma gateway components.
Protocol Tracing
Operators would like to be able to capture traces for specific protocol stacks, such as SCTP or DIAMETER. This could be used for troubleshooting specific integrations.
Goals
- Allow network operators to trace the control plane messaging for a subscriber
- Allow network operators to trace control plane messaging for a specific protocol or interface
- Allow call trace captures to started and stopped from the NMS
- Allow call trace captures to be filtered by subscriber/protocol/interface control plane messaging
As an additional criteria which is not necessary, call trace captures should be viewable in Wireshark.
Implementation Phases
The implementation will be done in two phases.
Phase 1 - MVP
(October - November 27)
The first phase of implementation will focus on bringing an MVP. Call traces will be able to be initiated from the NMS, and downloads of captures viewable through Wireshark after capture will be available.
Phase 2 - Call Trace Filtering
(December - January)
In the second phase, features will be provided for filtering call traces by subscriber, protocol, or interface.