way to find out which UEs are connected to particular eNB

1,381 views
Skip to first unread message

Shashi Ranjan

unread,
May 18, 2013, 6:35:22 AM5/18/13
to ns-3-...@googlegroups.com
Hello everyone,

   I have few questions:

  1. Is there any way to find out which UEs are connected to particular eNB?
  2. How one can detach() any UE from its eNB as opposite to the attach()?
  3. How one can find hotspot location in an area (say rectangular)  full of randomly distributed UEs?
  4. Is there any way to find position at particular time  of an UE?

  Please reply whoever have some hint.

Nicola Baldo

unread,
May 22, 2013, 2:25:37 PM5/22/13
to ns-3-...@googlegroups.com


On Saturday, May 18, 2013 12:35:22 PM UTC+2, Shashi Ranjan wrote:
Hello everyone,

   I have few questions:

  1. Is there any way to find out which UEs are connected to particular eNB?

yes, you can use the attribute system. The LteEnbRrc class of each eNB has an attribute UeMap which contains a UeManager entry for each UE connected to that eNB.

 
  2. How one can detach() any UE from its eNB as opposite to the attach()?

it's currently unsupported. Patches welcome :-)

 
  3. How one can find hotspot location in an area (say rectangular)  full of randomly distributed UEs?
  4. Is there any way to find position at particular time  of an UE?

reading this might help:

Shashi Ranjan

unread,
May 23, 2013, 2:13:48 PM5/23/13
to ns-3-...@googlegroups.com
Thanks Nicola for the reply.
For the first problem I approached as you mentioned. I am not much aware of std::map thing but I somehow added following code:

  Ptr<Node> enb = enbNodes.Get(0);
  Ptr<NetDevice> enbDevice = enb->GetDevice(0);
  Ptr<LteEnbNetDevice> enbLteDevice = enbDevice->GetObject<LteEnbNetDevice>();
  Ptr<LteEnbRrc> enbRrc = enbLteDevice->GetRrc();
  Ptr<UeManager> ueManager = enbRrc->GetUeManager(1); // rnti is 1


but it is showing an error as assert failed. cond="it != m_ueMap.end ()", msg="RNTI 1 not found in eNB with cellId 1", file=../src/lte/model/lte-enb-rrc.cc, line=1348 terminate called without an active exception

I have 3 UEs connected to eNB(0) so this error is clearly untrue.
I also came across config path as "/NodeList/[i]/DeviceList/[i]/$ns3::LteEnbNetDevice/LteEnbRrc/UeMap/[i]" but I don't know how I can use it as no Callback is there.

As already said I want list of UEs (imsi) connected to particular eNB, will above code lead to solution?



--
You received this message because you are subscribed to a topic in the Google Groups "ns-3-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ns-3-users/cYfAQYNfXdY/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to ns-3-users+...@googlegroups.com.
To post to this group, send email to ns-3-...@googlegroups.com.
Visit this group at http://groups.google.com/group/ns-3-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Shashi Ranjan

unread,
May 25, 2013, 8:23:27 AM5/25/13
to ns-3-...@googlegroups.com
Thanks Nicola. It was foolish to call attributes before the simulation start. Now it's working. You said "Not Necessarily" , would that mean that I am heading towards wrong direction or there are easier way to do it.

Meanwhile I have new set of queries :

1. Why RNTI are assigned randomly to UE and IMSI are assigned in reverse order?
    I have six UEs connected to eNB and it showed like this
    /NodeList/2/DeviceList/0/LteEnbRrc/ConnectionEstablished UE IMSI 6: connected to CellId 1 with RNTI 1
    /NodeList/2/DeviceList/0/LteEnbRrc/ConnectionEstablished UE IMSI 4: connected to CellId 1 with RNTI 2
    /NodeList/2/DeviceList/0/LteEnbRrc/ConnectionEstablished UE IMSI 3: connected to CellId 1 with RNTI 4
    /NodeList/2/DeviceList/0/LteEnbRrc/ConnectionEstablished UE IMSI 2: connected to CellId 1 with RNTI 3
    /NodeList/2/DeviceList/0/LteEnbRrc/ConnectionEstablished UE IMSI 5: connected to CellId 1 with RNTI 7
    /NodeList/2/DeviceList/0/LteEnbRrc/ConnectionEstablished UE IMSI 1: connected to CellId 1 with RNTI 8

  It can be clearly seen that RNTI are assigned randomly.


