Giter Club home page Giter Club logo

oran-sc-ric's People

Contributors

pgawlowicz avatar yagoda avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

p4sca1 rasoulnik

oran-sc-ric's Issues

connecting the dockerized OSC RIC to another modules

Hello everyone,

I'm looking for assistance in modifying the configuration of an OSC RIC docker container to establish connections with other modules such as NS-ORAN. Any guidance or support would be greatly appreciated.

Thank you.

Inquiring about timeline for e2sm_rc module xApp example

Hi @pgawlowicz ,

Thanks for sharing the ORAN-SC-RIC repository and the xApps examples! They'll be very useful for our research.

We noticed you mentioned working on an example xApp using the e2sm_rc module. If you don't mind sharing, do you have a rough idea of when that might be available? We're quite interested since it relates to our work. Or if it possible to provide a simple example firstly?

Thanks again for the great resources!

xApp gets stuck a lot of times in new release

Hello,

I don't know what's happening in this new release but sometimes when I run a monitoring KPM xApp I just get the API response:

{'response': 'OK', 'status': 200, 'payload': '{}', 'ctype': 'application/json', 'attachment': None, 'mode': 'plain'}

I don't know if this error is common to more users, but I'm now even using the simple_mon_xapp.py (python3 simple_mon_xapp.py --metrics=DRB.UEThpUl,DRB.RlcSduTransmittedVolumeDL) to make sure that wasn't one of my changes to cause this issue.

While I'm waiting for the E2 KPM messages I'm able to verify that the ping and iPerf commands still working and receiving normal logs without any apparent issue.

When I receive messages I'm able to check that this is the set granulPeriod:
-granulPeriod: 100

But I only receive messages every 10/20 seconds. I'm using 1 as slow down ratio and it doesn't like a lack of resources of my machine since I'm connecting only 3 UEs and transfering little amounts of data using iPerf.

Thanks a lot

Can't connect to RIC on other machine

Hello,

I was trying to split the gNB and RIC on different machines.

