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_SndDhcpDeactInd(
    VOS_UINT8                           ucPdpId
)
{
    APS_DHCP_DEACT_IND_STRU            *pstDnsDeactInd = VOS_NULL_PTR;
    APS_PDP_CONTEXT_ENTITY_ST          *pstPdpEntity;
    VOS_UINT8                           ucCid;

    /* 获取消息内容 */

    ucCid           = TAF_APS_GetPdpEntCurrCid(ucPdpId);
    pstPdpEntity    = TAF_APS_GetPdpEntInfoAddr(ucPdpId);
    pstDnsDeactInd  = (APS_DHCP_DEACT_IND_STRU *)PS_ALLOC_MSG_WITH_HEADER_LEN(WUEPS_PID_TAF,
                            sizeof(APS_DHCP_DEACT_IND_STRU));

    if (VOS_NULL_PTR == pstDnsDeactInd)
    {
        TAF_ERROR_LOG(WUEPS_PID_TAF, "TAF_APS_SndDhcpDnsReqReq: Memory alloc failed");
        return;
    }

    PS_MEM_SET((VOS_UINT8*)pstDnsDeactInd + VOS_MSG_HEAD_LENGTH, 0,
                sizeof(APS_DHCP_DEACT_IND_STRU) - VOS_MSG_HEAD_LENGTH);

    /* 填写参数 */
    pstDnsDeactInd->ulReceiverPid       = UEPS_PID_DHCP;
    pstDnsDeactInd->enMsgId             = ID_APS_DHCP_DEACT_IND;
    pstDnsDeactInd->usOpId              = 0;
    pstDnsDeactInd->ucRabId             = pstPdpEntity->ucNsapi;
    pstDnsDeactInd->enPdnType           = TAF_APS_GetPdpEntDialPdpType(ucPdpId, ucCid);

    PS_SEND_MSG(WUEPS_PID_TAF, pstDnsDeactInd);

    return;
}
Exemplo 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);
        }
    }
}