Connecting RT-RIC to ORAN

377 views
Skip to first unread message

Srinjoy Dey

unread,
Mar 27, 2023, 11:35:56 AM3/27/23
to ns-3-users
Hi all, 
I have been following the tutorial on OpenRAN Gym on 5G ns3 with O-RAN near RT-RIC but I was confused on how to actually connect ns3 with the RT-RIC. I have built all the necessary modules (RT-RIC, e2sim, ns-O-RAN) as per the tutorial. Does anyone have any steps to connect these? I am kind of new to this technology and would appreciate any help! 


Khurshid Alam

unread,
Mar 27, 2023, 6:05:20 PM3/27/23
to ns-3-users

Andrea Lacava

unread,
Mar 28, 2023, 4:17:39 PM3/28/23
to ns-3-users
Hi Srinjoy and all,

can you please share more details regarding your issue? Once you have built the components you should launch the scenario zero and ns-3 will establish the connection to the RIC. 

The only information you should provide is the near-RT RIC IP (the default one should be fine IMHO, but you can always set it to be sure).
W.R.T. gnB IDs, we automatically convert the IDs from ns-3 to an acceptable format for O-RAN (plmnID is always 111). 
For instance, as shown in the tutorial, cell ID number 2 is always 131-133-32000000, ID 3 is 131-133-33000000 etc.

Thanks,
Best

Srinjoy Dey

unread,
Mar 29, 2023, 12:13:38 PM3/29/23
to ns-3-users
Thank you for the clarification, I thought the process was much more involved than that. So if the default gNB id for the RT-RIC was 131-133-31000000 what do I actually do with this value? Would I just run the scenario-zero with this as a parameter on the command lline? Also I had to use a different ns3-mmwave module as the one provided in the tutorial had some build errors. When I issue the command ./ns3 run scratch/scenario-zero I get this message: 

bufferSize 10 OutageThreshold -5 HandoverMode DynamicTtt e2TermIp 10.0.2.10 enableE2FileLogging 0
e2lteEnabled 1 e2nrEnabled 1 e2du 1 e2cuCp 1 e2cuUp 1 controlFilename  indicationPeriodicity 0.1
msg="Could not set default value for ns3::LteEnbNetDevice::ControlFileName", file=/home/srinjoy1717/Desktop/research/ns3-mmwave/src/core/model/config.cc, line=896
NS_FATAL, terminating
terminate called without an active exception
Command 'build/scratch/ns3.38.rc1-scenario-zero-default' died with <Signals.SIGABRT: 6>.

Thank you again for the help!

Andrea Lacava

unread,
Mar 29, 2023, 1:01:31 PM3/29/23
to ns-3-users
With respect to the gNB ID, you don't need to use it on ns-3, the software will take care of everything.

I believe you are trying to use the latest version of the mmWave module. We currently do not support version 3.38 of the module, but we are working to upgrade our custom branch to the latest updates.
The error you see is due to the changes we have done in the src/ of the mmWave to enable the O-RAN KPM Reports and O-RAN Control Messages.
At the current moment, you can either create your own version of mmWave starting with the latest one and implementing the features we did, or you can just use ours (which IMHO works well for standard use cases).
Anyway, we are working toward alignment with the latest version of mmWave.

Srinjoy Dey

unread,
Apr 3, 2023, 11:56:36 AM4/3/23
to ns-3-users
So I tried to use the 3.36 version of ns-3-mmwave that was included in the tutorial. The "./waf configure --enable-tests --enable-examples" command work as expected but the "./waf build" command failed and when ran with  option -v gave me the message:
Build failed
 -> task in 'ns3-core' failed with exit status 1:
        {task 140357588061872: cxx csv-reader.cc -> csv-reader.cc.2.o}
['/usr/bin/g++', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-std=c++11', '-I/usr/local/include/e2sim', '-fstrict-aliasing', '-Wstrict-aliasing', '-fPIC', '-pthread', '-I.', '-DNS3_BUILD_PROFILE_DEBUG', '-DNS3_ASSERT_ENABLE', '-DNS3_LOG_ENABLE', '-DHAVE_SYS_IOCTL_H=1', '-DHAVE_IF_NETS_H=1', '-DHAVE_NET_ETHERNET_H=1', '-DHAVE_PACKET_H=1', '-DHAVE_SEMAPHORE_H=1', '-DHAVE_IF_TUN_H=1', '-DNS3_ENABLE_EXAMPLES', '../src/core/helper/csv-reader.cc', '-c', '-o/home/srinjoy1717/Desktop/research/ns-3-mmwave-oran/build/src/core/helper/csv-reader.cc.2.o', '-DHAVE_BOOST_UNITS']

Does this mean that version 3.36 is not supported anymore?

Andrea Lacava

unread,
Apr 3, 2023, 12:15:51 PM4/3/23
to ns-3-users
The guide and the versions shown in the tutorial work and are supported by us. 
I can't see the build error from the log you shared. Are you working outside the container?
If yes, you're probably on a recent version of g++ which requires to include some headers explicitly.
Please refer to this issue for a workaround: https://github.com/wineslab/ns-o-ran-ns3-mmwave/issues/1 



Reply all
Reply to author
Forward
0 new messages