VOS_VOID TAF_APS_ProcImsDedicateBearer(APS_PDP_CONTEXT_ENTITY_ST *pstPdpEntity)
{
    VOS_UINT8                           ucPriPdpId;
    VOS_UINT8                           ucPriCid;
    VOS_UINT8                           ucSecPdpId;
    VOS_UINT8                           ucSecCid;

    /* 判断PDP上下文信息中的linkedEspId与IMS信令承载中的RABID是否一致 */
    if (APS_PDP_ACT_SEC == pstPdpEntity->ActType)
    {
        if (VOS_TRUE == TAF_APS_CheckImsBearerByRabId(pstPdpEntity->ucLinkedNsapi))
        {
            /* 获取主PDP的实体ID */
            ucPriPdpId = TAF_APS_GetPdpIdByNsapi(pstPdpEntity->ucLinkedNsapi);
            ucPriCid = 0;
            TAF_APS_GetImsBearerCid(ucPriPdpId, &ucPriCid);

            /* 获取专有承载的实体ID */
            ucSecPdpId = TAF_APS_GetCurrFsmEntityPdpId();
            ucSecCid   = TAF_APS_GetPdpEntCurrCid(ucSecPdpId);

            /* 目前IMS的专有承载只向IMSA上报 */
            /* 更新专有承载 PDP TAB */
            TAF_APS_SetPdpEntClientInfo(ucSecPdpId,
                                        ucSecCid,
                                        TAF_APS_GetPdpEntModuleId(ucPriPdpId, ucPriCid),
                                        TAF_APS_GetPdpEntClientId(ucPriPdpId, ucPriCid),
                                        TAF_APS_GetPdpEntOpId(ucPriPdpId, ucPriCid));

            /* 上报专有承载 ACT_IND */
            TAF_APS_SndPdpActivateInd(ucSecPdpId, ucSecCid);
        }
    }
}
VOS_VOID TAF_APS_GetPdpIdListWithSndcpActRspMsgType(
    struct MsgCB                       *pstMsg,
    TAF_APS_PDPID_LIST_STRU            *pstPdpIdList
)
{
    APS_SNDCP_ACTIVATE_RSP_MSG         *pstSnActRsp;

    pstSnActRsp = (APS_SNDCP_ACTIVATE_RSP_MSG*)pstMsg;

    /* 从SNDCP的消息中获取NSAPI */
    pstPdpIdList->aucPdpId[0] = TAF_APS_GetPdpIdByNsapi(pstSnActRsp->ApsSnActRsp.ucNsapi);
    pstPdpIdList->ucPdpNum = 1;

}
Ejemplo n.º 3
0
VOS_VOID TAF_APS_ProcImsBearerInfoIndOptActivate(
    APS_PDP_CONTEXT_ENTITY_ST          *pstPdpEntity,
    SM_ESM_EPS_BEARER_INFO_IND_STRU    *pstEpsBearerInfoInd
)
{
    VOS_UINT8                           ucPriPdpId;
    VOS_UINT8                           ucPriCid;
    VOS_UINT8                           ucSecPdpId;
    VOS_UINT8                           ucSecCid;

    /* 判断PDP上下文信息中的linkedEspId与IMS信令承载中的RABID是否一致 */
    if (VOS_TRUE == pstEpsBearerInfoInd->bitOpLinkedEpsbId)
    {
        if (VOS_TRUE == TAF_APS_CheckImsBearerByRabId(pstEpsBearerInfoInd->ulLinkedEpsbId))
        {
            /* 获取主PDP的实体ID */
            ucPriPdpId = TAF_APS_GetPdpIdByNsapi((VOS_UINT8)pstEpsBearerInfoInd->ulLinkedEpsbId);
            ucPriCid = 0;
            TAF_APS_GetImsBearerCid(ucPriPdpId, &ucPriCid);

            /* 获取专有承载的实体ID */
            ucSecPdpId = TAF_APS_GetCurrFsmEntityPdpId();
            ucSecCid   = TAF_APS_GetPdpEntCurrCid(ucSecPdpId);

            /* 目前IMS的专有承载只向IMSA上报 */
            /* 更新专有承载 PDP TAB */
            TAF_APS_SetPdpEntClientInfo(ucSecPdpId,
                                        ucSecCid,
                                        TAF_APS_GetPdpEntModuleId(ucPriPdpId, ucPriCid),
                                        TAF_APS_GetPdpEntClientId(ucPriPdpId, ucPriCid),
                                        TAF_APS_GetPdpEntOpId(ucPriPdpId, ucPriCid));

            /* 上报专有承载 ACT_IND */
            TAF_APS_SndPdpActivateInd(ucSecPdpId, ucSecCid);
        }
    }
}