VOS_VOID NAS_RABM_RcvSmBearerActivateInd(
    SM_RABM_BEARER_ACTIVATE_IND_STRU   *pstSmBearerActivateInd
)
{
    RABM_ENTITY_PS_STRU                *pstPsEnt;
    VOS_UINT8                           ucEntId;

    /* 获取PS域RABM实体指针 */
    ucEntId  = (VOS_UINT8)(pstSmBearerActivateInd->ulNsapi - RABM_NSAPI_OFFSET);
    pstPsEnt = NAS_RABM_GetWPsEntAddr(ucEntId);

    /* 更新QOS */
    pstPsEnt->QoS.ulQosLength   = pstSmBearerActivateInd->stQos.ulLength;
    PS_MEM_CPY(pstPsEnt->QoS.aucQosValue,
               pstSmBearerActivateInd->stQos.aucQosValue,
               NAS_RABM_MAX_QOS_LEN);

    /* 更新PPP标识 */
    pstPsEnt->ucPppFlg          = RABM_SM_IP_PROT;

    /* 创建RAB_MAP实体 */
    NAS_RABM_CreateRabMapEntity((VOS_UINT8)pstSmBearerActivateInd->ulNsapi,
                                (VOS_UINT8)pstSmBearerActivateInd->ulLinkdNsapi,
                                (VOS_UINT8)pstSmBearerActivateInd->ulNsapi);

    /* 更新RABM状态至挂起状态 */
    RABM_SetWState(ucEntId, RABM_DATA_TRANSFER_STOP);

    return;
}
VOS_VOID  NAS_RabmSmPdpActivateIndMsg( VOS_VOID *pMsg )
{
    RABMSM_ACTIVATE_IND_STRU           *pstPdpActivateIndMsg;
    RABM_NSAPI_ENUM                     NsapiIndex;
    QCI_TYPE_ENUM_UINT8                 enQci;

    pstPdpActivateIndMsg = ( RABMSM_ACTIVATE_IND_STRU * )pMsg;

    if ( ( pstPdpActivateIndMsg->ulNsapi < RABM_MIN_NSAPI_NUMBER )
        || ( pstPdpActivateIndMsg->ulNsapi > RABM_MAX_NSAPI_NUMBER ) )
    {
        /*打印警告信息---入口消息非法:*/
        RABM_LOG_WARNING( "NAS_RabmSmPdpActivateIndMsg:WARNING:The NSAPI item of the Entry Parameter is BEYOND range!" );

        return;
    }

    if ( ( RABMSM_ACT_MSG_1 != pstPdpActivateIndMsg->ulActMsgType )
         && ( RABMSM_ACT_MSG_2 != pstPdpActivateIndMsg->ulActMsgType ) )
    {
        /*打印警告信息---入口消息中消息的标识非法:*/
        RABM_LOG1_WARNING( "NAS_RabmSmPdpActivateIndMsg:WARNING:The MsgType item of the Entry Parameter is ERROR!: NSAPI:", (VOS_INT32)(pstPdpActivateIndMsg->ulNsapi) );

        return;
    }

    NsapiIndex = ( RABM_NSAPI_ENUM )( pstPdpActivateIndMsg->ulNsapi - RABM_2G_NSAPI_OFFSET );

    switch ( gastRabm2GEntity[NsapiIndex].State )    /*该NSAPI所对应的状态*/
    {
        case RABM_2G_NULL:
            if ( RABMSM_ACT_MSG_1 == pstPdpActivateIndMsg->ulActMsgType )
            {
                /*打印流程信息---收到第一条PDP激活消息:*/
                RABM_LOG1_NORMAL( "NAS_RabmSmPdpActivateIndMsg:NORMAL:RECEIVE The FIRST PdpActivateInd Msg: NSAPI:", (VOS_INT32)(pstPdpActivateIndMsg->ulNsapi) );

                /*获取ucPppFlg:*/
                if( RABM_SM_PPP_PROT == pstPdpActivateIndMsg->ulPppFlag )
                {
                    gastRabm2GEntity[NsapiIndex].ucPppFlg = RABM_SM_PPP_PROT;
                }
                else
                {
                    gastRabm2GEntity[NsapiIndex].ucPppFlg = RABM_SM_IP_PROT;
                }

                return;
            }

            if ((RABMSM_ACT_MSG_2 == pstPdpActivateIndMsg->ulActMsgType)
             && (VOS_TRUE == NAS_RABM_GetDataSuspendFlg()))
            {
                /*打印流程信息---状态切换:*/
                RABM_LOG1_NORMAL( "STATE RABM_2G_NULL state CHANGE TO RABM_DATA_TRANS_STOP state: NSAPI:", (VOS_INT32)(pstPdpActivateIndMsg->ulNsapi) );

                /*将该NSAPI的状态置为RABM_DATA_TRANS_STOP:*/
                RABM_SetGState(NsapiIndex, RABM_DATA_TRANS_STOP);
            }
            else
            {
                /*启动Rabm.act.req.T1定时器:*/
                NAS_RabmStartTimer( ( RABM_TIMER_NAME_ENUM )NsapiIndex, RABM_TIMER_PARA_ACT_REQ_T1 );

                /*打印流程信息---启动了Rabm.act.req.T1定时器:*/
                RABM_LOG1_NORMAL( "NAS_RabmSmPdpActivateIndMsg:NORMAL:Start Rabm.act.req.T1 Timer SUCCESS: NSAPI:", (VOS_INT32)(pstPdpActivateIndMsg->ulNsapi) );

                /*将该NSAPI的状态置为RABM_NSAPI_OK_TRANSMODE_NO:*/
                RABM_SetGState(NsapiIndex, RABM_NSAPI_OK_TRANSMODE_NO);

                /*打印流程信息---状态切换:*/
                RABM_LOG1_NORMAL( "STATE RABM_2G_NULL state CHANGE TO RABM_NSAPI_OK_TRANSMODE_NO state: NSAPI:", (VOS_INT32)(pstPdpActivateIndMsg->ulNsapi) );
            }

            gastRabm2GEntity[NsapiIndex].stQos.ulQosLength = pstPdpActivateIndMsg->Qos.ulLength;
            PS_MEM_CPY(gastRabm2GEntity[NsapiIndex].stQos.aucQosValue,
                       pstPdpActivateIndMsg->Qos.aucQosValue,
                       NAS_RABM_MAX_QOS_LEN);

            /*创建RAB_MAP映射实体*/
            NAS_RABM_CreateRabMapEntity((VOS_UINT8)(pstPdpActivateIndMsg->ulNsapi),
                                        (VOS_UINT8)(pstPdpActivateIndMsg->ulLinkdNsapi),
                                        (VOS_UINT8)(pstPdpActivateIndMsg->ulNsapi));

            /* 给CDS发送消息通知CDS QOS信息 */
            enQci = NAS_RABM_GetQciFromQos(gastRabm2GEntity[NsapiIndex].stQos.ulQosLength,
                                           gastRabm2GEntity[NsapiIndex].stQos.aucQosValue);

            NAS_RABM_SndCdsQosFcRabCreateInd(NsapiIndex + RABM_NSAPI_OFFSET, enQci);
            break;
        case RABM_NSAPI_OK_TRANSMODE_NO:
        case RABM_DATA_TRANS_READY:
        case RABM_ROUT_AREA_UPDATE:
        case RABM_DATA_TRANS_STOP:                     /*激活此四种非空状态下的NSAPI,则只进行QoS的更新,故处理方式一样*/
            if ( RABMSM_ACT_MSG_1 == pstPdpActivateIndMsg->ulActMsgType )
            {
                /*打印流程信息---收到第一条PDP激活消息:*/
                RABM_LOG1_NORMAL( "NAS_RabmSmPdpActivateIndMsg:NORMAL:RECEIVE The FIRST PdpActivateInd Msg: NSAPI:", (VOS_INT32)(pstPdpActivateIndMsg->ulNsapi) );

                return;
            }

            /*打印流程信息---此时该NSAPI已激活,故更新Qos:*/
            RABM_LOG1_NORMAL( "NAS_RabmSmPdpActivateIndMsg:NORMAL:This NSAPI has been Activated,so UPDATE the QoS: NSAPI:", (VOS_INT32)(pstPdpActivateIndMsg->ulNsapi) );

            gastRabm2GEntity[NsapiIndex].stQos.ulQosLength = pstPdpActivateIndMsg->Qos.ulLength;
            PS_MEM_CPY(gastRabm2GEntity[NsapiIndex].stQos.aucQosValue,
                       pstPdpActivateIndMsg->Qos.aucQosValue,
                       NAS_RABM_MAX_QOS_LEN);

            break;
        default:
            /*打印出错信息---该NSAPI的状态字段出错:*/
            RABM_LOG1_ERROR( "NAS_RabmSmPdpActivateIndMsg:ERROR:This NSAPI's state is WRONG!: NSAPI:", (VOS_INT32)(pstPdpActivateIndMsg->ulNsapi) );
            break;
    }

    return;
}