/*****************************************************************************
 Function Name   : NAS_ERABM_GetEpsbIdByDrbId
 Description     : 根据DRB号获取EPS承载号
 Input           : ulRbId-------------------DRB号
 Output          : pulEpsbId----------------承载号指针
 Return          : VOS_UINT32

 History         :
    1.lihong00150010      2011-12-06  Draft Enact

*****************************************************************************/
VOS_UINT32 NAS_ERABM_GetEpsbIdByDrbId
(
    VOS_UINT32                           ulRbId,
    VOS_UINT32                          *pulEpsbId
)
{
    VOS_UINT32                     ulEpsbId   = NAS_ERABM_NULL;

    /*找到RBID对应的EPS承载*/
    for (ulEpsbId = NAS_ERABM_MIN_EPSB_ID; ulEpsbId <= NAS_ERABM_MAX_EPSB_ID; ulEpsbId++)
    {
        if (NAS_ERABM_EPSB_ACTIVE != NAS_ERABM_GetEpsbStateInfo(ulEpsbId))
        {
            continue;
        }

        if (NAS_ERABM_GetEpsbRbIdInfo(ulEpsbId) == ulRbId)
        {
            *pulEpsbId = ulEpsbId;
            return NAS_ERABM_SUCCESS;
        }
    }

    return NAS_ERABM_FAILURE;
}
/*****************************************************************************
 Function Name   : NAS_ERABM_GetActiveEpsBearerNum
 Description     : 获取激活EPS承载数
 Input           : VOS_VOID
 Output          : None
 Return          : VOS_VOID

  History        :
  1.lihong00150010      2011-12-05      Draft Enact

*****************************************************************************/
VOS_UINT32 NAS_ERABM_GetActiveEpsBearerNum( VOS_VOID )
{
    VOS_UINT32                 ulEpsbId     = NAS_ERABM_MIN_EPSB_ID;
    VOS_UINT32                 ulActiveNum  = NAS_ERABM_NULL;

    for ( ulEpsbId = NAS_ERABM_MIN_EPSB_ID; ulEpsbId <= NAS_ERABM_MAX_EPSB_ID; ulEpsbId++ )
    {
        if ( NAS_ERABM_EPSB_INACTIVE == NAS_ERABM_GetEpsbStateInfo(ulEpsbId))
        {
            continue;
        }
        else
        {
            ulActiveNum++;
        }
    }

    return ulActiveNum;
}
/*****************************************************************************
 Function Name   : NAS_ERABM_RcvRabmTcRelReq
 Description     : 收到TC模块REL REQ消息处理函数
 Input           : None
 Output          : None
 Return          : VOS_VOID

 History         :
    1.lihong00150010      2009-10-16  Draft Enact

*****************************************************************************/
VOS_VOID  NAS_ERABM_RcvRabmTcRelReq( VOS_VOID )
{
    VOS_UINT32 ulLoop = NAS_ERABM_NULL;

    /*打印进入该函数*/
    NAS_ERABM_INFO_LOG("NAS_ERABM_RcvRabmTcRelReq is entered.");

    /* 通知CDS RAB RELEASE */
    for (ulLoop = NAS_ERABM_MIN_EPSB_ID; ulLoop <= NAS_ERABM_MAX_EPSB_ID; ulLoop++)
    {
        if (NAS_ERABM_EPSB_ACTIVE == NAS_ERABM_GetEpsbStateInfo(ulLoop))
        {
            /* 给CDS发送CDS_ERABM_RAB_RELEASE_IND */
            NAS_ERABM_SndErabmCdsRabReleaseInd(ulLoop);
        }
    }

    /*释放所有资源,回到开机初始化后的状态*/
    NAS_ERABM_ClearRabmResource();

    /*根据TFT和承载信息更新IP Filter到硬件加速器*/
    if(PS_FAIL == NAS_ERABM_IpfConfigUlFilter())
    {
        NAS_ERABM_ERR_LOG("NAS_ERABM_EsmMsgDistr: IPF Update IP Filter Failed.");
    }

    /*根据TFT和承载信息更新IP Filter到CDS*/
    if(PS_FAIL == NAS_ERABM_CdsConfigUlFilter())
    {
        NAS_ERABM_ERR_LOG("NAS_ERABM_EsmMsgDistr: CDS Update IP Filter Failed.");
    }

    #if 0
    /* 配置下行TFT信息 */
    if(PS_FAIL == NAS_ERABM_IpfConfigDlFilter())
    {
        NAS_ERABM_ERR_LOG("NAS_ERABM_RcvRabmEmmResumeInd: Update DL IP Filter Failed.");
    }
    #endif
}