NTN Testbeds: Overview
TOSSI runs five NTN testbed scenarios: one geostationary and four low-earth-orbit, all on a single Linux host with no radio hardware. This page is the map. It says what each one demonstrates and links to its documentation.
If you are new to NTN as a technology, start with NTN: An Introduction, which covers orbits, payload types and what 3GPP changed to make 5G work over a satellite link.
The testbeds
| Testbed | What it demonstrates | Headline result |
|---|---|---|
| GEO NTN Testbed (rfsim) | A transparent-payload geostationary link, 35 786 km, with a constant 119.37 ms delay each way. Full 5G SA attach and user-plane traffic. | 239 ms air round trip, attach in ~6 s |
| LEO NTN Testbed (rfsim) | A 600 km polar orbit across four scenarios: a single pass, an inter-cell Xn handover, a one-shot in-cell satellite switch, and a satellite train that never lets the cell go off air. | 227 ms handover, 373/373 pings across switches |
The LEO page covers four scenarios in one document, because they share an orbit model, a configuration set and a run harness:
| # | Scenario | The mechanism |
|---|---|---|
| 1 | Single-cell pass | One satellite, horizon to horizon, 12.8 min, with the link muted at setting |
| 2 | Inter-cell handover | XnAP handover between two gNBs plus NGAP Path Switch, so the PDU session survives |
| 3 | In-cell satellite switch | satSwitchWithReSync-r18: the cell keeps its NCI, PCI and SSB while the satellite behind it changes |
| 4 | Satellite train | The same switch, armed again after every switch, so the cell stays on the air indefinitely |
The foundation stack
All four testbeds run on the same components: an OAI nrUE, an OCUDU gNB, the rfsimulator carrying IQ samples over a TCP socket in place of the air interface, and a 5G core (SD-Core or OAI CN5G). The base stack, without the NTN specifics, is documented in the rfsimulator Multi-UE Testbed.
What NTN adds on top is the orbit: the gNB propagates a satellite state vector, broadcasts it in SIB19, and drives the emulated channel from the same propagator, so the delay the uplink experiences is exactly the timing advance the UE derived from the broadcast.
Roadmap
The testbeds are built in stages, each adding one capability to the one before it. Satellite handover is the current release: stages A and B are shipped and documented above, and stages D and E are planned.
| Stage | Capability | 3GPP | Status |
|---|---|---|---|
| A | GEO NTN attach, fixed 480 ms delay with full RRC, NAS and PDU session support | Rel-17 | Shipped |
| B | LEO NTN with a moving satellite: ephemeris-driven delay and delay rate (service-link Doppler emulation is implemented but off by default) | Rel-17 | Shipped |
| C | Satellite handover: keep the connection alive as one satellite sets and the next rises | Rel-17 | Current release |
| D | Regenerative payload and location: gNB on board, network-verified UE position, mapped Cell ID, earth-fixed TACs | Rel-18/19 | Planned |
| E | Next-generation evolution: store-and-forward, inter-satellite links, channel fidelity, an NTN digital twin | Rel-18/19 | Planned |
The earlier ZMQ testbeds
The GEO and LEO testbeds were originally built on ZMQ, with the propagation delay applied by a Python relay between the UE and the gNB. Both have been migrated to the rfsimulator, which applies the delay itself and removes the relay entirely. The original pages are kept for reference: GEO NTN Testbed (ZMQ) and LEO NTN Testbed (ZMQ).