From Nsnam
Jump to: navigation, search

Project Overview


  1. Provide a description of how packets flow through the 5G NR RAN. Be able to answer the question "what happens to the traffic between a gNB and a UE?"
  2. Improve or add documentation when necessary, in order to address usability issues in understanding fundamental example scenarios, such as cttc-nr-demo.
  3. Enhance packet/frame tracing capabilities by offering flexible log messages and trace sources.
  4. Review and refactor code to improve clarity on example scenarios.
  5. Be able to measure latency at different layers of the NR stack.


  • ns-3-dev and NR were forked at their respective versions: 3.39 and 2.5.x, creating the following two personal repositories: ggrieco/ns-3-dev and ggrieco/nr.
  • Analyzed the cttc-nr-demo example for usability issues.
  • Helped mentors in fixing pipeline configuration issues, hindering the correct checking of build and code style.
  • Presented work being done and merged over the NR module at WNS3 2023, gathering interesting feedback from the ns-3 community.
  • Created a tutorial to better understand how the NR module works, based on cttc-nr-demo example.
  • Various documentation and log improvements tracked by MRs.


The project focused on milestones different from the ones listed in the starting project idea after internal meetings with mentors and feedback gathered during the Community Bonding Period.

Merge Requests

All the following activities can be easily reviewed on the following MRs:

Merge Requests
No. Name Status Archived Patchset
1 !50 docs: Update sqlite support message Merged link
2 !51 nr-helper: Drop undefined method Merged link
3 !52 Example Usability Improvements In review link
4 !53 examples: Fix CommandLine declaration for doxygen Merged link
5 !54 gitlab-ci-gcc: Fix and upgrade build pipeline Merged link
6 !55 examples, docs: Update TR 38.900 references to TR 38.901 Refused -
7 !56 Readme: Reference the Doxygen tutorial to learn how to run examples Merged link
8 !57 cttc-nr-demo: Add reference to TS 38.300 Refused -
9 !58 cttc-nr-demo: Add reference to ns-3 logging tutorial Refused -
10 !59 cttc-nr-demo: Add lower-bound frequency check as per TR 39.901 Merged link
11 !60 nr-radio-environment-map-helper: Remove unused variable Refused -
12 !61 cttc-nr-demo: Clarify GridScenarioHelper usage Merged link
13 !62 grid-scenario-helper: Add documentation In review link
14 !63 gitlab-ci: Fix SSL errors on git clone Merged link
15 !65 cttc-nr-demo: Usability improvements over Packet Tracing Merged link
16 !67 cttc-nr-demo: Add references to standards and ns-3 docs Merged link
17 !68 logs: Demote Informational logs messages to Function trace messages Merged link
18 !71 cttc-nr-demo Tutorial Merged link. compiled PDF

Future Works

Since the milestones are flexible and subject to continuous enhancement, future efforts can be directed towards:

  1. Completing the pending MRs that are currently under review.
  2. Enhancing the tutorial to provide clearer explanations for certain aspects of the simulation, particularly those pertaining to the MAC and PHY layers, in order to align more effectively with the stated milestones.
  3. Improving the overall state of documentation and code readability of example scenarios.


  • Centre Tecnològic de Telecomunicacions de Catalunya (CTTC)
  • Google Summer of Code (GSoC)
  • Medium Access Control (MAC)
  • Merge Request (MR)
  • New Radio (NR)
  • Next Generation Node-B (gNB)
  • Radio Access Network (RAN)
  • User Equipment (UE)
  • Workshop on ns-3 (WNS3)