-
-
Notifications
You must be signed in to change notification settings - Fork 324
Development Guideline
Ali Güngör edited this page May 28, 2021
·
44 revisions
If you want to contribute to the UERANSIM. Here you can find some development guidelines.
- This UERANSIM-specific coding style guideline shall be used inside of the UERANSIM project.
- Do not use C language, and don't write C-style codes. Use modern and rich C++ features instead.
- Use Microsoft's C++ coding guidelines, with following exceptions:
- Use
AlwaysBreakTemplateDeclarations: Yes
(for clang tidy) - Use
camelCase
for instance methods,PascalCase
for static functions.
- Use
It is recommended to use Clion as an IDE.
- Start Clion C++ IDE
- Click
Open
- Select the root folder of UERANSIM and hit OK
- Clion will ask you if you want to import the project as
CMake
ormakefile
. Select CMake. - Click
Build/Build Project
from the top menu.
Build instructions written in Installation Wiki is not required for developers. You should be able to build normally inside of Clion C++ IDE. You can also build in Debug mode, and/or utilize the debugger.
If you add, remove or rename a source file, make sure that you click Reload CMake Project
from the menu, before building the project.
Here's the list of technical specifications often used by UERANSIM:
- TS 22.261 : Service requirements for next generation new services and markets
- TS 23.003 : Numbering, addressing and identification
- TS 23.122 : NAS functions related to MS in idle mode
- TS 23.501 : System architecture for the 5G System
- TS 23.502 : Procedures for the 5G System
- TS 24.007 : Mobile radio interface signalling layer 3; General Aspects
- TS 24.501 : Non-Access-Stratum (NAS) protocol for 5G System
- TS 31.101 : UICC-terminal interface; Physical and logical characteristics
- TS 31.102 : Characteristics of the USIM Application
- TS 31.111 : USIM Application Toolkit (USAT)
- TS 33.501 : Security architecture and procedures for 5G System
- TS 38.201 : NR; Physical layer; General description
- TS 38.202 : NR; Services provided by the physical layer
- TS 38.300 : NR and NG-RAN Overall description;
- TS 38.304 : NR; User Equipment (UE) procedures in idle mode and in RRC Inactive state
- TS 38.322 : NR; Radio Link Control (RLC) protocol specification
- TS 38.323 : NR; Packet Data Convergence Protocol (PDCP) specification
- TS 38.331 : NR; Radio Resource Control (RRC); Protocol specification
- TS 38.401 : NG-RAN; Architecture description
- TS 38.410 : NG-RAN; NG general aspects and principles
- TS 38.411 : NG-RAN; NG layer 1
- TS 38.412 : NG-RAN; NG signalling transport
- TS 38.413 : NG-RAN; NG Application Protocol (NGAP)
- TS 38.414 : NG-RAN; NG data transport
- TS 38.415 : NG-RAN; PDU session user plane protocol
We use release 15.6.0 for 3GPP specifications
It is recommended to use RLS dissector plugin for Wireshark. The plugin is available at RLS Wireshark Dissector for UERANSIM