src/lte/helper/lte-helper.cc
changeset 9345 8290ae6cab62
parent 9338 1945247ad4dd
child 9346 00e674a0d567
--- a/src/lte/helper/lte-helper.cc	Fri Jul 20 18:24:23 2012 +0200
+++ b/src/lte/helper/lte-helper.cc	Sun Jul 29 14:29:41 2012 +0200
@@ -571,7 +571,7 @@
   Ptr<LteEnbNetDevice> enbDevice = ueDevice->GetObject<LteUeNetDevice> ()->GetTargetEnb ();
   Ptr<LteEnbRrc> enbRrc = enbDevice->GetObject<LteEnbNetDevice> ()->GetRrc ();
   EpcEnbS1SapUser::DataRadioBearerSetupRequestParameters params;
-  params.imsi = ueDevice->GetObject<LteUeNetDevice> ()->GetImsi ();
+  params.rnti = ueDevice->GetObject<LteUeNetDevice> ()->GetRrc ()->GetRnti();
   params.bearer = bearer;
   params.teid = 0; // don't care
   enbRrc->GetS1SapUser ()->DataRadioBearerSetupRequest (params);
@@ -601,25 +601,21 @@
 }
 
 void
-LteHelper::HandoverRequest (Time hoTime, Ptr<Node> ueNode, Ptr<Node> sourceEnbNode, Ptr<Node> targetEnbNode)
+LteHelper::HandoverRequest (Time hoTime, Ptr<NetDevice> ueDev, Ptr<NetDevice> sourceEnbDev, Ptr<NetDevice> targetEnbDev)
 {
-  NS_LOG_FUNCTION (this << ueNode << sourceEnbNode << targetEnbNode);
-  Simulator::Schedule (hoTime, &LteHelper::DoHandoverRequest, this, ueNode, sourceEnbNode, targetEnbNode);
+  NS_LOG_FUNCTION (this << ueDev << sourceEnbDev << targetEnbDev);
+  Simulator::Schedule (hoTime, &LteHelper::DoHandoverRequest, this, ueDev, sourceEnbDev, targetEnbDev);
 }
 
 void
-LteHelper::DoHandoverRequest (Ptr<Node> ueNode, Ptr<Node> sourceEnbNode, Ptr<Node> targetEnbNode)
+LteHelper::DoHandoverRequest (Ptr<NetDevice> ueDev, Ptr<NetDevice> sourceEnbDev, Ptr<NetDevice> targetEnbDev)
 {
-  NS_LOG_FUNCTION (this << ueNode << sourceEnbNode << targetEnbNode);
-  
-  m_epcHelper->SendHandoverRequest (ueNode, sourceEnbNode, targetEnbNode);
-  
-  // lteHelper->Attach (ueNode, targetEnbNode);
-  // lteHelper->ActivateEpsBearer (ueNode, *);
+  NS_LOG_FUNCTION (this << ueDev << sourceEnbDev << targetEnbDev);
 
-  // lteHelper->DeactivateEpsBearer (ueNode, *);
-  // lteHelper->Deattach (ueNode, sourceEnbNode);
-  
+  uint16_t targetCellId = targetEnbDev->GetObject<LteEnbNetDevice> ()->GetCellId ();
+  Ptr<LteEnbRrc> sourceRrc = sourceEnbDev->GetObject<LteEnbNetDevice> ()->GetRrc ();
+  uint64_t imsi = ueDev->GetObject<LteUeNetDevice> ()->GetImsi ();
+  sourceRrc->SendHandoverRequest (imsi, targetCellId);  
 }