I have on a NuC the gNB and core and on the laptop I have the RIC.
I can now ping the core network from the laptop (they're connected via ethernet cable), but when I try to launch the gNB on the NuC I have the following message:
I set the bind address like this => bind_addr: 10.42.0.1
Where 10.42.0.1 is the IP of the interface that has access to the computer where the RIC is.

The PRACH detector will not meet the performance requirements with the configuration {Format 0, ZCZ 0, SCS 1.25kHz, Rx ports 1}.
Lower PHY in executor blocking mode.

--== srsRAN gNB (commit 8f2a3ea03) ==--

Connecting to AMF on 10.53.1.2:38412
Available radio types: zmq.
Connecting to NearRT-RIC on 10.0.2.10:36421
Failed to connect SCTP socket to 10.0.2.10:36421. error="Connection timed out" timeout=1379ms
srsGNB ERROR: Failed to create SCTP gateway.

I noticed that I can't ping the IP 10.0.2.10:

marco@marco-NUC7i7BNH:~$ ping 10.0.2.10
PING 10.0.2.10 (10.0.2.10) 56(84) bytes of data.
^C
--- 10.0.2.10 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3057ms

But when I check on the laptop I'm actually receiving the ping messages:

sudo tcpdump -i enp8s0f1 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp8s0f1, link-type EN10MB (Ethernet), capture size 262144 bytes
13:36:09.254853 IP marco-NUC7i7BNH.localdomain > 10.0.2.10: ICMP echo request, id 27, seq 9, length 64
13:36:10.278959 IP marco-NUC7i7BNH.localdomain > 10.0.2.10: ICMP echo request, id 27, seq 10, length 64
13:36:11.302976 IP marco-NUC7i7BNH.localdomain > 10.0.2.10: ICMP echo request, id 27, seq 11, length 64
13:36:12.326704 IP marco-NUC7i7BNH.localdomain > 10.0.2.10: ICMP echo request, id 27, seq 12, length 64

And also on the laptop I can confirm that the service is running:
ping 10.0.2.10
PING 10.0.2.10 (10.0.2.10) 56(84) bytes of data.
64 bytes from 10.0.2.10: icmp_seq=1 ttl=64 time=0.083 ms
64 bytes from 10.0.2.10: icmp_seq=2 ttl=64 time=0.066 ms
64 bytes from 10.0.2.10: icmp_seq=3 ttl=64 time=0.040 ms

Can you help me to know why I can't reach the NuC while replying to the messages?
Host => 10.42.0.1 marco-NUC7i7BNH.localdomain
Route => default via 10.42.0.1 dev enp8s0f1 proto dhcp metric 20100
(on the laptop)$ ping 10.42.0.1
PING 10.42.0.1 (10.42.0.1) 56(84) bytes of data.
64 bytes from 10.42.0.1: icmp_seq=1 ttl=64 time=0.295 ms
64 bytes from 10.42.0.1: icmp_seq=2 ttl=64 time=0.661 ms

Thanks for the support

Route Manager Simulator: no initialization of RMR library

Hi @pgawlowicz.

Sorry to bother you again. However, I noticed that regarding the route manager simulator, rmr.init() is not called to initialize the RMR library provided to send/receive messages via the xApp, as you can see below.

image

Obviously this I don't think can be done at the xApp level, but I should do it directly from the docker-compose.yml file or from the rtmng.yaml.

Do you have any ideas on how to solve this issue? Would it be possible to start the RMR library for the route manager somehow from the docker files?

Thanks in advance.

Best regards,
David

Route Manager simulator: possibility to dynamically modify the static route table

Hi @pgawlowicz.

My primary aim is to dynamically modify the route table obtained from the Route Manager in order to redirect traffic to a xApp for a project. The idea is to kind of replicate such attacks (as exposed here) and implement a solution employing OAuth 2.0 + JWT for protection against them or similar ones. Given the static route table mentioned in the screenshot regarding all RIC entities, could this be a problem for the feasibility of my objective?

image

Thanks in advance.

Best regards,
David

Error while running simple_rc_xapp

Hi,

Still about the RC xApp. While trying to run it. the RIC reported errors. The kpm xApp would also fail. I am wondering if this is a known issue. Or any suggestions to debugging?

Please find the RIC log when RC xApp started:

Attaching to python_xapp_runner, ric_appmgr, ric_dbaas, ric_e2mgr, ric_e2term, ric_rtmgr_sim, ric_submgr
python_xapp_runner  | �[?2004hroot@python_xapp_runner:/opt/xApps# 
ric_e2mgr           | {"ts":1721154943227,"crit":"INFO","id":"e2mgr","mdc":{"CONTAINER_NAME":"ric_e2mgr","HOST_NAME":"ric_e2mgr_host","PID":"1","POD_NAME":"e2mgr_pod","SERVICE_NAME":"ric_e2mgr_service","SYSTEM_NAME":"oran_sc_ric","e2mgr":"0.2.2","time":"2024-07-16T18:35:43Z"},"msg":"#app.main - Configuration {logging.logLevel: debug, http.port: 3800, rmr: { port: 3801, maxMsgSize: 65536}, routingManager.baseUrl: http://10.0.2.15:12020/ric/v1/handles/, notificationResponseBuffer: 100, bigRedButtonTimeoutSec: 5, maxRnibConnectionAttempts: 3, rnibRetryIntervalMs: 10, keepAliveResponseTimeoutMs: 4500, keepAliveDelayMs: 1500, e2tInstanceDeletionTimeoutMs: 15000,e2ResetTimeOutSec: 10,globalRicId: { ricId: AACCE, mcc: 001, mnc: 01}, rnibWriter: { stateChangeMessageChannel: RAN_CONNECTION_STATUS_CHANGE, ranManipulationChannel: RAN_MANIPULATION}"}
ric_e2mgr           | {"ts":1721154943227,"crit":"INFO","id":"e2mgr","mdc":{"CONTAINER_NAME":"ric_e2mgr","HOST_NAME":"ric_e2mgr_host","PID":"1","POD_NAME":"e2mgr_pod","SERVICE_NAME":"ric_e2mgr_service","SYSTEM_NAME":"oran_sc_ric","e2mgr":"0.2.2","time":"2024-07-16T18:35:43Z"},"msg":"Using config file: /opt/E2Manager/resources/configuration.yaml\n"}
ric_e2mgr           | dial tcp 10.0.2.12:6379: connect: connection refused
ric_appmgr          | dial tcp 10.0.2.12:6379: connect: connection refused
ric_dbaas           | 1:C 16 Jul 2024 18:35:43.586 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
ric_dbaas           | 1:C 16 Jul 2024 18:35:43.586 # Redis version=6.2.14, bits=64, commit=00000000, modified=0, pid=1, just started
ric_dbaas           | 1:C 16 Jul 2024 18:35:43.586 # Configuration loaded
ric_dbaas           | 1:M 16 Jul 2024 18:35:43.587 * monotonic clock: POSIX clock_gettime
ric_dbaas           | 1:M 16 Jul 2024 18:35:43.588 * Running mode=standalone, port=6379.
ric_dbaas           | 1:M 16 Jul 2024 18:35:43.588 # Server initialized
ric_dbaas           | 1:M 16 Jul 2024 18:35:43.589 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
ric_dbaas           | 1:M 16 Jul 2024 18:35:43.589 * Module 'exstrings' loaded from /usr/local/libexec/redismodule/libredismodule.so
ric_dbaas           | 1:M 16 Jul 2024 18:35:43.591 * Loading RDB produced by version 6.2.14
ric_dbaas           | 1:M 16 Jul 2024 18:35:43.591 * RDB age 33 seconds
ric_dbaas           | 1:M 16 Jul 2024 18:35:43.591 * RDB memory usage when created 0.83 Mb
ric_dbaas           | 1:M 16 Jul 2024 18:35:43.591 # Done loading RDB, keys loaded: 6, keys expired: 0.
ric_dbaas           | 1:M 16 Jul 2024 18:35:43.591 * DB loaded from disk: 0.000 seconds
ric_dbaas           | 1:M 16 Jul 2024 18:35:43.591 * Ready to accept connections
ric_e2term          | {"ts":1721154944973,"crit":"ERROR","id":"E2Terminator","mdc":{"PID":"1","POD_NAME":"e2term_pod","CONTAINER_NAME":"ric_e2term","SERVICE_NAME":"ric_e2term_service","HOST_NAME":"ric_e2term_host","SYSTEM_NAME":"oran_sc_ric"},"msg":"Error sending E2_TERM_INIT cause : RMR_ERR_NOENDPT - send//call could not find an endpoint based on msg type "}
ric_submgr          | {"ts":1721154947071,"crit":"INFO","id":"submgr","mdc":{"time":"2024-07-16T18:35:47"},"msg":"Using config file: /opt/config/submgr-config.yaml"}
ric_submgr          | redis: got 7 elements in COMMAND reply, wanted 6
ric_submgr          | redis: got 7 elements in COMMAND reply, wanted 6
ric_submgr          | redis: got 7 elements in COMMAND reply, wanted 6
ric_submgr          | redis: got 7 elements in COMMAND reply, wanted 6
ric_e2mgr exited with code 1
ric_e2term          | {"ts":1721154985978,"crit":"ERROR","id":"E2Terminator","mdc":{"PID":"139853295499008","POD_NAME":"e2term_pod","CONTAINER_NAME":"ric_e2term","SERVICE_NAME":"ric_e2term_service","HOST_NAME":"ric_e2term_host","SYSTEM_NAME":"oran_sc_ric"},"msg":"RMR failed: RMR_ERR_NOENDPT - send//call could not find an endpoint based on msg type. sending request 12001 to Xapp from gnbd_001_001_00019b_0"}
ric_e2term          | {"ts":1721155012763,"crit":"ERROR","id":"E2Terminator","mdc":{"PID":"139853295499008","POD_NAME":"e2term_pod","CONTAINER_NAME":"ric_e2term","SERVICE_NAME":"ric_e2term_service","HOST_NAME":"ric_e2term_host","SYSTEM_NAME":"oran_sc_ric"},"msg":"Failed to send message no CU entry gnb_001_001_00019b"}
ric_e2term          | {"ts":1721155012763,"crit":"ERROR","id":"E2Terminator","mdc":{"PID":"139853295499008","POD_NAME":"e2term_pod","CONTAINER_NAME":"ric_e2term","SERVICE_NAME":"ric_e2term_service","HOST_NAME":"ric_e2term_host","SYSTEM_NAME":"oran_sc_ric"},"msg":"Error handling Xapp message"}
ric_e2term          | {"ts":1721155017770,"crit":"ERROR","id":"E2Terminator","mdc":{"PID":"139853295499008","POD_NAME":"e2term_pod","CONTAINER_NAME":"ric_e2term","SERVICE_NAME":"ric_e2term_service","HOST_NAME":"ric_e2term_host","SYSTEM_NAME":"oran_sc_ric"},"msg":"Failed to send message no CU entry gnb_001_001_00019b"}
ric_e2term          | {"ts":1721155017770,"crit":"ERROR","id":"E2Terminator","mdc":{"PID":"139853295499008","POD_NAME":"e2term_pod","CONTAINER_NAME":"ric_e2term","SERVICE_NAME":"ric_e2term_service","HOST_NAME":"ric_e2term_host","SYSTEM_NAME":"oran_sc_ric"},"msg":"Error handling Xapp message"}
ric_e2term          | {"ts":1721155022778,"crit":"ERROR","id":"E2Terminator","mdc":{"PID":"139853295499008","POD_NAME":"e2term_pod","CONTAINER_NAME":"ric_e2term","SERVICE_NAME":"ric_e2term_service","HOST_NAME":"ric_e2term_host","SYSTEM_NAME":"oran_sc_ric"},"msg":"Failed to send message no CU entry gnb_001_001_00019b"}
ric_e2term          | {"ts":1721155022778,"crit":"ERROR","id":"E2Terminator","mdc":{"PID":"139853295499008","POD_NAME":"e2term_pod","CONTAINER_NAME":"ric_e2term","SERVICE_NAME":"ric_e2term_service","HOST_NAME":"ric_e2term_host","SYSTEM_NAME":"oran_sc_ric"},"msg":"Error handling Xapp message"}
ric_e2term          | {"ts":1721155027785,"crit":"ERROR","id":"E2Terminator","mdc":{"PID":"139853295499008","POD_NAME":"e2term_pod","CONTAINER_NAME":"ric_e2term","SERVICE_NAME":"ric_e2term_service","HOST_NAME":"ric_e2term_host","SYSTEM_NAME":"oran_sc_ric"},"msg":"Failed to send message no CU entry gnb_001_001_00019b"}
ric_e2term          | {"ts":1721155027785,"crit":"ERROR","id":"E2Terminator","mdc":{"PID":"139853295499008","POD_NAME":"e2term_pod","CONTAINER_NAME":"ric_e2term","SERVICE_NAME":"ric_e2term_service","HOST_NAME":"ric_e2term_host","SYSTEM_NAME":"oran_sc_ric"},"msg":"Error handling Xapp message"}
ric_e2term          | {"ts":1721155032791,"crit":"ERROR","id":"E2Terminator","mdc":{"PID":"139853295499008","POD_NAME":"e2term_pod","CONTAINER_NAME":"ric_e2term","SERVICE_NAME":"ric_e2term_service","HOST_NAME":"ric_e2term_host","SYSTEM_NAME":"oran_sc_ric"},"msg":"Failed to send message no CU entry gnb_001_001_00019b"}
ric_e2term          | {"ts":1721155032791,"crit":"ERROR","id":"E2Terminator","mdc":{"PID":"139853295499008","POD_NAME":"e2term_pod","CONTAINER_NAME":"ric_e2term","SERVICE_NAME":"ric_e2term_service","HOST_NAME":"ric_e2term_host","SYSTEM_NAME":"oran_sc_ric"},"msg":"Error handling Xapp message"}
ric_e2term          | {"ts":1721155037799,"crit":"ERROR","id":"E2Terminator","mdc":{"PID":"139853303891712","POD_NAME":"e2term_pod","CONTAINER_NAME":"ric_e2term","SERVICE_NAME":"ric_e2term_service","HOST_NAME":"ric_e2term_host","SYSTEM_NAME":"oran_sc_ric"},"msg":"Failed to send message no CU entry gnb_001_001_00019b"}
ric_e2term          | {"ts":1721155037799,"crit":"ERROR","id":"E2Terminator","mdc":{"PID":"139853303891712","POD_NAME":"e2term_pod","CONTAINER_NAME":"ric_e2term","SERVICE_NAME":"ric_e2term_service","HOST_NAME":"ric_e2term_host","SYSTEM_NAME":"oran_sc_ric"},"msg":"Error handling Xapp message"}
ric_e2term          | {"ts":1721155039226,"crit":"ERROR","id":"E2Terminator","mdc":{"PID":"139853295499008","POD_NAME":"e2term_pod","CONTAINER_NAME":"ric_e2term","SERVICE_NAME":"ric_e2term_service","HOST_NAME":"ric_e2term_host","SYSTEM_NAME":"oran_sc_ric"},"msg":"Message state RMR_ERR_NOENDPT - send//call could not find an endpoint based on msg type while sending request 1080 to Xapp from gnbd_001_001_00019b_0"}
ric_e2term          | {"ts":1721155039226,"crit":"ERROR","id":"E2Terminator","mdc":{"PID":"139853295499008","POD_NAME":"e2term_pod","CONTAINER_NAME":"ric_e2term","SERVICE_NAME":"ric_e2term_service","HOST_NAME":"ric_e2term_host","SYSTEM_NAME":"oran_sc_ric"},"msg":"SCTP_CONNECTION_FAIL message failed to send to xAPP"}

xApp does not work

Dear community. I've followed the instruction about integrating OSC-RIC and srsRAN, I used main branches for all projects.
I run 5gc, ric, gNb and UE services/processes respectively. but the xApp faced the issue:

root@srs:~/oran-sc-ric# docker compose exec python_xapp_runner ./kpm_mon_xapp.py --metrics=DRB.UEThpDl,DRB.UEThpUl --kpm_report_style=5
![Screenshot from 2024-07-21 16-00-39](https://github.com/user-attachments/assets/a29a0dac-9bc6-4694-8a0d-038a329c9d94)
![Screenshot from 2024-07-21 16-00-51](https://github.com/user-attachments/assets/a1aac010-e6fa-44c9-bf6b-4ad1ea454a65)

1721565030056 7/RMR [INFO] ric message routing library on SI95 p=4562 mv=3 flg=00 id=a (f447e29 4.9.4 built: Dec 13 2023)
INFO: Subscription for E2SM_KPM Report Service Style 5 requires at least two UE IDs -> add dummy UeID: 1
Subscribe to E2 node ID: gnbd_001_001_00019b_0, RAN func: e2sm_kpm, Report Style: 5, UE_ids: [0, 1], metrics: ['DRB.UEThpDl', 'DRB.UEThpUl']
Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.8/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "./kpm_mon_xapp.py", line 91, in start
    self.e2sm_kpm.subscribe_report_service_style_5(e2_node_id, report_period, ue_ids, metric_names, granul_period, subscription_callback)
  File "/opt/xApps/lib/e2sm_kpm_module.py", line 53, in subscribe_report_service_style_5
    self.parent.subscribe(e2_node_id, self.ran_func_id, event_trigger_def, action_def, indication_callback, e2sm_types.E2SM_KPM)
  File "/opt/xApps/lib/xAppBase.py", line 109, in subscribe
    data, reason, status  = self.subscriber.Subscribe(subReq)
  File "/opt/ric-plt-xapp-frame-py/ricxappframe/xapp_subscribe.py", line 101, in Subscribe
    response = self.api.request(method="POST", url=self.uri + "/subscriptions", headers=None, body=subs_params.to_dict())
  File "/opt/ric-plt-xapp-frame-py/ricxappframe/subsclient/api_client.py", line 368, in request
    return self.rest_client.POST(url,
  File "/opt/ric-plt-xapp-frame-py/ricxappframe/subsclient/rest.py", line 269, in POST
    return self.request("POST", url,
  File "/opt/ric-plt-xapp-frame-py/ricxappframe/subsclient/rest.py", line 228, in request
    raise ApiException(http_resp=r)
ricxappframe.subsclient.rest.ApiException: (503)
Reason: Service Unavailable
HTTP response headers: HTTPHeaderDict({'Date': 'Sun, 21 Jul 2024 12:30:31 GMT', 'Content-Length': '0', 'Connection': 'close'})

and, RIC logs are

ric_rtmgr_sim       | 2024/07/21 12:28:33 POST /ric/v1/handles/associate-ran-to-e2t  body: [{"E2TAddress":"192.168.63.10:38000","ranNamelist":["gnb_001_001_0000019b"]}] elapsed: 34.771µs
ric_submgr          | {"ts":1721565031162,"crit":"ERROR","id":"submgr","mdc":{"CONTAINER_NAME":"ric_submgr","HOST_NAME":"ric_submgr_host","PID":"1","POD_NAME":"submgr_pod","SERVICE_NAME":"ric_submgr_service","SYSTEM_NAME":"oran_sc_ric","time":"2024-07-21T12:30:31"},"msg":"No E2 connection for ranN
ame gnbd_001_001_00019b_0"}

The attached pictures show the whole system logs.

Thanks in advance.
Ali
Screenshot from 2024-07-21 16-00-39
Screenshot from 2024-07-21 16-00-51

The "simple_xapp.py" has no effect on the dl_throughput of the UE

Dear community,
I have been able to test the srsRAN project with the oran-sc-ric. The KPM xApps work fine. I am trying to check the functionality of the control xApps likes simple_xApp.py. This xApp work fine also but I haven't notice any change in the Dl throughput as this xApp suppose to adjusts the number of DL PRBs available for allocation to a UE.

labadmin@labadmin:~/oran-sc-ric$ docker compose exec python_xapp_runner ./simple_xapp.py
WARN[0000] /home/labadmin/oran-sc-ric/docker-compose.yml: version is obsolete
1719845965563 253/RMR [INFO] ric message routing library on SI95 p=4560 mv=3 flg=00 id=a (f447e29 4.9.4 built: Dec 13 2023)
Subscribe to E2 node ID: gnb_001_001_00019b, RAN func: e2sm_kpm, Report Style: 4, metrics: ['DRB.RlcSduTransmittedVolumeDL']
Successfully subscribed with Subscription ID: 2ieLCEmJAMSu4VwwqkjmDakmRjX
Received Subscription ID to E2EventInstanceId mapping: 2ieLCEmJAMSu4VwwqkjmDakmRjX -> 13
{'response': 'OK', 'status': 200, 'payload': '{}', 'ctype': 'application/json', 'attachment': None, 'mode': 'plain'}
10.0.2.13 - - [01/Jul/2024 14:59:26] "POST /ric/v1/subscriptions/response HTTP/1.1" 200 -
Data Monitoring:
E2SM_KPM RIC Indication Content:
-ColletStartTime: 2024-07-01 14:59:27
-Measurements Data:
--UE_id: 0
---granulPeriod: 1000
---Metric: DRB.RlcSduTransmittedVolumeDL, Value: 3.6 [MB]

Control Logic:
Tx Data Stats:
UE ID: 0, Max PRB Ratio: n/a, TXed Data [MB]: 3.6

Best Regards

Decoding Error in E2SM-KPM IndicationHeader at collectStartTime

Screenshot 2024-06-07 06_08_10

We encountered an error during the RIC indication decoding process within our system, specifically tied to the E2SM-KPM-IndicationHeader-Format1.collectStartTime. The error message consistently points to "out of data (At bit offset: 8)," suggesting an issue with data integrity.

What could be causing this issue?

filed to connect srsran to e2

Hello.
I have installed srsran_project in a VM with local IP:192.168.75.151 and open5gs in another VM 192.168.75.177
in a separate machine with local ip 192.168.75.143, I have installed near real-time ric from this repository.
I have replaced 10.0.2.10 with 192.168.75.143.
/oran-sc-ric$ grep -r "192.168.75.143"
docker-compose.yml: ipv4_address: ${E2TERM_IP:-192.168.75.143}
ric/configs/routes.rtg:rte|1090|192.168.75.143:38000 # RIC_SCTP_CLEAR_ALL
ric/configs/routes.rtg:rte|1101|192.168.75.143:38000 # E2_TERM_KEEP_ALIVE_REQ
ric/configs/routes.rtg:rte|12002|192.168.75.143:38000 # RIC_E2_SETUP_RESP
ric/configs/routes.rtg:rte|12003|192.168.75.143:38000 # RIC_E2_SETUP_FAILURE
ric/configs/routes.rtg:rte|12010|192.168.75.143:38000 # RIC_SUB_REQ
ric/configs/routes.rtg:rte|12020|192.168.75.143:38000 # RIC_SUB_DEL_REQ
ric/configs/routes.rtg:rte|12040|192.168.75.143:38000 # RIC_CONTROL_REQ
ric/configs/e2term.conf:local-ip=192.168.75.143

and use this file as gnb.yaml config:
gnb_zmq_e2.txt
when i run docker compose up:
ic_submgr | RMR is ready now ...
ric_rtmgr_sim | 2024/06/26 06:49:30 DELETE /ric/v1/handles/e2t body: {"E2TAddress":"192.168.75.143:38000"} elapsed: 35.47µs
ric_e2term | {"ts":1719384664690,"crit":"ERROR","id":"E2Terminator","mdc":{"PID":"1","POD_NAME":"e2term_pod","CONTAINER_NAME":"ric_e2term","SERVICE_NAME":"ric_e2term_service","HOST_NAME":"ric_e2term_host","SYSTEM_NAME":"oran_sc_ric"},"msg":"GOT No messages from any xApp"}
ric_rtmgr_sim | 2024/06/26 06:51:04 POST /ric/v1/handles/e2t body: {"E2TAddress":"192.168.75.143:38000"} elapsed: 23.224µs
ric_rtmgr_sim | 2024/06/26 06:51:10 DELETE /ric/v1/handles/e2t body: {"E2TAddress":"192.168.75.143:38000"} elapsed: 32.117µs

But when i run gnb show this error:

The PRACH detector will not meet the performance requirements with the configuration {Format 0, ZCZ 0, SCS 1.25kHz, Rx ports 1}.
Lower PHY in executor blocking mode.
N2: Connection to AMF on 192.168.75.177:38412 completed
Cell pci=1, bw=10 MHz, 1T1R, dl_arfcn=368500 (n3), dl_freq=1842.5 MHz, dl_ssb_arfcn=368410, ul_freq=1747.5 MHz

Connecting to NearRT-RIC on 192.168.75.143:36421
Failed to connect SCTP socket to 192.168.75.143:36421. error="Connection refused" timeout=0ms
srsRAN ERROR: Failed to create SCTP gateway.

How can solve it?

Question about using real USRP devices with the project

  • I noticed that the current setup uses ZMQ to emulate gNB. I was wondering if it's possible to use real USRP devices, such as the USRP B210, instead of the emulation.
  • If the project does support real USRP devices, are there any specific configuration changes that need to be made to accommodate them?

Failure for running RIC

When I run the docker-compose up. I got the following error, the other ric components can't connect to the dbaas.
(base) bly@bly:~/Project/Research/ORAN/oran-sc-ric$ sudo docker-compose up
WARN[0000] /home/bly/Project/Research/ORAN/oran-sc-ric/docker-compose.yml: version is obsolete
[+] Running 7/0
✔ Container ric_rtmgr_sim Created 0.0s
✔ Container ric_appmgr Created 0.0s
✔ Container ric_submgr Created 0.0s
✔ Container python_xapp_runner Created 0.0s
✔ Container ric_e2mgr Created 0.0s
✔ Container ric_dbaas Created 0.0s
✔ Container ric_e2term Created 0.0s
Attaching to python_xapp_runner, ric_appmgr, ric_dbaas, ric_e2mgr, ric_e2term, ric_rtmgr_sim, ric_submgr
ric_rtmgr_sim | 2024/07/08 10:11:12 Server started on port 12020
ric_submgr | {"ts":1720433472716,"crit":"INFO","id":"submgr","mdc":{"time":"2024-07-08T10:11:12"},"msg":"Using config file: /opt/config/submgr-config.yaml"}
ric_e2mgr | {"ts":1720433473052,"crit":"INFO","id":"e2mgr","mdc":{"CONTAINER_NAME":"ric_e2mgr","HOST_NAME":"ric_e2mgr_host","PID":"1","POD_NAME":"e2mgr_pod","SERVICE_NAME":"ric_e2mgr_service","SYSTEM_NAME":"oran_sc_ric","e2mgr":"0.2.2","time":"2024-07-08T10:11:13Z"},"msg":"#app.main - Configuration {logging.logLevel: debug, http.port: 3800, rmr: { port: 3801, maxMsgSize: 65536}, routingManager.baseUrl: http://10.0.2.15:12020/ric/v1/handles/, notificationResponseBuffer: 100, bigRedButtonTimeoutSec: 5, maxRnibConnectionAttempts: 3, rnibRetryIntervalMs: 10, keepAliveResponseTimeoutMs: 4500, keepAliveDelayMs: 1500, e2tInstanceDeletionTimeoutMs: 15000,e2ResetTimeOutSec: 10,globalRicId: { ricId: AACCE, mcc: 001, mnc: 01}, rnibWriter: { stateChangeMessageChannel: RAN_CONNECTION_STATUS_CHANGE, ranManipulationChannel: RAN_MANIPULATION}"}
ric_e2mgr | {"ts":1720433473052,"crit":"INFO","id":"e2mgr","mdc":{"CONTAINER_NAME":"ric_e2mgr","HOST_NAME":"ric_e2mgr_host","PID":"1","POD_NAME":"e2mgr_pod","SERVICE_NAME":"ric_e2mgr_service","SYSTEM_NAME":"oran_sc_ric","e2mgr":"0.2.2","time":"2024-07-08T10:11:13Z"},"msg":"Using config file: /opt/E2Manager/resources/configuration.yaml\n"}
ric_e2term | 1720433473059 1/RMR [INFO] ric message routing library on SI95 p=38000 mv=3 flg=00 id=a (f447e29 4.9.4 built: Dec 13 2023)
ric_dbaas | 1:C 08 Jul 2024 10:11:13.062 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
ric_dbaas | 1:C 08 Jul 2024 10:11:13.062 # Redis version=6.2.14, bits=64, commit=00000000, modified=0, pid=1, just started
ric_dbaas | 1:C 08 Jul 2024 10:11:13.062 # Configuration loaded
ric_dbaas | 1:M 08 Jul 2024 10:11:13.062 * Increased maximum number of open files to 10032 (it was originally set to 1024).
ric_dbaas | 1:M 08 Jul 2024 10:11:13.062 * monotonic clock: POSIX clock_gettime
ric_dbaas | 1:M 08 Jul 2024 10:11:13.063 * Running mode=standalone, port=6379.
ric_dbaas | 1:M 08 Jul 2024 10:11:13.063 # Server initialized
ric_dbaas | 1:M 08 Jul 2024 10:11:13.063 * Module 'exstrings' loaded from /usr/local/libexec/redismodule/libredismodule.so
ric_dbaas | 1:M 08 Jul 2024 10:11:13.064 * Loading RDB produced by version 6.2.14
ric_dbaas | 1:M 08 Jul 2024 10:11:13.064 * RDB age 169 seconds
ric_dbaas | 1:M 08 Jul 2024 10:11:13.064 * RDB memory usage when created 0.78 Mb
ric_dbaas | 1:M 08 Jul 2024 10:11:13.064 # Done loading RDB, keys loaded: 0, keys expired: 0.
ric_dbaas | 1:M 08 Jul 2024 10:11:13.064 * DB loaded from disk: 0.000 seconds
ric_dbaas | 1:M 08 Jul 2024 10:11:13.064 * Ready to accept connections
ric_appmgr | cp: cannot stat '/opt/ric/certificates/*': No such file or directory
ric_appmgr | 2024/07/08 10:11:13 Using config file: /opt/ric/config/appmgr.yaml
ric_e2term | {"ts":1720433481366,"crit":"ERROR","id":"E2Terminator","mdc":{"PID":"1","POD_NAME":"e2term_pod","CONTAINER_NAME":"ric_e2term","SERVICE_NAME":"ric_e2term_service","HOST_NAME":"ric_e2term_host","SYSTEM_NAME":"oran_sc_ric"},"msg":"Error sending E2_TERM_INIT cause : RMR_ERR_NOENDPT - send//call could not find an endpoint based on msg type "}
ric_submgr | dial tcp 10.0.2.12:6379: i/o timeout
ric_e2mgr | dial tcp 10.0.2.12:6379: i/o timeout
ric_appmgr | dial tcp 10.0.2.12:6379: i/o timeout
ric_submgr | dial tcp 10.0.2.12:6379: i/o timeout
ric_e2mgr exited with code 1
ric_submgr | dial tcp 10.0.2.12:6379: i/o timeout
ric_submgr | dial tcp 10.0.2.12:6379: i/o timeout

No E2 connection error in real USRP

Thanks a lot for the great resources!
I am deploying the project in real usrp and UE.
I made the following Steps:

  1. I deployed srsRAN and Open5GC, and I was able to establish and run a normal connection between the UE, gNB, and CN.
  2. I installed the oran-sc-ric
  3. I modified the gNB configuration with adding the following:
e2:
  enable_du_e2: true                # Enable DU E2 agent (one for each DU instance)
  e2sm_kpm_enabled: true            # Enable KPM service module
  e2sm_rc_enabled: true             # Enable KPM service module
  addr: 10.0.2.10                   # RIC IP address
  bind_addr: 10.0.2.1               # A local IP that the E2 agent binds to for traffic from the RIC. ONLY required if running the RIC on a separate machine. 
  port: 36421                       # RIC port

However, I encountered the following problem when running the xApp:

  1. The figure is the error output in app No E2 connectioand containers:
    Screenshot 2024-06-07 02:10:30
    Screenshot 2024-06-07 02:14:01
    Screenshot 2024-06-07 02:14:45

  2. The gNB log file
    gnb.log

  3. Contents of gNB configure file
    gnb_rf_x410_tdd_n78_20mhz.txt

The error is same with #4 , It seems like a problem that's easy to run into.
As you said in #3 , oran-sc-ric is independent with srsRAN and CN. However, for a real USRP and CN scenario, what adaptations are necessary? I suspect that my configuration has omissions.

Could you please help and guide me? I would really appreciate it.

xApp onboarding & deployment: error during RIC indication decoding: E2SM-KPM-IndicationHeader-Format1.colletStartTime: out of data (At bit offset: 8)

Hi @pgawlowicz.
Firstly, thanks a lot for the great resources!
I was wondering about what the problem indicated below might be. I have meticulously followed your procedure provided in the README.md however I am experiencing this problem when deploying the simple xApp. Do you know how to solve it? Do you have any suggestions regarding this error or any dependencies you can think of?

sudo docker compose exec python_xapp_runner ./simple_mon_xapp.py --metrics=DRB.UEThpDl,DRB.UEThpUl

Screenshot from 2024-04-22 17-49-04

Thank you in advance.

Controlling SSB Periodicty

Dear Community,

I am working on controlling SSB Periodicity through development of a new xApp. Please advise if this is possible by using srsRAN_project. I am struggling to find the gNB function that responsible for handling the reception of the xApp control message.

Best Regards

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.