/*! \brief Function to compute subframe Number(DL and S) as a function of Frame type and TDD Configuration
@param frame_parms Pointer to DL frame parameter descriptor
@returns Subframe Number (DL,S)
*/
intsubframe_num(LTE_DL_FRAME_PARMS*frame_parms);
/*! \brief Function to compute subframe type as a function of Frame type and TDD Configuration (implements Table 4.2.2 from 36.211, p.11 from version 8.6) and subframe index.
@param frame_parms Pointer to DL frame parameter descriptor
AssertFatal(frame_parms->tdd_config==1||frame_parms->tdd_config==3||frame_parms->tdd_config==4||frame_parms->tdd_config==5,"subframe x Unsupported TDD configuration");
/** \brief First stage of PCH Scheduling. Gets a PCH SDU from RRC if available and computes the MCS required to transport it as a function of the SDU length. It assumes a length less than or equal to 64 bytes (MCS 6, 3 PRBs).
LOG_I(RRC,PROTOCOL_RRC_CTXT_UE_FMT" rrc_eNB_process_GTPV1U_CREATE_TUNNEL_RESP tunnel (%u, %u) bearer UE context index %u, msg index %u, id %u, gtp addr len %d \n",
LOG_D(RRC,"[eNB %d] CC_id %d In S1AP_PAGING_IND: Update exist UE %d, T %d, PF %d, PO %d\n",instance,CC_id,UE_PF_PO[CC_id][i].ue_index_value,T,UE_PF_PO[CC_id][i].PF_min,UE_PF_PO[CC_id][i].PO);
}else{
/* set enable_flag */
UE_PF_PO[CC_id][i].enable_flag=TRUE;
//paging new UE log
LOG_D(RRC,"[eNB %d] CC_id %d In S1AP_PAGING_IND: Insert a new UE %d, T %d, PF %d, PO %d\n",instance,CC_id,UE_PF_PO[CC_id][i].ue_index_value,T,UE_PF_PO[CC_id][i].PF_min,UE_PF_PO[CC_id][i].PO);
S1AP_ERROR("[SCTP %d] Received Paging : uePagingID.choise.iMSI.size(%d) is over IMSI length(%d)\n",assoc_id,S1AP_PAGING_IND(message_p).ue_paging_identity.choice.imsi.length,S1AP_IMSI_LENGTH);
return-1;
}
}else{
/* invalid paging_p->uePagingID.present */
S1AP_ERROR("[SCTP %d] Received Paging : uePagingID.present(%d) is unknown\n",assoc_id,paging_p->uePagingID.present);
return-1;
}
#if 0
/* convert Paging DRX(optional) */
if (paging_p->presenceMask & S1AP_PAGINGIES_PAGINGDRX_PRESENT) {