Unipisa / Simu5G

Simu5G - 5G NR and LTE/LTE-A user-plane simulation model for OMNeT++ & INET
https://simu5g.org
Other
146 stars 83 forks source link

a eNodeB with many gNodeB #42

Closed wggegshjg closed 2 years ago

wggegshjg commented 2 years ago

I want to do a multi-connection scenario. There is a eNodeB and three gNodeB base stations。 I consider the adoption of the dual connectivity architecture in the vehicular network,which allows the UE to connect simultaneously to a eNodeB and a gNodeB;As the car moves, the car remains connected to the eNodeB and switches between the gNodeB;

.eNodeB.nicType = "LteNicEnbD2D" .eNodeB.cellularNic.LtePdcpRrcType = "NRPdcpRrcEnb" .gNodeB.masterId = 1

**.dualConnectivityEnabled = true

############### X2 configuration ################# .eNodeB.numX2Apps = 3 # one x2App per peering node .gNodeB1.numX2Apps = 1 # one x2App per peering node .gNodeB2.numX2Apps = 1 # one x2App per peering node .gNodeB3.numX2Apps = 1 # one x2App per peering node .eNodeB.x2App[].server.localPort = 5000 + ancestorIndex(1) # Server ports (x2App[0]=5000, x2App[1]=5001, ...) .eNodeB.x2App[0].client.connectAddress = "gNodeB1%x2ppp0" .eNodeB.x2App[1].client.connectAddress = "gNodeB2%x2ppp0" .eNodeB.x2App[2].client.connectAddress = "gNodeB3%x2ppp0" .gNodeB1.x2App[0].client.connectAddress = "eNodeB%x2ppp0" .gNodeB2.x2App[0].client.connectAddress = "eNodeB%x2ppp1" .gNodeB3.x2App[0].client.connectAddress = "eNodeB%x2ppp2" .gNodeB1.x2App[].server.localPort = 4000 .gNodeB2.x2App[].server.localPort = 4001 .gNodeB3.x2App[].server.localPort = 4002

############## UE configuration ##################

connect the UE's NIC to the corresponding serving eNB

.car[].macCellId = 1 .car[].masterId = 1 .car[].nrMacCellId = 2 .car[].nrMasterId = 2

.car[].cellularNic.phy.enableHandover = true .eNodeB.cellularNic.phy.enableHandover = true .eNodeB.cellularNic.phy.handoverLatency = 50ms .gNodeB.cellularNic.phy.enableHandover = true .gNodeB.cellularNic.phy.handoverLatency = 50ms .eNodeB.cellInfo.broadcastMessageInterval = 1s # eNB will sends broadcast triggers every second .gNodeB.cellInfo.broadcastMessageInterval = 1s

[Config DualConn-SplitBearer-UL] extends=DualConnectivity, VoIP-UL .car[].app[*].tos = 20

When I run, only one base station (eNodeB/gNodeB)works. I wonder if this scenario is possible in simu5G? If so, what should I do?

giovanninardini commented 2 years ago

Hello,

yes, it is possible to setup a scenario with one primary eNodeB and multiple secondary gNodeBs. (Assuming that you correctly prepared the NED file, with three gNodeBs connected via X2 to the eNodeB,) the snippet of your INI configuration looks pretty good, as you correctly configured the X2-related parameters to connect the eNodeB with its secondary gNodeBs. Just pay attention to use gNodeB where needed, for example: `.gNodeB*.masterId = 1`

Also, remember to activate handover by using: **.enableHandover =true

With the above configuration, the UE will stay attached to the eNodeB through an LTE connection (assuming that it stays within its coverage), and will have a 5G connection with one of the gNodeBs, switching between them as it moves around the floorplan.

Best regards. Giovanni