ON_ETC_PDU( sM_LTE_OpenLoopbackActivation, OpenUeTestLoopComplete, EtcOpenUeTestLoopComplete )
{
	rsDefaultTimer->reset();
	
	GCO_DUMP(pdu);
	
	PE_PRINT(" UE -> SS  RRC: UlInformationTransfer" );
	PE_PRINT("           NAS: OPEN UE TEST LOOP COMPLETE" );
	
if ( xmlOpenUeTestLoopComplete != "" )
  {
    if ( GCO_MATCHF(root, xmlOpenUeTestLoopComplete.c_str()) )
    {
      PE_PRINT("####### Message is OK #######" );
    }
    else
    {
      PE_ERR("####### Message is NOK #######" );
      NOTIFY_COMPLETION_FAILURE();
    }
  }

  PE_PRINT("           TC: Open UE Test Loop activation procedure completed" );

  notifyCompletion(EV_OK);
}
ON_LTE_UL_DCCH_RRC_PDU( sM_LTE_RrcConnectionReestablishment, RRCConnectionReestablishmentComplete, RRCConnectionReestablishmentComplete )
{
  rsDefaultTimer->reset();

  GCO_DUMP(pdu);

  globaldata_lte->getUEIdentity(0)->setUEHandle(asp->RrcUeHandle()->get());

  DELAY_ALL_EPS_NAS_PDU_TRANSITIONS();

  PE_PRINT(" UE -> SS  RRC: RRCConnectionReestablishmentComplete " );

  if ( xmlRRCConnectionReestablishmentComplete != "" )
  {
    if ( GCO_MATCHF(root, xmlRRCConnectionReestablishmentComplete.c_str()) )
    {
      PE_PRINT("####### Message is OK #######" );
    }
    else
    {
      PE_ERR("####### Message is NOK #######" );
      NOTIFY_COMPLETION_FAILURE();
    }
  }

  PE_PRINT("           TC: RRC Connection Re-establishment procedure completed" );

  notifyCompletion(EV_OK);
}
ON_ASPX( sM_LTE_RrcConnectionRelease, CrrcInfoInd, SAP_LTE_NET_CRRC, MDDB::Lte::Rrc::Crrc, _CrrcAsp, CrrcErrorInd )
{
    if ( MDDB::Lte::Rrc::_RrcResult::RRC_EV_INFO_RRC_CONNECTION_RELEASED == asp->RrcResult()->get() )
    {
        PE_PRINT("           TC: RRC Connection Release procedure completed" );
        notifyCompletion(EV_OK);
    }
}
예제 #4
0
void sM_LTE_Paging::start(void)
{
  sM_LteMlDefault::start();

  if( globaldata_base->getUEIdentity(UEIdentity)->IsIMSIpresent() )
  {
    imsi_digits = globaldata_base->getUEIdentity(UEIdentity)->getIMSI();
  }
  else
  {
    imsi_digits = null;
  }

  imsiLength = strlen(imsi_digits);

  DECL_NEW_LTE_RRC_PDU( pagingmsg, PCCH, Paging, xmlPaging.c_str() );

  _CrrcAsp* pagingasp = NEW_ASP_WITH_PCCH_RRC_PDU( pagingmsg, globaldata_lte->getCellConfig(CellNumber)->getCellHandle());
  pagingasp->Choice()->CrrcPcchMessageReq()->RrcCellHandle()->set( globaldata_lte->getCellConfig(CellNumber)->getCellHandle());

  if( imsi_digits != null )
  {
    pagingasp->Choice()->CrrcPcchMessageReq()->UeSpecificInfoPresence()->set(MDDB::Lte::Rrc::Crrc::_UeSpecificInfoPresence::UE_SPECIFIC_INFO_PRESENT);
    pagingasp->Choice()->CrrcPcchMessageReq()->UeSpecificInformation()->setActive_UeSpecificInfo();
    pagingasp->Choice()->CrrcPcchMessageReq()->UeSpecificInformation()->UeSpecificInfo()->PageInfoUeSpecificIdle()->IMSI()->NumImsiDigits()->set(imsiLength);
    pagingasp->Choice()->CrrcPcchMessageReq()->UeSpecificInformation()->UeSpecificInfo()->PageInfoUeSpecificIdle()->IMSI()->Imsi()->setElementCount( pagingasp, imsiLength);

    for( int i=0; i<imsiLength; i++ )
    {
      pagingasp->Choice()->CrrcPcchMessageReq()->UeSpecificInformation()->UeSpecificInfo()->PageInfoUeSpecificIdle()->IMSI()->Imsi()->BcdDigit(i)->set((imsi_digits[i]-'0'));
      PRINTERR(("%d",(imsi_digits[i]-'0')));
    }
    PRINTERR(("\n"));
  }

  pagingasp->Choice()->CrrcPcchMessageReq()->UeSpecificInformation()->UeSpecificInfo()->PageInfoUeSpecificIdle()->PageRepetitions()->set(NUM_OF_PAGEING_REPTITIONS);
  pagingasp->Choice()->CrrcPcchMessageReq()->UeSpecificInformation()->UeSpecificInfo()->PageInfoUeSpecificIdle()->UeSpecificIdleDrxCycleLength()->set(DRX_CYCLE_LENGTH);
  pagingasp->Choice()->CrrcPcchMessageReq()->UeSpecificInformation()->UeSpecificInfo()->ResponseSupervisionDuration()->set(PAGE_RESPONSE_TIMER);

  OUTPUT( SAP_LTE_NET_CRRC, pagingasp );
  PE_PRINT(" UE <- SS  RRC: Paging" );

  GCO_DUMP(pagingasp);

  if (Failure == false )
    notifyCompletion(EV_OK);
  else
    NEXT_STATE ( ReplyState );
}
예제 #5
0
NS_IMETHODIMP
Vacuumer::HandleCompletion(PRUint16 aReason)
{
  if (aReason == REASON_FINISHED) {
    // Update last vacuum time.
    PRInt32 now = static_cast<PRInt32>(PR_Now() / PR_USEC_PER_SEC);
    NS_ASSERTION(!mDBFilename.IsEmpty(), "Database filename cannot be empty");
    nsCAutoString prefName(PREF_VACUUM_BRANCH);
    prefName += mDBFilename;
    (void)Preferences::SetInt(prefName.get(), now);
  }

  notifyCompletion(aReason == REASON_FINISHED);

  return NS_OK;
}
예제 #6
0
NS_IMETHODIMP
Vacuumer::HandleCompletion(uint16_t aReason)
{
  if (aReason == REASON_FINISHED) {
    // Update last vacuum time.
    int32_t now = static_cast<int32_t>(PR_Now() / PR_USEC_PER_SEC);
    MOZ_ASSERT(!mDBFilename.IsEmpty(), "Database filename cannot be empty");
    nsAutoCString prefName(PREF_VACUUM_BRANCH);
    prefName += mDBFilename;
    DebugOnly<nsresult> rv = Preferences::SetInt(prefName.get(), now);
    MOZ_ASSERT(NS_SUCCEEDED(rv), "Should be able to set a preference");
  }

  notifyCompletion(aReason == REASON_FINISHED);

  return NS_OK;
}
ON_LTE_UL_DCCH_RRC_PDU( sM_LTE_RrcConnectionReconfiguration_meas_xml, RRCConnectionReconfigurationComplete, RRCConnectionReconfigurationComplete )
{
  PE_PRINT(" UE -> SS  RRC: RRCConnectionReconfigurationComplete " );

  GCO_DUMP(pdu);

  if ( xmlRRCConnectionReconfigurationComplete != "" )
  {
    if ( GCO_MATCHF(root, xmlRRCConnectionReconfigurationComplete.c_str()) )
    {
      PE_PRINT("####### Message is OK #######" );
    }
    else
    {
      PE_ERR("####### Message is NOK #######" );
      NOTIFY_COMPLETION_FAILURE();
    }
  }

  PE_PRINT("           TC: RRC Connection Reconfigure procedure completed" );

  notifyCompletion(EV_OK);
}
예제 #8
0
// Reporting the CRRC Error indications
ON_ASPX(sM_LTE_Paging, ReplyState, SAP_LTE_NET_CRRC, MDDB::Lte::Rrc::Crrc,_CrrcAsp, CrrcCellTimeoutInd)
{
    PE_PRINT("#######   CRRC_Timeout_Ind Occured #######   " );
    notifyCompletion(EV_OK);
}