2. Regarding earlier question on UE detach(),  I came across
RemoveUe (uint16_t rnti) in LteEnbRrc Class. What actually it does? If I have to make UE in RRC_Idle mode or atleast  RRC_idle mode without cell selection/reselection will it be helpful.

3. Is netanim behave differently than ns3? I have generated some points using "box" as described in lena-dual-stripe. what I found is vector positions I generated are completely different in netanim. I am adding code snippet and output for better understanding

 for (uint32_t k = 0; k < numberOfUes; k++)  
   {
      positionAlloc->SetAttribute ("X", PointerValue (xVal));
      positionAlloc->SetAttribute ("Y", PointerValue (yVal));
      positionAlloc->SetAttribute ("Z", PointerValue (zVal));
 
    std::cout << "X: " << xVal->GetValue() << " Y: " << yVal->GetValue() << std::endl;

Output is:   X: 275.888 Y: 181.939
                 X: 54.9096 Y: 236.041
                 X: 435.487 Y: 170.707
                 X: 288.046 Y: 203.08
                 X: 326.629 Y: 393.475
                 X: 62.0168 Y: 156.576
                 X: 291.202 Y: 235.044


whereas in netanim the coordinates in same order are:  191.587  52.9248
                                                                                 264.723  233.182
                                                                                 86.8438  429.533
                                                                                 62.5031  379.272
                                                                                 213.548  397.784
                                                                                 202.393  36.0963

Clearly not even one coordinate matched with other. How to deal this problem?


On Fri, May 24, 2013 at 7:14 PM, Nicola Baldo <nba...@cttc.es> wrote:


On Thursday, May 23, 2013 8:13:48 PM UTC+2, Shashi Ranjan wrote:
I have 3 UEs connected to eNB(0) so this error is clearly untrue.

Not necessarily. If you run that code before the simulation start, it will fail, because RRC connection establishment has not been performed yet.

Nicola Baldo

unread,
May 27, 2013, 5:17:10 AM5/27/13
to ns-3-...@googlegroups.com
Hi Shashi,


On Saturday, May 25, 2013 2:23:27 PM UTC+2, Shashi Ranjan wrote:


  It can be clearly seen that RNTI are assigned randomly.


yes, this is due to the MAC Random Access procedure. This motivates the  "Not necessarily" in my previous post - there is no guarantee that RNTI 1 will exist and will correspond to the IMSI that you expect.

 

2. Regarding earlier question on UE detach(),  I came across
RemoveUe (uint16_t rnti) in LteEnbRrc Class. What actually it does? If I have to make UE in RRC_Idle mode or atleast  RRC_idle mode without cell selection/reselection will it be helpful.

Yes it would be a part of the detach procedure, but many other things would be needed to make it complete. If you are interested in developing this feature, making the code publicly available and eventually have it merged with the official ns-3, then I would be happy to provide you with some guidance on how to do it.

Shashi Ranjan

unread,
May 28, 2013, 4:39:07 AM5/28/13
to ns-3-...@googlegroups.com
Thanks Nicola for the reply. I will do some experimentation to obtain the desired result.
Regarding your suggestion about developing detach() I will be very happy to do it (if I can) but due to time constraint (only one month left to my project submission), I would say it will be not possible.
However, if possible can you provide the guidelines to achieve detach(). I will try to extract minimal thing that  will make project work.


Nicola Baldo

unread,
May 24, 2013, 9:44:15 AM5/24/13
to ns-3-...@googlegroups.com


On Thursday, May 23, 2013 8:13:48 PM UTC+2, Shashi Ranjan wrote:
I have 3 UEs connected to eNB(0) so this error is clearly untrue.

Alysson Major

unread,
Nov 9, 2017, 9:03:12 AM11/9/17
to ns-3-users
Hi Shashi, This a good topic.
I'm having a hard time relating the UE's position and IMSI or RNTI (within the trace - DlRlcStatistics), as I need to see the specific UE thrughput.
my study is related to distance and throughput.
Do you have any suggestions?
Thanks in advanced.
Reply all
Reply to author
Forward
0 new messages