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