21 #include <ns3/fatal-error.h> 
   65     .AddConstructor<EpcMme> ()
 
  114   std::map<uint64_t, Ptr<UeInfo> >::iterator it = 
m_ueInfoMap.find (imsi);
 
  116   NS_ASSERT_MSG (it->second->bearerCounter < 11, 
"too many bearers already! " << it->second->bearerCounter);
 
  118   bearerInfo.
bearerId = ++(it->second->bearerCounter);
 
  119   bearerInfo.
tft = tft;
 
  120   bearerInfo.
bearer = bearer;  
 
  121   it->second->bearersToBeActivated.push_back (bearerInfo);
 
  131   std::map<uint64_t, Ptr<UeInfo> >::iterator it = 
m_ueInfoMap.find (imsi);
 
  133   it->second->cellId = gci;
 
  137   for (std::list<BearerInfo>::iterator bit = it->second->bearersToBeActivated.begin ();
 
  138        bit != it->second->bearersToBeActivated.end ();
 
  144       bearerContext.
tft = bit->tft;
 
  158 EpcMme::DoPathSwitchRequest (uint64_t enbUeS1Id, uint64_t mmeUeS1Id, uint16_t gci, std::list<EpcS1apSapMme::ErabSwitchedInDownlinkItem> erabToBeSwitchedInDownlinkList)
 
  162   uint64_t imsi = mmeUeS1Id; 
 
  163   std::map<uint64_t, Ptr<UeInfo> >::iterator it = 
m_ueInfoMap.find (imsi);
 
  165   NS_LOG_INFO (
"IMSI " << imsi << 
" old eNB: " << it->second->cellId << 
", new eNB: " << gci);
 
  166   it->second->cellId = gci;
 
  167   it->second->enbUeS1Id = enbUeS1Id;
 
  183   uint64_t imsi = msg.teid;
 
  184   std::list<EpcS1apSapEnb::ErabToBeSetupItem> erabToBeSetupList;
 
  185   for (std::list<EpcS11SapMme::BearerContextCreated>::iterator bit = msg.
bearerContextsCreated.begin ();
 
  190       erab.
erabId = bit->epsBearerId;
 
  193       erab.
sgwTeid = bit->sgwFteid.teid;      
 
  194       erabToBeSetupList.push_back (erab);
 
  196   std::map<uint64_t, Ptr<UeInfo> >::iterator it = 
m_ueInfoMap.find (imsi);
 
  198   uint16_t cellId = it->second->cellId;
 
  199   uint16_t enbUeS1Id = it->second->enbUeS1Id;
 
  200   uint64_t mmeUeS1Id = it->second->mmeUeS1Id;
 
  201   std::map<uint16_t, Ptr<EnbInfo> >::iterator jt = 
m_enbInfoMap.find (cellId);
 
  203   jt->second->s1apSapEnb->InitialContextSetupRequest (mmeUeS1Id, enbUeS1Id, erabToBeSetupList);
 
  212   uint64_t imsi = msg.teid;
 
  213   std::map<uint64_t, Ptr<UeInfo> >::iterator it = 
m_ueInfoMap.find (imsi);
 
  215   uint64_t enbUeS1Id = it->second->enbUeS1Id;
 
  216   uint64_t mmeUeS1Id = it->second->mmeUeS1Id;
 
  217   uint16_t cgi = it->second->cellId;
 
  218   std::list<EpcS1apSapEnb::ErabSwitchedInUplinkItem> erabToBeSwitchedInUplinkList; 
 
  219   std::map<uint16_t, Ptr<EnbInfo> >::iterator jt = 
m_enbInfoMap.find (it->second->cellId);
 
  221   jt->second->s1apSapEnb->PathSwitchRequestAcknowledge (enbUeS1Id, mmeUeS1Id, cgi, erabToBeSwitchedInUplinkList);