mirror of
https://github.com/open5gs/open5gs.git
synced 2026-10-14 22:04:21 +00:00
mirror of https://github.com/open5gs/open5gs link from https://open5gs.org/
https://open5gs.org
Nothing records whether a UE's handovers work. The AMF sees every step and knows the SUPI throughout, so it is the one place that can say both what happened and who it happened to - the gNB has the outcome but no notion of subscriber identity, and correlating the two would mean joining on a RAN_UE_NGAP_ID that is reused as soon as a UE re-attaches. Three counters, incremented only where the AMF is certain: attempted HandoverRequired accepted for this UE completed HandoverNotification arrived rejected the target refused, or the source cancelled A handover that is commanded and then never resolves is deliberately not counted. The AMF has no guard timer for one - there is no T304 equivalent - so the only later event is the UE re-attaching, which is indistinguishable from an ordinary power cycle: the same HOLDING_NG_CONTEXT path serves both, and exists for the power-cycle case. Inferring a failure there would mean carrying a pending flag that must be cleared on every resolution and aged out when a UE simply vanishes, and getting that wrong reports failures that never happened. attempted less completed less rejected gives the same number without the risk of attributing it to the wrong UE. Reported in /5gc/amf/ue-info beside the identity already there, so a caller can show per-subscriber handover health without a second source. The counters are cleared on the way out of the de-registered state. The UE context outlives a de-registration and is found again by 5G-S-TMSI, so without that a UE would carry its previous registration's handovers into the next one. Tested-by: Pau Espin Pedrol <pespin@sysmocom.de> |
||
|---|---|---|
| .github | ||
| configs | ||
| debian | ||
| docker | ||
| docs | ||
| lib | ||
| misc | ||
| src | ||
| subprojects | ||
| tests | ||
| vagrant | ||
| webui | ||
| .clang-tidy | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitignore | ||
| LICENSE | ||
| meson.build | ||
| meson_options.txt | ||
| README.md | ||
Getting Started
Please follow the documentation at open5gs.org!
Sponsors
If you find Open5GS useful for work, please consider supporting this Open Source project by Becoming a sponsor. To manage the funding transactions transparently, you can donate through OpenCollective.
Community
- Problem with Open5GS can be filed as issues in this repository.
- Other topics related to this project are happening on the discussions.
- Voice and text chat are available in Open5GS's Discord workspace. Use this link to get started.
Contributing
If you're contributing through a pull request to Open5GS project on GitHub, please read the Contributor License Agreement in advance.
License
- Open5GS Open Source files are made available under the terms of the GNU Affero General Public License (GNU AGPL v3.0).
- Commercial licenses are also available from NewPlane at sales@newplane.io.
Support
Technical support and customized services for Open5GS are provided by NewPlane at support@newplane.io.
